Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 5 from a total of 5 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Create Custom Sn... | 20859735 | 114 days ago | IN | 0 ETH | 0.0005031 | ||||
Create Custom Sn... | 20859735 | 114 days ago | IN | 0 ETH | 0.00038769 | ||||
Create Custom Sn... | 20859735 | 114 days ago | IN | 0 ETH | 0.00035851 | ||||
Initialize Balan... | 20859735 | 114 days ago | IN | 0 ETH | 0.02170953 | ||||
Initialize Remai... | 20859735 | 114 days ago | IN | 0 ETH | 0.02678821 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ROPMetadataRendererV2
Compiler Version
v0.8.25+commit.b61c2a91
Optimization Enabled:
Yes with 10000 runs
Other Settings:
shanghai EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity >=0.8.25; import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol"; import { IERC1155 } from "@openzeppelin/contracts/token/ERC1155/IERC1155.sol"; import { LibString } from "solady/utils/LibString.sol"; /// @title ROPMetadataRendererV2 /// @author @yigitduman /// @notice This contract is used to collect the balances of addresses and render them as base64 encoded image /// @dev This is an updated version of the ROPMetadataRenderer contract /// @dev Changes include: /// @dev - Added support for snapshotting the balances of the addresses /// @dev - Added getDeficitBalanceFromTheInitialSnapshot /// @dev - Added documentation contract ROPMetadataRendererV2 is Ownable { /// @notice Struct to store balance changes for a snapshot struct BalanceSnapshot { mapping(uint256 => uint256) balanceChanges; uint256 snapshotTimestamp; } /// @notice Event emitted when a snapshot is taken event SnapshotTaken(uint256 snapshotIndex, uint256 timestamp); /// @notice Event emitted when a snapshot is deleted event SnapshotDeleted(uint256 snapshotIndex); /// @notice Event emitted when the live snapshot index is set event LiveSnapshotIndexSet(uint256 liveSnapshotIndex); /// @notice Event emitted when the show live data flag is set event ShowLiveDataSet(bool showLiveData); /// @notice Error thrown when a non-collector tries to perform a collector-only action error NotCollector(); /// @notice Error thrown when trying to access a snapshot index that doesn't exist error SnapshotIndexOutOfBounds(); /// @notice Error thrown when trying to delete initial snapshots error CannotDeleteInitialSnapshots(); /// @notice Error thrown when trying to access a snapshot that doesn't exist error SnapshotNotTaken(); /// @notice Error thrown when trying to set an invalid address array error InvalidAddressArrayLength(); /// @notice Error thrown when trying to set an invalid initial balances array error InvalidInitialBalancesArrayLength(); /// @notice Error thrown when trying to create a snapshot with mismatched array lengths error MismatchedArrayLengths(); /// @notice Mapping to store balance snapshots mapping(uint256 => BalanceSnapshot) public snapshots; uint256 public snapshotIndex; /// @notice Mapping to store initial balances uint40[981] public initialBalances; /// @notice Mapping to store addresses address[981] public addresses; /// @notice Address of the RothkoOnPennies contract IERC1155 public immutable rothkoOnPennies; /// @notice Index of the current live snapshot uint256 public liveSnapshotIndex; /// @notice Boolean to toggle live data visibility bool public showLiveData = true; /// @notice Constructor to initialize the contract with the RothkoOnPennies contract address /// @param _rothkoOnPennies Address of the RothkoOnPennies contract constructor(address _rothkoOnPennies, address[] memory partialAddresses) Ownable() { rothkoOnPennies = IERC1155(_rothkoOnPennies); uint256 partialAddressesLength = partialAddresses.length; for (uint256 i = 0; i < partialAddressesLength; i++) { addresses[i] = partialAddresses[i]; } } /// @notice Initialize the contract with addresses /// @param _addresses Array of addresses to set function initializeRemainingAddresses(address[] calldata _addresses, uint256 startIndex) public onlyOwner { uint256 _addressesLength = _addresses.length; for (uint256 i = 0; i < _addressesLength; i++) { addresses[startIndex + i] = _addresses[i]; } } /// @notice Initialize the contract with initial balances /// @param _initialBalances Array of initial balances for the addresses function initializeBalances(uint40[981] memory _initialBalances) public onlyOwner { initialBalances = _initialBalances; } /// @notice Set new addresses /// @param _addresses Array of addresses to set function setAddresses(address[981] memory _addresses) public onlyOwner { if (_addresses.length != 981) revert InvalidAddressArrayLength(); addresses = _addresses; } /// @notice Set initial balances for addresses /// @param _initialBalances Array of initial balances for the addresses function setInitialBalances(uint40[981] memory _initialBalances) public onlyOwner { if (_initialBalances.length != 981) revert InvalidInitialBalancesArrayLength(); initialBalances = _initialBalances; } /// @notice Check if the sender is a collector /// @return True if the sender is a collector, false otherwise function isCollector() public view returns (bool) { return isCollector(msg.sender); } /// @notice Check if the address is a collector /// @param addr Address to check /// @return True if the address is a collector, false otherwise function isCollector(address addr) public view returns (bool) { return rothkoOnPennies.balanceOf(addr, 1) > 0; } /// @notice Modifier to restrict function access to only the collector modifier onlyCollector() { if (!isCollector()) revert NotCollector(); _; } /// @notice Modifier to restrict function access to either the collector or the contract owner modifier onlyCollectorOrOwner() { if (!isCollector() && msg.sender != owner()) revert NotCollector(); _; } /// @notice Take a snapshot of the current balance changes function takeSnapshot() public onlyCollectorOrOwner { BalanceSnapshot storage newSnapshot = snapshots[snapshotIndex]; newSnapshot.snapshotTimestamp = block.timestamp; uint256 addressCount = addresses.length; for (uint256 i = 0; i < addressCount; i++) { address addr = addresses[i]; uint256 balanceChange = address(addr).balance - uint256(initialBalances[i]); if (balanceChange != 0) { newSnapshot.balanceChanges[i] = balanceChange; } } emit SnapshotTaken(snapshotIndex, block.timestamp); snapshotIndex++; } /// @notice Delete a snapshot by setting it to an empty struct /// @param snapshotIndex_ Index of the snapshot to delete /// @dev Cannot delete snapshots at index 0 (initial snapshot) function deleteSnapshot(uint256 snapshotIndex_) public onlyOwner { if (snapshotIndex_ >= snapshotIndex) revert SnapshotIndexOutOfBounds(); if (snapshotIndex_ < 3) revert CannotDeleteInitialSnapshots(); delete snapshots[snapshotIndex_]; emit SnapshotDeleted(snapshotIndex_); } /// @notice Create a custom snapshot with specified balance changes /// @param timestamp The timestamp for the snapshot /// @param balanceChanges Array of balance changes for each address /// @param balanceChangeIndexes Array of indexes for balance changes function createCustomSnapshot( uint256 timestamp, uint256[] memory balanceChanges, uint256[] memory balanceChangeIndexes ) public onlyOwner { if (balanceChanges.length != balanceChangeIndexes.length) revert MismatchedArrayLengths(); BalanceSnapshot storage newSnapshot = snapshots[snapshotIndex]; newSnapshot.snapshotTimestamp = timestamp; for (uint256 i = 0; i < balanceChanges.length; i++) { if (balanceChanges[i] != 0) { newSnapshot.balanceChanges[balanceChangeIndexes[i]] = balanceChanges[i]; } } emit SnapshotTaken(snapshotIndex, timestamp); snapshotIndex++; } /// @notice Render metadata from an array of balances /// @param balances Array of balances to render metadata from /// @return Concatenated string of encoded balances /// @dev Encodes each balance as a 5-byte string, except for the last balance which is encoded as a 2-byte string function renderMetadataFromBalances(uint256[] memory balances) public pure returns (string memory) { string memory concatenatedString = ""; for (uint256 i = 0; i < balances.length; i++) { uint256 balance256 = balances[i]; uint40 balance = uint40(balance256); bytes memory balanceByte = abi.encodePacked(balance); string memory balanceString = string(balanceByte); if (i == balances.length - 1) { balanceString = LibString.slice(balanceString, 0, 2); } concatenatedString = string.concat(concatenatedString, balanceString); } return concatenatedString; } /// @notice Render metadata based on live balances of stored addresses /// @return Concatenated string of encoded balances function renderLiveMetadata() public view returns (string memory) { uint256 addressCount = addresses.length; uint256[] memory balances = new uint256[](addressCount); for (uint256 i = 0; i < addressCount; i++) { balances[i] = address(addresses[i]).balance; } return renderMetadataFromBalances(balances); } /// @notice Render metadata from a specific snapshot /// @param snapshotIndex_ Index of the snapshot to render metadata from /// @return Concatenated string of encoded balance changes from the specified snapshot function renderSnapshotMetadata(uint256 snapshotIndex_) public view returns (string memory) { if (snapshotIndex_ >= snapshotIndex) revert SnapshotIndexOutOfBounds(); if (snapshots[snapshotIndex_].snapshotTimestamp == 0) revert SnapshotNotTaken(); uint256[] memory balances = getSnapshotBalances(snapshotIndex_); return renderMetadataFromBalances(balances); } /// @notice Render metadata from the initial snapshot /// @return Concatenated string of encoded initial balances function renderInitialMetadata() public view returns (string memory) { uint256[] memory balances = new uint256[](981); for (uint256 i = 0; i < 981; i++) { balances[i] = initialBalances[i]; } return renderMetadataFromBalances(balances); } /// @notice Set the index of the live snapshot /// @param _liveSnapshotIndex New index for the live snapshot /// @dev This function also sets showLiveData to false function setLiveSnapshotIndex(uint256 _liveSnapshotIndex) public onlyCollector { if (_liveSnapshotIndex >= snapshotIndex) revert SnapshotIndexOutOfBounds(); if (snapshots[_liveSnapshotIndex].snapshotTimestamp == 0) revert SnapshotNotTaken(); liveSnapshotIndex = _liveSnapshotIndex; showLiveData = false; emit LiveSnapshotIndexSet(_liveSnapshotIndex); } /// @notice Set the visibility of live data /// @param _showLiveData New visibility state for live data function setShowLiveData(bool _showLiveData) public onlyCollector { showLiveData = _showLiveData; emit ShowLiveDataSet(_showLiveData); } /// @notice Render metadata from the current live snapshot or live data /// @return Concatenated string of encoded balance changes from the live snapshot or live data function renderMetadata() public view returns (string memory) { if (showLiveData) { return renderLiveMetadata(); } else { return renderSnapshotMetadata(liveSnapshotIndex); } } /// @notice Retrieve the balances from a specific snapshot /// @param snapshotIndex_ Index of the snapshot to retrieve balance changes from /// @return balances Array of balances from the specified snapshot function getSnapshotBalances(uint256 snapshotIndex_) public view returns (uint256[] memory balances) { if (snapshotIndex_ >= snapshotIndex) revert SnapshotIndexOutOfBounds(); if (snapshots[snapshotIndex_].snapshotTimestamp == 0) revert SnapshotNotTaken(); uint256 addressCount = addresses.length; balances = new uint256[](addressCount); for (uint256 i = 0; i < addressCount; i++) { if (snapshots[snapshotIndex_].balanceChanges[i] != 0) { balances[i] = initialBalances[i] + snapshots[snapshotIndex_].balanceChanges[i]; } else { balances[i] = initialBalances[i]; } } } /// @notice Get the deficit balance from the initial snapshot /// @return deficitBalance The total balance change since the initial snapshot function getDeficitBalanceFromTheInitialSnapshot() public view returns (uint256) { uint256 totalBalanceChange = 0; uint256 addressCount = addresses.length; for (uint256 i = 0; i < addressCount; i++) { address addr = addresses[i]; totalBalanceChange += address(addr).balance - uint256(initialBalances[i]); } return totalBalanceChange; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC1155/IERC1155.sol) pragma solidity ^0.8.0; import "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC1155 compliant contract, as defined in the * https://eips.ethereum.org/EIPS/eip-1155[EIP]. * * _Available since v3.1._ */ interface IERC1155 is IERC165 { /** * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`. */ event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value); /** * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all * transfers. */ event TransferBatch( address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values ); /** * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to * `approved`. */ event ApprovalForAll(address indexed account, address indexed operator, bool approved); /** * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. * * If an {URI} event was emitted for `id`, the standard * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value * returned by {IERC1155MetadataURI-uri}. */ event URI(string value, uint256 indexed id); /** * @dev Returns the amount of tokens of token type `id` owned by `account`. * * Requirements: * * - `account` cannot be the zero address. */ function balanceOf(address account, uint256 id) external view returns (uint256); /** * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. * * Requirements: * * - `accounts` and `ids` must have the same length. */ function balanceOfBatch( address[] calldata accounts, uint256[] calldata ids ) external view returns (uint256[] memory); /** * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, * * Emits an {ApprovalForAll} event. * * Requirements: * * - `operator` cannot be the caller. */ function setApprovalForAll(address operator, bool approved) external; /** * @dev Returns true if `operator` is approved to transfer ``account``'s tokens. * * See {setApprovalForAll}. */ function isApprovedForAll(address account, address operator) external view returns (bool); /** * @dev Transfers `amount` tokens of token type `id` from `from` to `to`. * * Emits a {TransferSingle} event. * * Requirements: * * - `to` cannot be the zero address. * - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. * - `from` must have a balance of tokens of type `id` of at least `amount`. * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the * acceptance magic value. */ function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes calldata data) external; /** * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. * * Emits a {TransferBatch} event. * * Requirements: * * - `ids` and `amounts` must have the same length. * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the * acceptance magic value. */ function safeBatchTransferFrom( address from, address to, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data ) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.4; /// @notice Library for converting numbers into strings and other string operations. /// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibString.sol) /// @author Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/LibString.sol) /// /// @dev Note: /// For performance and bytecode compactness, most of the string operations are restricted to /// byte strings (7-bit ASCII), except where otherwise specified. /// Usage of byte string operations on charsets with runes spanning two or more bytes /// can lead to undefined behavior. library LibString { /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* CUSTOM ERRORS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev The length of the output is too small to contain all the hex digits. error HexLengthInsufficient(); /// @dev The length of the string is more than 32 bytes. error TooBigForSmallString(); /// @dev The input string must be a 7-bit ASCII. error StringNot7BitASCII(); /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* CONSTANTS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev The constant returned when the `search` is not found in the string. uint256 internal constant NOT_FOUND = type(uint256).max; /// @dev Lookup for '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'. uint128 internal constant ALPHANUMERIC_7_BIT_ASCII = 0x7fffffe07fffffe03ff000000000000; /// @dev Lookup for 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'. uint128 internal constant LETTERS_7_BIT_ASCII = 0x7fffffe07fffffe0000000000000000; /// @dev Lookup for 'abcdefghijklmnopqrstuvwxyz'. uint128 internal constant LOWERCASE_7_BIT_ASCII = 0x7fffffe000000000000000000000000; /// @dev Lookup for 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'. uint128 internal constant UPPERCASE_7_BIT_ASCII = 0x7fffffe0000000000000000; /// @dev Lookup for '0123456789'. uint128 internal constant DIGITS_7_BIT_ASCII = 0x3ff000000000000; /// @dev Lookup for '0123456789abcdefABCDEF'. uint128 internal constant HEXDIGITS_7_BIT_ASCII = 0x7e0000007e03ff000000000000; /// @dev Lookup for '01234567'. uint128 internal constant OCTDIGITS_7_BIT_ASCII = 0xff000000000000; /// @dev Lookup for '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'. uint128 internal constant PRINTABLE_7_BIT_ASCII = 0x7fffffffffffffffffffffff00003e00; /// @dev Lookup for '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'. uint128 internal constant PUNCTUATION_7_BIT_ASCII = 0x78000001f8000001fc00fffe00000000; /// @dev Lookup for ' \t\n\r\x0b\x0c'. uint128 internal constant WHITESPACE_7_BIT_ASCII = 0x100003e00; /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* DECIMAL OPERATIONS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev Returns the base 10 decimal representation of `value`. function toString(uint256 value) internal pure returns (string memory str) { /// @solidity memory-safe-assembly assembly { // The maximum value of a uint256 contains 78 digits (1 byte per digit), but // we allocate 0xa0 bytes to keep the free memory pointer 32-byte word aligned. // We will need 1 word for the trailing zeros padding, 1 word for the length, // and 3 words for a maximum of 78 digits. str := add(mload(0x40), 0x80) mstore(0x40, add(str, 0x20)) // Allocate the memory. mstore(str, 0) // Zeroize the slot after the string. let end := str // Cache the end of the memory to calculate the length later. let w := not(0) // Tsk. // We write the string from rightmost digit to leftmost digit. // The following is essentially a do-while loop that also handles the zero case. for { let temp := value } 1 {} { str := add(str, w) // `sub(str, 1)`. // Store the character to the pointer. // The ASCII index of the '0' character is 48. mstore8(str, add(48, mod(temp, 10))) temp := div(temp, 10) // Keep dividing `temp` until zero. if iszero(temp) { break } } let length := sub(end, str) str := sub(str, 0x20) // Move the pointer 32 bytes back to make room for the length. mstore(str, length) // Store the length. } } /// @dev Returns the base 10 decimal representation of `value`. function toString(int256 value) internal pure returns (string memory str) { if (value >= 0) return toString(uint256(value)); unchecked { str = toString(~uint256(value) + 1); } /// @solidity memory-safe-assembly assembly { // We still have some spare memory space on the left, // as we have allocated 3 words (96 bytes) for up to 78 digits. let length := mload(str) // Load the string length. mstore(str, 0x2d) // Store the '-' character. str := sub(str, 1) // Move back the string pointer by a byte. mstore(str, add(length, 1)) // Update the string length. } } /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* HEXADECIMAL OPERATIONS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev Returns the hexadecimal representation of `value`, /// left-padded to an input length of `length` bytes. /// The output is prefixed with "0x" encoded using 2 hexadecimal digits per byte, /// giving a total length of `length * 2 + 2` bytes. /// Reverts if `length` is too small for the output to contain all the digits. function toHexString(uint256 value, uint256 length) internal pure returns (string memory str) { str = toHexStringNoPrefix(value, length); /// @solidity memory-safe-assembly assembly { let strLength := add(mload(str), 2) // Compute the length. mstore(str, 0x3078) // Store the "0x" prefix. str := sub(str, 2) // Move the pointer. mstore(str, strLength) // Store the length. } } /// @dev Returns the hexadecimal representation of `value`, /// left-padded to an input length of `length` bytes. /// The output is prefixed with "0x" encoded using 2 hexadecimal digits per byte, /// giving a total length of `length * 2` bytes. /// Reverts if `length` is too small for the output to contain all the digits. function toHexStringNoPrefix(uint256 value, uint256 length) internal pure returns (string memory str) { /// @solidity memory-safe-assembly assembly { // We need 0x20 bytes for the trailing zeros padding, `length * 2` bytes // for the digits, 0x02 bytes for the prefix, and 0x20 bytes for the length. // We add 0x20 to the total and round down to a multiple of 0x20. // (0x20 + 0x20 + 0x02 + 0x20) = 0x62. str := add(mload(0x40), and(add(shl(1, length), 0x42), not(0x1f))) mstore(0x40, add(str, 0x20)) // Allocate the memory. mstore(str, 0) // Zeroize the slot after the string. let end := str // Cache the end to calculate the length later. // Store "0123456789abcdef" in scratch space. mstore(0x0f, 0x30313233343536373839616263646566) let start := sub(str, add(length, length)) let w := not(1) // Tsk. let temp := value // We write the string from rightmost digit to leftmost digit. // The following is essentially a do-while loop that also handles the zero case. for {} 1 {} { str := add(str, w) // `sub(str, 2)`. mstore8(add(str, 1), mload(and(temp, 15))) mstore8(str, mload(and(shr(4, temp), 15))) temp := shr(8, temp) if iszero(xor(str, start)) { break } } if temp { mstore(0x00, 0x2194895a) // `HexLengthInsufficient()`. revert(0x1c, 0x04) } let strLength := sub(end, str) str := sub(str, 0x20) mstore(str, strLength) // Store the length. } } /// @dev Returns the hexadecimal representation of `value`. /// The output is prefixed with "0x" and encoded using 2 hexadecimal digits per byte. /// As address are 20 bytes long, the output will left-padded to have /// a length of `20 * 2 + 2` bytes. function toHexString(uint256 value) internal pure returns (string memory str) { str = toHexStringNoPrefix(value); /// @solidity memory-safe-assembly assembly { let strLength := add(mload(str), 2) // Compute the length. mstore(str, 0x3078) // Store the "0x" prefix. str := sub(str, 2) // Move the pointer. mstore(str, strLength) // Store the length. } } /// @dev Returns the hexadecimal representation of `value`. /// The output is prefixed with "0x". /// The output excludes leading "0" from the `toHexString` output. /// `0x00: "0x0", 0x01: "0x1", 0x12: "0x12", 0x123: "0x123"`. function toMinimalHexString(uint256 value) internal pure returns (string memory str) { str = toHexStringNoPrefix(value); /// @solidity memory-safe-assembly assembly { let o := eq(byte(0, mload(add(str, 0x20))), 0x30) // Whether leading zero is present. let strLength := add(mload(str), 2) // Compute the length. mstore(add(str, o), 0x3078) // Store the "0x" prefix, accounting for leading zero. str := sub(add(str, o), 2) // Move the pointer, accounting for leading zero. mstore(str, sub(strLength, o)) // Store the length, accounting for leading zero. } } /// @dev Returns the hexadecimal representation of `value`. /// The output excludes leading "0" from the `toHexStringNoPrefix` output. /// `0x00: "0", 0x01: "1", 0x12: "12", 0x123: "123"`. function toMinimalHexStringNoPrefix(uint256 value) internal pure returns (string memory str) { str = toHexStringNoPrefix(value); /// @solidity memory-safe-assembly assembly { let o := eq(byte(0, mload(add(str, 0x20))), 0x30) // Whether leading zero is present. let strLength := mload(str) // Get the length. str := add(str, o) // Move the pointer, accounting for leading zero. mstore(str, sub(strLength, o)) // Store the length, accounting for leading zero. } } /// @dev Returns the hexadecimal representation of `value`. /// The output is encoded using 2 hexadecimal digits per byte. /// As address are 20 bytes long, the output will left-padded to have /// a length of `20 * 2` bytes. function toHexStringNoPrefix(uint256 value) internal pure returns (string memory str) { /// @solidity memory-safe-assembly assembly { // We need 0x20 bytes for the trailing zeros padding, 0x20 bytes for the length, // 0x02 bytes for the prefix, and 0x40 bytes for the digits. // The next multiple of 0x20 above (0x20 + 0x20 + 0x02 + 0x40) is 0xa0. str := add(mload(0x40), 0x80) mstore(0x40, add(str, 0x20)) // Allocate the memory. mstore(str, 0) // Zeroize the slot after the string. let end := str // Cache the end to calculate the length later. mstore(0x0f, 0x30313233343536373839616263646566) // Store the "0123456789abcdef" lookup. let w := not(1) // Tsk. // We write the string from rightmost digit to leftmost digit. // The following is essentially a do-while loop that also handles the zero case. for { let temp := value } 1 {} { str := add(str, w) // `sub(str, 2)`. mstore8(add(str, 1), mload(and(temp, 15))) mstore8(str, mload(and(shr(4, temp), 15))) temp := shr(8, temp) if iszero(temp) { break } } let strLength := sub(end, str) str := sub(str, 0x20) mstore(str, strLength) // Store the length. } } /// @dev Returns the hexadecimal representation of `value`. /// The output is prefixed with "0x", encoded using 2 hexadecimal digits per byte, /// and the alphabets are capitalized conditionally according to /// https://eips.ethereum.org/EIPS/eip-55 function toHexStringChecksummed(address value) internal pure returns (string memory str) { str = toHexString(value); /// @solidity memory-safe-assembly assembly { let mask := shl(6, div(not(0), 255)) // `0b010000000100000000 ...` let o := add(str, 0x22) let hashed := and(keccak256(o, 40), mul(34, mask)) // `0b10001000 ... ` let t := shl(240, 136) // `0b10001000 << 240` for { let i := 0 } 1 {} { mstore(add(i, i), mul(t, byte(i, hashed))) i := add(i, 1) if eq(i, 20) { break } } mstore(o, xor(mload(o), shr(1, and(mload(0x00), and(mload(o), mask))))) o := add(o, 0x20) mstore(o, xor(mload(o), shr(1, and(mload(0x20), and(mload(o), mask))))) } } /// @dev Returns the hexadecimal representation of `value`. /// The output is prefixed with "0x" and encoded using 2 hexadecimal digits per byte. function toHexString(address value) internal pure returns (string memory str) { str = toHexStringNoPrefix(value); /// @solidity memory-safe-assembly assembly { let strLength := add(mload(str), 2) // Compute the length. mstore(str, 0x3078) // Store the "0x" prefix. str := sub(str, 2) // Move the pointer. mstore(str, strLength) // Store the length. } } /// @dev Returns the hexadecimal representation of `value`. /// The output is encoded using 2 hexadecimal digits per byte. function toHexStringNoPrefix(address value) internal pure returns (string memory str) { /// @solidity memory-safe-assembly assembly { str := mload(0x40) // Allocate the memory. // We need 0x20 bytes for the trailing zeros padding, 0x20 bytes for the length, // 0x02 bytes for the prefix, and 0x28 bytes for the digits. // The next multiple of 0x20 above (0x20 + 0x20 + 0x02 + 0x28) is 0x80. mstore(0x40, add(str, 0x80)) mstore(0x0f, 0x30313233343536373839616263646566) // Store the "0123456789abcdef" lookup. str := add(str, 2) mstore(str, 40) // Store the length. let o := add(str, 0x20) mstore(add(o, 40), 0) // Zeroize the slot after the string. value := shl(96, value) // We write the string from rightmost digit to leftmost digit. // The following is essentially a do-while loop that also handles the zero case. for { let i := 0 } 1 {} { let p := add(o, add(i, i)) let temp := byte(i, value) mstore8(add(p, 1), mload(and(temp, 15))) mstore8(p, mload(shr(4, temp))) i := add(i, 1) if eq(i, 20) { break } } } } /// @dev Returns the hex encoded string from the raw bytes. /// The output is encoded using 2 hexadecimal digits per byte. function toHexString(bytes memory raw) internal pure returns (string memory str) { str = toHexStringNoPrefix(raw); /// @solidity memory-safe-assembly assembly { let strLength := add(mload(str), 2) // Compute the length. mstore(str, 0x3078) // Store the "0x" prefix. str := sub(str, 2) // Move the pointer. mstore(str, strLength) // Store the length. } } /// @dev Returns the hex encoded string from the raw bytes. /// The output is encoded using 2 hexadecimal digits per byte. function toHexStringNoPrefix(bytes memory raw) internal pure returns (string memory str) { /// @solidity memory-safe-assembly assembly { let length := mload(raw) str := add(mload(0x40), 2) // Skip 2 bytes for the optional prefix. mstore(str, add(length, length)) // Store the length of the output. mstore(0x0f, 0x30313233343536373839616263646566) // Store the "0123456789abcdef" lookup. let o := add(str, 0x20) let end := add(raw, length) for {} iszero(eq(raw, end)) {} { raw := add(raw, 1) mstore8(add(o, 1), mload(and(mload(raw), 15))) mstore8(o, mload(and(shr(4, mload(raw)), 15))) o := add(o, 2) } mstore(o, 0) // Zeroize the slot after the string. mstore(0x40, add(o, 0x20)) // Allocate the memory. } } /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* RUNE STRING OPERATIONS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ /// @dev Returns the number of UTF characters in the string. function runeCount(string memory s) internal pure returns (uint256 result) { /// @solidity memory-safe-assembly assembly { if mload(s) { mstore(0x00, div(not(0), 255)) mstore(0x20, 0x0202020202020202020202020202020202020202020202020303030304040506) let o := add(s, 0x20) let end := add(o, mload(s)) for { result := 1 } 1 { result := add(result, 1) } { o := add(o, byte(0, mload(shr(250, mload(o))))) if iszero(lt(o, end)) { break } } } } } /// @dev Returns if this string is a 7-bit ASCII string. /// (i.e. all characters codes are in [0..127]) function is7BitASCII(string memory s) internal pure returns (bool result) { /// @solidity memory-safe-assembly assembly { let mask := shl(7, div(not(0), 255)) result := 1 let n := mload(s) if n { let o := add(s, 0x20) let end := add(o, n) let last := mload(end) mstore(end, 0) for {} 1 {} { if and(mask, mload(o)) { result := 0 break } o := add(o, 0x20) if iszero(lt(o, end)) { break } } mstore(end, last) } } } /// @dev Returns if this string is a 7-bit ASCII string, /// AND all characters are in the `allowed` lookup. /// Note: If `s` is empty, returns true regardless of `allowed`. function is7BitASCII(string memory s, uint128 allowed) internal pure returns (bool result) { /// @solidity memory-safe-assembly assembly { result := 1 if mload(s) { let allowed_ := shr(128, shl(128, allowed)) let o := add(s, 0x20) let end := add(o, mload(s)) for {} 1 {} { result := and(result, shr(byte(0, mload(o)), allowed_)) o := add(o, 1) if iszero(and(result, lt(o, end))) { break } } } } } /// @dev Converts the bytes in the 7-bit ASCII string `s` to /// an allowed lookup for use in `is7BitASCII(s, allowed)`. /// To save runtime gas, you can cache the result in an immutable variable. function to7BitASCIIAllowedLookup(string memory s) internal pure returns (uint128 result) { /// @solidity memory-safe-assembly assembly { if mload(s) { let o := add(s, 0x20) let end := add(o, mload(s)) for {} 1 {} { result := or(result, shl(byte(0, mload(o)), 1)) o := add(o, 1) if iszero(lt(o, end)) { break } } if shr(128, result) { mstore(0x00, 0xc9807e0d) // `StringNot7BitASCII()`. revert(0x1c, 0x04) } } } } /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/ /* BYTE STRING OPERATIONS */ /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/ // For performance and bytecode compactness, byte string operations are restricted // to 7-bit ASCII strings. All offsets are byte offsets, not UTF character offsets. // Usage of byte string operations on charsets with runes spanning two or more bytes // can lead to undefined behavior. /// @dev Returns `subject` all occurrences of `search` replaced with `replacement`. function replace(string memory subject, string memory search, string memory replacement) internal pure returns (string memory result) { /// @solidity memory-safe-assembly assembly { let subjectLength := mload(subject) let searchLength := mload(search) let replacementLength := mload(replacement) subject := add(subject, 0x20) search := add(search, 0x20) replacement := add(replacement, 0x20) result := add(mload(0x40), 0x20) let subjectEnd := add(subject, subjectLength) if iszero(gt(searchLength, subjectLength)) { let subjectSearchEnd := add(sub(subjectEnd, searchLength), 1) let h := 0 if iszero(lt(searchLength, 0x20)) { h := keccak256(search, searchLength) } let m := shl(3, sub(0x20, and(searchLength, 0x1f))) let s := mload(search) for {} 1 {} { let t := mload(subject) // Whether the first `searchLength % 32` bytes of // `subject` and `search` matches. if iszero(shr(m, xor(t, s))) { if h { if iszero(eq(keccak256(subject, searchLength), h)) { mstore(result, t) result := add(result, 1) subject := add(subject, 1) if iszero(lt(subject, subjectSearchEnd)) { break } continue } } // Copy the `replacement` one word at a time. for { let o := 0 } 1 {} { mstore(add(result, o), mload(add(replacement, o))) o := add(o, 0x20) if iszero(lt(o, replacementLength)) { break } } result := add(result, replacementLength) subject := add(subject, searchLength) if searchLength { if iszero(lt(subject, subjectSearchEnd)) { break } continue } } mstore(result, t) result := add(result, 1) subject := add(subject, 1) if iszero(lt(subject, subjectSearchEnd)) { break } } } let resultRemainder := result result := add(mload(0x40), 0x20) let k := add(sub(resultRemainder, result), sub(subjectEnd, subject)) // Copy the rest of the string one word at a time. for {} lt(subject, subjectEnd) {} { mstore(resultRemainder, mload(subject)) resultRemainder := add(resultRemainder, 0x20) subject := add(subject, 0x20) } result := sub(result, 0x20) let last := add(add(result, 0x20), k) // Zeroize the slot after the string. mstore(last, 0) mstore(0x40, add(last, 0x20)) // Allocate the memory. mstore(result, k) // Store the length. } } /// @dev Returns the byte index of the first location of `search` in `subject`, /// searching from left to right, starting from `from`. /// Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `search` is not found. function indexOf(string memory subject, string memory search, uint256 from) internal pure returns (uint256 result) { /// @solidity memory-safe-assembly assembly { for { let subjectLength := mload(subject) } 1 {} { if iszero(mload(search)) { if iszero(gt(from, subjectLength)) { result := from break } result := subjectLength break } let searchLength := mload(search) let subjectStart := add(subject, 0x20) result := not(0) // Initialize to `NOT_FOUND`. subject := add(subjectStart, from) let end := add(sub(add(subjectStart, subjectLength), searchLength), 1) let m := shl(3, sub(0x20, and(searchLength, 0x1f))) let s := mload(add(search, 0x20)) if iszero(and(lt(subject, end), lt(from, subjectLength))) { break } if iszero(lt(searchLength, 0x20)) { for { let h := keccak256(add(search, 0x20), searchLength) } 1 {} { if iszero(shr(m, xor(mload(subject), s))) { if eq(keccak256(subject, searchLength), h) { result := sub(subject, subjectStart) break } } subject := add(subject, 1) if iszero(lt(subject, end)) { break } } break } for {} 1 {} { if iszero(shr(m, xor(mload(subject), s))) { result := sub(subject, subjectStart) break } subject := add(subject, 1) if iszero(lt(subject, end)) { break } } break } } } /// @dev Returns the byte index of the first location of `search` in `subject`, /// searching from left to right. /// Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `search` is not found. function indexOf(string memory subject, string memory search) internal pure returns (uint256 result) { result = indexOf(subject, search, 0); } /// @dev Returns the byte index of the first location of `search` in `subject`, /// searching from right to left, starting from `from`. /// Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `search` is not found. function lastIndexOf(string memory subject, string memory search, uint256 from) internal pure returns (uint256 result) { /// @solidity memory-safe-assembly assembly { for {} 1 {} { result := not(0) // Initialize to `NOT_FOUND`. let searchLength := mload(search) if gt(searchLength, mload(subject)) { break } let w := result let fromMax := sub(mload(subject), searchLength) if iszero(gt(fromMax, from)) { from := fromMax } let end := add(add(subject, 0x20), w) subject := add(add(subject, 0x20), from) if iszero(gt(subject, end)) { break } // As this function is not too often used, // we shall simply use keccak256 for smaller bytecode size. for { let h := keccak256(add(search, 0x20), searchLength) } 1 {} { if eq(keccak256(subject, searchLength), h) { result := sub(subject, add(end, 1)) break } subject := add(subject, w) // `sub(subject, 1)`. if iszero(gt(subject, end)) { break } } break } } } /// @dev Returns the byte index of the first location of `search` in `subject`, /// searching from right to left. /// Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `search` is not found. function lastIndexOf(string memory subject, string memory search) internal pure returns (uint256 result) { result = lastIndexOf(subject, search, uint256(int256(-1))); } /// @dev Returns true if `search` is found in `subject`, false otherwise. function contains(string memory subject, string memory search) internal pure returns (bool) { return indexOf(subject, search) != NOT_FOUND; } /// @dev Returns whether `subject` starts with `search`. function startsWith(string memory subject, string memory search) internal pure returns (bool result) { /// @solidity memory-safe-assembly assembly { let searchLength := mload(search) // Just using keccak256 directly is actually cheaper. // forgefmt: disable-next-item result := and( iszero(gt(searchLength, mload(subject))), eq( keccak256(add(subject, 0x20), searchLength), keccak256(add(search, 0x20), searchLength) ) ) } } /// @dev Returns whether `subject` ends with `search`. function endsWith(string memory subject, string memory search) internal pure returns (bool result) { /// @solidity memory-safe-assembly assembly { let searchLength := mload(search) let subjectLength := mload(subject) // Whether `search` is not longer than `subject`. let withinRange := iszero(gt(searchLength, subjectLength)) // Just using keccak256 directly is actually cheaper. // forgefmt: disable-next-item result := and( withinRange, eq( keccak256( // `subject + 0x20 + max(subjectLength - searchLength, 0)`. add(add(subject, 0x20), mul(withinRange, sub(subjectLength, searchLength))), searchLength ), keccak256(add(search, 0x20), searchLength) ) ) } } /// @dev Returns `subject` repeated `times`. function repeat(string memory subject, uint256 times) internal pure returns (string memory result) { /// @solidity memory-safe-assembly assembly { let subjectLength := mload(subject) if iszero(or(iszero(times), iszero(subjectLength))) { subject := add(subject, 0x20) result := mload(0x40) let output := add(result, 0x20) for {} 1 {} { // Copy the `subject` one word at a time. for { let o := 0 } 1 {} { mstore(add(output, o), mload(add(subject, o))) o := add(o, 0x20) if iszero(lt(o, subjectLength)) { break } } output := add(output, subjectLength) times := sub(times, 1) if iszero(times) { break } } mstore(output, 0) // Zeroize the slot after the string. let resultLength := sub(output, add(result, 0x20)) mstore(result, resultLength) // Store the length. mstore(0x40, add(result, add(resultLength, 0x40))) // Allocate the memory. } } } /// @dev Returns a copy of `subject` sliced from `start` to `end` (exclusive). /// `start` and `end` are byte offsets. function slice(string memory subject, uint256 start, uint256 end) internal pure returns (string memory result) { /// @solidity memory-safe-assembly assembly { let subjectLength := mload(subject) if iszero(gt(subjectLength, end)) { end := subjectLength } if iszero(gt(subjectLength, start)) { start := subjectLength } if lt(start, end) { result := mload(0x40) let resultLength := sub(end, start) mstore(result, resultLength) subject := add(subject, start) let w := not(0x1f) // Copy the `subject` one word at a time, backwards. for { let o := and(add(resultLength, 0x1f), w) } 1 {} { mstore(add(result, o), mload(add(subject, o))) o := add(o, w) // `sub(o, 0x20)`. if iszero(o) { break } } // Zeroize the slot after the string. mstore(add(add(result, 0x20), resultLength), 0) mstore(0x40, add(result, add(resultLength, 0x40))) // Allocate the memory. } } } /// @dev Returns a copy of `subject` sliced from `start` to the end of the string. /// `start` is a byte offset. function slice(string memory subject, uint256 start) internal pure returns (string memory result) { result = slice(subject, start, uint256(int256(-1))); } /// @dev Returns all the indices of `search` in `subject`. /// The indices are byte offsets. function indicesOf(string memory subject, string memory search) internal pure returns (uint256[] memory result) { /// @solidity memory-safe-assembly assembly { let subjectLength := mload(subject) let searchLength := mload(search) if iszero(gt(searchLength, subjectLength)) { subject := add(subject, 0x20) search := add(search, 0x20) result := add(mload(0x40), 0x20) let subjectStart := subject let subjectSearchEnd := add(sub(add(subject, subjectLength), searchLength), 1) let h := 0 if iszero(lt(searchLength, 0x20)) { h := keccak256(search, searchLength) } let m := shl(3, sub(0x20, and(searchLength, 0x1f))) let s := mload(search) for {} 1 {} { let t := mload(subject) // Whether the first `searchLength % 32` bytes of // `subject` and `search` matches. if iszero(shr(m, xor(t, s))) { if h { if iszero(eq(keccak256(subject, searchLength), h)) { subject := add(subject, 1) if iszero(lt(subject, subjectSearchEnd)) { break } continue } } // Append to `result`. mstore(result, sub(subject, subjectStart)) result := add(result, 0x20) // Advance `subject` by `searchLength`. subject := add(subject, searchLength) if searchLength { if iszero(lt(subject, subjectSearchEnd)) { break } continue } } subject := add(subject, 1) if iszero(lt(subject, subjectSearchEnd)) { break } } let resultEnd := result // Assign `result` to the free memory pointer. result := mload(0x40) // Store the length of `result`. mstore(result, shr(5, sub(resultEnd, add(result, 0x20)))) // Allocate memory for result. // We allocate one more word, so this array can be recycled for {split}. mstore(0x40, add(resultEnd, 0x20)) } } } /// @dev Returns a arrays of strings based on the `delimiter` inside of the `subject` string. function split(string memory subject, string memory delimiter) internal pure returns (string[] memory result) { uint256[] memory indices = indicesOf(subject, delimiter); /// @solidity memory-safe-assembly assembly { let w := not(0x1f) let indexPtr := add(indices, 0x20) let indicesEnd := add(indexPtr, shl(5, add(mload(indices), 1))) mstore(add(indicesEnd, w), mload(subject)) mstore(indices, add(mload(indices), 1)) let prevIndex := 0 for {} 1 {} { let index := mload(indexPtr) mstore(indexPtr, 0x60) if iszero(eq(index, prevIndex)) { let element := mload(0x40) let elementLength := sub(index, prevIndex) mstore(element, elementLength) // Copy the `subject` one word at a time, backwards. for { let o := and(add(elementLength, 0x1f), w) } 1 {} { mstore(add(element, o), mload(add(add(subject, prevIndex), o))) o := add(o, w) // `sub(o, 0x20)`. if iszero(o) { break } } // Zeroize the slot after the string. mstore(add(add(element, 0x20), elementLength), 0) // Allocate memory for the length and the bytes, // rounded up to a multiple of 32. mstore(0x40, add(element, and(add(elementLength, 0x3f), w))) // Store the `element` into the array. mstore(indexPtr, element) } prevIndex := add(index, mload(delimiter)) indexPtr := add(indexPtr, 0x20) if iszero(lt(indexPtr, indicesEnd)) { break } } result := indices if iszero(mload(delimiter)) { result := add(indices, 0x20) mstore(result, sub(mload(indices), 2)) } } } /// @dev Returns a concatenated string of `a` and `b`. /// Cheaper than `string.concat()` and does not de-align the free memory pointer. function concat(string memory a, string memory b) internal pure returns (string memory result) { /// @solidity memory-safe-assembly assembly { let w := not(0x1f) result := mload(0x40) let aLength := mload(a) // Copy `a` one word at a time, backwards. for { let o := and(add(aLength, 0x20), w) } 1 {} { mstore(add(result, o), mload(add(a, o))) o := add(o, w) // `sub(o, 0x20)`. if iszero(o) { break } } let bLength := mload(b) let output := add(result, aLength) // Copy `b` one word at a time, backwards. for { let o := and(add(bLength, 0x20), w) } 1 {} { mstore(add(output, o), mload(add(b, o))) o := add(o, w) // `sub(o, 0x20)`. if iszero(o) { break } } let totalLength := add(aLength, bLength) let last := add(add(result, 0x20), totalLength) mstore(last, 0) // Zeroize the slot after the string. mstore(result, totalLength) // Store the length. mstore(0x40, add(last, 0x20)) // Allocate the memory. } } /// @dev Returns a copy of the string in either lowercase or UPPERCASE. /// WARNING! This function is only compatible with 7-bit ASCII strings. function toCase(string memory subject, bool toUpper) internal pure returns (string memory result) { /// @solidity memory-safe-assembly assembly { let length := mload(subject) if length { result := add(mload(0x40), 0x20) subject := add(subject, 1) let flags := shl(add(70, shl(5, toUpper)), 0x3ffffff) let w := not(0) for { let o := length } 1 {} { o := add(o, w) let b := and(0xff, mload(add(subject, o))) mstore8(add(result, o), xor(b, and(shr(b, flags), 0x20))) if iszero(o) { break } } result := mload(0x40) mstore(result, length) // Store the length. let last := add(add(result, 0x20), length) mstore(last, 0) // Zeroize the slot after the string. mstore(0x40, add(last, 0x20)) // Allocate the memory. } } } /// @dev Returns a string from a small bytes32 string. /// `s` must be null-terminated, or behavior will be undefined. function fromSmallString(bytes32 s) internal pure returns (string memory result) { /// @solidity memory-safe-assembly assembly { result := mload(0x40) let n := 0 for {} byte(n, s) { n := add(n, 1) } {} // Scan for '\0'. mstore(result, n) // Store the length. let o := add(result, 0x20) mstore(o, s) // Store the bytes of the string. mstore(add(o, n), 0) // Zeroize the slot after the string. mstore(0x40, add(result, 0x40)) // Allocate the memory. } } /// @dev Returns the small string, with all bytes after the first null byte zeroized. function normalizeSmallString(bytes32 s) internal pure returns (bytes32 result) { /// @solidity memory-safe-assembly assembly { for {} byte(result, s) { result := add(result, 1) } {} // Scan for '\0'. mstore(0x00, s) mstore(result, 0x00) result := mload(0x00) } } /// @dev Returns the string as a normalized null-terminated small string. function toSmallString(string memory s) internal pure returns (bytes32 result) { /// @solidity memory-safe-assembly assembly { result := mload(s) if iszero(lt(result, 33)) { mstore(0x00, 0xec92f9a3) // `TooBigForSmallString()`. revert(0x1c, 0x04) } result := shl(shl(3, sub(32, result)), mload(add(s, result))) } } /// @dev Returns a lowercased copy of the string. /// WARNING! This function is only compatible with 7-bit ASCII strings. function lower(string memory subject) internal pure returns (string memory result) { result = toCase(subject, false); } /// @dev Returns an UPPERCASED copy of the string. /// WARNING! This function is only compatible with 7-bit ASCII strings. function upper(string memory subject) internal pure returns (string memory result) { result = toCase(subject, true); } /// @dev Escapes the string to be used within HTML tags. function escapeHTML(string memory s) internal pure returns (string memory result) { /// @solidity memory-safe-assembly assembly { let end := add(s, mload(s)) result := add(mload(0x40), 0x20) // Store the bytes of the packed offsets and strides into the scratch space. // `packed = (stride << 5) | offset`. Max offset is 20. Max stride is 6. mstore(0x1f, 0x900094) mstore(0x08, 0xc0000000a6ab) // Store ""&'<>" into the scratch space. mstore(0x00, shl(64, 0x2671756f743b26616d703b262333393b266c743b2667743b)) for {} iszero(eq(s, end)) {} { s := add(s, 1) let c := and(mload(s), 0xff) // Not in `["\"","'","&","<",">"]`. if iszero(and(shl(c, 1), 0x500000c400000000)) { mstore8(result, c) result := add(result, 1) continue } let t := shr(248, mload(c)) mstore(result, mload(and(t, 0x1f))) result := add(result, shr(5, t)) } let last := result mstore(last, 0) // Zeroize the slot after the string. result := mload(0x40) mstore(result, sub(last, add(result, 0x20))) // Store the length. mstore(0x40, add(last, 0x20)) // Allocate the memory. } } /// @dev Escapes the string to be used within double-quotes in a JSON. /// If `addDoubleQuotes` is true, the result will be enclosed in double-quotes. function escapeJSON(string memory s, bool addDoubleQuotes) internal pure returns (string memory result) { /// @solidity memory-safe-assembly assembly { let end := add(s, mload(s)) result := add(mload(0x40), 0x20) if addDoubleQuotes { mstore8(result, 34) result := add(1, result) } // Store "\\u0000" in scratch space. // Store "0123456789abcdef" in scratch space. // Also, store `{0x08:"b", 0x09:"t", 0x0a:"n", 0x0c:"f", 0x0d:"r"}`. // into the scratch space. mstore(0x15, 0x5c75303030303031323334353637383961626364656662746e006672) // Bitmask for detecting `["\"","\\"]`. let e := or(shl(0x22, 1), shl(0x5c, 1)) for {} iszero(eq(s, end)) {} { s := add(s, 1) let c := and(mload(s), 0xff) if iszero(lt(c, 0x20)) { if iszero(and(shl(c, 1), e)) { // Not in `["\"","\\"]`. mstore8(result, c) result := add(result, 1) continue } mstore8(result, 0x5c) // "\\". mstore8(add(result, 1), c) result := add(result, 2) continue } if iszero(and(shl(c, 1), 0x3700)) { // Not in `["\b","\t","\n","\f","\d"]`. mstore8(0x1d, mload(shr(4, c))) // Hex value. mstore8(0x1e, mload(and(c, 15))) // Hex value. mstore(result, mload(0x19)) // "\\u00XX". result := add(result, 6) continue } mstore8(result, 0x5c) // "\\". mstore8(add(result, 1), mload(add(c, 8))) result := add(result, 2) } if addDoubleQuotes { mstore8(result, 34) result := add(1, result) } let last := result mstore(last, 0) // Zeroize the slot after the string. result := mload(0x40) mstore(result, sub(last, add(result, 0x20))) // Store the length. mstore(0x40, add(last, 0x20)) // Allocate the memory. } } /// @dev Escapes the string to be used within double-quotes in a JSON. function escapeJSON(string memory s) internal pure returns (string memory result) { result = escapeJSON(s, false); } /// @dev Returns whether `a` equals `b`. function eq(string memory a, string memory b) internal pure returns (bool result) { /// @solidity memory-safe-assembly assembly { result := eq(keccak256(add(a, 0x20), mload(a)), keccak256(add(b, 0x20), mload(b))) } } /// @dev Returns whether `a` equals `b`, where `b` is a null-terminated small string. function eqs(string memory a, bytes32 b) internal pure returns (bool result) { /// @solidity memory-safe-assembly assembly { // These should be evaluated on compile time, as far as possible. let m := not(shl(7, div(not(iszero(b)), 255))) // `0x7f7f ...`. let x := not(or(m, or(b, add(m, and(b, m))))) let r := shl(7, iszero(iszero(shr(128, x)))) r := or(r, shl(6, iszero(iszero(shr(64, shr(r, x)))))) r := or(r, shl(5, lt(0xffffffff, shr(r, x)))) r := or(r, shl(4, lt(0xffff, shr(r, x)))) r := or(r, shl(3, lt(0xff, shr(r, x)))) // forgefmt: disable-next-item result := gt(eq(mload(a), add(iszero(x), xor(31, shr(3, r)))), xor(shr(add(8, r), b), shr(add(8, r), mload(add(a, 0x20))))) } } /// @dev Packs a single string with its length into a single word. /// Returns `bytes32(0)` if the length is zero or greater than 31. function packOne(string memory a) internal pure returns (bytes32 result) { /// @solidity memory-safe-assembly assembly { // We don't need to zero right pad the string, // since this is our own custom non-standard packing scheme. result := mul( // Load the length and the bytes. mload(add(a, 0x1f)), // `length != 0 && length < 32`. Abuses underflow. // Assumes that the length is valid and within the block gas limit. lt(sub(mload(a), 1), 0x1f) ) } } /// @dev Unpacks a string packed using {packOne}. /// Returns the empty string if `packed` is `bytes32(0)`. /// If `packed` is not an output of {packOne}, the output behavior is undefined. function unpackOne(bytes32 packed) internal pure returns (string memory result) { /// @solidity memory-safe-assembly assembly { result := mload(0x40) // Grab the free memory pointer. mstore(0x40, add(result, 0x40)) // Allocate 2 words (1 for the length, 1 for the bytes). mstore(result, 0) // Zeroize the length slot. mstore(add(result, 0x1f), packed) // Store the length and bytes. mstore(add(add(result, 0x20), mload(result)), 0) // Right pad with zeroes. } } /// @dev Packs two strings with their lengths into a single word. /// Returns `bytes32(0)` if combined length is zero or greater than 30. function packTwo(string memory a, string memory b) internal pure returns (bytes32 result) { /// @solidity memory-safe-assembly assembly { let aLength := mload(a) // We don't need to zero right pad the strings, // since this is our own custom non-standard packing scheme. result := mul( or( // Load the length and the bytes of `a` and `b`. shl(shl(3, sub(0x1f, aLength)), mload(add(a, aLength))), mload(sub(add(b, 0x1e), aLength)) ), // `totalLength != 0 && totalLength < 31`. Abuses underflow. // Assumes that the lengths are valid and within the block gas limit. lt(sub(add(aLength, mload(b)), 1), 0x1e) ) } } /// @dev Unpacks strings packed using {packTwo}. /// Returns the empty strings if `packed` is `bytes32(0)`. /// If `packed` is not an output of {packTwo}, the output behavior is undefined. function unpackTwo(bytes32 packed) internal pure returns (string memory resultA, string memory resultB) { /// @solidity memory-safe-assembly assembly { resultA := mload(0x40) // Grab the free memory pointer. resultB := add(resultA, 0x40) // Allocate 2 words for each string (1 for the length, 1 for the byte). Total 4 words. mstore(0x40, add(resultB, 0x40)) // Zeroize the length slots. mstore(resultA, 0) mstore(resultB, 0) // Store the lengths and bytes. mstore(add(resultA, 0x1f), packed) mstore(add(resultB, 0x1f), mload(add(add(resultA, 0x20), mload(resultA)))) // Right pad with zeroes. mstore(add(add(resultA, 0x20), mload(resultA)), 0) mstore(add(add(resultB, 0x20), mload(resultB)), 0) } } /// @dev Directly returns `a` without copying. function directReturn(string memory a) internal pure { assembly { // Assumes that the string does not start from the scratch space. let retStart := sub(a, 0x20) let retUnpaddedSize := add(mload(a), 0x40) // Right pad with zeroes. Just in case the string is produced // by a method that doesn't zero right pad. mstore(add(retStart, retUnpaddedSize), 0) mstore(retStart, 0x20) // Store the return offset. // End the transaction, returning the string. return(retStart, and(not(0x1f), add(0x1f, retUnpaddedSize))) } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
{ "remappings": [ "@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/", "@openzeppelin/contracts-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/", "forge-std/=node_modules/forge-std/", "solady/=node_modules/solady/src/", "@manifoldxyz/=node_modules/@manifoldxyz/", "@ensdomains/=node_modules/@ensdomains/" ], "optimizer": { "enabled": true, "runs": 10000 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "none", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "shanghai", "viaIR": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_rothkoOnPennies","type":"address"},{"internalType":"address[]","name":"partialAddresses","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"CannotDeleteInitialSnapshots","type":"error"},{"inputs":[],"name":"InvalidAddressArrayLength","type":"error"},{"inputs":[],"name":"InvalidInitialBalancesArrayLength","type":"error"},{"inputs":[],"name":"MismatchedArrayLengths","type":"error"},{"inputs":[],"name":"NotCollector","type":"error"},{"inputs":[],"name":"SnapshotIndexOutOfBounds","type":"error"},{"inputs":[],"name":"SnapshotNotTaken","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"liveSnapshotIndex","type":"uint256"}],"name":"LiveSnapshotIndexSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"showLiveData","type":"bool"}],"name":"ShowLiveDataSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"snapshotIndex","type":"uint256"}],"name":"SnapshotDeleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"snapshotIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"SnapshotTaken","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"addresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256[]","name":"balanceChanges","type":"uint256[]"},{"internalType":"uint256[]","name":"balanceChangeIndexes","type":"uint256[]"}],"name":"createCustomSnapshot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"snapshotIndex_","type":"uint256"}],"name":"deleteSnapshot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getDeficitBalanceFromTheInitialSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"snapshotIndex_","type":"uint256"}],"name":"getSnapshotBalances","outputs":[{"internalType":"uint256[]","name":"balances","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"initialBalances","outputs":[{"internalType":"uint40","name":"","type":"uint40"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint40[981]","name":"_initialBalances","type":"uint40[981]"}],"name":"initializeBalances","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256","name":"startIndex","type":"uint256"}],"name":"initializeRemainingAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isCollector","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isCollector","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liveSnapshotIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renderInitialMetadata","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renderLiveMetadata","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renderMetadata","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"balances","type":"uint256[]"}],"name":"renderMetadataFromBalances","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"snapshotIndex_","type":"uint256"}],"name":"renderSnapshotMetadata","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rothkoOnPennies","outputs":[{"internalType":"contract IERC1155","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[981]","name":"_addresses","type":"address[981]"}],"name":"setAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint40[981]","name":"_initialBalances","type":"uint40[981]"}],"name":"setInitialBalances","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liveSnapshotIndex","type":"uint256"}],"name":"setLiveSnapshotIndex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_showLiveData","type":"bool"}],"name":"setShowLiveData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"showLiveData","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"snapshotIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"snapshots","outputs":[{"internalType":"uint256","name":"snapshotTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"takeSnapshot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a060405261047d805460ff1916600117905534801561001d575f80fd5b50604051611b5d380380611b5d83398101604081905261003c9161013a565b610045336100bc565b6001600160a01b03821660805280515f5b818110156100b3578281815181106100705761007061020e565b602002602001015160a7826103d5811061008c5761008c61020e565b0180546001600160a01b0319166001600160a01b0392909216919091179055600101610056565b50505050610222565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114610121575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561014b575f80fd5b6101548361010b565b602084810151919350906001600160401b0380821115610172575f80fd5b818601915086601f830112610185575f80fd5b81518181111561019757610197610126565b8060051b604051601f19603f830116810181811085821117156101bc576101bc610126565b6040529182528482019250838101850191898311156101d9575f80fd5b938501935b828510156101fe576101ef8561010b565b845293850193928501926101de565b8096505050505050509250929050565b634e487b7160e01b5f52603260045260245ffd5b60805161191c6102415f395f81816102f20152610794015261191c5ff3fe608060405234801561000f575f80fd5b50600436106101bb575f3560e01c806396fe6bf3116100f3578063cd970edc11610093578063e124173f1161006e578063e124173f146103be578063edf26d9b146103c6578063f2fde38b146103d9578063fb289354146103ec575f80fd5b8063cd970edc14610380578063d55488ee14610388578063d6565a2d1461039b575f80fd5b8063a1c922ee116100ce578063a1c922ee14610355578063a63685571461035d578063a73125a514610370578063b3d3d37e14610378575f80fd5b806396fe6bf314610327578063996766f01461033a5780639aa1b67014610342575f80fd5b80633d7821e11161015e578063715018a611610139578063715018a6146102a75780638da5cb5b146102af578063959c5226146102ed57806396d0d37414610314575f80fd5b80633d7821e1146102615780633df32c6d146102745780636212980414610294575f80fd5b8063269703e511610199578063269703e51461021957806330d2a1981461022357806332f6f96c146102435780633687d90514610261575f80fd5b806306bc7db8146101bf5780630bcc0b9b146101d4578063234feaf214610202575b5f80fd5b6101d26101cd3660046113f2565b6103ff565b005b6101e76101e2366004611466565b6104a9565b60405164ffffffffff90911681526020015b60405180910390f35b61020b60025481565b6040519081526020016101f9565b61020b61047c5481565b610236610231366004611466565b6104da565b6040516101f9919061147d565b61047d546102519060ff1681565b60405190151581526020016101f9565b6101d261026f366004611517565b610689565b610287610282366004611466565b6106a3565b6040516101f991906115a8565b6102516102a2366004611620565b610745565b6101d2610803565b5f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f9565b6102c87f000000000000000000000000000000000000000000000000000000000000000081565b6101d2610322366004611639565b610816565b610287610335366004611711565b6108bb565b6102876109aa565b6101d261035036600461174b565b610a4c565b610287610a62565b6101d261036b366004611466565b610afe565b61020b610bbf565b6101d2610c6c565b610287610df0565b6101d2610396366004611466565b610e18565b61020b6103a9366004611466565b600160208190525f9182526040909120015481565b610251610f39565b6102c86103d4366004611466565b610f43565b6101d26103e7366004611620565b610f70565b6101d26103fa3660046117a5565b61102c565b61040761115b565b815f5b818110156104a2578484828181106104245761042461180d565b90506020020160208101906104399190611620565b60a76104458386611867565b6103d581106104565761045661180d565b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560010161040a565b5050505050565b6003816103d581106104b9575f80fd5b60069182820401919006600502915054906101000a900464ffffffffff1681565b60606002548210610517576040517fefe6357f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208190526040822001549003610560576040517fcb85efac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516103d5808252617ac082019092528160208201617aa0803683370190505091505f5b81811015610682575f84815260016020908152604080832084845290915290205415610623575f8481526001602090815260408083208484529091529020546003826103d581106105d9576105d961180d565b600680820490920154610600939264ffffffffff600591909306026101000a900416611867565b8382815181106106125761061261180d565b60200260200101818152505061067a565b6003816103d581106106375761063761180d565b600691828204019190066005029054906101000a900464ffffffffff1664ffffffffff1683828151811061066d5761066d61180d565b6020026020010181815250505b600101610586565b5050919050565b61069161115b565b61069f6003826103d56112d2565b5050565b606060025482106106e0576040517fefe6357f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208190526040822001549003610729576040517fcb85efac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610733836104da565b905061073e816108bb565b9392505050565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600160248301525f9182917f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e90604401602060405180830381865afa1580156107d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107fc9190611880565b1192915050565b61080b61115b565b6108145f6111db565b565b61081e610f39565b610854576040517f7762060000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527fc18e4e9c131e3d0104645210b9d15fe159a005ad6ee21c210ad23afaace182c5906020015b60405180910390a150565b60408051602081019091525f808252606091905b83518110156109a3575f8482815181106108eb576108eb61180d565b602002602001015190505f8190505f81604051602001610936919060d89190911b7fffffffffff00000000000000000000000000000000000000000000000000000016815260050190565b60405160208183030381529060405290505f819050600188516109599190611897565b850361096e5761096b815f600261124f565b90505b85816040516020016109819291906118aa565b60405160208183030381529060405295505050505080806001019150506108cf565b5092915050565b604080516103d5808252617ac082019092526060915f919060208201617aa0803683370190505090505f5b6103d5811015610a3c576003816103d581106109f3576109f361180d565b600691828204019190066005029054906101000a900464ffffffffff1664ffffffffff16828281518110610a2957610a2961180d565b60209081029190910101526001016109d5565b50610a46816108bb565b91505090565b610a5461115b565b61069f60a7826103d5611370565b604080516103d5808252617ac08201909252606091905f908260208201617aa0803683370190505090505f5b82811015610aed5760a7816103d58110610aaa57610aaa61180d565b0154825173ffffffffffffffffffffffffffffffffffffffff9091163190839083908110610ada57610ada61180d565b6020908102919091010152600101610a8e565b50610af7816108bb565b9250505090565b610b0661115b565b6002548110610b41576040517fefe6357f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003811015610b7c576040517f8ee8b6d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260016020818152604080842090920192909255518281527fc375b476f60114a80a5115e566054666202bc89c0d65903e3d90cc0007149f9791016108b0565b5f806103d5815b81811015610c64575f60a7826103d58110610be357610be361180d565b015473ffffffffffffffffffffffffffffffffffffffff1690506003826103d58110610c1157610c1161180d565b600680820490920154610c4f9264ffffffffff600591909306026101000a90041673ffffffffffffffffffffffffffffffffffffffff831631611897565b610c599085611867565b935050600101610bc6565b509092915050565b610c74610f39565b158015610c9857505f5473ffffffffffffffffffffffffffffffffffffffff163314155b15610ccf576040517f7762060000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002545f90815260016020819052604082204291810191909155906103d5905b81811015610d9c575f60a7826103d58110610d0c57610d0c61180d565b015473ffffffffffffffffffffffffffffffffffffffff1690505f6003836103d58110610d3b57610d3b61180d565b600680820490920154610d799264ffffffffff600591909306026101000a90041673ffffffffffffffffffffffffffffffffffffffff841631611897565b90508015610d92575f8381526020869052604090208190555b5050600101610cef565b50600254604080519182524260208301527f3b5ce8b2d475067181f949f668899c93f26f0b25c5f8712ebca6b4b93d92989d910160405180910390a160028054905f610de7836118d8565b91905055505050565b61047d5460609060ff1615610e0c57610e07610a62565b905090565b610e0761047c546106a3565b610e20610f39565b610e56576040517f7762060000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002548110610e91576040517fefe6357f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152600160208190526040822001549003610eda576040517fcb85efac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047c81905561047d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040518181527f3b0f37561752b99d939ff216fcadbc6fe72442faa8303a5e97be988759a1b011906020016108b0565b5f610e0733610745565b60a7816103d58110610f53575f80fd5b015473ffffffffffffffffffffffffffffffffffffffff16905081565b610f7861115b565b73ffffffffffffffffffffffffffffffffffffffff8116611020576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b611029816111db565b50565b61103461115b565b805182511461106f576040517f568efce200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002545f9081526001602081905260408220908101859055905b8351811015611104578381815181106110a4576110a461180d565b60200260200101515f146110fc578381815181106110c4576110c461180d565b6020026020010151825f015f8584815181106110e2576110e261180d565b602002602001015181526020019081526020015f20819055505b600101611089565b5060025460408051918252602082018690527f3b5ce8b2d475067181f949f668899c93f26f0b25c5f8712ebca6b4b93d92989d910160405180910390a160028054905f611150836118d8565b919050555050505050565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611017565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060835182811161125e578092505b838111611269578093505b508183101561073e5750604051828203808252938301937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820181165b86810151848201528101806112a85750505f81602084010152604081018201604052509392505050565b60a483019183908215611360579160200282015f5b8382111561132d57835183826101000a81548164ffffffffff021916908364ffffffffff16021790555092602001926005016020816004010492830192600103026112e7565b801561135e5782816101000a81549064ffffffffff021916905560050160208160040104928301926001030261132d565b505b5061136c9291506113de565b5090565b826103d58101928215611360579160200282015b8281111561136057825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611384565b5b8082111561136c575f81556001016113df565b5f805f60408486031215611404575f80fd5b833567ffffffffffffffff8082111561141b575f80fd5b818601915086601f83011261142e575f80fd5b81358181111561143c575f80fd5b8760208260051b8501011115611450575f80fd5b6020928301989097509590910135949350505050565b5f60208284031215611476575f80fd5b5035919050565b602080825282518282018190525f9190848201906040850190845b818110156114b457835183529284019291840191600101611498565b50909695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051617aa0810167ffffffffffffffff81118282101715611511576115116114c0565b60405290565b5f617aa0808385031215611529575f80fd5b83601f840112611537575f80fd5b61153f6114ed565b908301908085831115611550575f80fd5b845b8381101561157c57803564ffffffffff8116811461156e575f80fd5b835260209283019201611552565b5095945050505050565b5f5b838110156115a0578181015183820152602001611588565b50505f910152565b602081525f82518060208401526115c6816040850160208701611586565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461161b575f80fd5b919050565b5f60208284031215611630575f80fd5b61073e826115f8565b5f60208284031215611649575f80fd5b8135801515811461073e575f80fd5b5f82601f830112611667575f80fd5b8135602067ffffffffffffffff80831115611684576116846114c0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811084821117156116c7576116c76114c0565b60405293845260208187018101949081019250878511156116e6575f80fd5b6020870191505b84821015611706578135835291830191908301906116ed565b979650505050505050565b5f60208284031215611721575f80fd5b813567ffffffffffffffff811115611737575f80fd5b61174384828501611658565b949350505050565b5f617aa080838503121561175d575f80fd5b83601f84011261176b575f80fd5b6117736114ed565b908301908085831115611784575f80fd5b845b8381101561157c57611797816115f8565b835260209283019201611786565b5f805f606084860312156117b7575f80fd5b83359250602084013567ffffffffffffffff808211156117d5575f80fd5b6117e187838801611658565b935060408601359150808211156117f6575f80fd5b5061180386828701611658565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561187a5761187a61183a565b92915050565b5f60208284031215611890575f80fd5b5051919050565b8181038181111561187a5761187a61183a565b5f83516118bb818460208801611586565b8351908301906118cf818360208801611586565b01949350505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119085761190861183a565b506001019056fea164736f6c6343000819000a000000000000000000000000cb337152b6181683010d07e3f00e7508cd348bc7000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002ee000000000000000000000000ff64711628dbfbcd11b0b6252ec7146ee487a2c90000000000000000000000005a04b9ae934adb10dc90ae561aff19df977021750000000000000000000000000bfb75c571635fa2d4262217d5f8e5018aeefec9000000000000000000000000156d5f8a20d4f843a53b406fd9d3e1a453ec88b2000000000000000000000000126bb405c188da691e708bdab72516da922854a3000000000000000000000000f4d405a7a4b2585d6c969fc5aedae58a9a7761b5000000000000000000000000759670ab95d3a8d5fb1c1abff8cf0023fd7e107b000000000000000000000000bc7984599b94fc36d4490f4a41efd936c53a8c01000000000000000000000000c636d893757038a726eedef02374ed3c7091bdb6000000000000000000000000e06c62cf8c544f16e7119fac27a9b0c8929efdf90000000000000000000000002d90ff82ddcd4728652c384a95d5da0e2aa0e32c0000000000000000000000001766962bcbbbf97b739d96b0e7ed924632f15f4d00000000000000000000000045662c7d4f483a78b7271c4f579642d812f7986e0000000000000000000000001cfabf69b9b4473c76f60260863186854ffbc013000000000000000000000000846694b2d79854832168b1e84038b1492aad0177000000000000000000000000abf1daaf720e052289dbd906fb31ca9bfe7643560000000000000000000000003b58f2becc244566f214bce21ff08e6d7653949900000000000000000000000074a2fac446cfb90346a2329bbf6e875083e814ef0000000000000000000000001e0a2fbffc3e7ad2450b49503b77fca2976338e4000000000000000000000000eec47b9ac18be439d083901c5541be486ece75ab000000000000000000000000be20f60523f5e4940a0717874b1cf8c605191e7c000000000000000000000000b39f9555ae21679116e33ca9b7b484f154251d700000000000000000000000009777fd60902b0b842fb72ad975717b46a9d02387000000000000000000000000193d3c14796c068dbd239f76b7f68af9ce89e9f00000000000000000000000006eae0f716dc7316f3b95b7987c0af33192667be400000000000000000000000093f8a4081a29dc28139da9673a503922c5f2ee3d0000000000000000000000002f6860756bfb8e95eb7ef470c68ca213209fe1e7000000000000000000000000335df126edd17538ae04f47b8217ef64267b875f0000000000000000000000002719aa2df4f6b7a6834053130d3a174cde9e14f5000000000000000000000000dfaa80158aff56718dd4b07bc7cc61a77be1525b0000000000000000000000006ba56fc69f2a4b649e35cf0b7b8f4eef09bd630d00000000000000000000000040a965dbc477aec8673070e765328fb60ac64a7a000000000000000000000000590fdf16c47fa15dce9a857c157577b3e290a1ba000000000000000000000000c4534908f0acac882dd1f91cb4002738317078d3000000000000000000000000455f9682d03b333a0fd2c1be72e22fbf6ecf6261000000000000000000000000e6b295e9dedd3674d0903833a21435ac234d8319000000000000000000000000a9c0d05fee7aa68241546a4584946c4ad9acab6d0000000000000000000000008c476cda3693163a877da79f6c8ce9db7e3256cf000000000000000000000000dd0bbf3eae9b6b9215a3a081db7fbe54b9fda4a00000000000000000000000001c17d7ecbd2ff20d8880fbf3b7abadab9639beec000000000000000000000000e6e816639f7ac059353f510045bde88b092b82ae000000000000000000000000feadb4a4d27787afb95cfbd8dbfb95dcfc51bf11000000000000000000000000be951967b0fc960cf41636d267b15fcbb5c7fb630000000000000000000000000fe70bcca223618b67dc681d44539185a2b923ee00000000000000000000000034c0f60f44a7fa8d0539afed9473864b187cc24100000000000000000000000034a1af47d918a0e93a5b3c98f3c25d4ee887f85d000000000000000000000000c0057a2c1523d7f4aec9bc578e5b5f48070a974e000000000000000000000000fbfa558c278d25258349001e329c5b150a452b95000000000000000000000000e76b3ab1db2fb5b796b44cf5c8a0c1f51e99f3a00000000000000000000000000157a61200d120b6a06d998587f96f5eff2eef9a000000000000000000000000509a04ae924b52e7b5caca3c98fd08e2629db9a000000000000000000000000014ddf4a3c017a7beaec099bf1029f46422341038000000000000000000000000a2a0aa2851ac59b62f8f79d4a0d1be85a65c80790000000000000000000000002c0fd5b15ff3253377c32f730effb35e92307e82000000000000000000000000b8fdc52cf0376188637bff67a137b6735a8457f00000000000000000000000006e13afbf988f39fd7e9be0370e4c34e91270e1ba0000000000000000000000009a38ede54ad7ea8acf3bc7f9c8f7b08ab19abcfe000000000000000000000000efb5111e6fa2c8d392a1376ac1572076fbce24870000000000000000000000009c97bba95a67ab00a33cf3890df051f4b29e2bec0000000000000000000000007b3353cb47e45a44c59c5d4f63ce5595cfd2f5a30000000000000000000000004784351ec65d8f6bf6ba7698e4e79b8026f38f8f00000000000000000000000089dcf3e6166cd81a6e4e8b06e1185356f8cc089b0000000000000000000000000f4c072203451cf21342e844780ae0ed4d4adfa2000000000000000000000000bb0a6802e633f97980a8fc91386052ddff9892cc000000000000000000000000cce8cb7dc680d37ed56ec47c14ca171c5c58022f00000000000000000000000015e7b478de6db3cfa85cda3257d394d79e8baf8200000000000000000000000014d74333106e3210f289464d19d66cc0bcecdf430000000000000000000000007bdf2c5769cda7c12f48f9d0f1b07d8d0a57f128000000000000000000000000ef490377ee6f67c57d63dade3d8434b17e5959ce000000000000000000000000aea98eb953525e65f7520f27cdfed4dcbca6023f00000000000000000000000043ebba6b7a1ed74a7c5b7be4710157ce181be0ed0000000000000000000000001b98f45b29a5cf471ade3cd2922a9fadc6a693ff000000000000000000000000fbc31f8a580f00e317d9008ae10ae362afb2984100000000000000000000000051dca3cec3942cfbbc7cf6b89dd5d9755bc52438000000000000000000000000b69e265bb2b6c31b1a5bd8dde6fcab858a67a44b000000000000000000000000c46c6a6342497b7530634505c08860050c0246cc00000000000000000000000069ef6279b0b454577e685395410a95d873e9d82a000000000000000000000000c3ad5ece058b3dfeaca013d33f62ff5bdcf1ba610000000000000000000000009e7e18a1c92bbbe9f7790e6e1296e7716869d7fc000000000000000000000000f9e2f9d1437dbdd0bda361f7f91740233c7ad0330000000000000000000000002abbb9754bd3889d9bb5c9659c0d825290631dd40000000000000000000000006955faf89fd43387eb6df55f40dd69b57f484c59000000000000000000000000faab692accaa3466ce867f6597f816eb9342fe7e000000000000000000000000050d7c826c1f4554da2bd2868b8d3784730973c50000000000000000000000006bf3e88697474b718eb08bd18e684b655d331ee9000000000000000000000000e28d5f727080f8b5c0448218def4c1f111a87202000000000000000000000000d695ba03fd7b4f6da5e35f3e62dab57ae5363979000000000000000000000000407729f78710c2ec5d5efdced2045cb15bd6dab0000000000000000000000000b73043aa6a272cb7e02b96123ca8e25687f49d27000000000000000000000000b8554fb491c97c65201a5e736c7e917b9e37be890000000000000000000000007fd492dd7041e5a1500ff8e3e4f0564ed5185bf70000000000000000000000004238fcfdba55536e9db5f10abdb2084ca32e7e8d0000000000000000000000007af585b1e2aafe57fec14935e06562b1943881ef000000000000000000000000755d8a61eff9be5eb60b3da381f378d36aabbe73000000000000000000000000ef5883d6836b006f64a7cb2a9639e23d7d2825b40000000000000000000000000f122e32934bdff19e34d213329fcc2ffec9ef900000000000000000000000009a7a93df8da07ef4b08366eb2a4d2137b4821439000000000000000000000000e96853d9cff5ad698611709fa11e29f8dfcf89b80000000000000000000000000d1702572889cedb39ed459018bab9711ed5962b000000000000000000000000c2c287d082f3ef11dcd413643cbfd56c557f43bf000000000000000000000000a6d59e052e80ab7adea26858f4728f185a1b97e7000000000000000000000000cda159b2193bf694835c970a499eccd6de6e801a000000000000000000000000f2614d8239940785a44bea5b36808cbf8c486c550000000000000000000000008fed0fc57669808acb9edb487318ab2843a2199e0000000000000000000000005492592eecc026db44c6b80bfee17d32fa4c0072000000000000000000000000a43f87af2fa9d5b98781368300fce0e33c0533820000000000000000000000000e0b7570b97e3078d90284f9365d1f84ad9f213e00000000000000000000000038f36be3b0e098a3347502f025b958d9d89b3d4600000000000000000000000077e9cbf615ae524555ab1ea0195a91b1e1214bee000000000000000000000000ff990648740c1ca5895bee07b832a3af204faded000000000000000000000000b67f1f2ce9452ebea814b2f97801e050cd9c3eed0000000000000000000000000ded72d6bca9ca5ebee4c03a2490d99a7d0dc884000000000000000000000000e9859cc94d531625cf8b2b2cd737ca637a9271a8000000000000000000000000391c9f4537afd45e82e0510b67d0d460cbff725a0000000000000000000000008376ec7bf0e430cf902302605ffb31a86a21c5a7000000000000000000000000cecb55950b8c94bc472945cc3c5a31940e2d0c040000000000000000000000000c38c28d31c80496aa02019f322dd9fdfe8e3aa7000000000000000000000000bc30a9d8abeed4c7b2c2cee1855e198916c5d8c3000000000000000000000000553abf9546d73eb80e278d2c820b5ed0353142c80000000000000000000000008abe0004d749cf98c0fc1e09e797b76adbe8aa530000000000000000000000007964306610b3c0adc9f34a11bab89f3268d7154a0000000000000000000000003b5e17848a468315b7b6a0d087eda78c9b677e30000000000000000000000000d7a831448a9a9bb8cf294f11b12d4fc64ba97c810000000000000000000000008c7fb9526e8139a90ffc4058ae3268fb906b4d6e0000000000000000000000002b860d532e0be424b84468219e4783cdb75a29380000000000000000000000004e334cabd169302b05c52c8a8e61a0aa7ea7b0ab000000000000000000000000e0c0a33416f26712e4f59e8a2a345609b4b6dddc000000000000000000000000a7645abcde52cb2e8c8c5879f7e339a5f6e5c6f0000000000000000000000000c4c73518946aab4a73578e3cdd85ec959deaf9810000000000000000000000005958411fc670fe546f3c8c844c7b2f134cb43ce10000000000000000000000002d329ff45ccec77dc5470b4cbfba82dd8faefaa20000000000000000000000005b38a1056e77db49a838a26b1cdfa034e34541bf0000000000000000000000003d31e5c9f7cbd59050609a1a3c3686d4d08c3008000000000000000000000000f5aacaa00b7bd992b3a303de095bc5da7dd49916000000000000000000000000e4713b06aba976fc17b168595543056f1292252a000000000000000000000000d5c1a5036b29c386ab4f5dba273cf36c0fef73ac000000000000000000000000f72f0a858d7d13d095f7faa098fb624b1c109936000000000000000000000000cffea90e4376b96c53a99851ba8c86cb9df600f3000000000000000000000000ca446340b52433f9a25206ed4db4b333ace322990000000000000000000000008d3904785a581c58f19dc03415fed16536e0bcc600000000000000000000000073d544e64adc9781b83c4a8fe65d45ad53a9a1af000000000000000000000000e8533d989165aaf2fd618e1cc2b451d6d8263eac00000000000000000000000056e09255580deb918e90dc945e14bd7725017179000000000000000000000000edc8cd9de64eedb5f57b559a9825b856809496860000000000000000000000003754b101248a237ad3743def947dfbdd3e7454150000000000000000000000008ff9df4bafb72dce69e175e4d515b43c2bdf6286000000000000000000000000fa399385db7d133dc098d356a75254e0978cb78a00000000000000000000000056156009fa9d026e04fd76b312df76fbbbfbaeb1000000000000000000000000b00b7d03aaed54b7e5edab994a136713844e8957000000000000000000000000efb8ac07c92cef03c643cc5b540ad12da4803484000000000000000000000000ac9dc3ea39797ee5484f485b2980b535d5a3c1ed000000000000000000000000fac80ac986ca527078eccbc93efd93a1d3a6aead000000000000000000000000b35fa4a7708b746030267a1f55ccc27cca1139f70000000000000000000000003c84d2015378a7376010bafc5efc626e882335e800000000000000000000000023998a620f3605fd6c0bab43834ef896018b455400000000000000000000000074dbb176b72b7a82d771263460ef7c019acc99400000000000000000000000002e67c48a85d34e1645db8cf8b1c7e3d117b531b600000000000000000000000094e0b3ec075f33486d04271be6cdaa5a1c38652e000000000000000000000000c16603e0f85beed096fe229b74f94a43bc9c7c430000000000000000000000003f786e0bfd61ffa1c13e144b231dc43ea72189fa000000000000000000000000b09e35d7e811a17dca3e5a2ceea63054ee28a0740000000000000000000000006d57f3b7746e41158e85b272de45c7aeb0e827d60000000000000000000000007bbeccacfedffab879f6ea0e663e60f8c2074dc0000000000000000000000000cf04dd9b77a6785712eec5f3105e5b2cb94da97c000000000000000000000000f1711a20953f21ba699229bfc38735489da1a69200000000000000000000000037415fee9206978cf2377e32f40836ac1cccc62f00000000000000000000000088cc6756fb0057f294d5f9363f8403512ce6dc440000000000000000000000000b07725e54de7671b1a089f6122c928c49ce1f83000000000000000000000000992d903a8167f5a4a13ec70c65b05621f222eca6000000000000000000000000274d6ddbd2d43fcb58ecdf9aa7d798fcd49c1a400000000000000000000000002cd17e77cfa662a78c1764c18419181effd3e1910000000000000000000000006b79b82c5cfc8230bcb9347d093b81d97d31e562000000000000000000000000dadb0b3792f47b0e2db587696fcacf0457a3ff4c000000000000000000000000e22883b8dcd695843cb7875f2086da1112f0d9510000000000000000000000007d8fc49bee312670f68363eba2af045ee695a8590000000000000000000000006b2a50571b076da4b92f4308919fe5ab1cebf01f000000000000000000000000439c8b04f605752179a373ed5bbfbee2876fc6c20000000000000000000000008ea3a85ac520a3e26736d571d33676ae97e9b583000000000000000000000000d909123d846aa605cf7127ad178f7e4a9dba8b4f000000000000000000000000f32e51e28210229910c7cde4c9d42f18cdd5385f00000000000000000000000030bd068c5fc5ebb87ee395b043b3cdd1c1378d4b000000000000000000000000e1cc7f949c70b803b5eca226429936dad535a213000000000000000000000000d180834039e772feb34c6b42b206eaf1e582854b0000000000000000000000002b9ee87e5b597bf042b0dc588f45cd3e2b1473d60000000000000000000000004d1570b56cdf3048717e8c287c9ad9fa10a35f11000000000000000000000000480df72243d119d4826a733e00a7b98563cc449f000000000000000000000000211daa831dd902997152b7c14c23c09e4a503914000000000000000000000000990c214889334035879c4b0e70d17da9f77034830000000000000000000000000e11bdd390085a3cbe7be90b22c9f56f18e8ef110000000000000000000000009aca9398e804df364b72b36ebba8cf8433e0c999000000000000000000000000ac08efb3deefe763ba4e3b210c975ccdfda738a400000000000000000000000062f250495cdcbc332b656a8482c5a24b57171e440000000000000000000000006961349e255c81ec2e37c9ffee54bb169ccf86dd000000000000000000000000039e83cf3971434b6e256cc3e467379466ab93130000000000000000000000005c1486c77957d019525e08bdb37b6c5bb0d8f18800000000000000000000000074708aacf09583fd25d1c9afc18c8f69f4417acf000000000000000000000000389b7f17e1ea1a02495fc8e6a9ed63a60cedb243000000000000000000000000b7362cde6dc4ea6a44d46bf23544898721444c8c000000000000000000000000b0024fb5c16705edc5c3e8f66e5f79f864e952b90000000000000000000000007066014277dde23cd88718504b7dec8a398245ca0000000000000000000000003415301446cb482213caf61029ebc3774eaddbb70000000000000000000000009c09ddc82561e924bc541bde1976899f214df9cc000000000000000000000000031e10e474c1d7b8638f199d30b4502cfdf89abf0000000000000000000000005ee01329a60019535c9b95950ee415f15efab95800000000000000000000000000ee1dc7f82459534d508a702846f940001dff87000000000000000000000000a29c415a745aca4637886a4d598054c6454bf67700000000000000000000000024bc559b81d24c664591f9af19ee8c108a2015950000000000000000000000000b10afba8a46c8110a196f3f837e399637985921000000000000000000000000d5c1f4a13b09fa91b79c133236bdc3125784f7950000000000000000000000009949385848eb72bd3476c5c9f3ec1190b877c61800000000000000000000000019f2b4dea91888c72e0f4543fa6cc4c926fb401d000000000000000000000000c28786883b8a56804d2ca5d92a37a79c7cd7c65b000000000000000000000000ad226db5e142f2610aa005c482b78c02c79f3cb400000000000000000000000061fc0f87d419fdd94248059861bf9e19652dece10000000000000000000000006a57e50db5e2b89e19fc488f81bb0f5465e351620000000000000000000000004cf4427ad3484e1dd81cda2c41dab4ee2bc938230000000000000000000000009e9c1f45d1624b899c6c9577eaf4edc5e2a56abf00000000000000000000000060374a1b9e417fa4a60053dd95b881e216871376000000000000000000000000713001784115e71315ad8711575f971fbe09f9b70000000000000000000000000e451f953e4301a4ffd3fa9c2491f76b263cf1080000000000000000000000004eca3ee20ad41df5dfab27d2e9d62c6ee65360620000000000000000000000008b9fe4894f7b2a6145b5d4865e29abcf48012075000000000000000000000000d2343eaf48b0d5504ed71681f2360f10a8afef89000000000000000000000000d559b6f387ffab63610b060b8be1b8de6827600f0000000000000000000000006a5418b3c33c7153161c49dd535fdad4e4fca12d0000000000000000000000003ed2d7acf0b9ab3fc98603d7faa920e613d3e556000000000000000000000000d0fbbd9b4b2911eea59ad57ae7a1905f49ce09d4000000000000000000000000938f93b0e12fbe253ac1f7a39c1d6b2951d5e5870000000000000000000000007fbd7a7c0c7d7d0e33a487f6e0bf3f8b213709db000000000000000000000000ae2b079bf8f08883c404944f87f0f5303ede229200000000000000000000000078b1b5e843164d900e1c4c0df7c8926054435682000000000000000000000000e734f4d671fdbb7c58df337f9260d5e55c3fa7fa000000000000000000000000b625d4ef08d64dae4759e347e3984b8b7ffcd9d9000000000000000000000000f0db70fd5fa4dddc2e61779a1ea36908932e9f12000000000000000000000000e2e05ed14faface47b99137679c9d6d5432b2c22000000000000000000000000878404c02c8d4ec88afe827de2a08879752fa3da00000000000000000000000081131878727f4d4dadb1a21d659868594927e74d000000000000000000000000b40c1ec22093d1c5d9467152e073d7e384e6dd9c000000000000000000000000f53cd61e002af1a78a115b0c1936978e22b12768000000000000000000000000d9f01f0936100ff2656a3aa3626fe42d771d3c3e000000000000000000000000ed3c86b42ed24a0ce774a27069ac41afd5eeef8400000000000000000000000092e1b2c322911ee22242e9a6e4ccac2d5d6cf505000000000000000000000000732d9ee644bc1d5958e72124f79133a8cc49a1ab000000000000000000000000d99dace0f9c416dcd734c11427d8e9048e9d8fa600000000000000000000000026187af2e2d5a941ee2d1281c03fc0b1bd14d9400000000000000000000000002d1184f708f383b42cde6dd2bafa8ba4aa190374000000000000000000000000c1d56c90adab2c06078bf85632bdfeb0f9d4b22e0000000000000000000000006588e8dd6188e204dd468cb98357a87357d94175000000000000000000000000df078b446b4bf2cefaac96dd9f20458fe41465d200000000000000000000000072ed780c2d7b1fd41ab3f5c43a7c68dcc3dd54280000000000000000000000001a9949e0945d2cb7bebe54162a1ba9e6459b51d40000000000000000000000002cb32520621c2079010db985282ad42d05685d96000000000000000000000000472dcd4c1f594dac984d442131c4503c75461af9000000000000000000000000f278323e76f825c2c91e110a9cda8c6c717c2b9c00000000000000000000000017a76b4e13a0cb6f1d01ad769bb66cf41cd2c043000000000000000000000000ad2dfcc4d2cc41b2f9e19812237ea3d8d3f404010000000000000000000000003acbf5dfa243ea346ce741c9f3d1556d33dc33ba000000000000000000000000e8359cdec4bdd8b8a46ef00093eeeb01a9deba1600000000000000000000000092efdfe04aa5df1f1e824e5e3d3928ca979208c8000000000000000000000000acacb9430212f977abba9345f7d1aa631e3e0771000000000000000000000000ee41100c13dac5725eec4402b9b45c7aba4957ce000000000000000000000000639ddb339665ccce59c6e1728ed4e06a12e15e6a000000000000000000000000253168d6eabb56dbef02bbccb366936fa53002b5000000000000000000000000facb518d26dd126175f1808c92bac5ece92a11b6000000000000000000000000c6236ca9db4043c7756e5eff151aa953ff683ee00000000000000000000000002d19784334d6e08fa5b9d9da6509e77f7f671ce200000000000000000000000081ff54c6b56258c71946e9cae615067748802406000000000000000000000000e24ee348f353813728818cc6e79853e943f4ce8b00000000000000000000000063feb64d3dd1b0dc0de78839343accc8df82316e0000000000000000000000005499ba98bfd13839944ac4aa629df36d613b2a710000000000000000000000000993562a75eded9f23434c408731dacd9754c83a000000000000000000000000ea7f19ac27d0fd224e991e1bc6c6ef23f793bc0d0000000000000000000000004fa7e65636b87e01b06d5152c1def322cc85f44300000000000000000000000062414cf8b1b04c36fd788597c55ab3e3db24f4f0000000000000000000000000d76809b18a8c40328a00d9a162d4ea9254737238000000000000000000000000576519e51a978340394bffca55ae7834da4896d500000000000000000000000034f89ddfa83b105366bd60eff7eb1896c9aa296f000000000000000000000000bcf3ddd4781a156b68efddd71b0dcb40c25d7785000000000000000000000000295a1257e1c3213c621fdbff19679bd97dedef40000000000000000000000000e7bc4931e93cd97d58b7251a18bb493d23a2cd35000000000000000000000000f0e60898dac4e738aa48ac60c689318608cef7460000000000000000000000000bf5b434f4208308b3274e925fac89c297ba1f6f000000000000000000000000d85c02c684c04ea54c289cff29023a6b4f050bfb000000000000000000000000df37da805f0903f17e1d29474a077eebd926c29300000000000000000000000061fa0bb8bc7fc2990e3155cd119859d9f7c009a4000000000000000000000000e2665ce70df2e7c474f10d1e23d9eec5fc460f250000000000000000000000003279a9e40148835a6df92657b40c35d38ce5c32c000000000000000000000000413da3f152bade8152c0b7b2495321901f292c800000000000000000000000007f983eb1ddfbc869cbbb4ea573ccd6ef1161e513000000000000000000000000c2aa70e4008684393800680d98445cf50f35beab0000000000000000000000009c36232a8d9873ae79ed0ec4045c61422b4f1695000000000000000000000000e32b8dcfe8d62c636df175910a0714c3254225e3000000000000000000000000470cb04b3086812889bf3ba2180c584556a5e6890000000000000000000000006d37935418a4efa84f543f4ac4f3a5f4cb2d3d8e0000000000000000000000007ce5e82c722bc9f88530406b19bb78247bcb534b000000000000000000000000945157dde8d93c2c1b4481b92ae2b96bb6710d6b000000000000000000000000272ac27e2ffc6de6bb056f36567f3b1c78ca0bac00000000000000000000000065e92e029be941e3ea489f3632c282d6bb5b4397000000000000000000000000fb1ddb5efdeddcb9f599963a0aec8eb904de3161000000000000000000000000a6f07a32f78196552d1bc4dea8ed6f70d3dbe3080000000000000000000000000c26cde1b6d5377dab07146b2b408b9fe3bc1d2b0000000000000000000000005fdb6770c0e029a8283af98dc36fb9c1976aacb90000000000000000000000000996a8f51de95c3f74f509c4bd27c85bc271d2160000000000000000000000004ef99b32f216d715208290b8a2eec229fb09a942000000000000000000000000cb8f3974fa8a13e2456259b2fd1a75e0b17ffcbe000000000000000000000000b2382d04ec11cfc2f5ac5b4a1a8efe22073a236f0000000000000000000000009812797c12f13cfab63f35031bbd82f03a3840aa000000000000000000000000e0d54a43be21ab0b3da802a2a64f1e909aaf98a9000000000000000000000000795f5f5b6dcde3c31787d6a452b05798d40c6a6c000000000000000000000000f1684fbb2ec9ea929bd1efea4a06606918acee0b000000000000000000000000c22967e0e7fd239369f6240589be01ab4be0e16100000000000000000000000058d1a30c29e22ee57783e0e1ace9228cc9c3d7b300000000000000000000000023f2e4c3fe5c0c939b44c1d44373e4231bc0ecc90000000000000000000000006561b0e908f3fac17f9617b64e1c192f58367e8d0000000000000000000000008c2a0a1c0eac554414acd94be2df958c4dca0b3000000000000000000000000077dea6215b7b444fc0639b55bf1d86b1e315f0af00000000000000000000000020b7883b6e15163076300956830fa2eaee7f771b000000000000000000000000f2da31917b6d568fa376c6e50a8b7b144673a3ec00000000000000000000000026bd12da996362c9fb4edf2e2ce661be8ae770090000000000000000000000000de0c13eb1c29b56cbc9991328080712d736f691000000000000000000000000b1e58945526a21a24c3701f4146e8f840e9f543f0000000000000000000000003f53f058a1346d3d98ab2bbb1326976d3e8c110e000000000000000000000000c8d5870ca3078b451eb626648925048fea9233330000000000000000000000003c85eeece4bfe9f4e6823da5056fdd2164cacd60000000000000000000000000685b862cf06653119bbd334946b0a7373aa9a47b0000000000000000000000003d3cb065ddae9dab7d6b71fe1b1b22b66b0fa53a0000000000000000000000005cc0fd9dfd3fb55b4f488b67cb349bb75082c1da000000000000000000000000dd1924cf5a7b031d29154d5161f64927ef04fae50000000000000000000000007ff8634c643cc8b91f6fe7ac8a0ffbea19cfc83b0000000000000000000000006bbad7ece0edfdaac60b6f03f0cff1c531e8b2e3000000000000000000000000ea3a4786ada7bc64ea349f8b696dbc481fb8ce810000000000000000000000005ad3bf53a5c9fb184768aa29be494452d24dd01900000000000000000000000021e2affea42d113e5a4ae98acbada0eaa02d569500000000000000000000000032c3bdd638bb744a4e0e79c10ae233bda9ab27a3000000000000000000000000078468e49e0d844d3cc262d4a0193e2251a64e7b000000000000000000000000ddb0db81cca27b2c8d3d15544949b0bef742e5c200000000000000000000000053985c16321632be042623706e596dced20166be0000000000000000000000008f413e766a2ec3dd6b3855ab9f372cfb072d9937000000000000000000000000769b985ead1d02b2b7fa93fbb6eae4fe1b67376800000000000000000000000082f476cc3aaf427a6abde138c741875274f7f01d0000000000000000000000005756a75678bb6d6297b1e39dc798ac5d20840a74000000000000000000000000fc7adc2a1d4a11a7dbc2a8f6a054670c137b23e4000000000000000000000000c798034cae6c6854d00e23ebeaedf86e9a28af38000000000000000000000000ef9c8f1c8aaf17452c6fa706b02b2463fea0abb100000000000000000000000063aac0690e1996ffc8ffc295bf95d60b4bd28acc0000000000000000000000007a5a2965cc3ed9d2b2739b615fa3231ef102e3830000000000000000000000004052ee9cfb78f8eccd0a21fc5457b3d58c4d95e4000000000000000000000000dd8d9df5ff4210a6485401e61407c93cc24d7131000000000000000000000000a4fd55095d1144096769e61eddcdc404048d0952000000000000000000000000d9621d4c32cd005d93962a3bd0e25502998e9a5a00000000000000000000000009867e6b45c486513fba94dd924aab9a6acd396c000000000000000000000000d299292df0bb17a8627ca65ff951e6d4672c63d4000000000000000000000000d369756f3dac9d5db93883f7a8ce66d8a6c3e3bc000000000000000000000000fe93fb813128445ee052883a63cbb7c5735166d1000000000000000000000000d8b6090303a6cbe2b64cc4b2f12420f77069d75c00000000000000000000000057f0679eea804d485d9cd2cbd569454e7b14ae2d00000000000000000000000077583412ff92e4e05f1261e38f1979cdfa7e0f69000000000000000000000000ea09488f37844bc7ecd88a7cf78e7317d9abac98000000000000000000000000de24314066f14b37240b0aa7ff08bbbfcd8aebad000000000000000000000000b9b50f4e5a3f7fd63e0eaa6c77a08be9f5b4be000000000000000000000000009fb8cd55259cd20a6620a796e8455a74b62c2ce9000000000000000000000000e1ccde73fc5ce2cc69abe2afe105a7ee6fbe97f300000000000000000000000057adbb92c14ac24a16dc3319497f3cc7f05041940000000000000000000000009cecb6b879999e2f7a21ad01f65b962fb928779f000000000000000000000000cc84878ae314f08fc428f412f8b4350ceb4455610000000000000000000000004da8e56039d22cdf76253a6c1c1d1f35aa745a4c0000000000000000000000007f1e69752f2ae51be9e6592cd6b1600e84e60ef90000000000000000000000006ca6e144f40b412d839e19f929ab8617d7537a680000000000000000000000008d8e0dba39fcabc4c274277e9e14e30e865a0c1b000000000000000000000000a3c74c3aa815b1bad5a11511adcc7a6d2fa5de2600000000000000000000000042a8ff87c4dc252b6817f5a0eed826ee3267998700000000000000000000000081f058f551783ee1338caebfa915f34013b019ee0000000000000000000000004334acf7a82443d5c64eb863ca6a5e49d9500ad300000000000000000000000080c9501b3215fbc2ad942c7beedbb511306c90000000000000000000000000000006bef13b249090a3ad6238ce55178dfa8add1a00000000000000000000000075184b1f485c9b3fd6388191d75c012ac7d80e740000000000000000000000005f34afc51a6d2cc94748a21e525ea35f80f8c25500000000000000000000000035136841d869be0d9c232a40904ba343762ccca3000000000000000000000000223b691d7fca83f9f36fdc9e0abe0cda0245089b0000000000000000000000002ad69210323bbd10e7cf531ba024127d9391e60900000000000000000000000048a5aac55cf76d730bb5c47e5cf22eb2bb55473b00000000000000000000000047659ae6e6fe57b73edebab0d68bbf7354e12021000000000000000000000000729985c104b7ba12ab2beb34bf516dedcd4b32f100000000000000000000000027d438df85fabde466843e71c61eb84b5ffa5d18000000000000000000000000a28cfc98fe7c33f2e2c2ed6e2e4a04d2dd3d1ffb0000000000000000000000008afd1e7ae8f21b42f1dbddc07266f7ebd09a86e4000000000000000000000000027b7566fe4244df6fcf456d74f96c240dee4d7e000000000000000000000000cae4ac13fb3deae9650ab3c6356ced78c3378fa1000000000000000000000000eb3758f1c4f07f5c154d445049ecf57f1e4732880000000000000000000000009b24d8feddd6a49dbab2267ba84ac82210469448000000000000000000000000a6e03d98e5d23ce16482cc45641cc2360fb5820a000000000000000000000000f6ff3d4473a6a6217d3463efac5e78c312813ee900000000000000000000000063ac4df129d2acc240b090de5bb2ae514420a09f00000000000000000000000067f27ad756e509f5711527f1fc9fe9cabb3175b8000000000000000000000000fa56a31d249e97fcc30f02dc4bd6e6f70aae45680000000000000000000000001ab5f846e685c487fea3e167fd1761732f7909bc0000000000000000000000009eee1a5d44c136ff4e78b86934229242f828f2e9000000000000000000000000b126326a6b05c19c3fd169b153dede6bce00bc08000000000000000000000000f08f079fba8646adb999aefcaf9e23b8cb5d2ac2000000000000000000000000b1f7162e31056383e0bf5fff38ec08cf29f773a3000000000000000000000000bf90ee453b3ab6d29a8ba6630d92ae57f81d05e60000000000000000000000004a480a3c76996484ab7c2c570cd460008e1d26d7000000000000000000000000286e51e129fb1a2f6b5b4d7341ada3bc3ba7f386000000000000000000000000d8152e207fd1f54daeb021193398d95a8ef85679000000000000000000000000da787cf75c976c896111ca09570a944f85af2ccf000000000000000000000000bb79c618612fc7de51e0b85d35f9b926c08ed5d30000000000000000000000008f5c956fafd5f72c6be9f8bb6ffe395bfbd08e59000000000000000000000000d8f3bca6cd6b380539c760a53887280e3a46b62900000000000000000000000047e62c5b67619032f1cc1aa066f03bed81e46010000000000000000000000000cda74e76dc971bf636d0d29eb352c2dbb1beaf0d000000000000000000000000aeae567fc74bd51b7abcf75057f327a2dbe88ad500000000000000000000000007599456237777486d933c7e72e2b8bbabd0b005000000000000000000000000889ade53d54af7504646b7cf3538a1af0e554924000000000000000000000000137ffce9ca35b67c7ebf9bab03ca212ad5e0fce80000000000000000000000009b2d8abfed85d3436368981d7cfdac4bd32e996400000000000000000000000015cd04f71df0a7553fbaaf4f4fa30801fc242e3f0000000000000000000000001a382d13c201234c2e3fd0a7e767a1d985c0c725000000000000000000000000830e9e07d8614ad59291ed4d7a11398ad09c2c63000000000000000000000000927c469dba30095a7661cc5dd92e5059b030050b000000000000000000000000d9b2b0578b414afa31bf159d230683752ed517740000000000000000000000004ce133b7ee8a61a4ac13bd525d8cfa36aef2b93a0000000000000000000000005cb642349b35ea6aaca13049663c144da81d890c0000000000000000000000005ac2e7f1ef14618ede402cbc98569ddc4956bf9d000000000000000000000000a1a1b6275ba2050238f2a1b396f88fc65b63bd61000000000000000000000000334d47e58d549529ddd5ac94f35a1d8f7c657c7600000000000000000000000052b0c3d58ad771fe192530986e283e1037c985a7000000000000000000000000c5e7c9d5b8a3fe582a7bcb374533865840ae1bc5000000000000000000000000631c06bae101c7168c35031a63cc9fc0ea0892c300000000000000000000000079e90dfabb202996d272ceec169f0743e89c9ada00000000000000000000000027b89e9bec5173814a2fae87c61c0cfa812832090000000000000000000000006d9c4935876cbecaf3244bc9d6ecf40c41a832f0000000000000000000000000fb98d2ddef4c850a3dd8541508f1fed916f8c91b000000000000000000000000c3ac86e1ac775c7ba8118a09becf784e4c3d88740000000000000000000000003298a6789ee0e6bc2b4511568d6f1b2c6e306b60000000000000000000000000f5cbe47dc8115aec8f6d59c3392d260c3e470097000000000000000000000000b3e524c6ff7835d65caa01c1a8c55dcf8a6806980000000000000000000000007f480927b43fd4094c178dfc23d1ff8f2ed5cdeb000000000000000000000000eaa93a3140b0654e86f853f3fec420b63bc02e3900000000000000000000000084b2cafa915f891ebeb45612903e7b7559d0833600000000000000000000000011e8f0fd8a5ca2a1bb8ff2378f6110acd7782cb4000000000000000000000000982e59499706156b29a754429cce4c73da39b40f000000000000000000000000802330844c47b1059451d9932e650437a689759b000000000000000000000000ae03bbf3b0f54c34643dd374243317ce76a55b9e0000000000000000000000008869b96df18e42c99c3ca2ee3ccbc80cea06236c000000000000000000000000cdbb31299a8073bedc0174329e3203030891cd3a000000000000000000000000555b85e1aaa12e38f2c3849f9b77187b8b30431600000000000000000000000065d678c2b7ab4054360dd0179aea58b5eb144c46000000000000000000000000bf33b9c005d9807db5bfaf63b1c2fade53654efa0000000000000000000000004057f07f8e0189f365dc2fbf5829d139ed6ce1a8000000000000000000000000475112aaafb778b40ab78879c11debd04c4f5194000000000000000000000000637deda8965d4a8f12303c67ad59905974d7844d0000000000000000000000001387a40a44766b9a3c86486ecb08084dc3f6c431000000000000000000000000b6eed3e6789d95483ad4c781957c32149e69b6f5000000000000000000000000f582f6ce1a59ab628693497eec12b47ddc6bdbaf0000000000000000000000009946ac406afabcf22484974bdbdeba593741962e0000000000000000000000008763445693012f77eca20bd766f4f6674e9778d600000000000000000000000066490f961f0709f710685d5a726a90484e4269a10000000000000000000000001eef0bd83d04e179f6e4edc52c8b9a6ce6011bd5000000000000000000000000edbe38588aff90d4550efdc91801f2b5d4bdfd7f000000000000000000000000139295ef4d5f175d856c8b3395711ef495a5311c000000000000000000000000d588584a05ab935a3427c2566f771721f555f0e2000000000000000000000000b00720d346f9734f7371d00fe5cb2aa4570a91a2000000000000000000000000b90a455832da2e1d45549ad1425662fdcd4a88230000000000000000000000004a246a6d7acf998206c18829c12e52a7b5efb08700000000000000000000000066563bdabb11febb6d62ee780c5556539abe39d70000000000000000000000002e2846829915f43d3e3444f3f75c09294ef2a78b000000000000000000000000ac2e7bb8bb02e7a0f4b3447226557ac2943843eb0000000000000000000000007f21f5fffb8cdd6f7772d9f56b53eae2b956033a000000000000000000000000c2bb22d150a05d612d519d1a60f7963569c9981f000000000000000000000000a02124eebe07e31cb5462d76195d3f58965aef0400000000000000000000000095b0a5f0a1d68aae10c254f1a69e5208b3d79c6f0000000000000000000000008d582e731eb7a34b59711b1ea4f34eb41b308547000000000000000000000000fe8bd56700ec0794edf800c654170ca3c40998b80000000000000000000000004a44a49b8620bf528289c4776bc5fa2b4262d0d80000000000000000000000005fa981c3debea67812a5af794dd05d6de2c92210000000000000000000000000d0b99dbafee2bae837482c5b1a828cbdcef5cbed00000000000000000000000087828fb64e9626f4aa88918bfff9e51c7cf256c5000000000000000000000000c87f0c0882cbcb7cf62d42fe8435ba9ff55de7b4000000000000000000000000ddc435c8d9b23015e4b665e36aeef95477db649a0000000000000000000000001deb9f0f3caaaa28bbaf39de9ccf1a18d68dbfb7000000000000000000000000cfc4f0e7d354aad7839e173305ac04bc464930bd0000000000000000000000009154d73edefe38766526fa3718782a5c1c470eda000000000000000000000000e9f3a10846627fbacf5807082d4d348ca13244a0000000000000000000000000ffd2d6e5a138df9e4b1ce56c4783d59c2763d2eb000000000000000000000000d02c16bd10559655341650c4fca77a5739991138000000000000000000000000d057b3206b698d13adb802283bd84e780cdba75a0000000000000000000000008620da37062e7b4809d6b933d24af61516920032000000000000000000000000aa973dfc84ae293500601780292f3ce8e3cbc14b000000000000000000000000d015faf19e5da1c4461fccd455f276e336745311000000000000000000000000385df1576b906bedba46f4728874c3bcfa1b324a0000000000000000000000005123f8f8ccd88373b8a79ebfdc65ee55e6dec3350000000000000000000000001f59609c1a6f3af0a6c711c271984fdd3305983d00000000000000000000000010a8f983d91386eb25c37abc1ba71fe8df9b3c2d0000000000000000000000008917bb21e0878dbed15a57910d6641554a4c086e0000000000000000000000000035a907cea37498dab08838beec8a3b863b56b10000000000000000000000006101e6e89edea0fade9e07066a1d09a42065ec6600000000000000000000000035afea9908d82c5e40cf468793bb0123099d84de00000000000000000000000074289be838cb416b3fc524d9f77f7c95bb77a407000000000000000000000000a76a6814ac0b64b5d941f65be8c8f3709629c6bc0000000000000000000000005f42acbc0d43db24a8c1b80d3214e6c9dd08c184000000000000000000000000e885fbeb7f1288864e91dfb06cf9ed91baf1d687000000000000000000000000f97d4ed9e1b56a9ab9b9ef04e82d880cab621f1f0000000000000000000000000944fc2d0ca9befcf2c465c29985c4c89da5b0cd0000000000000000000000005d9e877395750bdd8c4a5223c7607425c7d479a5000000000000000000000000f955736fe4a87465b830a6c90833419a8e8bbb250000000000000000000000008ac6cc7819aca399d19aab140e69407e6e01e7b8000000000000000000000000db2a1b45f71f1f15b0fdbfbab2b4c26407568e15000000000000000000000000aa4d1f4e5d12f2289196d5304908d3e30d26c9fa000000000000000000000000851f66fc36e6aa15b3af6d037fbd2b09cab565bc000000000000000000000000789024c47b15ae4b08c96999951846dae8f7fe9b00000000000000000000000087654df496f41e9b279cf95b64dea6be1266ec8a000000000000000000000000200e7cd348d957903d451e50695cb416b9d3957c000000000000000000000000aa09bcb1047372f4eb0de555fd16d251f9887d94000000000000000000000000197d93a92208180d73ee7c8ee8d0cd9053c1d6b60000000000000000000000006c5b6128de537fe0d5ea4683d3b1aa9703ebf3bd0000000000000000000000008e327165b6add2e28646e176182d6327e8d2f323000000000000000000000000c7547705f900f49095066d89a74684685c2562ff000000000000000000000000fb10ed5e0a16324313616a2d45972a9a84ce4e650000000000000000000000000f9fcc1066b4753b795ca6f549465776b998899b000000000000000000000000e36a397abf2e594e0f42b9b836c59601e6fc0267000000000000000000000000e5647293b332ccdec31f5d1ae3ddafef9ad3882a000000000000000000000000beedf956eae5c8705d558bacddb8c7f3a3f6e8ad00000000000000000000000062d5eb07b812efedf6f70daa9741c3104df10392000000000000000000000000a80349a9464cb3186147c48d7212cd60aaec494c000000000000000000000000743733b1b0783d9ffc46ff614d6151e0233b9f08000000000000000000000000d673483a4974865c9855d48706e0f1118e3fd3de0000000000000000000000000582d8194fb42f6dbefe2a85abf6c74d5bc3e18700000000000000000000000073e269783b752a3e14c2ffc6c31441e59067b029000000000000000000000000cf71344c00cd87ce02139ece305f5856ff51875a000000000000000000000000de137751ec0586afca1c42ed62f49b0419c9e0a8000000000000000000000000247c2428191836fab634599832085673d6bb5ebc000000000000000000000000ac4f6c9da26a0c0580856a77e394c6c8f2878de200000000000000000000000018807df4e7aa60141a21839f3a7f0f3361984b230000000000000000000000006a1db66bd9a3799c479d50951751cf6c253182f90000000000000000000000004afb2be813f25b64a4299e4d80cb0104eb263f110000000000000000000000008d6a5340892ff437fbae32e877b77ad8fc9372ed0000000000000000000000008e7d5194e22e6e8d657791e61e76b426773d62ac000000000000000000000000df805eb64093620e0d0b7725812d908d3a957ed1000000000000000000000000293f2c1301bf7cbc86f24f21387b0347900dc976000000000000000000000000d73d75682472a715a66eaaf251137cb1cfb2932b000000000000000000000000c41e44750a1dfa01b417a81bdfd917db65ecb9c70000000000000000000000001ca972dbf0fe8a3678eb4cd6b6216c302b67145b000000000000000000000000164273444cd43b8a10383ec55b05d568069f8e78000000000000000000000000e556f3bf56222963ed7bd49aeec8df9f8a03c3c2000000000000000000000000b8b720f5006beeba0926ef417fa075df45017fad000000000000000000000000178bbf1b6fc1a2888bd140776c53f1cb0fa1b4200000000000000000000000004a54a19065fe43858c8848f89a608957f571129e000000000000000000000000a79f55e8fcd7ed2d5e3f3719bdab0bec4a8f3efa000000000000000000000000f1115989dae75ad6f6931c712e55f4d94e36db7e00000000000000000000000002198da26cd4531706e1be1a0404d70ed42cb82f00000000000000000000000078668e3ba2567f5c89cb55878080595ed1ee1532000000000000000000000000f0c3cb91387e3e37be5528586396c8d5ec2d07b2000000000000000000000000fc96c9de38447434259c43d4f2241bd52d71386e00000000000000000000000034e7916d5d8681370ed0a6774cfa8347c1d2c9b4000000000000000000000000233f61cbb69e1034d5d0ddb1a6fcacf80c5c38ef000000000000000000000000996af69659bedb7cf3af7d2135f8127ed30eb47d00000000000000000000000079eb4a5005922da62664b36e269353ff2605614500000000000000000000000016edc91aa1bbeea459e28b01acb1ca8fee79d11200000000000000000000000014d2dd56baecab1b6fc29ec137a0860c0d514c760000000000000000000000005f7ddc4c4586d4b56634a6a976545c843f338a60000000000000000000000000c459dbc87e27dff52f2b21fa2657b9a5bc92b8c80000000000000000000000008480b89ac6ee776f8842a17f66544aea3726c1770000000000000000000000003ae95ad952a26630f43e4498a7a82db20635ac25000000000000000000000000add6a24b7b1e858b8c6769b82f17611b4a638175000000000000000000000000ec125ad722f1f6b2cd6d7aaff88c3c227495b5e000000000000000000000000013b24fa5f19ae0e9f9fa5547c2b5af942afa4261000000000000000000000000e8fcdc329c9bd25eb6d844ec4b4e1b5925ad131a00000000000000000000000003ed7c9768e331fef1c3d6d89cd6454c32273a83000000000000000000000000b423e06fc7b9be29e8cdc616dac87d48e25a7bb7000000000000000000000000bdd31160772498a5915551be812847daa6f388fa0000000000000000000000007b5fea2d7ca3016f0f46e92e9ca40c46974d2ce400000000000000000000000065e309bae5ef3bc484be0313204f4f3101aff102000000000000000000000000836266d230fc857b1e3a1a824c12c59c5925cd47000000000000000000000000b57fccdf3dc709c3c4d0497efbb9a073f6fde5da0000000000000000000000001e63ede600b62f2ff43b3867dc86c8db19f8f2e1000000000000000000000000ffa9f7994d20ba7de035d6fa41e6871687f132900000000000000000000000000224215a3344e3ebf3fb0e3a5104452489f5184300000000000000000000000080827527114cf5e466f52dec6c51f37862f295660000000000000000000000008530f639d68294a354522d1c8453da2e561c001e000000000000000000000000df35a04b5cb35938d2f3c57f49a3ff6a889670ce00000000000000000000000049d6ebdf80d2084252f5aab888f1fcce997ddc290000000000000000000000009322109123b0540d8a4f5a2928ed893631fff64200000000000000000000000039bca683a410753ae85da9eeabd4cb5b5b4d5d2b000000000000000000000000280d0e4920da5808dca7fb76be6d491c0f53331900000000000000000000000083edcd53c07f8751d9ff6f9f0f25dcd9dd371059000000000000000000000000ed2c8fdee39a6841c49b1f78929c1533f5986cdb000000000000000000000000b445f034b4a211624c883c7dc3945a3f6c8f2530000000000000000000000000e9b3fbec34e4c4c96ffbf3975b8ea7eb562504c6000000000000000000000000c30013baa11654cc37377845c58cb2f9a5aca46b000000000000000000000000654588270ff471a15e7fe09e5cc4f4b5cd18b62f0000000000000000000000007a41c650c95360d7ae3281eb4e56dd5d91e3853b0000000000000000000000000fd34a6c0c484f0da7fb00d8d028032406c57182000000000000000000000000dea35742bf7c670e86a11e2306160d92608aba1f0000000000000000000000002aa623258a13585992e2f5d7d50486fb2892d89a00000000000000000000000093e0a367d0d4eee72b7212aa360748ad1e443adf000000000000000000000000bd03308a3b0f1fec0ff6f4ba6d100c3041d3ff3e000000000000000000000000262d2f90f05517739008246a827d58f979424d50000000000000000000000000d1a9570647939e84e1196972d2356a87e1d3ad8e0000000000000000000000004b4184b191e1fcbe428765b4fce813721549247c0000000000000000000000006bada952a80c5e83febebcae62f524b361d1cefd000000000000000000000000a513c2d5d01697feac6e5b3b602489d8c8f84a71000000000000000000000000eb510ed57658e27a60053ca9b64949a550be2792000000000000000000000000494c36b6eb1171229f9ae48df9c28a5e576507e2000000000000000000000000b016b6b24de1598662b22df26ffe27a15bd286430000000000000000000000008faa9997b3f3e5c1054f74cc4a01c312cff68007000000000000000000000000d1325a2f91d2aa8c1b1d10a6f04f2afa8609bf42000000000000000000000000e73104bafe72f40b12869a8479a628513e9aa014000000000000000000000000599deee04a19e3988f5927781c8e93feaa5b3cbc000000000000000000000000138776e605a008ad7985450ded654cf9e6b6929f00000000000000000000000037e8837d0f331c8e0a2ed79245830f6cb5f032ce000000000000000000000000f901cc2811bbc25c697502d8e69c2ae8be74eecf000000000000000000000000aec3079b2a388837667120915864959f64d44b38000000000000000000000000235370c641e9f5b5d5f6b38d7d9a526a7431094800000000000000000000000017146187d85b0d993b068172ff512353b95a64fa00000000000000000000000059f0db6a672d7704ab8c50b088689cec3b69e51d0000000000000000000000006e959f7c452647bbbfaa933f7da967a3d219c1ba0000000000000000000000008c0487bf345d0ae8933f56e4f3e928ece9be88490000000000000000000000000ad8baeee28ce6e9c943393531bb6998ce575be80000000000000000000000003cc7aa3e9b09b337ea45d4618e6818bd005083800000000000000000000000009b5faf112141311e7c5a3e5e20cfbde67a794f590000000000000000000000006d299b48d9adc5c7ed195000123c240906ae343800000000000000000000000042e0060017f153e920005588853f9567fa66695000000000000000000000000077ad6189b5bdfadffb3e30885c06d5237f463e72000000000000000000000000aada7a57ff9a21114e1770ae1a514e53c3de702600000000000000000000000015fc9b02da0970f8edf6e4bc6f799eab79eefb3f000000000000000000000000a0665ccb5b21b3b4671403a26990fd058b7ac1cf000000000000000000000000ce6eb0f503ceef7b4af79f5d5a97451883b5e1e50000000000000000000000004d188ecd8f036c83c244287c31bdc870535483c0000000000000000000000000cbb8dd6ab53c0bf758e74673271db045ae70369e000000000000000000000000df4417ba80b9608b719276c917ecc5b9e5d28900000000000000000000000000c8ad2e37f5ec15a2dc3a729204f42b6f0d6288530000000000000000000000000a474378e948ddaa23b081d366b66686848122d2000000000000000000000000323dc376282e0865f2e1fe112058462254d232340000000000000000000000004a86d53fca883ce12e293500454ea2908b990132000000000000000000000000736ec392eb92af50589384849f3a8f621f025544000000000000000000000000a81291a386e72b17720f323dad85fc4cbdbcd16e00000000000000000000000067cc5ae0040a911f1bdd663e38e30a8044c9257100000000000000000000000030e7e6801d9762c365194de429cde853349556f90000000000000000000000000393cd8d20c2f102f7c342bcfa647d0f5149093200000000000000000000000094a3778d6ca52ce6b9637f267cb805e6d2e7ccb2000000000000000000000000386e91e3a79fe2045a060fa7e5402315e4ce8a08000000000000000000000000c3705a64373352a881cc8f72479ebf3a91db18fc0000000000000000000000004dca8d2752945d0553e3e34d0be3f9fe76729c5800000000000000000000000072c5169dba0a9ee86aef8a5233e91a88cc800ecc000000000000000000000000e37dc84a55a334e1eadc3ffbbca629ba9b823abc0000000000000000000000005f9c4d6436c8b9c4def47e0e26bf31fc8473f1c800000000000000000000000024b59fb9f305a5700c3befb3a8c32ba23d234739000000000000000000000000fbe867c0bfd74fa7c1c39b194fedc11a002248e5000000000000000000000000c825cb06154f4004ffdbfad1f97e1dfe29251faf000000000000000000000000521d7158a6b4d33c6bd89bda56b8cb5b2a06631900000000000000000000000009cfdabcb4e1ec731aaa3ea6190184f11859abd100000000000000000000000088a6b5d70ffdff6b82d251795b50428b3bb481170000000000000000000000007b98a7f57bbfb618c16c195475426180f611607700000000000000000000000094324971d9f0f1c27322d0ed7607a1177d87b26700000000000000000000000038a04bb3ce0b2b7e8da4bf56b6a56290d83f4ed30000000000000000000000009025102b2acd3b962da4e47978d0eb16458bd9db000000000000000000000000d97988491e71dd03d5415e62a7a8b0c49e7147b2000000000000000000000000ba2b7d6d40d56d60cfcb3e7ac2b4d68365c308350000000000000000000000008c06d0aa13504437094e29a75bb4bc9265f45b4d000000000000000000000000fe3cb3c474aa83668e828ddfcb8459522ae40bbc000000000000000000000000dca7bfa8b6bff2d337194d3d2c1cc0cc20d22c10000000000000000000000000ae0bf36d9ca8bcff08b0212a659228cc16a4e8ae000000000000000000000000e08b35e5c5aab97cbfc6266883832dacd3a5a05000000000000000000000000023b3777036ae4ae9bd15faaaaa0a96dc27cd274d0000000000000000000000001e5361146582a9c2a32cade53a3a89813ae57168000000000000000000000000d50cf90663f456da5aa3672690d03bc97ba24d3a000000000000000000000000a0782e75f9ebb2fdcc2478d520aa92950a6cf7500000000000000000000000008087e4d6d4291778c9ce4143a11bef2b20f3140e000000000000000000000000285be5201ff4e9a55ab0265ad9de084c23064136000000000000000000000000cb3ea946316c7bc2f58135431731fefb12ab6382000000000000000000000000178cc437eff1d71bea766b20e7b78d83372f2128000000000000000000000000b2327e2bd254afdc0a609e4da4fba555ee00d286000000000000000000000000ab6d6565cfead6b973ba1e5a959e4033dca5e3ad0000000000000000000000004549a16b23c177837970762ab3750486a5d49f0800000000000000000000000003c6864fc2cfc9ebc47ba83863ac9151098dd41600000000000000000000000097c6bee26821db970a4c8d2e5568ffbe7269b41d0000000000000000000000006d3c8f761a29f62cb5829ce6dcfd7e73641f247f000000000000000000000000530e6ecd167226f3048d13a8f6eba3c1ddddbf9c0000000000000000000000007c0078e427363fa2015de03b4168369413fbf6890000000000000000000000004ee02e4e26054b830b20739f7dec3528b1f19320000000000000000000000000d432236156c0df043347c7c6a092b6781fae48ce00000000000000000000000011e4257c8282f26b5d720e7565e125d557eb0a2c000000000000000000000000d092e9ff6913f6473beaad95909821dad6b499dc000000000000000000000000fa8f8c14beab1e73eda17f3df74532eee7d66b0000000000000000000000000000432fbd1017c3c90af4835f71ef277fc28f4361000000000000000000000000ddda7b0e7776b6a008b3e67baa0b24980480b9bf0000000000000000000000005bcacfcb6fb2a750ef490ba3e723ad7ca574d5700000000000000000000000006a02f288b80d96675e9770a88e99618fdb8a5ad700000000000000000000000064965fb65fb2da8e67534618f36df2d2f78970cf000000000000000000000000580e42791e1904bcf6f1f36212f652979f6d03cd00000000000000000000000053d153e46655937fe1a3f0a48c716f5db3b66a210000000000000000000000002377c6d05d8b8af3c35318099df67defbc29a249000000000000000000000000886fa99a190f58f51540bf316852207e4a8e816e0000000000000000000000005b9dfff627356b40c19d7253d657418483e4e997000000000000000000000000fdc4d55f97a8105031df2c3cbd04f154549b67a5000000000000000000000000e70299b2b9b029c5bc8184d6fe1a57e4b62e532e000000000000000000000000ed78abfd1d85cfa6bf8bd6c116e90c46dee9ff1b000000000000000000000000dd0809970cd98ae7aaa42d6b4e8776eae61a06fd0000000000000000000000001832c65105da10caad98b20e3a079d1b29cd0bdb000000000000000000000000b5d12a3c979c36da416ee3997fdbb4aff1e9dea9000000000000000000000000a2b76678d05a6132aef90bdb3e1419e22852046f000000000000000000000000ae21b65c913701d5580a9457bc8bf38f4637a03800000000000000000000000067fa2c157c917a7db2525f79cac54de2c5161dfb0000000000000000000000000dd79037f50917efde3d8c440f874360c5a8b9aa000000000000000000000000f115c81c9c7d1317416f83d42579f6038485e071000000000000000000000000a41135722858d2e5a5c35a8c8326eeee2a53c10b000000000000000000000000f9bc3e0e7c594558eadffaf64970f2c0f3cd19450000000000000000000000002d32067dd357dfec3fc667fc7e1c093269cbc41d000000000000000000000000059f9609ccf838a1b488faf2073510d0b3edcc4c000000000000000000000000871ea3cfb0ed8606cf56f9f15d9dad12206428e900000000000000000000000029243b13c0ef1f45a7b6e17f9ca7ee6aacdb64a000000000000000000000000070fd628d255e9a2636d80d61bd33cee5989ff793000000000000000000000000124c840b229b8c20473d9910ba9f1bdd641a5124000000000000000000000000d55c19cc9104f9d4d1b4c841fd71db982c26a6b8000000000000000000000000da8400463684a3374874d45fc99be39a02f21af6000000000000000000000000668e746d9241b768ac67f9281b304d1f710a0f9b0000000000000000000000007da616285fccf0d4385a759a4aedd0cac34c28360000000000000000000000009b20998a946b2a5ae8dea92920d833178305686f0000000000000000000000007bacb1d74ca802219d3af1e5d57e16344cd255c6000000000000000000000000bab00cbb478c6833b3602cac64017d11262434f900000000000000000000000026f81f9ac37ca043cef328e274fa5b0828c61f5b000000000000000000000000e4499ce683014ed98d8750fb28c472ad834f05a6000000000000000000000000182daa17237048a8a5745d53aba692f91f1888ab000000000000000000000000f102822a6ba3179e9655000d4d25879d6c959773000000000000000000000000be48311ed5301de98543190b5bb09eefd56a1af900000000000000000000000022c49e09609e01571dcfed2f397f689c1cae77f30000000000000000000000007ffebb6a20be80364d42cdb8b5a2767f4ee6c4bb0000000000000000000000007192507bab00a0f4a0d594c3058b8b2933f1aff2000000000000000000000000b04ab601bac0c1c4a86e51eb89f0f825a78a622e0000000000000000000000002b61f81d468b14d4fc9a4deb1b608266619e48d9000000000000000000000000f7b9995d750892c07010d7d8552f4fa072049a2900000000000000000000000007ae44dead8f9d8d35d94f177a26050594b0d79c000000000000000000000000df147afbbf70b900524921eadec587bef68379d7000000000000000000000000256e1a42ac82dcfff8669318ca47b361837df3d1000000000000000000000000eb453d4d1e133f66931207601fb26b7ef07a6cc90000000000000000000000008927bd13f41c43a66f7d3c07ee6126c7f9c4ff210000000000000000000000000e8a528163d269a91437c57d3a4e2dc2ec6b02090000000000000000000000000130364637853a4a337eb2f8ca6ee2f29f4b87dc000000000000000000000000a4246c31207746887f7c09c58d4fd75dc59b81bd0000000000000000000000001c02d382f69325aa257ab845957086be347d8a310000000000000000000000004df3bfd987dc47058f50c7e5a57f25672102a9050000000000000000000000000b5e5081b62ad1cfc478aaee2c2b4d4b60ef2e970000000000000000000000009479c57b70ed4d0052cc9408697a997429207d7800000000000000000000000045a1589f134910c2a4954cf4650b5583a3eaac0c0000000000000000000000003b24038a08bdf9b9617f2c910379cf0b56a5c36600000000000000000000000096e17f57b1baa2371d7ac307f4ef25da45b0760c00000000000000000000000043d01e03af604490eed8e8f9b7858f930ed46f3100000000000000000000000006eed855c0e1bcfb95d46f1a464dafa594c2228d000000000000000000000000f75140c3172c318b24fd3f64e850a4979762bcfb000000000000000000000000193cfdba605ee2e73939ad90454bc59365357b13
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106101bb575f3560e01c806396fe6bf3116100f3578063cd970edc11610093578063e124173f1161006e578063e124173f146103be578063edf26d9b146103c6578063f2fde38b146103d9578063fb289354146103ec575f80fd5b8063cd970edc14610380578063d55488ee14610388578063d6565a2d1461039b575f80fd5b8063a1c922ee116100ce578063a1c922ee14610355578063a63685571461035d578063a73125a514610370578063b3d3d37e14610378575f80fd5b806396fe6bf314610327578063996766f01461033a5780639aa1b67014610342575f80fd5b80633d7821e11161015e578063715018a611610139578063715018a6146102a75780638da5cb5b146102af578063959c5226146102ed57806396d0d37414610314575f80fd5b80633d7821e1146102615780633df32c6d146102745780636212980414610294575f80fd5b8063269703e511610199578063269703e51461021957806330d2a1981461022357806332f6f96c146102435780633687d90514610261575f80fd5b806306bc7db8146101bf5780630bcc0b9b146101d4578063234feaf214610202575b5f80fd5b6101d26101cd3660046113f2565b6103ff565b005b6101e76101e2366004611466565b6104a9565b60405164ffffffffff90911681526020015b60405180910390f35b61020b60025481565b6040519081526020016101f9565b61020b61047c5481565b610236610231366004611466565b6104da565b6040516101f9919061147d565b61047d546102519060ff1681565b60405190151581526020016101f9565b6101d261026f366004611517565b610689565b610287610282366004611466565b6106a3565b6040516101f991906115a8565b6102516102a2366004611620565b610745565b6101d2610803565b5f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f9565b6102c87f000000000000000000000000cb337152b6181683010d07e3f00e7508cd348bc781565b6101d2610322366004611639565b610816565b610287610335366004611711565b6108bb565b6102876109aa565b6101d261035036600461174b565b610a4c565b610287610a62565b6101d261036b366004611466565b610afe565b61020b610bbf565b6101d2610c6c565b610287610df0565b6101d2610396366004611466565b610e18565b61020b6103a9366004611466565b600160208190525f9182526040909120015481565b610251610f39565b6102c86103d4366004611466565b610f43565b6101d26103e7366004611620565b610f70565b6101d26103fa3660046117a5565b61102c565b61040761115b565b815f5b818110156104a2578484828181106104245761042461180d565b90506020020160208101906104399190611620565b60a76104458386611867565b6103d581106104565761045661180d565b0180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560010161040a565b5050505050565b6003816103d581106104b9575f80fd5b60069182820401919006600502915054906101000a900464ffffffffff1681565b60606002548210610517576040517fefe6357f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208190526040822001549003610560576040517fcb85efac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516103d5808252617ac082019092528160208201617aa0803683370190505091505f5b81811015610682575f84815260016020908152604080832084845290915290205415610623575f8481526001602090815260408083208484529091529020546003826103d581106105d9576105d961180d565b600680820490920154610600939264ffffffffff600591909306026101000a900416611867565b8382815181106106125761061261180d565b60200260200101818152505061067a565b6003816103d581106106375761063761180d565b600691828204019190066005029054906101000a900464ffffffffff1664ffffffffff1683828151811061066d5761066d61180d565b6020026020010181815250505b600101610586565b5050919050565b61069161115b565b61069f6003826103d56112d2565b5050565b606060025482106106e0576040517fefe6357f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152600160208190526040822001549003610729576040517fcb85efac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610733836104da565b905061073e816108bb565b9392505050565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600160248301525f9182917f000000000000000000000000cb337152b6181683010d07e3f00e7508cd348bc7169062fdd58e90604401602060405180830381865afa1580156107d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107fc9190611880565b1192915050565b61080b61115b565b6108145f6111db565b565b61081e610f39565b610854576040517f7762060000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168215159081179091556040519081527fc18e4e9c131e3d0104645210b9d15fe159a005ad6ee21c210ad23afaace182c5906020015b60405180910390a150565b60408051602081019091525f808252606091905b83518110156109a3575f8482815181106108eb576108eb61180d565b602002602001015190505f8190505f81604051602001610936919060d89190911b7fffffffffff00000000000000000000000000000000000000000000000000000016815260050190565b60405160208183030381529060405290505f819050600188516109599190611897565b850361096e5761096b815f600261124f565b90505b85816040516020016109819291906118aa565b60405160208183030381529060405295505050505080806001019150506108cf565b5092915050565b604080516103d5808252617ac082019092526060915f919060208201617aa0803683370190505090505f5b6103d5811015610a3c576003816103d581106109f3576109f361180d565b600691828204019190066005029054906101000a900464ffffffffff1664ffffffffff16828281518110610a2957610a2961180d565b60209081029190910101526001016109d5565b50610a46816108bb565b91505090565b610a5461115b565b61069f60a7826103d5611370565b604080516103d5808252617ac08201909252606091905f908260208201617aa0803683370190505090505f5b82811015610aed5760a7816103d58110610aaa57610aaa61180d565b0154825173ffffffffffffffffffffffffffffffffffffffff9091163190839083908110610ada57610ada61180d565b6020908102919091010152600101610a8e565b50610af7816108bb565b9250505090565b610b0661115b565b6002548110610b41576040517fefe6357f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003811015610b7c576040517f8ee8b6d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81815260016020818152604080842090920192909255518281527fc375b476f60114a80a5115e566054666202bc89c0d65903e3d90cc0007149f9791016108b0565b5f806103d5815b81811015610c64575f60a7826103d58110610be357610be361180d565b015473ffffffffffffffffffffffffffffffffffffffff1690506003826103d58110610c1157610c1161180d565b600680820490920154610c4f9264ffffffffff600591909306026101000a90041673ffffffffffffffffffffffffffffffffffffffff831631611897565b610c599085611867565b935050600101610bc6565b509092915050565b610c74610f39565b158015610c9857505f5473ffffffffffffffffffffffffffffffffffffffff163314155b15610ccf576040517f7762060000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002545f90815260016020819052604082204291810191909155906103d5905b81811015610d9c575f60a7826103d58110610d0c57610d0c61180d565b015473ffffffffffffffffffffffffffffffffffffffff1690505f6003836103d58110610d3b57610d3b61180d565b600680820490920154610d799264ffffffffff600591909306026101000a90041673ffffffffffffffffffffffffffffffffffffffff841631611897565b90508015610d92575f8381526020869052604090208190555b5050600101610cef565b50600254604080519182524260208301527f3b5ce8b2d475067181f949f668899c93f26f0b25c5f8712ebca6b4b93d92989d910160405180910390a160028054905f610de7836118d8565b91905055505050565b61047d5460609060ff1615610e0c57610e07610a62565b905090565b610e0761047c546106a3565b610e20610f39565b610e56576040517f7762060000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002548110610e91576040517fefe6357f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152600160208190526040822001549003610eda576040517fcb85efac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61047c81905561047d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040518181527f3b0f37561752b99d939ff216fcadbc6fe72442faa8303a5e97be988759a1b011906020016108b0565b5f610e0733610745565b60a7816103d58110610f53575f80fd5b015473ffffffffffffffffffffffffffffffffffffffff16905081565b610f7861115b565b73ffffffffffffffffffffffffffffffffffffffff8116611020576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b611029816111db565b50565b61103461115b565b805182511461106f576040517f568efce200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002545f9081526001602081905260408220908101859055905b8351811015611104578381815181106110a4576110a461180d565b60200260200101515f146110fc578381815181106110c4576110c461180d565b6020026020010151825f015f8584815181106110e2576110e261180d565b602002602001015181526020019081526020015f20819055505b600101611089565b5060025460408051918252602082018690527f3b5ce8b2d475067181f949f668899c93f26f0b25c5f8712ebca6b4b93d92989d910160405180910390a160028054905f611150836118d8565b919050555050505050565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611017565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060835182811161125e578092505b838111611269578093505b508183101561073e5750604051828203808252938301937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820181165b86810151848201528101806112a85750505f81602084010152604081018201604052509392505050565b60a483019183908215611360579160200282015f5b8382111561132d57835183826101000a81548164ffffffffff021916908364ffffffffff16021790555092602001926005016020816004010492830192600103026112e7565b801561135e5782816101000a81549064ffffffffff021916905560050160208160040104928301926001030261132d565b505b5061136c9291506113de565b5090565b826103d58101928215611360579160200282015b8281111561136057825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611384565b5b8082111561136c575f81556001016113df565b5f805f60408486031215611404575f80fd5b833567ffffffffffffffff8082111561141b575f80fd5b818601915086601f83011261142e575f80fd5b81358181111561143c575f80fd5b8760208260051b8501011115611450575f80fd5b6020928301989097509590910135949350505050565b5f60208284031215611476575f80fd5b5035919050565b602080825282518282018190525f9190848201906040850190845b818110156114b457835183529284019291840191600101611498565b50909695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051617aa0810167ffffffffffffffff81118282101715611511576115116114c0565b60405290565b5f617aa0808385031215611529575f80fd5b83601f840112611537575f80fd5b61153f6114ed565b908301908085831115611550575f80fd5b845b8381101561157c57803564ffffffffff8116811461156e575f80fd5b835260209283019201611552565b5095945050505050565b5f5b838110156115a0578181015183820152602001611588565b50505f910152565b602081525f82518060208401526115c6816040850160208701611586565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461161b575f80fd5b919050565b5f60208284031215611630575f80fd5b61073e826115f8565b5f60208284031215611649575f80fd5b8135801515811461073e575f80fd5b5f82601f830112611667575f80fd5b8135602067ffffffffffffffff80831115611684576116846114c0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811084821117156116c7576116c76114c0565b60405293845260208187018101949081019250878511156116e6575f80fd5b6020870191505b84821015611706578135835291830191908301906116ed565b979650505050505050565b5f60208284031215611721575f80fd5b813567ffffffffffffffff811115611737575f80fd5b61174384828501611658565b949350505050565b5f617aa080838503121561175d575f80fd5b83601f84011261176b575f80fd5b6117736114ed565b908301908085831115611784575f80fd5b845b8381101561157c57611797816115f8565b835260209283019201611786565b5f805f606084860312156117b7575f80fd5b83359250602084013567ffffffffffffffff808211156117d5575f80fd5b6117e187838801611658565b935060408601359150808211156117f6575f80fd5b5061180386828701611658565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561187a5761187a61183a565b92915050565b5f60208284031215611890575f80fd5b5051919050565b8181038181111561187a5761187a61183a565b5f83516118bb818460208801611586565b8351908301906118cf818360208801611586565b01949350505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119085761190861183a565b506001019056fea164736f6c6343000819000a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000cb337152b6181683010d07e3f00e7508cd348bc7000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002ee000000000000000000000000ff64711628dbfbcd11b0b6252ec7146ee487a2c90000000000000000000000005a04b9ae934adb10dc90ae561aff19df977021750000000000000000000000000bfb75c571635fa2d4262217d5f8e5018aeefec9000000000000000000000000156d5f8a20d4f843a53b406fd9d3e1a453ec88b2000000000000000000000000126bb405c188da691e708bdab72516da922854a3000000000000000000000000f4d405a7a4b2585d6c969fc5aedae58a9a7761b5000000000000000000000000759670ab95d3a8d5fb1c1abff8cf0023fd7e107b000000000000000000000000bc7984599b94fc36d4490f4a41efd936c53a8c01000000000000000000000000c636d893757038a726eedef02374ed3c7091bdb6000000000000000000000000e06c62cf8c544f16e7119fac27a9b0c8929efdf90000000000000000000000002d90ff82ddcd4728652c384a95d5da0e2aa0e32c0000000000000000000000001766962bcbbbf97b739d96b0e7ed924632f15f4d00000000000000000000000045662c7d4f483a78b7271c4f579642d812f7986e0000000000000000000000001cfabf69b9b4473c76f60260863186854ffbc013000000000000000000000000846694b2d79854832168b1e84038b1492aad0177000000000000000000000000abf1daaf720e052289dbd906fb31ca9bfe7643560000000000000000000000003b58f2becc244566f214bce21ff08e6d7653949900000000000000000000000074a2fac446cfb90346a2329bbf6e875083e814ef0000000000000000000000001e0a2fbffc3e7ad2450b49503b77fca2976338e4000000000000000000000000eec47b9ac18be439d083901c5541be486ece75ab000000000000000000000000be20f60523f5e4940a0717874b1cf8c605191e7c000000000000000000000000b39f9555ae21679116e33ca9b7b484f154251d700000000000000000000000009777fd60902b0b842fb72ad975717b46a9d02387000000000000000000000000193d3c14796c068dbd239f76b7f68af9ce89e9f00000000000000000000000006eae0f716dc7316f3b95b7987c0af33192667be400000000000000000000000093f8a4081a29dc28139da9673a503922c5f2ee3d0000000000000000000000002f6860756bfb8e95eb7ef470c68ca213209fe1e7000000000000000000000000335df126edd17538ae04f47b8217ef64267b875f0000000000000000000000002719aa2df4f6b7a6834053130d3a174cde9e14f5000000000000000000000000dfaa80158aff56718dd4b07bc7cc61a77be1525b0000000000000000000000006ba56fc69f2a4b649e35cf0b7b8f4eef09bd630d00000000000000000000000040a965dbc477aec8673070e765328fb60ac64a7a000000000000000000000000590fdf16c47fa15dce9a857c157577b3e290a1ba000000000000000000000000c4534908f0acac882dd1f91cb4002738317078d3000000000000000000000000455f9682d03b333a0fd2c1be72e22fbf6ecf6261000000000000000000000000e6b295e9dedd3674d0903833a21435ac234d8319000000000000000000000000a9c0d05fee7aa68241546a4584946c4ad9acab6d0000000000000000000000008c476cda3693163a877da79f6c8ce9db7e3256cf000000000000000000000000dd0bbf3eae9b6b9215a3a081db7fbe54b9fda4a00000000000000000000000001c17d7ecbd2ff20d8880fbf3b7abadab9639beec000000000000000000000000e6e816639f7ac059353f510045bde88b092b82ae000000000000000000000000feadb4a4d27787afb95cfbd8dbfb95dcfc51bf11000000000000000000000000be951967b0fc960cf41636d267b15fcbb5c7fb630000000000000000000000000fe70bcca223618b67dc681d44539185a2b923ee00000000000000000000000034c0f60f44a7fa8d0539afed9473864b187cc24100000000000000000000000034a1af47d918a0e93a5b3c98f3c25d4ee887f85d000000000000000000000000c0057a2c1523d7f4aec9bc578e5b5f48070a974e000000000000000000000000fbfa558c278d25258349001e329c5b150a452b95000000000000000000000000e76b3ab1db2fb5b796b44cf5c8a0c1f51e99f3a00000000000000000000000000157a61200d120b6a06d998587f96f5eff2eef9a000000000000000000000000509a04ae924b52e7b5caca3c98fd08e2629db9a000000000000000000000000014ddf4a3c017a7beaec099bf1029f46422341038000000000000000000000000a2a0aa2851ac59b62f8f79d4a0d1be85a65c80790000000000000000000000002c0fd5b15ff3253377c32f730effb35e92307e82000000000000000000000000b8fdc52cf0376188637bff67a137b6735a8457f00000000000000000000000006e13afbf988f39fd7e9be0370e4c34e91270e1ba0000000000000000000000009a38ede54ad7ea8acf3bc7f9c8f7b08ab19abcfe000000000000000000000000efb5111e6fa2c8d392a1376ac1572076fbce24870000000000000000000000009c97bba95a67ab00a33cf3890df051f4b29e2bec0000000000000000000000007b3353cb47e45a44c59c5d4f63ce5595cfd2f5a30000000000000000000000004784351ec65d8f6bf6ba7698e4e79b8026f38f8f00000000000000000000000089dcf3e6166cd81a6e4e8b06e1185356f8cc089b0000000000000000000000000f4c072203451cf21342e844780ae0ed4d4adfa2000000000000000000000000bb0a6802e633f97980a8fc91386052ddff9892cc000000000000000000000000cce8cb7dc680d37ed56ec47c14ca171c5c58022f00000000000000000000000015e7b478de6db3cfa85cda3257d394d79e8baf8200000000000000000000000014d74333106e3210f289464d19d66cc0bcecdf430000000000000000000000007bdf2c5769cda7c12f48f9d0f1b07d8d0a57f128000000000000000000000000ef490377ee6f67c57d63dade3d8434b17e5959ce000000000000000000000000aea98eb953525e65f7520f27cdfed4dcbca6023f00000000000000000000000043ebba6b7a1ed74a7c5b7be4710157ce181be0ed0000000000000000000000001b98f45b29a5cf471ade3cd2922a9fadc6a693ff000000000000000000000000fbc31f8a580f00e317d9008ae10ae362afb2984100000000000000000000000051dca3cec3942cfbbc7cf6b89dd5d9755bc52438000000000000000000000000b69e265bb2b6c31b1a5bd8dde6fcab858a67a44b000000000000000000000000c46c6a6342497b7530634505c08860050c0246cc00000000000000000000000069ef6279b0b454577e685395410a95d873e9d82a000000000000000000000000c3ad5ece058b3dfeaca013d33f62ff5bdcf1ba610000000000000000000000009e7e18a1c92bbbe9f7790e6e1296e7716869d7fc000000000000000000000000f9e2f9d1437dbdd0bda361f7f91740233c7ad0330000000000000000000000002abbb9754bd3889d9bb5c9659c0d825290631dd40000000000000000000000006955faf89fd43387eb6df55f40dd69b57f484c59000000000000000000000000faab692accaa3466ce867f6597f816eb9342fe7e000000000000000000000000050d7c826c1f4554da2bd2868b8d3784730973c50000000000000000000000006bf3e88697474b718eb08bd18e684b655d331ee9000000000000000000000000e28d5f727080f8b5c0448218def4c1f111a87202000000000000000000000000d695ba03fd7b4f6da5e35f3e62dab57ae5363979000000000000000000000000407729f78710c2ec5d5efdced2045cb15bd6dab0000000000000000000000000b73043aa6a272cb7e02b96123ca8e25687f49d27000000000000000000000000b8554fb491c97c65201a5e736c7e917b9e37be890000000000000000000000007fd492dd7041e5a1500ff8e3e4f0564ed5185bf70000000000000000000000004238fcfdba55536e9db5f10abdb2084ca32e7e8d0000000000000000000000007af585b1e2aafe57fec14935e06562b1943881ef000000000000000000000000755d8a61eff9be5eb60b3da381f378d36aabbe73000000000000000000000000ef5883d6836b006f64a7cb2a9639e23d7d2825b40000000000000000000000000f122e32934bdff19e34d213329fcc2ffec9ef900000000000000000000000009a7a93df8da07ef4b08366eb2a4d2137b4821439000000000000000000000000e96853d9cff5ad698611709fa11e29f8dfcf89b80000000000000000000000000d1702572889cedb39ed459018bab9711ed5962b000000000000000000000000c2c287d082f3ef11dcd413643cbfd56c557f43bf000000000000000000000000a6d59e052e80ab7adea26858f4728f185a1b97e7000000000000000000000000cda159b2193bf694835c970a499eccd6de6e801a000000000000000000000000f2614d8239940785a44bea5b36808cbf8c486c550000000000000000000000008fed0fc57669808acb9edb487318ab2843a2199e0000000000000000000000005492592eecc026db44c6b80bfee17d32fa4c0072000000000000000000000000a43f87af2fa9d5b98781368300fce0e33c0533820000000000000000000000000e0b7570b97e3078d90284f9365d1f84ad9f213e00000000000000000000000038f36be3b0e098a3347502f025b958d9d89b3d4600000000000000000000000077e9cbf615ae524555ab1ea0195a91b1e1214bee000000000000000000000000ff990648740c1ca5895bee07b832a3af204faded000000000000000000000000b67f1f2ce9452ebea814b2f97801e050cd9c3eed0000000000000000000000000ded72d6bca9ca5ebee4c03a2490d99a7d0dc884000000000000000000000000e9859cc94d531625cf8b2b2cd737ca637a9271a8000000000000000000000000391c9f4537afd45e82e0510b67d0d460cbff725a0000000000000000000000008376ec7bf0e430cf902302605ffb31a86a21c5a7000000000000000000000000cecb55950b8c94bc472945cc3c5a31940e2d0c040000000000000000000000000c38c28d31c80496aa02019f322dd9fdfe8e3aa7000000000000000000000000bc30a9d8abeed4c7b2c2cee1855e198916c5d8c3000000000000000000000000553abf9546d73eb80e278d2c820b5ed0353142c80000000000000000000000008abe0004d749cf98c0fc1e09e797b76adbe8aa530000000000000000000000007964306610b3c0adc9f34a11bab89f3268d7154a0000000000000000000000003b5e17848a468315b7b6a0d087eda78c9b677e30000000000000000000000000d7a831448a9a9bb8cf294f11b12d4fc64ba97c810000000000000000000000008c7fb9526e8139a90ffc4058ae3268fb906b4d6e0000000000000000000000002b860d532e0be424b84468219e4783cdb75a29380000000000000000000000004e334cabd169302b05c52c8a8e61a0aa7ea7b0ab000000000000000000000000e0c0a33416f26712e4f59e8a2a345609b4b6dddc000000000000000000000000a7645abcde52cb2e8c8c5879f7e339a5f6e5c6f0000000000000000000000000c4c73518946aab4a73578e3cdd85ec959deaf9810000000000000000000000005958411fc670fe546f3c8c844c7b2f134cb43ce10000000000000000000000002d329ff45ccec77dc5470b4cbfba82dd8faefaa20000000000000000000000005b38a1056e77db49a838a26b1cdfa034e34541bf0000000000000000000000003d31e5c9f7cbd59050609a1a3c3686d4d08c3008000000000000000000000000f5aacaa00b7bd992b3a303de095bc5da7dd49916000000000000000000000000e4713b06aba976fc17b168595543056f1292252a000000000000000000000000d5c1a5036b29c386ab4f5dba273cf36c0fef73ac000000000000000000000000f72f0a858d7d13d095f7faa098fb624b1c109936000000000000000000000000cffea90e4376b96c53a99851ba8c86cb9df600f3000000000000000000000000ca446340b52433f9a25206ed4db4b333ace322990000000000000000000000008d3904785a581c58f19dc03415fed16536e0bcc600000000000000000000000073d544e64adc9781b83c4a8fe65d45ad53a9a1af000000000000000000000000e8533d989165aaf2fd618e1cc2b451d6d8263eac00000000000000000000000056e09255580deb918e90dc945e14bd7725017179000000000000000000000000edc8cd9de64eedb5f57b559a9825b856809496860000000000000000000000003754b101248a237ad3743def947dfbdd3e7454150000000000000000000000008ff9df4bafb72dce69e175e4d515b43c2bdf6286000000000000000000000000fa399385db7d133dc098d356a75254e0978cb78a00000000000000000000000056156009fa9d026e04fd76b312df76fbbbfbaeb1000000000000000000000000b00b7d03aaed54b7e5edab994a136713844e8957000000000000000000000000efb8ac07c92cef03c643cc5b540ad12da4803484000000000000000000000000ac9dc3ea39797ee5484f485b2980b535d5a3c1ed000000000000000000000000fac80ac986ca527078eccbc93efd93a1d3a6aead000000000000000000000000b35fa4a7708b746030267a1f55ccc27cca1139f70000000000000000000000003c84d2015378a7376010bafc5efc626e882335e800000000000000000000000023998a620f3605fd6c0bab43834ef896018b455400000000000000000000000074dbb176b72b7a82d771263460ef7c019acc99400000000000000000000000002e67c48a85d34e1645db8cf8b1c7e3d117b531b600000000000000000000000094e0b3ec075f33486d04271be6cdaa5a1c38652e000000000000000000000000c16603e0f85beed096fe229b74f94a43bc9c7c430000000000000000000000003f786e0bfd61ffa1c13e144b231dc43ea72189fa000000000000000000000000b09e35d7e811a17dca3e5a2ceea63054ee28a0740000000000000000000000006d57f3b7746e41158e85b272de45c7aeb0e827d60000000000000000000000007bbeccacfedffab879f6ea0e663e60f8c2074dc0000000000000000000000000cf04dd9b77a6785712eec5f3105e5b2cb94da97c000000000000000000000000f1711a20953f21ba699229bfc38735489da1a69200000000000000000000000037415fee9206978cf2377e32f40836ac1cccc62f00000000000000000000000088cc6756fb0057f294d5f9363f8403512ce6dc440000000000000000000000000b07725e54de7671b1a089f6122c928c49ce1f83000000000000000000000000992d903a8167f5a4a13ec70c65b05621f222eca6000000000000000000000000274d6ddbd2d43fcb58ecdf9aa7d798fcd49c1a400000000000000000000000002cd17e77cfa662a78c1764c18419181effd3e1910000000000000000000000006b79b82c5cfc8230bcb9347d093b81d97d31e562000000000000000000000000dadb0b3792f47b0e2db587696fcacf0457a3ff4c000000000000000000000000e22883b8dcd695843cb7875f2086da1112f0d9510000000000000000000000007d8fc49bee312670f68363eba2af045ee695a8590000000000000000000000006b2a50571b076da4b92f4308919fe5ab1cebf01f000000000000000000000000439c8b04f605752179a373ed5bbfbee2876fc6c20000000000000000000000008ea3a85ac520a3e26736d571d33676ae97e9b583000000000000000000000000d909123d846aa605cf7127ad178f7e4a9dba8b4f000000000000000000000000f32e51e28210229910c7cde4c9d42f18cdd5385f00000000000000000000000030bd068c5fc5ebb87ee395b043b3cdd1c1378d4b000000000000000000000000e1cc7f949c70b803b5eca226429936dad535a213000000000000000000000000d180834039e772feb34c6b42b206eaf1e582854b0000000000000000000000002b9ee87e5b597bf042b0dc588f45cd3e2b1473d60000000000000000000000004d1570b56cdf3048717e8c287c9ad9fa10a35f11000000000000000000000000480df72243d119d4826a733e00a7b98563cc449f000000000000000000000000211daa831dd902997152b7c14c23c09e4a503914000000000000000000000000990c214889334035879c4b0e70d17da9f77034830000000000000000000000000e11bdd390085a3cbe7be90b22c9f56f18e8ef110000000000000000000000009aca9398e804df364b72b36ebba8cf8433e0c999000000000000000000000000ac08efb3deefe763ba4e3b210c975ccdfda738a400000000000000000000000062f250495cdcbc332b656a8482c5a24b57171e440000000000000000000000006961349e255c81ec2e37c9ffee54bb169ccf86dd000000000000000000000000039e83cf3971434b6e256cc3e467379466ab93130000000000000000000000005c1486c77957d019525e08bdb37b6c5bb0d8f18800000000000000000000000074708aacf09583fd25d1c9afc18c8f69f4417acf000000000000000000000000389b7f17e1ea1a02495fc8e6a9ed63a60cedb243000000000000000000000000b7362cde6dc4ea6a44d46bf23544898721444c8c000000000000000000000000b0024fb5c16705edc5c3e8f66e5f79f864e952b90000000000000000000000007066014277dde23cd88718504b7dec8a398245ca0000000000000000000000003415301446cb482213caf61029ebc3774eaddbb70000000000000000000000009c09ddc82561e924bc541bde1976899f214df9cc000000000000000000000000031e10e474c1d7b8638f199d30b4502cfdf89abf0000000000000000000000005ee01329a60019535c9b95950ee415f15efab95800000000000000000000000000ee1dc7f82459534d508a702846f940001dff87000000000000000000000000a29c415a745aca4637886a4d598054c6454bf67700000000000000000000000024bc559b81d24c664591f9af19ee8c108a2015950000000000000000000000000b10afba8a46c8110a196f3f837e399637985921000000000000000000000000d5c1f4a13b09fa91b79c133236bdc3125784f7950000000000000000000000009949385848eb72bd3476c5c9f3ec1190b877c61800000000000000000000000019f2b4dea91888c72e0f4543fa6cc4c926fb401d000000000000000000000000c28786883b8a56804d2ca5d92a37a79c7cd7c65b000000000000000000000000ad226db5e142f2610aa005c482b78c02c79f3cb400000000000000000000000061fc0f87d419fdd94248059861bf9e19652dece10000000000000000000000006a57e50db5e2b89e19fc488f81bb0f5465e351620000000000000000000000004cf4427ad3484e1dd81cda2c41dab4ee2bc938230000000000000000000000009e9c1f45d1624b899c6c9577eaf4edc5e2a56abf00000000000000000000000060374a1b9e417fa4a60053dd95b881e216871376000000000000000000000000713001784115e71315ad8711575f971fbe09f9b70000000000000000000000000e451f953e4301a4ffd3fa9c2491f76b263cf1080000000000000000000000004eca3ee20ad41df5dfab27d2e9d62c6ee65360620000000000000000000000008b9fe4894f7b2a6145b5d4865e29abcf48012075000000000000000000000000d2343eaf48b0d5504ed71681f2360f10a8afef89000000000000000000000000d559b6f387ffab63610b060b8be1b8de6827600f0000000000000000000000006a5418b3c33c7153161c49dd535fdad4e4fca12d0000000000000000000000003ed2d7acf0b9ab3fc98603d7faa920e613d3e556000000000000000000000000d0fbbd9b4b2911eea59ad57ae7a1905f49ce09d4000000000000000000000000938f93b0e12fbe253ac1f7a39c1d6b2951d5e5870000000000000000000000007fbd7a7c0c7d7d0e33a487f6e0bf3f8b213709db000000000000000000000000ae2b079bf8f08883c404944f87f0f5303ede229200000000000000000000000078b1b5e843164d900e1c4c0df7c8926054435682000000000000000000000000e734f4d671fdbb7c58df337f9260d5e55c3fa7fa000000000000000000000000b625d4ef08d64dae4759e347e3984b8b7ffcd9d9000000000000000000000000f0db70fd5fa4dddc2e61779a1ea36908932e9f12000000000000000000000000e2e05ed14faface47b99137679c9d6d5432b2c22000000000000000000000000878404c02c8d4ec88afe827de2a08879752fa3da00000000000000000000000081131878727f4d4dadb1a21d659868594927e74d000000000000000000000000b40c1ec22093d1c5d9467152e073d7e384e6dd9c000000000000000000000000f53cd61e002af1a78a115b0c1936978e22b12768000000000000000000000000d9f01f0936100ff2656a3aa3626fe42d771d3c3e000000000000000000000000ed3c86b42ed24a0ce774a27069ac41afd5eeef8400000000000000000000000092e1b2c322911ee22242e9a6e4ccac2d5d6cf505000000000000000000000000732d9ee644bc1d5958e72124f79133a8cc49a1ab000000000000000000000000d99dace0f9c416dcd734c11427d8e9048e9d8fa600000000000000000000000026187af2e2d5a941ee2d1281c03fc0b1bd14d9400000000000000000000000002d1184f708f383b42cde6dd2bafa8ba4aa190374000000000000000000000000c1d56c90adab2c06078bf85632bdfeb0f9d4b22e0000000000000000000000006588e8dd6188e204dd468cb98357a87357d94175000000000000000000000000df078b446b4bf2cefaac96dd9f20458fe41465d200000000000000000000000072ed780c2d7b1fd41ab3f5c43a7c68dcc3dd54280000000000000000000000001a9949e0945d2cb7bebe54162a1ba9e6459b51d40000000000000000000000002cb32520621c2079010db985282ad42d05685d96000000000000000000000000472dcd4c1f594dac984d442131c4503c75461af9000000000000000000000000f278323e76f825c2c91e110a9cda8c6c717c2b9c00000000000000000000000017a76b4e13a0cb6f1d01ad769bb66cf41cd2c043000000000000000000000000ad2dfcc4d2cc41b2f9e19812237ea3d8d3f404010000000000000000000000003acbf5dfa243ea346ce741c9f3d1556d33dc33ba000000000000000000000000e8359cdec4bdd8b8a46ef00093eeeb01a9deba1600000000000000000000000092efdfe04aa5df1f1e824e5e3d3928ca979208c8000000000000000000000000acacb9430212f977abba9345f7d1aa631e3e0771000000000000000000000000ee41100c13dac5725eec4402b9b45c7aba4957ce000000000000000000000000639ddb339665ccce59c6e1728ed4e06a12e15e6a000000000000000000000000253168d6eabb56dbef02bbccb366936fa53002b5000000000000000000000000facb518d26dd126175f1808c92bac5ece92a11b6000000000000000000000000c6236ca9db4043c7756e5eff151aa953ff683ee00000000000000000000000002d19784334d6e08fa5b9d9da6509e77f7f671ce200000000000000000000000081ff54c6b56258c71946e9cae615067748802406000000000000000000000000e24ee348f353813728818cc6e79853e943f4ce8b00000000000000000000000063feb64d3dd1b0dc0de78839343accc8df82316e0000000000000000000000005499ba98bfd13839944ac4aa629df36d613b2a710000000000000000000000000993562a75eded9f23434c408731dacd9754c83a000000000000000000000000ea7f19ac27d0fd224e991e1bc6c6ef23f793bc0d0000000000000000000000004fa7e65636b87e01b06d5152c1def322cc85f44300000000000000000000000062414cf8b1b04c36fd788597c55ab3e3db24f4f0000000000000000000000000d76809b18a8c40328a00d9a162d4ea9254737238000000000000000000000000576519e51a978340394bffca55ae7834da4896d500000000000000000000000034f89ddfa83b105366bd60eff7eb1896c9aa296f000000000000000000000000bcf3ddd4781a156b68efddd71b0dcb40c25d7785000000000000000000000000295a1257e1c3213c621fdbff19679bd97dedef40000000000000000000000000e7bc4931e93cd97d58b7251a18bb493d23a2cd35000000000000000000000000f0e60898dac4e738aa48ac60c689318608cef7460000000000000000000000000bf5b434f4208308b3274e925fac89c297ba1f6f000000000000000000000000d85c02c684c04ea54c289cff29023a6b4f050bfb000000000000000000000000df37da805f0903f17e1d29474a077eebd926c29300000000000000000000000061fa0bb8bc7fc2990e3155cd119859d9f7c009a4000000000000000000000000e2665ce70df2e7c474f10d1e23d9eec5fc460f250000000000000000000000003279a9e40148835a6df92657b40c35d38ce5c32c000000000000000000000000413da3f152bade8152c0b7b2495321901f292c800000000000000000000000007f983eb1ddfbc869cbbb4ea573ccd6ef1161e513000000000000000000000000c2aa70e4008684393800680d98445cf50f35beab0000000000000000000000009c36232a8d9873ae79ed0ec4045c61422b4f1695000000000000000000000000e32b8dcfe8d62c636df175910a0714c3254225e3000000000000000000000000470cb04b3086812889bf3ba2180c584556a5e6890000000000000000000000006d37935418a4efa84f543f4ac4f3a5f4cb2d3d8e0000000000000000000000007ce5e82c722bc9f88530406b19bb78247bcb534b000000000000000000000000945157dde8d93c2c1b4481b92ae2b96bb6710d6b000000000000000000000000272ac27e2ffc6de6bb056f36567f3b1c78ca0bac00000000000000000000000065e92e029be941e3ea489f3632c282d6bb5b4397000000000000000000000000fb1ddb5efdeddcb9f599963a0aec8eb904de3161000000000000000000000000a6f07a32f78196552d1bc4dea8ed6f70d3dbe3080000000000000000000000000c26cde1b6d5377dab07146b2b408b9fe3bc1d2b0000000000000000000000005fdb6770c0e029a8283af98dc36fb9c1976aacb90000000000000000000000000996a8f51de95c3f74f509c4bd27c85bc271d2160000000000000000000000004ef99b32f216d715208290b8a2eec229fb09a942000000000000000000000000cb8f3974fa8a13e2456259b2fd1a75e0b17ffcbe000000000000000000000000b2382d04ec11cfc2f5ac5b4a1a8efe22073a236f0000000000000000000000009812797c12f13cfab63f35031bbd82f03a3840aa000000000000000000000000e0d54a43be21ab0b3da802a2a64f1e909aaf98a9000000000000000000000000795f5f5b6dcde3c31787d6a452b05798d40c6a6c000000000000000000000000f1684fbb2ec9ea929bd1efea4a06606918acee0b000000000000000000000000c22967e0e7fd239369f6240589be01ab4be0e16100000000000000000000000058d1a30c29e22ee57783e0e1ace9228cc9c3d7b300000000000000000000000023f2e4c3fe5c0c939b44c1d44373e4231bc0ecc90000000000000000000000006561b0e908f3fac17f9617b64e1c192f58367e8d0000000000000000000000008c2a0a1c0eac554414acd94be2df958c4dca0b3000000000000000000000000077dea6215b7b444fc0639b55bf1d86b1e315f0af00000000000000000000000020b7883b6e15163076300956830fa2eaee7f771b000000000000000000000000f2da31917b6d568fa376c6e50a8b7b144673a3ec00000000000000000000000026bd12da996362c9fb4edf2e2ce661be8ae770090000000000000000000000000de0c13eb1c29b56cbc9991328080712d736f691000000000000000000000000b1e58945526a21a24c3701f4146e8f840e9f543f0000000000000000000000003f53f058a1346d3d98ab2bbb1326976d3e8c110e000000000000000000000000c8d5870ca3078b451eb626648925048fea9233330000000000000000000000003c85eeece4bfe9f4e6823da5056fdd2164cacd60000000000000000000000000685b862cf06653119bbd334946b0a7373aa9a47b0000000000000000000000003d3cb065ddae9dab7d6b71fe1b1b22b66b0fa53a0000000000000000000000005cc0fd9dfd3fb55b4f488b67cb349bb75082c1da000000000000000000000000dd1924cf5a7b031d29154d5161f64927ef04fae50000000000000000000000007ff8634c643cc8b91f6fe7ac8a0ffbea19cfc83b0000000000000000000000006bbad7ece0edfdaac60b6f03f0cff1c531e8b2e3000000000000000000000000ea3a4786ada7bc64ea349f8b696dbc481fb8ce810000000000000000000000005ad3bf53a5c9fb184768aa29be494452d24dd01900000000000000000000000021e2affea42d113e5a4ae98acbada0eaa02d569500000000000000000000000032c3bdd638bb744a4e0e79c10ae233bda9ab27a3000000000000000000000000078468e49e0d844d3cc262d4a0193e2251a64e7b000000000000000000000000ddb0db81cca27b2c8d3d15544949b0bef742e5c200000000000000000000000053985c16321632be042623706e596dced20166be0000000000000000000000008f413e766a2ec3dd6b3855ab9f372cfb072d9937000000000000000000000000769b985ead1d02b2b7fa93fbb6eae4fe1b67376800000000000000000000000082f476cc3aaf427a6abde138c741875274f7f01d0000000000000000000000005756a75678bb6d6297b1e39dc798ac5d20840a74000000000000000000000000fc7adc2a1d4a11a7dbc2a8f6a054670c137b23e4000000000000000000000000c798034cae6c6854d00e23ebeaedf86e9a28af38000000000000000000000000ef9c8f1c8aaf17452c6fa706b02b2463fea0abb100000000000000000000000063aac0690e1996ffc8ffc295bf95d60b4bd28acc0000000000000000000000007a5a2965cc3ed9d2b2739b615fa3231ef102e3830000000000000000000000004052ee9cfb78f8eccd0a21fc5457b3d58c4d95e4000000000000000000000000dd8d9df5ff4210a6485401e61407c93cc24d7131000000000000000000000000a4fd55095d1144096769e61eddcdc404048d0952000000000000000000000000d9621d4c32cd005d93962a3bd0e25502998e9a5a00000000000000000000000009867e6b45c486513fba94dd924aab9a6acd396c000000000000000000000000d299292df0bb17a8627ca65ff951e6d4672c63d4000000000000000000000000d369756f3dac9d5db93883f7a8ce66d8a6c3e3bc000000000000000000000000fe93fb813128445ee052883a63cbb7c5735166d1000000000000000000000000d8b6090303a6cbe2b64cc4b2f12420f77069d75c00000000000000000000000057f0679eea804d485d9cd2cbd569454e7b14ae2d00000000000000000000000077583412ff92e4e05f1261e38f1979cdfa7e0f69000000000000000000000000ea09488f37844bc7ecd88a7cf78e7317d9abac98000000000000000000000000de24314066f14b37240b0aa7ff08bbbfcd8aebad000000000000000000000000b9b50f4e5a3f7fd63e0eaa6c77a08be9f5b4be000000000000000000000000009fb8cd55259cd20a6620a796e8455a74b62c2ce9000000000000000000000000e1ccde73fc5ce2cc69abe2afe105a7ee6fbe97f300000000000000000000000057adbb92c14ac24a16dc3319497f3cc7f05041940000000000000000000000009cecb6b879999e2f7a21ad01f65b962fb928779f000000000000000000000000cc84878ae314f08fc428f412f8b4350ceb4455610000000000000000000000004da8e56039d22cdf76253a6c1c1d1f35aa745a4c0000000000000000000000007f1e69752f2ae51be9e6592cd6b1600e84e60ef90000000000000000000000006ca6e144f40b412d839e19f929ab8617d7537a680000000000000000000000008d8e0dba39fcabc4c274277e9e14e30e865a0c1b000000000000000000000000a3c74c3aa815b1bad5a11511adcc7a6d2fa5de2600000000000000000000000042a8ff87c4dc252b6817f5a0eed826ee3267998700000000000000000000000081f058f551783ee1338caebfa915f34013b019ee0000000000000000000000004334acf7a82443d5c64eb863ca6a5e49d9500ad300000000000000000000000080c9501b3215fbc2ad942c7beedbb511306c90000000000000000000000000000006bef13b249090a3ad6238ce55178dfa8add1a00000000000000000000000075184b1f485c9b3fd6388191d75c012ac7d80e740000000000000000000000005f34afc51a6d2cc94748a21e525ea35f80f8c25500000000000000000000000035136841d869be0d9c232a40904ba343762ccca3000000000000000000000000223b691d7fca83f9f36fdc9e0abe0cda0245089b0000000000000000000000002ad69210323bbd10e7cf531ba024127d9391e60900000000000000000000000048a5aac55cf76d730bb5c47e5cf22eb2bb55473b00000000000000000000000047659ae6e6fe57b73edebab0d68bbf7354e12021000000000000000000000000729985c104b7ba12ab2beb34bf516dedcd4b32f100000000000000000000000027d438df85fabde466843e71c61eb84b5ffa5d18000000000000000000000000a28cfc98fe7c33f2e2c2ed6e2e4a04d2dd3d1ffb0000000000000000000000008afd1e7ae8f21b42f1dbddc07266f7ebd09a86e4000000000000000000000000027b7566fe4244df6fcf456d74f96c240dee4d7e000000000000000000000000cae4ac13fb3deae9650ab3c6356ced78c3378fa1000000000000000000000000eb3758f1c4f07f5c154d445049ecf57f1e4732880000000000000000000000009b24d8feddd6a49dbab2267ba84ac82210469448000000000000000000000000a6e03d98e5d23ce16482cc45641cc2360fb5820a000000000000000000000000f6ff3d4473a6a6217d3463efac5e78c312813ee900000000000000000000000063ac4df129d2acc240b090de5bb2ae514420a09f00000000000000000000000067f27ad756e509f5711527f1fc9fe9cabb3175b8000000000000000000000000fa56a31d249e97fcc30f02dc4bd6e6f70aae45680000000000000000000000001ab5f846e685c487fea3e167fd1761732f7909bc0000000000000000000000009eee1a5d44c136ff4e78b86934229242f828f2e9000000000000000000000000b126326a6b05c19c3fd169b153dede6bce00bc08000000000000000000000000f08f079fba8646adb999aefcaf9e23b8cb5d2ac2000000000000000000000000b1f7162e31056383e0bf5fff38ec08cf29f773a3000000000000000000000000bf90ee453b3ab6d29a8ba6630d92ae57f81d05e60000000000000000000000004a480a3c76996484ab7c2c570cd460008e1d26d7000000000000000000000000286e51e129fb1a2f6b5b4d7341ada3bc3ba7f386000000000000000000000000d8152e207fd1f54daeb021193398d95a8ef85679000000000000000000000000da787cf75c976c896111ca09570a944f85af2ccf000000000000000000000000bb79c618612fc7de51e0b85d35f9b926c08ed5d30000000000000000000000008f5c956fafd5f72c6be9f8bb6ffe395bfbd08e59000000000000000000000000d8f3bca6cd6b380539c760a53887280e3a46b62900000000000000000000000047e62c5b67619032f1cc1aa066f03bed81e46010000000000000000000000000cda74e76dc971bf636d0d29eb352c2dbb1beaf0d000000000000000000000000aeae567fc74bd51b7abcf75057f327a2dbe88ad500000000000000000000000007599456237777486d933c7e72e2b8bbabd0b005000000000000000000000000889ade53d54af7504646b7cf3538a1af0e554924000000000000000000000000137ffce9ca35b67c7ebf9bab03ca212ad5e0fce80000000000000000000000009b2d8abfed85d3436368981d7cfdac4bd32e996400000000000000000000000015cd04f71df0a7553fbaaf4f4fa30801fc242e3f0000000000000000000000001a382d13c201234c2e3fd0a7e767a1d985c0c725000000000000000000000000830e9e07d8614ad59291ed4d7a11398ad09c2c63000000000000000000000000927c469dba30095a7661cc5dd92e5059b030050b000000000000000000000000d9b2b0578b414afa31bf159d230683752ed517740000000000000000000000004ce133b7ee8a61a4ac13bd525d8cfa36aef2b93a0000000000000000000000005cb642349b35ea6aaca13049663c144da81d890c0000000000000000000000005ac2e7f1ef14618ede402cbc98569ddc4956bf9d000000000000000000000000a1a1b6275ba2050238f2a1b396f88fc65b63bd61000000000000000000000000334d47e58d549529ddd5ac94f35a1d8f7c657c7600000000000000000000000052b0c3d58ad771fe192530986e283e1037c985a7000000000000000000000000c5e7c9d5b8a3fe582a7bcb374533865840ae1bc5000000000000000000000000631c06bae101c7168c35031a63cc9fc0ea0892c300000000000000000000000079e90dfabb202996d272ceec169f0743e89c9ada00000000000000000000000027b89e9bec5173814a2fae87c61c0cfa812832090000000000000000000000006d9c4935876cbecaf3244bc9d6ecf40c41a832f0000000000000000000000000fb98d2ddef4c850a3dd8541508f1fed916f8c91b000000000000000000000000c3ac86e1ac775c7ba8118a09becf784e4c3d88740000000000000000000000003298a6789ee0e6bc2b4511568d6f1b2c6e306b60000000000000000000000000f5cbe47dc8115aec8f6d59c3392d260c3e470097000000000000000000000000b3e524c6ff7835d65caa01c1a8c55dcf8a6806980000000000000000000000007f480927b43fd4094c178dfc23d1ff8f2ed5cdeb000000000000000000000000eaa93a3140b0654e86f853f3fec420b63bc02e3900000000000000000000000084b2cafa915f891ebeb45612903e7b7559d0833600000000000000000000000011e8f0fd8a5ca2a1bb8ff2378f6110acd7782cb4000000000000000000000000982e59499706156b29a754429cce4c73da39b40f000000000000000000000000802330844c47b1059451d9932e650437a689759b000000000000000000000000ae03bbf3b0f54c34643dd374243317ce76a55b9e0000000000000000000000008869b96df18e42c99c3ca2ee3ccbc80cea06236c000000000000000000000000cdbb31299a8073bedc0174329e3203030891cd3a000000000000000000000000555b85e1aaa12e38f2c3849f9b77187b8b30431600000000000000000000000065d678c2b7ab4054360dd0179aea58b5eb144c46000000000000000000000000bf33b9c005d9807db5bfaf63b1c2fade53654efa0000000000000000000000004057f07f8e0189f365dc2fbf5829d139ed6ce1a8000000000000000000000000475112aaafb778b40ab78879c11debd04c4f5194000000000000000000000000637deda8965d4a8f12303c67ad59905974d7844d0000000000000000000000001387a40a44766b9a3c86486ecb08084dc3f6c431000000000000000000000000b6eed3e6789d95483ad4c781957c32149e69b6f5000000000000000000000000f582f6ce1a59ab628693497eec12b47ddc6bdbaf0000000000000000000000009946ac406afabcf22484974bdbdeba593741962e0000000000000000000000008763445693012f77eca20bd766f4f6674e9778d600000000000000000000000066490f961f0709f710685d5a726a90484e4269a10000000000000000000000001eef0bd83d04e179f6e4edc52c8b9a6ce6011bd5000000000000000000000000edbe38588aff90d4550efdc91801f2b5d4bdfd7f000000000000000000000000139295ef4d5f175d856c8b3395711ef495a5311c000000000000000000000000d588584a05ab935a3427c2566f771721f555f0e2000000000000000000000000b00720d346f9734f7371d00fe5cb2aa4570a91a2000000000000000000000000b90a455832da2e1d45549ad1425662fdcd4a88230000000000000000000000004a246a6d7acf998206c18829c12e52a7b5efb08700000000000000000000000066563bdabb11febb6d62ee780c5556539abe39d70000000000000000000000002e2846829915f43d3e3444f3f75c09294ef2a78b000000000000000000000000ac2e7bb8bb02e7a0f4b3447226557ac2943843eb0000000000000000000000007f21f5fffb8cdd6f7772d9f56b53eae2b956033a000000000000000000000000c2bb22d150a05d612d519d1a60f7963569c9981f000000000000000000000000a02124eebe07e31cb5462d76195d3f58965aef0400000000000000000000000095b0a5f0a1d68aae10c254f1a69e5208b3d79c6f0000000000000000000000008d582e731eb7a34b59711b1ea4f34eb41b308547000000000000000000000000fe8bd56700ec0794edf800c654170ca3c40998b80000000000000000000000004a44a49b8620bf528289c4776bc5fa2b4262d0d80000000000000000000000005fa981c3debea67812a5af794dd05d6de2c92210000000000000000000000000d0b99dbafee2bae837482c5b1a828cbdcef5cbed00000000000000000000000087828fb64e9626f4aa88918bfff9e51c7cf256c5000000000000000000000000c87f0c0882cbcb7cf62d42fe8435ba9ff55de7b4000000000000000000000000ddc435c8d9b23015e4b665e36aeef95477db649a0000000000000000000000001deb9f0f3caaaa28bbaf39de9ccf1a18d68dbfb7000000000000000000000000cfc4f0e7d354aad7839e173305ac04bc464930bd0000000000000000000000009154d73edefe38766526fa3718782a5c1c470eda000000000000000000000000e9f3a10846627fbacf5807082d4d348ca13244a0000000000000000000000000ffd2d6e5a138df9e4b1ce56c4783d59c2763d2eb000000000000000000000000d02c16bd10559655341650c4fca77a5739991138000000000000000000000000d057b3206b698d13adb802283bd84e780cdba75a0000000000000000000000008620da37062e7b4809d6b933d24af61516920032000000000000000000000000aa973dfc84ae293500601780292f3ce8e3cbc14b000000000000000000000000d015faf19e5da1c4461fccd455f276e336745311000000000000000000000000385df1576b906bedba46f4728874c3bcfa1b324a0000000000000000000000005123f8f8ccd88373b8a79ebfdc65ee55e6dec3350000000000000000000000001f59609c1a6f3af0a6c711c271984fdd3305983d00000000000000000000000010a8f983d91386eb25c37abc1ba71fe8df9b3c2d0000000000000000000000008917bb21e0878dbed15a57910d6641554a4c086e0000000000000000000000000035a907cea37498dab08838beec8a3b863b56b10000000000000000000000006101e6e89edea0fade9e07066a1d09a42065ec6600000000000000000000000035afea9908d82c5e40cf468793bb0123099d84de00000000000000000000000074289be838cb416b3fc524d9f77f7c95bb77a407000000000000000000000000a76a6814ac0b64b5d941f65be8c8f3709629c6bc0000000000000000000000005f42acbc0d43db24a8c1b80d3214e6c9dd08c184000000000000000000000000e885fbeb7f1288864e91dfb06cf9ed91baf1d687000000000000000000000000f97d4ed9e1b56a9ab9b9ef04e82d880cab621f1f0000000000000000000000000944fc2d0ca9befcf2c465c29985c4c89da5b0cd0000000000000000000000005d9e877395750bdd8c4a5223c7607425c7d479a5000000000000000000000000f955736fe4a87465b830a6c90833419a8e8bbb250000000000000000000000008ac6cc7819aca399d19aab140e69407e6e01e7b8000000000000000000000000db2a1b45f71f1f15b0fdbfbab2b4c26407568e15000000000000000000000000aa4d1f4e5d12f2289196d5304908d3e30d26c9fa000000000000000000000000851f66fc36e6aa15b3af6d037fbd2b09cab565bc000000000000000000000000789024c47b15ae4b08c96999951846dae8f7fe9b00000000000000000000000087654df496f41e9b279cf95b64dea6be1266ec8a000000000000000000000000200e7cd348d957903d451e50695cb416b9d3957c000000000000000000000000aa09bcb1047372f4eb0de555fd16d251f9887d94000000000000000000000000197d93a92208180d73ee7c8ee8d0cd9053c1d6b60000000000000000000000006c5b6128de537fe0d5ea4683d3b1aa9703ebf3bd0000000000000000000000008e327165b6add2e28646e176182d6327e8d2f323000000000000000000000000c7547705f900f49095066d89a74684685c2562ff000000000000000000000000fb10ed5e0a16324313616a2d45972a9a84ce4e650000000000000000000000000f9fcc1066b4753b795ca6f549465776b998899b000000000000000000000000e36a397abf2e594e0f42b9b836c59601e6fc0267000000000000000000000000e5647293b332ccdec31f5d1ae3ddafef9ad3882a000000000000000000000000beedf956eae5c8705d558bacddb8c7f3a3f6e8ad00000000000000000000000062d5eb07b812efedf6f70daa9741c3104df10392000000000000000000000000a80349a9464cb3186147c48d7212cd60aaec494c000000000000000000000000743733b1b0783d9ffc46ff614d6151e0233b9f08000000000000000000000000d673483a4974865c9855d48706e0f1118e3fd3de0000000000000000000000000582d8194fb42f6dbefe2a85abf6c74d5bc3e18700000000000000000000000073e269783b752a3e14c2ffc6c31441e59067b029000000000000000000000000cf71344c00cd87ce02139ece305f5856ff51875a000000000000000000000000de137751ec0586afca1c42ed62f49b0419c9e0a8000000000000000000000000247c2428191836fab634599832085673d6bb5ebc000000000000000000000000ac4f6c9da26a0c0580856a77e394c6c8f2878de200000000000000000000000018807df4e7aa60141a21839f3a7f0f3361984b230000000000000000000000006a1db66bd9a3799c479d50951751cf6c253182f90000000000000000000000004afb2be813f25b64a4299e4d80cb0104eb263f110000000000000000000000008d6a5340892ff437fbae32e877b77ad8fc9372ed0000000000000000000000008e7d5194e22e6e8d657791e61e76b426773d62ac000000000000000000000000df805eb64093620e0d0b7725812d908d3a957ed1000000000000000000000000293f2c1301bf7cbc86f24f21387b0347900dc976000000000000000000000000d73d75682472a715a66eaaf251137cb1cfb2932b000000000000000000000000c41e44750a1dfa01b417a81bdfd917db65ecb9c70000000000000000000000001ca972dbf0fe8a3678eb4cd6b6216c302b67145b000000000000000000000000164273444cd43b8a10383ec55b05d568069f8e78000000000000000000000000e556f3bf56222963ed7bd49aeec8df9f8a03c3c2000000000000000000000000b8b720f5006beeba0926ef417fa075df45017fad000000000000000000000000178bbf1b6fc1a2888bd140776c53f1cb0fa1b4200000000000000000000000004a54a19065fe43858c8848f89a608957f571129e000000000000000000000000a79f55e8fcd7ed2d5e3f3719bdab0bec4a8f3efa000000000000000000000000f1115989dae75ad6f6931c712e55f4d94e36db7e00000000000000000000000002198da26cd4531706e1be1a0404d70ed42cb82f00000000000000000000000078668e3ba2567f5c89cb55878080595ed1ee1532000000000000000000000000f0c3cb91387e3e37be5528586396c8d5ec2d07b2000000000000000000000000fc96c9de38447434259c43d4f2241bd52d71386e00000000000000000000000034e7916d5d8681370ed0a6774cfa8347c1d2c9b4000000000000000000000000233f61cbb69e1034d5d0ddb1a6fcacf80c5c38ef000000000000000000000000996af69659bedb7cf3af7d2135f8127ed30eb47d00000000000000000000000079eb4a5005922da62664b36e269353ff2605614500000000000000000000000016edc91aa1bbeea459e28b01acb1ca8fee79d11200000000000000000000000014d2dd56baecab1b6fc29ec137a0860c0d514c760000000000000000000000005f7ddc4c4586d4b56634a6a976545c843f338a60000000000000000000000000c459dbc87e27dff52f2b21fa2657b9a5bc92b8c80000000000000000000000008480b89ac6ee776f8842a17f66544aea3726c1770000000000000000000000003ae95ad952a26630f43e4498a7a82db20635ac25000000000000000000000000add6a24b7b1e858b8c6769b82f17611b4a638175000000000000000000000000ec125ad722f1f6b2cd6d7aaff88c3c227495b5e000000000000000000000000013b24fa5f19ae0e9f9fa5547c2b5af942afa4261000000000000000000000000e8fcdc329c9bd25eb6d844ec4b4e1b5925ad131a00000000000000000000000003ed7c9768e331fef1c3d6d89cd6454c32273a83000000000000000000000000b423e06fc7b9be29e8cdc616dac87d48e25a7bb7000000000000000000000000bdd31160772498a5915551be812847daa6f388fa0000000000000000000000007b5fea2d7ca3016f0f46e92e9ca40c46974d2ce400000000000000000000000065e309bae5ef3bc484be0313204f4f3101aff102000000000000000000000000836266d230fc857b1e3a1a824c12c59c5925cd47000000000000000000000000b57fccdf3dc709c3c4d0497efbb9a073f6fde5da0000000000000000000000001e63ede600b62f2ff43b3867dc86c8db19f8f2e1000000000000000000000000ffa9f7994d20ba7de035d6fa41e6871687f132900000000000000000000000000224215a3344e3ebf3fb0e3a5104452489f5184300000000000000000000000080827527114cf5e466f52dec6c51f37862f295660000000000000000000000008530f639d68294a354522d1c8453da2e561c001e000000000000000000000000df35a04b5cb35938d2f3c57f49a3ff6a889670ce00000000000000000000000049d6ebdf80d2084252f5aab888f1fcce997ddc290000000000000000000000009322109123b0540d8a4f5a2928ed893631fff64200000000000000000000000039bca683a410753ae85da9eeabd4cb5b5b4d5d2b000000000000000000000000280d0e4920da5808dca7fb76be6d491c0f53331900000000000000000000000083edcd53c07f8751d9ff6f9f0f25dcd9dd371059000000000000000000000000ed2c8fdee39a6841c49b1f78929c1533f5986cdb000000000000000000000000b445f034b4a211624c883c7dc3945a3f6c8f2530000000000000000000000000e9b3fbec34e4c4c96ffbf3975b8ea7eb562504c6000000000000000000000000c30013baa11654cc37377845c58cb2f9a5aca46b000000000000000000000000654588270ff471a15e7fe09e5cc4f4b5cd18b62f0000000000000000000000007a41c650c95360d7ae3281eb4e56dd5d91e3853b0000000000000000000000000fd34a6c0c484f0da7fb00d8d028032406c57182000000000000000000000000dea35742bf7c670e86a11e2306160d92608aba1f0000000000000000000000002aa623258a13585992e2f5d7d50486fb2892d89a00000000000000000000000093e0a367d0d4eee72b7212aa360748ad1e443adf000000000000000000000000bd03308a3b0f1fec0ff6f4ba6d100c3041d3ff3e000000000000000000000000262d2f90f05517739008246a827d58f979424d50000000000000000000000000d1a9570647939e84e1196972d2356a87e1d3ad8e0000000000000000000000004b4184b191e1fcbe428765b4fce813721549247c0000000000000000000000006bada952a80c5e83febebcae62f524b361d1cefd000000000000000000000000a513c2d5d01697feac6e5b3b602489d8c8f84a71000000000000000000000000eb510ed57658e27a60053ca9b64949a550be2792000000000000000000000000494c36b6eb1171229f9ae48df9c28a5e576507e2000000000000000000000000b016b6b24de1598662b22df26ffe27a15bd286430000000000000000000000008faa9997b3f3e5c1054f74cc4a01c312cff68007000000000000000000000000d1325a2f91d2aa8c1b1d10a6f04f2afa8609bf42000000000000000000000000e73104bafe72f40b12869a8479a628513e9aa014000000000000000000000000599deee04a19e3988f5927781c8e93feaa5b3cbc000000000000000000000000138776e605a008ad7985450ded654cf9e6b6929f00000000000000000000000037e8837d0f331c8e0a2ed79245830f6cb5f032ce000000000000000000000000f901cc2811bbc25c697502d8e69c2ae8be74eecf000000000000000000000000aec3079b2a388837667120915864959f64d44b38000000000000000000000000235370c641e9f5b5d5f6b38d7d9a526a7431094800000000000000000000000017146187d85b0d993b068172ff512353b95a64fa00000000000000000000000059f0db6a672d7704ab8c50b088689cec3b69e51d0000000000000000000000006e959f7c452647bbbfaa933f7da967a3d219c1ba0000000000000000000000008c0487bf345d0ae8933f56e4f3e928ece9be88490000000000000000000000000ad8baeee28ce6e9c943393531bb6998ce575be80000000000000000000000003cc7aa3e9b09b337ea45d4618e6818bd005083800000000000000000000000009b5faf112141311e7c5a3e5e20cfbde67a794f590000000000000000000000006d299b48d9adc5c7ed195000123c240906ae343800000000000000000000000042e0060017f153e920005588853f9567fa66695000000000000000000000000077ad6189b5bdfadffb3e30885c06d5237f463e72000000000000000000000000aada7a57ff9a21114e1770ae1a514e53c3de702600000000000000000000000015fc9b02da0970f8edf6e4bc6f799eab79eefb3f000000000000000000000000a0665ccb5b21b3b4671403a26990fd058b7ac1cf000000000000000000000000ce6eb0f503ceef7b4af79f5d5a97451883b5e1e50000000000000000000000004d188ecd8f036c83c244287c31bdc870535483c0000000000000000000000000cbb8dd6ab53c0bf758e74673271db045ae70369e000000000000000000000000df4417ba80b9608b719276c917ecc5b9e5d28900000000000000000000000000c8ad2e37f5ec15a2dc3a729204f42b6f0d6288530000000000000000000000000a474378e948ddaa23b081d366b66686848122d2000000000000000000000000323dc376282e0865f2e1fe112058462254d232340000000000000000000000004a86d53fca883ce12e293500454ea2908b990132000000000000000000000000736ec392eb92af50589384849f3a8f621f025544000000000000000000000000a81291a386e72b17720f323dad85fc4cbdbcd16e00000000000000000000000067cc5ae0040a911f1bdd663e38e30a8044c9257100000000000000000000000030e7e6801d9762c365194de429cde853349556f90000000000000000000000000393cd8d20c2f102f7c342bcfa647d0f5149093200000000000000000000000094a3778d6ca52ce6b9637f267cb805e6d2e7ccb2000000000000000000000000386e91e3a79fe2045a060fa7e5402315e4ce8a08000000000000000000000000c3705a64373352a881cc8f72479ebf3a91db18fc0000000000000000000000004dca8d2752945d0553e3e34d0be3f9fe76729c5800000000000000000000000072c5169dba0a9ee86aef8a5233e91a88cc800ecc000000000000000000000000e37dc84a55a334e1eadc3ffbbca629ba9b823abc0000000000000000000000005f9c4d6436c8b9c4def47e0e26bf31fc8473f1c800000000000000000000000024b59fb9f305a5700c3befb3a8c32ba23d234739000000000000000000000000fbe867c0bfd74fa7c1c39b194fedc11a002248e5000000000000000000000000c825cb06154f4004ffdbfad1f97e1dfe29251faf000000000000000000000000521d7158a6b4d33c6bd89bda56b8cb5b2a06631900000000000000000000000009cfdabcb4e1ec731aaa3ea6190184f11859abd100000000000000000000000088a6b5d70ffdff6b82d251795b50428b3bb481170000000000000000000000007b98a7f57bbfb618c16c195475426180f611607700000000000000000000000094324971d9f0f1c27322d0ed7607a1177d87b26700000000000000000000000038a04bb3ce0b2b7e8da4bf56b6a56290d83f4ed30000000000000000000000009025102b2acd3b962da4e47978d0eb16458bd9db000000000000000000000000d97988491e71dd03d5415e62a7a8b0c49e7147b2000000000000000000000000ba2b7d6d40d56d60cfcb3e7ac2b4d68365c308350000000000000000000000008c06d0aa13504437094e29a75bb4bc9265f45b4d000000000000000000000000fe3cb3c474aa83668e828ddfcb8459522ae40bbc000000000000000000000000dca7bfa8b6bff2d337194d3d2c1cc0cc20d22c10000000000000000000000000ae0bf36d9ca8bcff08b0212a659228cc16a4e8ae000000000000000000000000e08b35e5c5aab97cbfc6266883832dacd3a5a05000000000000000000000000023b3777036ae4ae9bd15faaaaa0a96dc27cd274d0000000000000000000000001e5361146582a9c2a32cade53a3a89813ae57168000000000000000000000000d50cf90663f456da5aa3672690d03bc97ba24d3a000000000000000000000000a0782e75f9ebb2fdcc2478d520aa92950a6cf7500000000000000000000000008087e4d6d4291778c9ce4143a11bef2b20f3140e000000000000000000000000285be5201ff4e9a55ab0265ad9de084c23064136000000000000000000000000cb3ea946316c7bc2f58135431731fefb12ab6382000000000000000000000000178cc437eff1d71bea766b20e7b78d83372f2128000000000000000000000000b2327e2bd254afdc0a609e4da4fba555ee00d286000000000000000000000000ab6d6565cfead6b973ba1e5a959e4033dca5e3ad0000000000000000000000004549a16b23c177837970762ab3750486a5d49f0800000000000000000000000003c6864fc2cfc9ebc47ba83863ac9151098dd41600000000000000000000000097c6bee26821db970a4c8d2e5568ffbe7269b41d0000000000000000000000006d3c8f761a29f62cb5829ce6dcfd7e73641f247f000000000000000000000000530e6ecd167226f3048d13a8f6eba3c1ddddbf9c0000000000000000000000007c0078e427363fa2015de03b4168369413fbf6890000000000000000000000004ee02e4e26054b830b20739f7dec3528b1f19320000000000000000000000000d432236156c0df043347c7c6a092b6781fae48ce00000000000000000000000011e4257c8282f26b5d720e7565e125d557eb0a2c000000000000000000000000d092e9ff6913f6473beaad95909821dad6b499dc000000000000000000000000fa8f8c14beab1e73eda17f3df74532eee7d66b0000000000000000000000000000432fbd1017c3c90af4835f71ef277fc28f4361000000000000000000000000ddda7b0e7776b6a008b3e67baa0b24980480b9bf0000000000000000000000005bcacfcb6fb2a750ef490ba3e723ad7ca574d5700000000000000000000000006a02f288b80d96675e9770a88e99618fdb8a5ad700000000000000000000000064965fb65fb2da8e67534618f36df2d2f78970cf000000000000000000000000580e42791e1904bcf6f1f36212f652979f6d03cd00000000000000000000000053d153e46655937fe1a3f0a48c716f5db3b66a210000000000000000000000002377c6d05d8b8af3c35318099df67defbc29a249000000000000000000000000886fa99a190f58f51540bf316852207e4a8e816e0000000000000000000000005b9dfff627356b40c19d7253d657418483e4e997000000000000000000000000fdc4d55f97a8105031df2c3cbd04f154549b67a5000000000000000000000000e70299b2b9b029c5bc8184d6fe1a57e4b62e532e000000000000000000000000ed78abfd1d85cfa6bf8bd6c116e90c46dee9ff1b000000000000000000000000dd0809970cd98ae7aaa42d6b4e8776eae61a06fd0000000000000000000000001832c65105da10caad98b20e3a079d1b29cd0bdb000000000000000000000000b5d12a3c979c36da416ee3997fdbb4aff1e9dea9000000000000000000000000a2b76678d05a6132aef90bdb3e1419e22852046f000000000000000000000000ae21b65c913701d5580a9457bc8bf38f4637a03800000000000000000000000067fa2c157c917a7db2525f79cac54de2c5161dfb0000000000000000000000000dd79037f50917efde3d8c440f874360c5a8b9aa000000000000000000000000f115c81c9c7d1317416f83d42579f6038485e071000000000000000000000000a41135722858d2e5a5c35a8c8326eeee2a53c10b000000000000000000000000f9bc3e0e7c594558eadffaf64970f2c0f3cd19450000000000000000000000002d32067dd357dfec3fc667fc7e1c093269cbc41d000000000000000000000000059f9609ccf838a1b488faf2073510d0b3edcc4c000000000000000000000000871ea3cfb0ed8606cf56f9f15d9dad12206428e900000000000000000000000029243b13c0ef1f45a7b6e17f9ca7ee6aacdb64a000000000000000000000000070fd628d255e9a2636d80d61bd33cee5989ff793000000000000000000000000124c840b229b8c20473d9910ba9f1bdd641a5124000000000000000000000000d55c19cc9104f9d4d1b4c841fd71db982c26a6b8000000000000000000000000da8400463684a3374874d45fc99be39a02f21af6000000000000000000000000668e746d9241b768ac67f9281b304d1f710a0f9b0000000000000000000000007da616285fccf0d4385a759a4aedd0cac34c28360000000000000000000000009b20998a946b2a5ae8dea92920d833178305686f0000000000000000000000007bacb1d74ca802219d3af1e5d57e16344cd255c6000000000000000000000000bab00cbb478c6833b3602cac64017d11262434f900000000000000000000000026f81f9ac37ca043cef328e274fa5b0828c61f5b000000000000000000000000e4499ce683014ed98d8750fb28c472ad834f05a6000000000000000000000000182daa17237048a8a5745d53aba692f91f1888ab000000000000000000000000f102822a6ba3179e9655000d4d25879d6c959773000000000000000000000000be48311ed5301de98543190b5bb09eefd56a1af900000000000000000000000022c49e09609e01571dcfed2f397f689c1cae77f30000000000000000000000007ffebb6a20be80364d42cdb8b5a2767f4ee6c4bb0000000000000000000000007192507bab00a0f4a0d594c3058b8b2933f1aff2000000000000000000000000b04ab601bac0c1c4a86e51eb89f0f825a78a622e0000000000000000000000002b61f81d468b14d4fc9a4deb1b608266619e48d9000000000000000000000000f7b9995d750892c07010d7d8552f4fa072049a2900000000000000000000000007ae44dead8f9d8d35d94f177a26050594b0d79c000000000000000000000000df147afbbf70b900524921eadec587bef68379d7000000000000000000000000256e1a42ac82dcfff8669318ca47b361837df3d1000000000000000000000000eb453d4d1e133f66931207601fb26b7ef07a6cc90000000000000000000000008927bd13f41c43a66f7d3c07ee6126c7f9c4ff210000000000000000000000000e8a528163d269a91437c57d3a4e2dc2ec6b02090000000000000000000000000130364637853a4a337eb2f8ca6ee2f29f4b87dc000000000000000000000000a4246c31207746887f7c09c58d4fd75dc59b81bd0000000000000000000000001c02d382f69325aa257ab845957086be347d8a310000000000000000000000004df3bfd987dc47058f50c7e5a57f25672102a9050000000000000000000000000b5e5081b62ad1cfc478aaee2c2b4d4b60ef2e970000000000000000000000009479c57b70ed4d0052cc9408697a997429207d7800000000000000000000000045a1589f134910c2a4954cf4650b5583a3eaac0c0000000000000000000000003b24038a08bdf9b9617f2c910379cf0b56a5c36600000000000000000000000096e17f57b1baa2371d7ac307f4ef25da45b0760c00000000000000000000000043d01e03af604490eed8e8f9b7858f930ed46f3100000000000000000000000006eed855c0e1bcfb95d46f1a464dafa594c2228d000000000000000000000000f75140c3172c318b24fd3f64e850a4979762bcfb000000000000000000000000193cfdba605ee2e73939ad90454bc59365357b13
-----Decoded View---------------
Arg [0] : _rothkoOnPennies (address): 0xCb337152b6181683010D07e3f00e7508cd348BC7
Arg [1] : partialAddresses (address[]): 0xFF64711628dBFBCd11B0B6252EC7146EE487A2c9,0x5A04b9AE934adb10dC90AE561aFf19df97702175,0x0Bfb75C571635fA2D4262217d5f8E5018AEEfec9,0x156d5F8a20d4F843A53b406FD9D3E1a453eC88B2,0x126BB405c188da691E708BdaB72516DA922854A3,0xf4D405A7A4B2585d6C969FC5aedaE58A9a7761B5,0x759670aB95D3A8d5FB1C1Abff8cF0023FD7E107b,0xbC7984599b94Fc36D4490f4a41efD936C53A8C01,0xC636d893757038a726eedeF02374eD3C7091bdB6,0xe06c62cF8c544F16e7119fAC27A9b0c8929EFdf9,0x2D90ff82dDcd4728652C384a95D5da0E2aA0e32C,0x1766962BCBbbF97B739d96b0e7eD924632F15F4d,0x45662C7D4f483a78B7271c4F579642D812f7986e,0x1Cfabf69B9b4473C76f60260863186854FFbC013,0x846694b2d79854832168B1E84038B1492aAd0177,0xAbf1daaf720e052289dBD906fb31Ca9BFE764356,0x3b58F2bEcC244566f214bcE21FF08e6d76539499,0x74A2fAc446CFB90346a2329bbF6E875083e814Ef,0x1e0a2FbFFC3E7aD2450B49503b77FcA2976338E4,0xeEc47B9AC18Be439D083901c5541BE486EcE75AB,0xbe20F60523F5E4940A0717874b1CF8C605191E7c,0xB39f9555Ae21679116E33cA9B7B484f154251d70,0x9777fd60902b0B842fB72AD975717b46A9d02387,0x193D3c14796C068Dbd239f76B7F68af9CE89E9F0,0x6EAe0F716DC7316f3b95B7987c0af33192667BE4,0x93f8A4081A29DC28139DA9673a503922c5f2ee3D,0x2F6860756bfB8e95eb7EF470C68ca213209fE1E7,0x335dF126EDD17538AE04F47b8217Ef64267B875F,0x2719aa2DF4F6b7a6834053130d3a174CDe9E14F5,0xDFaA80158aFf56718dD4b07bc7Cc61A77BE1525b,0x6BA56fC69F2a4B649E35CF0B7b8f4EEF09bd630d,0x40A965dBc477AEC8673070e765328fB60Ac64A7a,0x590fdF16C47fa15DCe9A857c157577b3e290a1bA,0xC4534908f0ACaC882dD1F91CB4002738317078D3,0x455f9682D03B333a0fd2c1bE72e22FbF6ecf6261,0xE6B295e9Dedd3674d0903833A21435aC234D8319,0xa9c0d05feE7Aa68241546a4584946c4ad9ACaB6D,0x8C476cdA3693163A877da79f6C8CE9db7e3256CF,0xdd0BBF3eaE9b6B9215A3A081DB7fbe54b9FDA4A0,0x1c17D7eCBD2Ff20d8880FbF3B7ABadaB9639bEec,0xe6E816639F7Ac059353F510045bdE88b092B82aE,0xFEadb4A4D27787AFB95Cfbd8Dbfb95DCfC51BF11,0xBE951967B0FC960Cf41636d267b15FcBB5c7Fb63,0x0fE70bcca223618b67DC681d44539185a2b923EE,0x34C0f60F44a7Fa8d0539AFED9473864B187cc241,0x34A1af47d918a0e93a5B3c98f3c25D4eE887f85D,0xc0057a2C1523d7f4AeC9bC578E5b5F48070A974e,0xFBFA558C278D25258349001e329c5B150A452B95,0xE76b3aB1dB2fb5B796b44CF5C8a0C1f51e99f3a0,0x0157A61200D120B6A06D998587f96F5EFF2EEF9a,0x509A04aE924b52E7b5cAcA3C98Fd08e2629dB9a0,0x14ddF4A3c017A7bEaeC099BF1029F46422341038,0xa2a0Aa2851aC59b62F8f79D4A0d1BE85a65c8079,0x2c0fD5b15Ff3253377c32F730efFB35e92307E82,0xb8FdC52Cf0376188637bff67a137B6735A8457F0,0x6E13AFBf988f39Fd7E9Be0370e4c34E91270e1Ba,0x9A38EdE54Ad7Ea8ACf3Bc7f9C8f7b08ab19aBcfe,0xefB5111E6FA2C8d392a1376aC1572076fbce2487,0x9c97Bba95A67AB00A33CF3890dF051f4b29E2Bec,0x7B3353cb47E45a44c59C5D4f63Ce5595cFd2F5a3,0x4784351EC65d8f6bF6Ba7698e4E79B8026f38f8f,0x89dcF3e6166CD81a6E4e8B06e1185356f8CC089b,0x0F4C072203451Cf21342E844780Ae0ED4d4AdFa2,0xBB0A6802E633f97980A8fC91386052dDFf9892cc,0xcCe8cB7DC680D37ED56ec47c14CA171C5c58022F,0x15e7b478DE6db3cfA85CDA3257d394D79e8Baf82,0x14d74333106E3210f289464D19D66cC0bCecDf43,0x7BDF2C5769CDa7C12F48f9d0f1B07D8D0A57f128,0xeF490377eE6f67c57d63DaDe3d8434B17e5959CE,0xaEA98eB953525e65f7520f27cdfeD4DcbCA6023F,0x43EbBA6b7A1eD74a7c5B7BE4710157CE181bE0Ed,0x1b98F45B29a5cf471ADe3cD2922a9Fadc6a693fF,0xFBC31f8A580f00E317D9008ae10aE362aFB29841,0x51Dca3ceC3942CFbBC7cF6b89dd5d9755bc52438,0xb69E265bB2b6c31B1a5BD8dDe6fcAb858a67A44b,0xc46c6a6342497b7530634505C08860050C0246CC,0x69ef6279B0b454577e685395410A95D873e9d82a,0xc3aD5ecE058B3dFeAca013d33f62FF5bdCF1BA61,0x9E7E18A1c92bBbE9f7790e6E1296E7716869D7fC,0xf9e2F9D1437dBdd0Bda361F7F91740233c7aD033,0x2ABBB9754Bd3889d9BB5C9659c0D825290631DD4,0x6955fAF89FD43387EB6df55F40DD69b57f484c59,0xFaAb692aCCAA3466CE867F6597F816Eb9342fe7E,0x050d7c826C1F4554Da2Bd2868B8D3784730973C5,0x6bF3E88697474b718Eb08bd18E684b655d331eE9,0xe28d5f727080f8B5C0448218dEf4C1f111A87202,0xd695Ba03fd7b4f6dA5e35F3E62dAb57AE5363979,0x407729F78710c2eC5d5efDced2045cB15bD6DaB0,0xb73043aA6a272cb7e02b96123ca8e25687f49d27,0xB8554FB491C97c65201A5E736c7E917B9e37be89,0x7FD492Dd7041e5a1500fF8e3e4F0564eD5185bF7,0x4238FcfDbA55536e9dB5F10abdb2084CA32e7E8d,0x7aF585b1e2aaFe57feC14935e06562b1943881eF,0x755D8a61EFF9be5eB60b3DA381f378D36aAbBe73,0xef5883d6836B006F64a7Cb2A9639E23D7d2825B4,0x0F122e32934bDfF19e34d213329FCC2FFeC9Ef90,0x9A7a93Df8Da07Ef4b08366Eb2A4d2137b4821439,0xe96853D9cff5Ad698611709fa11E29F8dfcf89B8,0x0D1702572889cEDb39Ed459018Bab9711ed5962b,0xC2C287D082f3EF11Dcd413643CbFd56C557F43BF,0xA6d59E052e80AB7adEa26858f4728F185a1b97E7,0xCdA159B2193BF694835c970A499ECcd6de6e801a,0xf2614d8239940785a44bEa5b36808cBf8c486c55,0x8FeD0Fc57669808AcB9Edb487318ab2843a2199E,0x5492592eecc026Db44C6B80BFEe17d32FA4C0072,0xA43f87af2FA9d5b98781368300FCE0e33C053382,0x0E0b7570B97E3078D90284F9365D1F84ad9F213E,0x38f36Be3b0E098A3347502f025B958d9D89b3D46,0x77E9CbF615Ae524555AB1EA0195A91B1E1214beE,0xFF990648740c1ca5895BeE07b832a3aF204FADED,0xb67F1f2cE9452eBea814b2f97801e050CD9C3eEd,0x0Ded72d6Bca9Ca5EBeE4c03a2490D99a7D0dC884,0xe9859Cc94d531625cF8b2B2Cd737CA637a9271a8,0x391C9F4537afd45e82e0510B67D0d460CBFf725a,0x8376Ec7bF0E430cf902302605ffb31a86a21c5A7,0xcecb55950b8C94Bc472945Cc3C5A31940E2d0C04,0x0c38c28D31C80496aa02019f322dD9FdFE8e3aA7,0xBC30A9d8AbEed4C7B2C2CEE1855E198916c5D8C3,0x553aBF9546D73eb80E278d2C820B5ED0353142C8,0x8ABe0004D749cf98C0fC1e09E797B76AdbE8AA53,0x7964306610B3c0aDc9F34A11BaB89F3268D7154a,0x3B5E17848a468315B7b6a0d087eda78c9B677e30,0xD7A831448A9A9bB8CF294f11B12D4fC64Ba97C81,0x8c7fB9526E8139A90ffc4058AE3268fB906b4D6e,0x2B860D532E0be424b84468219e4783Cdb75a2938,0x4e334CaBD169302b05C52c8a8E61a0aa7EA7b0Ab,0xE0C0A33416F26712e4f59e8A2a345609b4B6dDdC,0xa7645AbcDE52Cb2E8C8C5879f7e339a5f6E5c6f0,0xC4C73518946Aab4A73578e3CdD85Ec959DEaf981,0x5958411FC670fE546f3c8C844c7B2f134cb43CE1,0x2d329FF45cCEC77dc5470b4cBFBa82dd8fAeFAA2,0x5B38A1056e77Db49a838A26b1CdFA034E34541BF,0x3d31e5c9F7Cbd59050609a1A3C3686D4d08c3008,0xF5AacaA00b7BD992b3A303de095BC5da7DD49916,0xe4713B06abA976FC17b168595543056F1292252A,0xd5c1A5036B29c386Ab4f5DbA273cF36C0FEf73aC,0xF72f0a858d7D13d095f7FAA098fB624B1c109936,0xCFfEA90e4376B96c53a99851BA8c86Cb9DF600F3,0xCa446340b52433F9A25206ed4Db4b333AcE32299,0x8d3904785A581c58f19Dc03415fEd16536e0BCc6,0x73D544e64aDC9781B83C4A8fE65D45AD53A9a1aF,0xE8533D989165AAF2fd618e1Cc2B451D6D8263Eac,0x56E09255580dEb918E90Dc945e14Bd7725017179,0xEDc8cD9DE64eedB5F57b559a9825B85680949686,0x3754B101248a237aD3743DEf947dfbDd3E745415,0x8FF9Df4bAfb72dce69e175e4D515B43C2bDF6286,0xFA399385Db7d133dC098d356A75254E0978Cb78a,0x56156009fa9d026e04fD76b312df76fBBBFbAeB1,0xb00b7D03aAed54B7e5EDAB994A136713844e8957,0xeFB8Ac07C92cEF03c643Cc5B540ad12da4803484,0xaC9DC3Ea39797eE5484F485b2980b535d5a3C1Ed,0xfAC80ac986ca527078eCCBc93EFD93a1D3A6AeAD,0xB35FA4A7708B746030267A1f55cCC27cCA1139f7,0x3c84d2015378a7376010BAfc5efC626e882335E8,0x23998A620F3605fd6C0BaB43834EF896018b4554,0x74Dbb176B72b7a82d771263460Ef7c019acC9940,0x2E67c48a85D34e1645dB8Cf8B1c7e3D117b531B6,0x94e0B3EC075F33486D04271BE6cDaa5A1c38652e,0xC16603e0F85bEEd096fE229b74F94a43BC9c7C43,0x3F786e0bfD61FfA1c13e144B231dC43EA72189Fa,0xb09e35D7e811A17DCa3e5a2ceeA63054eE28a074,0x6D57f3B7746e41158e85b272dE45C7aeb0E827D6,0x7bbECCAcfEdFfaB879f6ea0E663e60F8c2074DC0,0xcF04dD9b77A6785712eEC5f3105E5b2CB94dA97C,0xf1711a20953F21Ba699229bFc38735489dA1a692,0x37415feE9206978cF2377e32F40836aC1ccCc62f,0x88cC6756fb0057F294d5f9363F8403512ce6Dc44,0x0b07725E54de7671B1a089f6122c928c49cE1F83,0x992d903A8167F5A4A13Ec70c65b05621f222EcA6,0x274D6ddBd2D43fcB58ecDF9Aa7D798FCD49C1a40,0x2CD17E77CFA662A78C1764C18419181efFd3e191,0x6b79b82c5CFc8230Bcb9347D093b81D97D31E562,0xdadb0b3792F47b0E2dB587696fCAcf0457A3ff4C,0xe22883b8DCD695843CB7875F2086dA1112F0d951,0x7D8FC49bee312670f68363eba2AF045Ee695a859,0x6B2a50571B076dA4b92F4308919Fe5ab1cEbF01F,0x439c8b04F605752179A373Ed5BbFbee2876Fc6c2,0x8ea3A85aC520a3e26736d571D33676ae97e9b583,0xd909123d846AA605CF7127ad178f7e4A9DbA8B4f,0xF32E51E28210229910C7Cde4C9d42f18cDD5385f,0x30Bd068c5Fc5EbB87EE395B043B3CDd1c1378D4b,0xe1Cc7f949C70b803B5Eca226429936Dad535A213,0xD180834039e772feB34C6b42b206eAF1E582854b,0x2b9EE87E5B597bF042B0Dc588F45cD3e2B1473D6,0x4D1570B56CdF3048717E8C287C9Ad9fa10A35F11,0x480DF72243D119d4826a733e00A7b98563cc449F,0x211Daa831dD902997152b7C14c23C09e4A503914,0x990C214889334035879c4b0E70d17DA9F7703483,0x0e11BDd390085a3cbe7be90B22C9F56F18E8eF11,0x9ACA9398e804df364B72b36EBbA8Cf8433E0C999,0xAC08eFb3DeeFE763Ba4e3B210c975cCdFda738A4,0x62F250495CdCbc332B656a8482c5a24B57171e44,0x6961349E255c81eC2e37C9FfeE54bB169CCF86dD,0x039E83CF3971434B6e256CC3e467379466ab9313,0x5c1486C77957d019525e08Bdb37b6C5Bb0d8F188,0x74708AACf09583fd25D1C9Afc18C8f69f4417ACF,0x389B7F17e1ea1A02495Fc8E6A9eD63A60cEDb243,0xB7362CdE6DC4eA6a44D46BF23544898721444c8c,0xb0024fB5C16705edC5C3E8f66e5F79f864E952b9,0x7066014277ddE23cD88718504B7DEc8a398245Ca,0x3415301446cB482213CaF61029eBc3774eadDBb7,0x9C09dDc82561e924bC541bdE1976899f214Df9Cc,0x031E10e474c1d7b8638F199d30b4502cFdF89AbF,0x5ee01329a60019535c9B95950EE415F15EFaB958,0x00eE1dC7F82459534d508A702846f940001DFf87,0xA29C415A745aCa4637886A4D598054c6454Bf677,0x24bC559b81D24C664591F9AF19EE8C108A201595,0x0b10AFBa8A46c8110A196f3f837E399637985921,0xd5C1F4A13b09fa91b79C133236BdC3125784f795,0x9949385848eb72bd3476C5c9F3EC1190b877c618,0x19f2B4Dea91888c72e0F4543Fa6CC4c926fB401d,0xC28786883b8a56804D2ca5d92a37A79c7cd7c65b,0xAd226dB5e142F2610aa005c482b78c02c79F3Cb4,0x61Fc0f87D419Fdd94248059861BF9E19652deCe1,0x6A57E50db5e2b89E19Fc488f81bB0F5465e35162,0x4cF4427AD3484e1DD81cDA2c41DaB4EE2BC93823,0x9E9c1F45D1624B899C6c9577eAF4edc5E2A56aBF,0x60374A1B9e417fA4a60053DD95B881e216871376,0x713001784115E71315Ad8711575f971FBe09F9B7,0x0e451f953e4301a4Ffd3Fa9c2491F76b263cf108,0x4ecA3Ee20AD41DF5dFAb27d2e9D62c6EE6536062,0x8B9fE4894f7B2a6145b5D4865e29abCf48012075,0xd2343Eaf48B0D5504ED71681F2360f10A8aFef89,0xd559b6f387ffAb63610B060b8be1B8DE6827600F,0x6A5418b3c33c7153161c49dd535fDAd4e4FcA12d,0x3ED2D7ACf0b9ab3fC98603D7FaA920e613d3e556,0xD0fBbD9b4b2911Eea59aD57aE7A1905f49CE09D4,0x938f93b0e12FBe253Ac1F7a39C1D6b2951d5e587,0x7fBd7a7c0c7D7d0e33a487F6E0BF3F8b213709Db,0xae2B079bf8F08883c404944f87F0F5303edE2292,0x78b1B5e843164D900e1c4c0DF7c8926054435682,0xE734f4D671Fdbb7c58Df337F9260D5e55C3fa7Fa,0xB625d4EF08d64dae4759E347e3984B8B7Ffcd9d9,0xF0DB70Fd5fA4DdDc2e61779a1eA36908932E9F12,0xE2e05ed14FAFaCe47B99137679C9d6D5432b2c22,0x878404C02c8d4ec88AFE827dE2a08879752FA3dA,0x81131878727f4d4dADB1A21d659868594927E74d,0xb40C1eC22093D1C5d9467152E073d7E384e6dD9C,0xf53CD61E002aF1A78a115B0c1936978e22B12768,0xd9F01f0936100fF2656a3Aa3626Fe42d771D3C3e,0xEd3C86b42eD24A0cE774A27069Ac41aFd5EEef84,0x92e1b2C322911EE22242E9a6E4Ccac2D5D6cF505,0x732d9Ee644Bc1d5958e72124F79133A8CC49a1AB,0xd99DACe0F9c416DCD734c11427D8E9048e9d8FA6,0x26187AF2E2D5A941eE2D1281C03fC0B1bD14d940,0x2d1184f708F383b42cdE6dD2baFa8bA4AA190374,0xC1d56c90adab2C06078Bf85632BDfeB0f9d4B22e,0x6588e8DD6188E204dD468cB98357A87357D94175,0xdf078B446b4Bf2CEFaaC96dd9f20458fE41465D2,0x72ED780c2d7b1FD41aB3F5c43A7c68dcC3dD5428,0x1A9949e0945d2cB7bebe54162a1bA9E6459b51D4,0x2CB32520621c2079010dB985282AD42D05685D96,0x472dCD4c1f594dAc984D442131C4503C75461af9,0xF278323e76F825C2C91e110a9cDA8c6C717C2b9c,0x17A76b4e13a0cb6f1D01aD769Bb66Cf41cD2c043,0xaD2dFCC4D2Cc41b2f9e19812237Ea3D8d3f40401,0x3AcBf5dFA243eA346CE741C9F3D1556d33DC33BA,0xe8359CdEC4bDd8B8A46EF00093EeEb01a9debA16,0x92EFDfe04AA5DF1f1e824e5E3D3928Ca979208c8,0xacaCB9430212f977ABbA9345F7D1Aa631E3e0771,0xee41100c13daC5725eeC4402B9b45c7ABA4957ce,0x639dDb339665cCCE59C6E1728ED4E06a12E15e6A,0x253168D6EabB56DbEF02bBCcB366936fa53002B5,0xfAcB518d26dD126175F1808C92Bac5EcE92A11B6,0xC6236cA9DB4043C7756e5eFf151aA953ff683eE0,0x2D19784334d6E08FA5b9d9da6509E77f7f671CE2,0x81Ff54C6B56258c71946e9Cae615067748802406,0xe24eE348f353813728818cc6e79853e943f4Ce8b,0x63fEb64d3dD1b0dC0DE78839343acCC8dF82316e,0x5499bA98BFD13839944ac4aA629df36d613b2a71,0x0993562A75eDed9f23434c408731daCD9754C83a,0xeA7F19ac27d0fd224E991E1bc6C6ef23F793BC0d,0x4Fa7e65636b87e01b06D5152c1Def322cC85F443,0x62414Cf8B1B04C36fd788597c55aB3E3Db24F4f0,0xD76809B18a8c40328A00D9A162d4eA9254737238,0x576519E51a978340394BFFcA55AE7834DA4896D5,0x34f89Ddfa83b105366Bd60Eff7EB1896C9aa296f,0xbcf3Ddd4781A156B68efDDD71b0dcB40C25d7785,0x295A1257e1c3213C621FdbfF19679bD97deDef40,0xe7Bc4931E93Cd97D58b7251a18BB493D23a2Cd35,0xf0E60898Dac4E738Aa48Ac60C689318608ceF746,0x0BF5b434F4208308b3274e925faC89C297ba1f6F,0xD85c02c684C04eA54C289CFf29023a6b4f050BFB,0xDF37Da805F0903F17E1D29474A077EeBD926c293,0x61FA0BB8BC7FC2990E3155cD119859d9F7c009a4,0xe2665ce70Df2E7C474F10D1E23d9eeC5Fc460F25,0x3279A9E40148835A6dF92657b40C35d38ce5c32c,0x413da3f152Bade8152c0b7B2495321901f292C80,0x7f983eb1DdfBC869CBBB4ea573cCd6eF1161E513,0xC2aa70E4008684393800680D98445cf50F35beAb,0x9c36232a8D9873ae79Ed0EC4045C61422B4f1695,0xE32B8DcfE8d62C636Df175910a0714C3254225E3,0x470cb04b3086812889bf3Ba2180c584556A5e689,0x6D37935418a4efA84F543F4ac4F3a5f4CB2d3d8e,0x7CE5e82c722bc9f88530406B19bB78247bcB534b,0x945157Dde8d93C2c1B4481b92AE2b96BB6710D6b,0x272Ac27e2ffc6dE6BB056F36567F3B1c78Ca0BaC,0x65e92E029bE941E3ea489F3632c282D6bb5b4397,0xfb1DdB5eFdeDdcb9F599963A0Aec8eb904De3161,0xA6f07A32f78196552d1bC4DEa8eD6f70D3dBE308,0x0C26CDe1B6d5377DAb07146b2b408b9fE3bC1D2b,0x5fdb6770c0E029a8283Af98Dc36fb9C1976AAcb9,0x0996A8F51dE95c3F74F509C4bd27C85BC271d216,0x4EF99b32f216D715208290b8A2Eec229fb09A942,0xcb8F3974Fa8A13e2456259B2Fd1A75E0B17FFcBe,0xB2382d04ec11cfC2F5AC5b4a1A8eFe22073A236F,0x9812797c12f13cfAB63f35031bbD82f03A3840AA,0xE0D54a43be21Ab0b3Da802A2a64F1e909Aaf98A9,0x795F5F5b6dcDe3c31787D6A452b05798d40c6A6C,0xf1684Fbb2ec9EA929Bd1EFeA4a06606918ACEe0b,0xc22967e0E7fD239369F6240589bE01aB4bE0E161,0x58D1a30c29E22EE57783e0E1acE9228cc9c3D7b3,0x23F2E4C3fe5C0c939B44c1d44373E4231Bc0EcC9,0x6561b0e908F3FAc17F9617B64E1c192f58367E8D,0x8C2a0A1c0eac554414aCd94Be2DF958C4DCA0B30,0x77DEA6215B7B444Fc0639b55BF1d86B1e315f0aF,0x20B7883B6E15163076300956830FA2EAee7f771b,0xf2Da31917b6d568FA376C6e50a8B7b144673a3ec,0x26BD12da996362C9Fb4edf2E2ce661be8AE77009,0x0de0c13eB1C29b56cbC9991328080712d736f691,0xb1e58945526A21a24c3701F4146e8f840E9f543F,0x3F53F058a1346D3D98ab2bbb1326976D3E8c110E,0xc8D5870CA3078B451eb626648925048Fea923333,0x3c85EEeCe4BFE9F4e6823Da5056Fdd2164CAcD60,0x685b862CF06653119Bbd334946b0a7373Aa9a47B,0x3D3cb065DdAe9daB7d6b71fE1b1B22B66b0fa53A,0x5cc0fD9dFD3fB55b4F488B67cb349BB75082c1DA,0xdD1924Cf5A7b031d29154d5161f64927Ef04faE5,0x7fF8634C643CC8b91F6FE7AC8a0FfbeA19CFC83B,0x6bbAd7eCe0EDfdAac60B6f03F0cFf1C531E8B2e3,0xEa3a4786Ada7bC64ea349F8b696dBC481Fb8cE81,0x5AD3BF53a5C9fB184768aA29be494452D24dD019,0x21E2AFfEA42D113E5A4Ae98aCbADa0EAa02d5695,0x32C3Bdd638bb744A4E0e79c10aE233bDA9AB27a3,0x078468E49E0D844d3Cc262d4A0193E2251a64e7b,0xdDb0DB81CcA27B2C8D3d15544949B0bEF742E5c2,0x53985c16321632bE042623706E596dCED20166Be,0x8F413e766a2EC3DD6B3855aB9f372CFB072d9937,0x769B985eAD1D02b2b7Fa93fBB6eAE4fe1B673768,0x82f476cc3aAF427A6ABdE138C741875274f7F01d,0x5756a75678bB6d6297B1e39DC798ac5D20840a74,0xfc7aDC2a1d4A11a7Dbc2a8f6A054670C137B23e4,0xc798034caE6C6854D00e23EBeAEDF86E9a28AF38,0xef9c8F1C8aaF17452c6Fa706b02B2463FeA0aBB1,0x63aAC0690E1996FFc8fFc295bf95d60b4bd28Acc,0x7a5A2965cC3ed9d2B2739B615fa3231eF102E383,0x4052eE9CFb78f8ECCd0a21fc5457B3D58C4D95e4,0xdd8D9Df5ff4210A6485401E61407C93Cc24D7131,0xa4fD55095D1144096769E61EdDcDc404048D0952,0xD9621D4c32CD005d93962A3Bd0E25502998E9a5a,0x09867e6b45C486513fBA94DD924AAB9A6acD396C,0xd299292dF0bb17a8627Ca65fF951E6d4672C63D4,0xD369756F3dac9D5DB93883F7A8cE66d8A6C3e3bc,0xfe93fb813128445ee052883A63cbB7c5735166D1,0xd8b6090303a6cBE2b64cC4b2f12420F77069d75c,0x57f0679EEa804d485D9Cd2CBd569454E7b14ae2d,0x77583412FF92e4E05F1261E38f1979CDFa7E0F69,0xEA09488f37844bC7ECd88a7cF78E7317D9aBaC98,0xDE24314066F14B37240b0aA7fF08bBBFcD8aEBad,0xb9b50F4e5a3f7Fd63e0Eaa6C77A08bE9F5B4BE00,0x9fB8Cd55259cD20A6620a796E8455a74B62c2CE9,0xE1ccDe73Fc5cE2Cc69ABE2AFe105A7EE6fbe97f3,0x57AdBb92c14Ac24a16Dc3319497F3cc7f0504194,0x9ceCb6b879999e2F7A21AD01F65B962FB928779F,0xcC84878AE314F08FC428f412F8B4350Ceb445561,0x4DA8E56039d22cdf76253a6C1c1d1f35aA745A4C,0x7f1e69752f2Ae51Be9E6592CD6b1600e84E60ef9,0x6ca6e144F40B412d839e19f929aB8617D7537A68,0x8D8e0DbA39FCAbc4c274277E9E14E30E865A0C1B,0xA3c74C3aa815b1BAd5A11511AdcC7a6D2FA5De26,0x42A8FF87C4dC252b6817f5A0EeD826eE32679987,0x81F058f551783eE1338cAEbFa915F34013B019eE,0x4334aCF7A82443d5C64eB863Ca6a5E49d9500AD3,0x80C9501b3215fBC2ad942c7BeeDbb511306C9000,0x0006Bef13b249090A3Ad6238CE55178DFa8AdD1A,0x75184B1F485c9b3FD6388191D75C012aC7d80E74,0x5F34AFC51a6d2CC94748a21e525EA35f80F8c255,0x35136841d869Be0D9c232A40904BA343762CcCa3,0x223b691D7fCa83f9F36fdc9E0ABE0CDa0245089b,0x2ad69210323bbD10E7cF531ba024127D9391e609,0x48a5aac55CF76d730BB5C47e5cF22eb2Bb55473B,0x47659aE6e6FE57B73EDEBaB0D68bBF7354e12021,0x729985c104b7ba12AB2BeB34bF516dedcd4b32F1,0x27D438Df85fABde466843e71c61eb84b5FFA5D18,0xa28cFc98FE7c33f2e2C2ED6e2E4a04d2dD3D1fFB,0x8aFd1e7Ae8F21B42f1dbDdc07266f7eBd09A86E4,0x027B7566Fe4244df6fCF456D74F96c240Dee4d7e,0xcae4Ac13fB3DeAE9650AB3c6356ceD78C3378fa1,0xeb3758f1c4f07f5C154d445049ECF57f1e473288,0x9b24D8fEDDd6a49DBAB2267bA84Ac82210469448,0xA6e03d98e5d23ce16482Cc45641cC2360fb5820a,0xF6Ff3D4473A6a6217d3463Efac5e78C312813Ee9,0x63AC4dF129D2acC240b090De5Bb2AE514420a09f,0x67f27ad756E509F5711527f1fC9fE9CABb3175b8,0xfA56A31D249E97fcC30F02dc4bd6e6f70AAe4568,0x1Ab5f846e685C487FeA3E167fD1761732F7909Bc,0x9EEE1A5D44c136Ff4e78b86934229242f828f2E9,0xb126326a6b05C19c3Fd169B153DeDe6Bce00bc08,0xf08f079FBA8646adb999AeFcAF9e23B8cB5d2aC2,0xB1F7162E31056383e0BF5fFF38EC08cf29f773a3,0xBF90Ee453b3AB6d29a8Ba6630D92Ae57f81D05e6,0x4A480a3c76996484Ab7C2C570cD460008e1d26d7,0x286E51e129fB1A2f6B5b4D7341aDa3BC3BA7f386,0xd8152E207fD1F54DAEb021193398d95A8Ef85679,0xda787cf75c976C896111ca09570A944f85AF2ccf,0xbB79c618612fc7de51E0b85d35F9B926C08ED5d3,0x8F5c956faFD5f72C6BE9f8Bb6fFe395BFBd08E59,0xD8f3bCa6Cd6B380539C760a53887280E3a46B629,0x47e62c5B67619032f1Cc1AA066f03BeD81E46010,0xcDa74E76Dc971BF636D0D29eb352c2Dbb1Beaf0D,0xaEAe567Fc74bD51b7ABcF75057f327a2DBE88aD5,0x07599456237777486d933c7E72e2B8bbABD0B005,0x889aDE53D54AF7504646B7CF3538A1AF0e554924,0x137fFce9ca35B67C7eBF9BAb03Ca212aD5e0fce8,0x9b2d8aBfeD85d3436368981d7cFDaC4Bd32E9964,0x15CD04F71dF0A7553FBaaf4F4Fa30801FC242e3f,0x1a382d13C201234c2E3fD0A7E767A1d985C0c725,0x830e9E07d8614aD59291ed4D7a11398Ad09c2C63,0x927c469DBa30095A7661cC5dD92E5059B030050B,0xD9b2b0578b414aFA31BF159D230683752eD51774,0x4cE133b7Ee8A61a4ac13Bd525D8cFa36AeF2B93A,0x5cb642349b35eA6AACA13049663C144dA81d890c,0x5aC2E7f1ef14618eDe402CbC98569Ddc4956bf9D,0xA1A1B6275ba2050238F2A1B396f88fc65B63BD61,0x334d47E58D549529ddd5AC94f35A1D8F7c657c76,0x52b0c3D58Ad771fE192530986E283e1037C985a7,0xc5e7c9D5B8a3fe582a7BCB374533865840AE1BC5,0x631c06BAe101c7168C35031A63cc9Fc0ea0892c3,0x79E90dfAbB202996D272CEeC169f0743E89c9ADa,0x27b89e9beC5173814a2fae87c61C0CFA81283209,0x6D9C4935876CbEcaf3244bC9d6Ecf40C41A832f0,0xfB98D2DDEf4C850A3Dd8541508f1fed916F8C91B,0xC3ac86E1ac775c7BA8118a09BecF784e4c3d8874,0x3298A6789eE0E6Bc2b4511568d6f1B2C6E306B60,0xF5cBe47dc8115AEc8F6D59c3392d260C3E470097,0xb3e524C6Ff7835D65caA01C1a8c55dCF8A680698,0x7f480927b43Fd4094C178DFC23D1ff8F2Ed5cDEB,0xeAA93A3140B0654e86f853f3FEC420b63Bc02e39,0x84b2cAFA915F891eBEb45612903e7b7559d08336,0x11e8F0Fd8A5CA2a1Bb8Ff2378f6110ACD7782CB4,0x982E59499706156b29A754429CCE4C73DA39b40F,0x802330844C47b1059451d9932e650437a689759B,0xae03Bbf3b0f54C34643dD374243317Ce76A55b9E,0x8869b96dF18e42c99c3Ca2eE3CCbc80ceA06236C,0xCdbB31299A8073BeDc0174329E3203030891Cd3a,0x555b85e1aAa12e38f2c3849f9B77187b8b304316,0x65d678C2b7aB4054360DD0179aEA58b5Eb144C46,0xBF33b9C005D9807dB5bfaF63B1c2FADe53654eFA,0x4057f07f8E0189F365Dc2Fbf5829d139ED6cE1a8,0x475112aAAfB778B40aB78879C11dEBd04C4f5194,0x637dEDa8965D4a8F12303c67Ad59905974D7844d,0x1387a40a44766B9a3C86486ecb08084DC3F6C431,0xb6eeD3E6789d95483AD4c781957C32149E69B6f5,0xf582f6CE1a59ab628693497eeC12b47dDc6bdbaf,0x9946ac406AfABCF22484974bDbdEBa593741962E,0x8763445693012F77eCA20Bd766f4F6674e9778d6,0x66490f961F0709f710685D5a726A90484E4269A1,0x1Eef0bd83d04E179F6E4edc52C8b9A6ce6011bD5,0xedBe38588afF90d4550efdc91801F2b5D4bdFd7F,0x139295eF4D5f175d856c8b3395711ef495A5311c,0xD588584a05AB935a3427c2566F771721f555f0E2,0xB00720D346f9734f7371D00fE5cB2AA4570a91A2,0xB90A455832dA2E1d45549ad1425662FDCD4a8823,0x4a246A6d7aCf998206C18829c12E52A7B5Efb087,0x66563BdaBB11FeBB6d62EE780c5556539abe39D7,0x2e2846829915F43d3e3444F3f75C09294ef2A78b,0xAc2e7bB8bB02e7A0F4b3447226557Ac2943843Eb,0x7f21F5fFFB8cDd6F7772D9F56b53eae2B956033a,0xC2BB22d150a05D612D519D1a60F7963569c9981f,0xa02124eebE07E31CB5462D76195d3F58965aEf04,0x95B0a5f0A1D68aaE10c254f1A69e5208B3d79C6f,0x8D582e731eb7a34B59711B1eA4F34eB41b308547,0xFe8Bd56700Ec0794edF800C654170cA3c40998b8,0x4A44A49B8620BF528289C4776BC5Fa2b4262D0D8,0x5FA981C3DebEa67812a5AF794Dd05d6de2c92210,0xd0B99DBafEE2bAe837482C5b1A828CBdcef5cbED,0x87828fB64e9626f4AA88918BFfF9e51c7CF256c5,0xc87F0c0882cbCb7CF62D42fE8435BA9FF55DE7B4,0xdDC435c8d9B23015E4B665e36aeEf95477db649A,0x1DeB9f0f3cAAAA28Bbaf39DE9cCf1A18D68DBfB7,0xcfC4F0E7d354aad7839e173305ac04bc464930BD,0x9154d73EdEFe38766526fA3718782a5c1C470edA,0xe9f3a10846627Fbacf5807082D4D348CA13244A0,0xFfD2D6E5A138df9e4b1CE56C4783d59c2763d2EB,0xd02c16BD10559655341650C4fcA77A5739991138,0xD057B3206b698D13Adb802283Bd84e780CDBA75A,0x8620da37062E7B4809d6B933D24Af61516920032,0xAa973DFc84ae293500601780292f3cE8e3CBC14B,0xD015FaF19E5Da1c4461fCCD455f276e336745311,0x385df1576b906beDBA46F4728874c3BCfA1B324a,0x5123F8F8CCd88373b8a79ebfDc65Ee55e6Dec335,0x1F59609C1A6F3aF0A6c711C271984FDd3305983D,0x10A8f983D91386Eb25C37aBc1Ba71Fe8Df9B3C2D,0x8917BB21e0878dbED15a57910D6641554a4c086E,0x0035A907ceA37498Dab08838BEEc8a3B863B56b1,0x6101E6E89edEa0FadE9E07066A1D09A42065EC66,0x35AfEA9908d82C5E40CF468793bB0123099D84dE,0x74289be838CB416b3FC524D9F77F7C95bB77A407,0xA76a6814ac0B64B5d941F65be8C8F3709629C6bC,0x5F42aCBC0d43db24A8c1b80d3214e6C9dd08c184,0xe885fbeb7f1288864E91DFB06cf9ed91BAF1D687,0xf97d4ED9E1B56A9Ab9B9eF04e82D880CaB621f1F,0x0944FC2d0CA9befCF2C465C29985C4C89DA5b0CD,0x5D9E877395750bDD8C4a5223c7607425c7d479a5,0xf955736Fe4a87465B830A6c90833419A8e8bBb25,0x8ac6Cc7819Aca399d19AAb140E69407e6E01E7B8,0xdb2A1b45F71f1f15b0FDbFbaB2B4C26407568e15,0xaA4d1f4e5D12F2289196d5304908d3E30d26c9fA,0x851F66fc36E6AA15B3aF6D037fbd2b09caB565bc,0x789024C47b15AE4B08C96999951846dAe8f7fE9B,0x87654Df496f41e9b279Cf95b64DEA6BE1266ec8A,0x200e7cD348d957903d451e50695cB416B9d3957c,0xAA09bCb1047372F4eB0DE555fD16d251F9887d94,0x197d93A92208180d73Ee7C8eE8D0cD9053c1d6B6,0x6C5b6128DE537fE0D5EA4683d3B1Aa9703eBF3bD,0x8E327165b6ADD2e28646E176182D6327E8d2F323,0xc7547705f900f49095066D89a74684685c2562ff,0xfB10eD5e0A16324313616A2d45972a9a84cE4e65,0x0F9FCc1066B4753B795Ca6f549465776B998899B,0xE36a397AbF2e594E0F42b9B836C59601E6fC0267,0xE5647293B332CCDEC31F5D1AE3ddAfeF9ad3882A,0xbEEDF956EaE5C8705d558BAcdDB8C7F3a3f6e8ad,0x62D5eB07B812eFedf6F70daa9741c3104dF10392,0xA80349A9464Cb3186147C48D7212CD60AAEc494c,0x743733B1b0783D9fFc46Ff614D6151E0233B9f08,0xd673483A4974865C9855D48706E0f1118E3FD3de,0x0582D8194FB42F6dbEFE2a85AbF6c74D5bc3E187,0x73e269783b752a3e14C2ffc6c31441e59067B029,0xCf71344c00CD87Ce02139ecE305F5856ff51875A,0xDe137751Ec0586AFCA1c42eD62F49B0419C9e0a8,0x247c2428191836fab634599832085673D6bB5ebc,0xAC4f6c9dA26a0c0580856A77e394C6C8F2878De2,0x18807Df4e7AA60141A21839f3A7f0F3361984B23,0x6a1DB66bd9a3799C479d50951751Cf6c253182f9,0x4Afb2BE813f25B64A4299e4D80Cb0104eb263F11,0x8D6a5340892ff437FBae32e877B77ad8fc9372ed,0x8E7d5194E22E6e8d657791E61e76B426773D62aC,0xDF805eB64093620E0d0b7725812d908d3a957Ed1,0x293F2c1301bF7cbc86F24F21387b0347900dC976,0xd73D75682472a715a66EAaf251137cB1CFb2932b,0xC41e44750a1dfA01b417a81BdFd917DB65eCB9c7,0x1ca972dBf0Fe8A3678eb4cD6B6216C302b67145b,0x164273444cd43b8a10383Ec55b05D568069F8e78,0xe556f3bf56222963Ed7bd49AeEC8DF9f8a03c3C2,0xb8b720f5006bEEBA0926eF417FA075dF45017FaD,0x178bbf1B6Fc1a2888Bd140776c53f1cb0fA1B420,0x4A54A19065Fe43858c8848f89a608957f571129e,0xA79F55e8fcD7Ed2D5E3f3719bDAb0bEC4A8f3EfA,0xF1115989DAE75Ad6f6931c712E55f4D94e36dB7E,0x02198Da26cd4531706E1Be1a0404d70Ed42cb82F,0x78668e3ba2567F5c89CB55878080595Ed1eE1532,0xf0C3Cb91387e3e37BE5528586396c8D5EC2d07b2,0xfc96c9De38447434259c43d4F2241bD52D71386e,0x34e7916D5d8681370ed0A6774CFA8347c1d2c9B4,0x233F61cBb69E1034d5d0dDb1a6FCacf80c5c38EF,0x996Af69659bEdB7cf3aF7D2135f8127ed30eb47d,0x79Eb4a5005922da62664b36e269353FF26056145,0x16edC91Aa1Bbeea459E28B01aCB1cA8FEe79D112,0x14d2dd56bAecAb1b6FC29eC137a0860C0D514c76,0x5f7DdC4c4586D4b56634A6A976545C843F338a60,0xc459Dbc87E27dFF52F2b21fA2657B9A5bc92b8C8,0x8480b89ac6ee776f8842A17f66544Aea3726C177,0x3Ae95AD952A26630f43E4498A7A82Db20635Ac25,0xAdD6a24B7b1E858b8c6769B82F17611b4A638175,0xec125AD722f1f6b2cD6D7AAff88C3c227495B5E0,0x13B24fA5F19aE0E9f9fa5547c2B5aF942Afa4261,0xE8fCDc329c9BD25Eb6d844EC4B4E1b5925ad131a,0x03Ed7c9768E331fEF1c3d6d89cD6454c32273a83,0xb423E06Fc7B9be29e8cdC616daC87d48e25a7bb7,0xbdD31160772498A5915551be812847dAa6F388fA,0x7b5Fea2D7ca3016f0f46E92E9cA40C46974d2Ce4,0x65E309bAE5ef3Bc484bE0313204f4f3101aff102,0x836266d230fC857b1e3a1A824C12c59C5925cd47,0xb57FccDF3dC709C3c4D0497eFBb9a073F6fde5Da,0x1e63eDe600b62f2Ff43b3867Dc86C8db19F8F2E1,0xFFA9F7994d20bA7DE035D6fa41e6871687F13290,0x0224215a3344e3ebf3Fb0e3A5104452489f51843,0x80827527114Cf5e466f52dec6c51F37862F29566,0x8530f639d68294A354522d1C8453DA2E561c001e,0xdf35a04B5CB35938D2F3C57f49A3Ff6a889670ce,0x49D6ebdf80d2084252f5aAB888f1FCcE997DDc29,0x9322109123B0540d8a4F5A2928ED893631fFf642,0x39bcA683A410753Ae85Da9EEABD4cB5b5b4D5D2B,0x280D0E4920Da5808DcA7Fb76be6d491c0F533319,0x83EdCd53C07f8751d9FF6f9F0f25DCd9DD371059,0xeD2C8FdEe39A6841c49b1f78929C1533f5986cdb,0xb445F034B4A211624C883c7dC3945A3f6C8F2530,0xE9b3fbec34e4C4c96FFbf3975B8Ea7eB562504C6,0xc30013BAa11654Cc37377845C58cB2F9A5AcA46B,0x654588270Ff471a15e7FE09e5cC4f4B5cD18b62f,0x7a41c650c95360d7aE3281eb4E56dd5d91E3853b,0x0fD34a6c0C484f0dA7fb00D8D028032406c57182,0xdeA35742bF7C670e86a11E2306160d92608Aba1F,0x2AA623258a13585992E2F5d7D50486fb2892d89a,0x93E0a367D0D4eeE72B7212AA360748AD1e443aDf,0xbd03308A3B0F1fec0fF6F4BA6d100C3041D3fF3e,0x262d2F90F05517739008246a827d58F979424d50,0xd1A9570647939e84e1196972D2356a87e1d3AD8e,0x4b4184b191e1FCBe428765b4fce813721549247c,0x6BAda952a80C5e83fEBeBcae62f524B361d1ceFd,0xA513c2d5D01697FeAC6e5B3B602489d8C8F84a71,0xeB510Ed57658E27A60053Ca9b64949A550BE2792,0x494C36b6eB1171229f9AE48Df9C28A5e576507e2,0xB016b6B24dE1598662B22dF26FfE27a15bd28643,0x8Faa9997b3f3E5C1054f74CC4A01c312cfF68007,0xD1325A2f91D2aA8C1B1d10A6F04F2aFa8609bf42,0xe73104bafe72F40B12869a8479A628513E9aA014,0x599dEEe04A19e3988f5927781C8e93fEAa5b3cbC,0x138776E605a008AD7985450deD654Cf9e6B6929f,0x37e8837d0f331C8e0A2Ed79245830f6Cb5f032CE,0xF901cC2811bBc25C697502d8e69C2ae8BE74eeCf,0xAEC3079B2A388837667120915864959f64d44B38,0x235370c641e9F5b5D5F6B38d7D9a526A74310948,0x17146187D85B0D993b068172ff512353B95a64FA,0x59f0DB6A672d7704AB8C50B088689cEC3B69e51D,0x6E959f7c452647bbBfaA933f7Da967a3d219C1BA,0x8c0487bf345D0Ae8933f56E4f3e928Ece9bE8849,0x0AD8BAeEe28cE6E9C943393531Bb6998cE575bE8,0x3cc7AA3E9B09B337EA45D4618e6818bD00508380,0x9b5faf112141311E7C5a3E5e20cFbde67a794f59,0x6d299b48D9adC5C7eD195000123c240906ae3438,0x42E0060017F153e920005588853f9567Fa666950,0x77Ad6189b5BdfaDfFB3E30885c06d5237f463E72,0xAADa7A57FF9a21114E1770ae1A514e53C3De7026,0x15fC9B02dA0970f8eDF6E4bc6F799EaB79EeFb3f,0xA0665CcB5b21B3b4671403A26990fd058b7AC1cF,0xcE6EB0f503ceEf7B4Af79f5d5a97451883B5e1e5,0x4d188ecD8f036c83c244287C31bdC870535483C0,0xCbB8dD6ab53C0bf758E74673271DB045AE70369e,0xdf4417BA80B9608B719276c917ECC5B9e5d28900,0xc8Ad2E37f5ec15a2dC3a729204F42B6f0D628853,0x0A474378E948DDAa23B081d366B66686848122D2,0x323Dc376282e0865f2E1FE112058462254d23234,0x4A86d53fcA883CE12E293500454ea2908b990132,0x736EC392eB92af50589384849f3A8f621f025544,0xa81291a386E72b17720F323DaD85Fc4cBDBCd16E,0x67cC5AE0040a911F1Bdd663E38e30A8044C92571,0x30e7E6801d9762c365194dE429cdE853349556f9,0x0393cd8D20c2f102f7c342BcFA647D0f51490932,0x94A3778D6cA52ce6b9637f267Cb805E6D2e7CCb2,0x386E91E3A79Fe2045a060fa7E5402315e4cE8A08,0xc3705a64373352A881cC8F72479EbF3A91db18fC,0x4dcA8D2752945D0553E3e34D0bE3F9Fe76729c58,0x72c5169DBA0a9ee86aef8a5233e91a88CC800ECc,0xE37dC84A55A334E1eADC3FfBBCa629BA9B823abc,0x5F9c4d6436C8b9C4deF47E0E26bf31fc8473f1C8,0x24b59fB9f305A5700c3bEfb3A8c32ba23d234739,0xFbe867c0bfD74fa7c1C39b194FeDc11A002248e5,0xc825cb06154f4004ffdbFAD1F97e1DFE29251FAf,0x521d7158A6b4D33c6bd89bdA56B8CB5b2A066319,0x09cFdABcB4e1Ec731AAa3eA6190184f11859aBD1,0x88a6B5D70fFDFF6B82d251795B50428b3Bb48117,0x7b98a7f57bbfb618C16c195475426180f6116077,0x94324971d9f0f1C27322D0Ed7607a1177D87b267,0x38A04Bb3CE0b2b7E8DA4bF56B6a56290d83F4ed3,0x9025102b2aCd3b962da4E47978d0eB16458bd9DB,0xD97988491e71DD03d5415e62a7A8B0C49E7147B2,0xBa2b7d6d40d56d60CFCb3E7Ac2B4d68365c30835,0x8C06d0aa13504437094E29a75bb4bc9265f45b4D,0xfe3cb3c474aa83668e828dDfCb8459522Ae40BBc,0xDCa7bfA8b6bfF2d337194d3d2C1Cc0cc20D22C10,0xaE0bf36d9ca8bcFF08b0212a659228cC16A4e8aE,0xe08b35E5c5aAb97cBfC6266883832dAcD3A5a050,0x23B3777036ae4ae9bD15fAAAaa0A96dC27Cd274D,0x1E5361146582A9C2a32CADE53A3A89813aE57168,0xD50CF90663F456Da5AA3672690d03Bc97bA24d3a,0xA0782E75F9ebB2FDCc2478d520aa92950A6Cf750,0x8087e4d6d4291778C9ce4143A11Bef2B20F3140e,0x285Be5201ff4E9a55aB0265Ad9DE084C23064136,0xcB3Ea946316C7bc2F58135431731FeFb12ab6382,0x178cc437EFF1d71bea766b20e7B78D83372F2128,0xB2327E2Bd254afdc0A609e4dA4FbA555EE00D286,0xab6d6565cFEAd6B973ba1e5A959e4033Dca5E3AD,0x4549a16B23C177837970762aB3750486A5D49F08,0x03C6864Fc2cfc9EBC47Ba83863AC9151098dD416,0x97c6bEe26821DB970a4C8D2e5568fFBE7269B41D,0x6D3c8f761A29F62cB5829cE6DCFd7E73641f247F,0x530E6ECd167226F3048D13a8F6eBa3c1dDDDbF9c,0x7c0078e427363Fa2015de03b4168369413fbf689,0x4Ee02e4E26054B830B20739f7deC3528B1f19320,0xd432236156c0Df043347c7c6A092b6781Fae48cE,0x11e4257C8282F26B5D720E7565E125d557Eb0a2c,0xD092e9fF6913F6473BeaAd95909821DaD6b499dC,0xFA8F8C14Beab1E73Eda17F3Df74532EEE7d66b00,0x00432FbD1017c3C90aF4835F71eF277Fc28F4361,0xdDdA7B0e7776B6a008B3e67baA0B24980480B9bF,0x5BcacFCB6FB2A750ef490Ba3E723ad7ca574D570,0x6A02F288B80D96675E9770a88e99618Fdb8a5aD7,0x64965FB65Fb2dA8e67534618F36Df2D2F78970cF,0x580E42791E1904BCF6f1F36212f652979f6d03cd,0x53D153e46655937fE1a3f0a48C716F5db3B66a21,0x2377c6d05D8B8af3c35318099dF67DEfbc29a249,0x886FA99A190f58F51540bF316852207E4A8E816e,0x5b9DFfF627356b40c19d7253D657418483E4E997,0xFDc4d55f97a8105031df2c3cBd04F154549B67A5,0xE70299b2b9b029C5bc8184d6fe1a57e4B62E532E,0xEd78abfD1d85cfa6BF8bd6C116e90c46DEE9ff1B,0xDd0809970CD98AE7Aaa42D6B4e8776EAe61a06Fd,0x1832C65105DA10CaaD98b20e3A079D1B29cd0bDb,0xb5d12a3c979C36DA416ee3997Fdbb4AFF1E9deA9,0xA2B76678D05A6132Aef90bDb3E1419E22852046F,0xAe21B65C913701d5580a9457BC8BF38f4637a038,0x67fa2C157C917a7Db2525f79caC54DE2c5161DFb,0x0dD79037f50917eFDe3D8c440F874360C5A8B9aa,0xF115c81C9c7D1317416f83d42579f6038485E071,0xa41135722858d2e5A5c35A8C8326EEEe2A53C10b,0xf9Bc3E0E7c594558eAdffAf64970F2c0f3cD1945,0x2d32067DD357DfEc3FC667FC7E1c093269cBc41d,0x059f9609CCF838a1B488faf2073510d0b3EdcC4c,0x871Ea3cfb0Ed8606Cf56F9F15D9dAD12206428e9,0x29243B13C0EF1F45a7b6e17f9Ca7ee6AacDB64a0,0x70FD628d255E9a2636d80d61Bd33cEe5989fF793,0x124C840b229B8C20473D9910bA9f1BDD641A5124,0xd55c19CC9104F9D4d1B4c841fd71DB982c26a6b8,0xDA8400463684a3374874D45FC99bE39a02F21af6,0x668E746D9241B768ac67f9281B304D1F710A0F9B,0x7da616285Fccf0D4385A759a4aEdD0cac34c2836,0x9b20998A946b2a5aE8dea92920D833178305686F,0x7BaCB1d74CA802219d3aF1E5D57E16344cd255c6,0xbaB00Cbb478c6833B3602cAC64017d11262434F9,0x26F81f9ac37ca043cEF328e274FA5b0828c61F5B,0xe4499Ce683014eD98d8750FB28C472AD834f05A6,0x182DAA17237048A8A5745D53ABa692f91F1888aB,0xF102822A6Ba3179E9655000d4D25879d6c959773,0xBe48311Ed5301de98543190B5bB09Eefd56A1AF9,0x22c49e09609E01571dcFeD2f397F689c1cAE77f3,0x7fFebb6A20be80364d42Cdb8B5a2767f4EE6C4bB,0x7192507bAB00a0F4A0d594c3058b8B2933f1Aff2,0xb04Ab601baC0c1C4a86e51eb89f0F825A78A622E,0x2B61F81D468b14D4fC9a4DeB1B608266619e48d9,0xf7B9995d750892C07010d7d8552F4fA072049a29,0x07AE44DeaD8f9d8D35d94F177a26050594b0D79C,0xDf147AfbBF70B900524921EADEC587bEF68379D7,0x256E1A42AC82Dcfff8669318ca47B361837Df3D1,0xEb453d4D1E133f66931207601Fb26b7Ef07a6cc9,0x8927bD13f41c43A66f7D3c07Ee6126c7f9C4Ff21,0x0e8a528163D269A91437C57d3a4E2Dc2Ec6B0209,0x0130364637853a4A337eb2F8ca6EE2f29f4b87dC,0xa4246C31207746887F7c09c58D4fD75dc59b81bd,0x1c02D382f69325aa257aB845957086bE347D8a31,0x4dF3bFD987DC47058F50C7E5A57F25672102A905,0x0B5E5081b62aD1cfc478aaeE2C2b4d4b60EF2e97,0x9479C57B70ED4D0052CC9408697A997429207D78,0x45a1589F134910c2A4954Cf4650b5583A3eAac0C,0x3B24038a08bDf9B9617f2C910379Cf0b56a5c366,0x96e17f57b1BaA2371D7ac307f4EF25da45b0760c,0x43d01E03aF604490EED8E8f9b7858F930Ed46f31,0x06eED855c0e1bcfb95d46F1A464DAFA594c2228D,0xf75140C3172c318B24FD3f64E850a4979762BcFB,0x193Cfdba605Ee2e73939AD90454BC59365357b13
-----Encoded View---------------
753 Constructor Arguments found :
Arg [0] : 000000000000000000000000cb337152b6181683010d07e3f00e7508cd348bc7
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 00000000000000000000000000000000000000000000000000000000000002ee
Arg [3] : 000000000000000000000000ff64711628dbfbcd11b0b6252ec7146ee487a2c9
Arg [4] : 0000000000000000000000005a04b9ae934adb10dc90ae561aff19df97702175
Arg [5] : 0000000000000000000000000bfb75c571635fa2d4262217d5f8e5018aeefec9
Arg [6] : 000000000000000000000000156d5f8a20d4f843a53b406fd9d3e1a453ec88b2
Arg [7] : 000000000000000000000000126bb405c188da691e708bdab72516da922854a3
Arg [8] : 000000000000000000000000f4d405a7a4b2585d6c969fc5aedae58a9a7761b5
Arg [9] : 000000000000000000000000759670ab95d3a8d5fb1c1abff8cf0023fd7e107b
Arg [10] : 000000000000000000000000bc7984599b94fc36d4490f4a41efd936c53a8c01
Arg [11] : 000000000000000000000000c636d893757038a726eedef02374ed3c7091bdb6
Arg [12] : 000000000000000000000000e06c62cf8c544f16e7119fac27a9b0c8929efdf9
Arg [13] : 0000000000000000000000002d90ff82ddcd4728652c384a95d5da0e2aa0e32c
Arg [14] : 0000000000000000000000001766962bcbbbf97b739d96b0e7ed924632f15f4d
Arg [15] : 00000000000000000000000045662c7d4f483a78b7271c4f579642d812f7986e
Arg [16] : 0000000000000000000000001cfabf69b9b4473c76f60260863186854ffbc013
Arg [17] : 000000000000000000000000846694b2d79854832168b1e84038b1492aad0177
Arg [18] : 000000000000000000000000abf1daaf720e052289dbd906fb31ca9bfe764356
Arg [19] : 0000000000000000000000003b58f2becc244566f214bce21ff08e6d76539499
Arg [20] : 00000000000000000000000074a2fac446cfb90346a2329bbf6e875083e814ef
Arg [21] : 0000000000000000000000001e0a2fbffc3e7ad2450b49503b77fca2976338e4
Arg [22] : 000000000000000000000000eec47b9ac18be439d083901c5541be486ece75ab
Arg [23] : 000000000000000000000000be20f60523f5e4940a0717874b1cf8c605191e7c
Arg [24] : 000000000000000000000000b39f9555ae21679116e33ca9b7b484f154251d70
Arg [25] : 0000000000000000000000009777fd60902b0b842fb72ad975717b46a9d02387
Arg [26] : 000000000000000000000000193d3c14796c068dbd239f76b7f68af9ce89e9f0
Arg [27] : 0000000000000000000000006eae0f716dc7316f3b95b7987c0af33192667be4
Arg [28] : 00000000000000000000000093f8a4081a29dc28139da9673a503922c5f2ee3d
Arg [29] : 0000000000000000000000002f6860756bfb8e95eb7ef470c68ca213209fe1e7
Arg [30] : 000000000000000000000000335df126edd17538ae04f47b8217ef64267b875f
Arg [31] : 0000000000000000000000002719aa2df4f6b7a6834053130d3a174cde9e14f5
Arg [32] : 000000000000000000000000dfaa80158aff56718dd4b07bc7cc61a77be1525b
Arg [33] : 0000000000000000000000006ba56fc69f2a4b649e35cf0b7b8f4eef09bd630d
Arg [34] : 00000000000000000000000040a965dbc477aec8673070e765328fb60ac64a7a
Arg [35] : 000000000000000000000000590fdf16c47fa15dce9a857c157577b3e290a1ba
Arg [36] : 000000000000000000000000c4534908f0acac882dd1f91cb4002738317078d3
Arg [37] : 000000000000000000000000455f9682d03b333a0fd2c1be72e22fbf6ecf6261
Arg [38] : 000000000000000000000000e6b295e9dedd3674d0903833a21435ac234d8319
Arg [39] : 000000000000000000000000a9c0d05fee7aa68241546a4584946c4ad9acab6d
Arg [40] : 0000000000000000000000008c476cda3693163a877da79f6c8ce9db7e3256cf
Arg [41] : 000000000000000000000000dd0bbf3eae9b6b9215a3a081db7fbe54b9fda4a0
Arg [42] : 0000000000000000000000001c17d7ecbd2ff20d8880fbf3b7abadab9639beec
Arg [43] : 000000000000000000000000e6e816639f7ac059353f510045bde88b092b82ae
Arg [44] : 000000000000000000000000feadb4a4d27787afb95cfbd8dbfb95dcfc51bf11
Arg [45] : 000000000000000000000000be951967b0fc960cf41636d267b15fcbb5c7fb63
Arg [46] : 0000000000000000000000000fe70bcca223618b67dc681d44539185a2b923ee
Arg [47] : 00000000000000000000000034c0f60f44a7fa8d0539afed9473864b187cc241
Arg [48] : 00000000000000000000000034a1af47d918a0e93a5b3c98f3c25d4ee887f85d
Arg [49] : 000000000000000000000000c0057a2c1523d7f4aec9bc578e5b5f48070a974e
Arg [50] : 000000000000000000000000fbfa558c278d25258349001e329c5b150a452b95
Arg [51] : 000000000000000000000000e76b3ab1db2fb5b796b44cf5c8a0c1f51e99f3a0
Arg [52] : 0000000000000000000000000157a61200d120b6a06d998587f96f5eff2eef9a
Arg [53] : 000000000000000000000000509a04ae924b52e7b5caca3c98fd08e2629db9a0
Arg [54] : 00000000000000000000000014ddf4a3c017a7beaec099bf1029f46422341038
Arg [55] : 000000000000000000000000a2a0aa2851ac59b62f8f79d4a0d1be85a65c8079
Arg [56] : 0000000000000000000000002c0fd5b15ff3253377c32f730effb35e92307e82
Arg [57] : 000000000000000000000000b8fdc52cf0376188637bff67a137b6735a8457f0
Arg [58] : 0000000000000000000000006e13afbf988f39fd7e9be0370e4c34e91270e1ba
Arg [59] : 0000000000000000000000009a38ede54ad7ea8acf3bc7f9c8f7b08ab19abcfe
Arg [60] : 000000000000000000000000efb5111e6fa2c8d392a1376ac1572076fbce2487
Arg [61] : 0000000000000000000000009c97bba95a67ab00a33cf3890df051f4b29e2bec
Arg [62] : 0000000000000000000000007b3353cb47e45a44c59c5d4f63ce5595cfd2f5a3
Arg [63] : 0000000000000000000000004784351ec65d8f6bf6ba7698e4e79b8026f38f8f
Arg [64] : 00000000000000000000000089dcf3e6166cd81a6e4e8b06e1185356f8cc089b
Arg [65] : 0000000000000000000000000f4c072203451cf21342e844780ae0ed4d4adfa2
Arg [66] : 000000000000000000000000bb0a6802e633f97980a8fc91386052ddff9892cc
Arg [67] : 000000000000000000000000cce8cb7dc680d37ed56ec47c14ca171c5c58022f
Arg [68] : 00000000000000000000000015e7b478de6db3cfa85cda3257d394d79e8baf82
Arg [69] : 00000000000000000000000014d74333106e3210f289464d19d66cc0bcecdf43
Arg [70] : 0000000000000000000000007bdf2c5769cda7c12f48f9d0f1b07d8d0a57f128
Arg [71] : 000000000000000000000000ef490377ee6f67c57d63dade3d8434b17e5959ce
Arg [72] : 000000000000000000000000aea98eb953525e65f7520f27cdfed4dcbca6023f
Arg [73] : 00000000000000000000000043ebba6b7a1ed74a7c5b7be4710157ce181be0ed
Arg [74] : 0000000000000000000000001b98f45b29a5cf471ade3cd2922a9fadc6a693ff
Arg [75] : 000000000000000000000000fbc31f8a580f00e317d9008ae10ae362afb29841
Arg [76] : 00000000000000000000000051dca3cec3942cfbbc7cf6b89dd5d9755bc52438
Arg [77] : 000000000000000000000000b69e265bb2b6c31b1a5bd8dde6fcab858a67a44b
Arg [78] : 000000000000000000000000c46c6a6342497b7530634505c08860050c0246cc
Arg [79] : 00000000000000000000000069ef6279b0b454577e685395410a95d873e9d82a
Arg [80] : 000000000000000000000000c3ad5ece058b3dfeaca013d33f62ff5bdcf1ba61
Arg [81] : 0000000000000000000000009e7e18a1c92bbbe9f7790e6e1296e7716869d7fc
Arg [82] : 000000000000000000000000f9e2f9d1437dbdd0bda361f7f91740233c7ad033
Arg [83] : 0000000000000000000000002abbb9754bd3889d9bb5c9659c0d825290631dd4
Arg [84] : 0000000000000000000000006955faf89fd43387eb6df55f40dd69b57f484c59
Arg [85] : 000000000000000000000000faab692accaa3466ce867f6597f816eb9342fe7e
Arg [86] : 000000000000000000000000050d7c826c1f4554da2bd2868b8d3784730973c5
Arg [87] : 0000000000000000000000006bf3e88697474b718eb08bd18e684b655d331ee9
Arg [88] : 000000000000000000000000e28d5f727080f8b5c0448218def4c1f111a87202
Arg [89] : 000000000000000000000000d695ba03fd7b4f6da5e35f3e62dab57ae5363979
Arg [90] : 000000000000000000000000407729f78710c2ec5d5efdced2045cb15bd6dab0
Arg [91] : 000000000000000000000000b73043aa6a272cb7e02b96123ca8e25687f49d27
Arg [92] : 000000000000000000000000b8554fb491c97c65201a5e736c7e917b9e37be89
Arg [93] : 0000000000000000000000007fd492dd7041e5a1500ff8e3e4f0564ed5185bf7
Arg [94] : 0000000000000000000000004238fcfdba55536e9db5f10abdb2084ca32e7e8d
Arg [95] : 0000000000000000000000007af585b1e2aafe57fec14935e06562b1943881ef
Arg [96] : 000000000000000000000000755d8a61eff9be5eb60b3da381f378d36aabbe73
Arg [97] : 000000000000000000000000ef5883d6836b006f64a7cb2a9639e23d7d2825b4
Arg [98] : 0000000000000000000000000f122e32934bdff19e34d213329fcc2ffec9ef90
Arg [99] : 0000000000000000000000009a7a93df8da07ef4b08366eb2a4d2137b4821439
Arg [100] : 000000000000000000000000e96853d9cff5ad698611709fa11e29f8dfcf89b8
Arg [101] : 0000000000000000000000000d1702572889cedb39ed459018bab9711ed5962b
Arg [102] : 000000000000000000000000c2c287d082f3ef11dcd413643cbfd56c557f43bf
Arg [103] : 000000000000000000000000a6d59e052e80ab7adea26858f4728f185a1b97e7
Arg [104] : 000000000000000000000000cda159b2193bf694835c970a499eccd6de6e801a
Arg [105] : 000000000000000000000000f2614d8239940785a44bea5b36808cbf8c486c55
Arg [106] : 0000000000000000000000008fed0fc57669808acb9edb487318ab2843a2199e
Arg [107] : 0000000000000000000000005492592eecc026db44c6b80bfee17d32fa4c0072
Arg [108] : 000000000000000000000000a43f87af2fa9d5b98781368300fce0e33c053382
Arg [109] : 0000000000000000000000000e0b7570b97e3078d90284f9365d1f84ad9f213e
Arg [110] : 00000000000000000000000038f36be3b0e098a3347502f025b958d9d89b3d46
Arg [111] : 00000000000000000000000077e9cbf615ae524555ab1ea0195a91b1e1214bee
Arg [112] : 000000000000000000000000ff990648740c1ca5895bee07b832a3af204faded
Arg [113] : 000000000000000000000000b67f1f2ce9452ebea814b2f97801e050cd9c3eed
Arg [114] : 0000000000000000000000000ded72d6bca9ca5ebee4c03a2490d99a7d0dc884
Arg [115] : 000000000000000000000000e9859cc94d531625cf8b2b2cd737ca637a9271a8
Arg [116] : 000000000000000000000000391c9f4537afd45e82e0510b67d0d460cbff725a
Arg [117] : 0000000000000000000000008376ec7bf0e430cf902302605ffb31a86a21c5a7
Arg [118] : 000000000000000000000000cecb55950b8c94bc472945cc3c5a31940e2d0c04
Arg [119] : 0000000000000000000000000c38c28d31c80496aa02019f322dd9fdfe8e3aa7
Arg [120] : 000000000000000000000000bc30a9d8abeed4c7b2c2cee1855e198916c5d8c3
Arg [121] : 000000000000000000000000553abf9546d73eb80e278d2c820b5ed0353142c8
Arg [122] : 0000000000000000000000008abe0004d749cf98c0fc1e09e797b76adbe8aa53
Arg [123] : 0000000000000000000000007964306610b3c0adc9f34a11bab89f3268d7154a
Arg [124] : 0000000000000000000000003b5e17848a468315b7b6a0d087eda78c9b677e30
Arg [125] : 000000000000000000000000d7a831448a9a9bb8cf294f11b12d4fc64ba97c81
Arg [126] : 0000000000000000000000008c7fb9526e8139a90ffc4058ae3268fb906b4d6e
Arg [127] : 0000000000000000000000002b860d532e0be424b84468219e4783cdb75a2938
Arg [128] : 0000000000000000000000004e334cabd169302b05c52c8a8e61a0aa7ea7b0ab
Arg [129] : 000000000000000000000000e0c0a33416f26712e4f59e8a2a345609b4b6dddc
Arg [130] : 000000000000000000000000a7645abcde52cb2e8c8c5879f7e339a5f6e5c6f0
Arg [131] : 000000000000000000000000c4c73518946aab4a73578e3cdd85ec959deaf981
Arg [132] : 0000000000000000000000005958411fc670fe546f3c8c844c7b2f134cb43ce1
Arg [133] : 0000000000000000000000002d329ff45ccec77dc5470b4cbfba82dd8faefaa2
Arg [134] : 0000000000000000000000005b38a1056e77db49a838a26b1cdfa034e34541bf
Arg [135] : 0000000000000000000000003d31e5c9f7cbd59050609a1a3c3686d4d08c3008
Arg [136] : 000000000000000000000000f5aacaa00b7bd992b3a303de095bc5da7dd49916
Arg [137] : 000000000000000000000000e4713b06aba976fc17b168595543056f1292252a
Arg [138] : 000000000000000000000000d5c1a5036b29c386ab4f5dba273cf36c0fef73ac
Arg [139] : 000000000000000000000000f72f0a858d7d13d095f7faa098fb624b1c109936
Arg [140] : 000000000000000000000000cffea90e4376b96c53a99851ba8c86cb9df600f3
Arg [141] : 000000000000000000000000ca446340b52433f9a25206ed4db4b333ace32299
Arg [142] : 0000000000000000000000008d3904785a581c58f19dc03415fed16536e0bcc6
Arg [143] : 00000000000000000000000073d544e64adc9781b83c4a8fe65d45ad53a9a1af
Arg [144] : 000000000000000000000000e8533d989165aaf2fd618e1cc2b451d6d8263eac
Arg [145] : 00000000000000000000000056e09255580deb918e90dc945e14bd7725017179
Arg [146] : 000000000000000000000000edc8cd9de64eedb5f57b559a9825b85680949686
Arg [147] : 0000000000000000000000003754b101248a237ad3743def947dfbdd3e745415
Arg [148] : 0000000000000000000000008ff9df4bafb72dce69e175e4d515b43c2bdf6286
Arg [149] : 000000000000000000000000fa399385db7d133dc098d356a75254e0978cb78a
Arg [150] : 00000000000000000000000056156009fa9d026e04fd76b312df76fbbbfbaeb1
Arg [151] : 000000000000000000000000b00b7d03aaed54b7e5edab994a136713844e8957
Arg [152] : 000000000000000000000000efb8ac07c92cef03c643cc5b540ad12da4803484
Arg [153] : 000000000000000000000000ac9dc3ea39797ee5484f485b2980b535d5a3c1ed
Arg [154] : 000000000000000000000000fac80ac986ca527078eccbc93efd93a1d3a6aead
Arg [155] : 000000000000000000000000b35fa4a7708b746030267a1f55ccc27cca1139f7
Arg [156] : 0000000000000000000000003c84d2015378a7376010bafc5efc626e882335e8
Arg [157] : 00000000000000000000000023998a620f3605fd6c0bab43834ef896018b4554
Arg [158] : 00000000000000000000000074dbb176b72b7a82d771263460ef7c019acc9940
Arg [159] : 0000000000000000000000002e67c48a85d34e1645db8cf8b1c7e3d117b531b6
Arg [160] : 00000000000000000000000094e0b3ec075f33486d04271be6cdaa5a1c38652e
Arg [161] : 000000000000000000000000c16603e0f85beed096fe229b74f94a43bc9c7c43
Arg [162] : 0000000000000000000000003f786e0bfd61ffa1c13e144b231dc43ea72189fa
Arg [163] : 000000000000000000000000b09e35d7e811a17dca3e5a2ceea63054ee28a074
Arg [164] : 0000000000000000000000006d57f3b7746e41158e85b272de45c7aeb0e827d6
Arg [165] : 0000000000000000000000007bbeccacfedffab879f6ea0e663e60f8c2074dc0
Arg [166] : 000000000000000000000000cf04dd9b77a6785712eec5f3105e5b2cb94da97c
Arg [167] : 000000000000000000000000f1711a20953f21ba699229bfc38735489da1a692
Arg [168] : 00000000000000000000000037415fee9206978cf2377e32f40836ac1cccc62f
Arg [169] : 00000000000000000000000088cc6756fb0057f294d5f9363f8403512ce6dc44
Arg [170] : 0000000000000000000000000b07725e54de7671b1a089f6122c928c49ce1f83
Arg [171] : 000000000000000000000000992d903a8167f5a4a13ec70c65b05621f222eca6
Arg [172] : 000000000000000000000000274d6ddbd2d43fcb58ecdf9aa7d798fcd49c1a40
Arg [173] : 0000000000000000000000002cd17e77cfa662a78c1764c18419181effd3e191
Arg [174] : 0000000000000000000000006b79b82c5cfc8230bcb9347d093b81d97d31e562
Arg [175] : 000000000000000000000000dadb0b3792f47b0e2db587696fcacf0457a3ff4c
Arg [176] : 000000000000000000000000e22883b8dcd695843cb7875f2086da1112f0d951
Arg [177] : 0000000000000000000000007d8fc49bee312670f68363eba2af045ee695a859
Arg [178] : 0000000000000000000000006b2a50571b076da4b92f4308919fe5ab1cebf01f
Arg [179] : 000000000000000000000000439c8b04f605752179a373ed5bbfbee2876fc6c2
Arg [180] : 0000000000000000000000008ea3a85ac520a3e26736d571d33676ae97e9b583
Arg [181] : 000000000000000000000000d909123d846aa605cf7127ad178f7e4a9dba8b4f
Arg [182] : 000000000000000000000000f32e51e28210229910c7cde4c9d42f18cdd5385f
Arg [183] : 00000000000000000000000030bd068c5fc5ebb87ee395b043b3cdd1c1378d4b
Arg [184] : 000000000000000000000000e1cc7f949c70b803b5eca226429936dad535a213
Arg [185] : 000000000000000000000000d180834039e772feb34c6b42b206eaf1e582854b
Arg [186] : 0000000000000000000000002b9ee87e5b597bf042b0dc588f45cd3e2b1473d6
Arg [187] : 0000000000000000000000004d1570b56cdf3048717e8c287c9ad9fa10a35f11
Arg [188] : 000000000000000000000000480df72243d119d4826a733e00a7b98563cc449f
Arg [189] : 000000000000000000000000211daa831dd902997152b7c14c23c09e4a503914
Arg [190] : 000000000000000000000000990c214889334035879c4b0e70d17da9f7703483
Arg [191] : 0000000000000000000000000e11bdd390085a3cbe7be90b22c9f56f18e8ef11
Arg [192] : 0000000000000000000000009aca9398e804df364b72b36ebba8cf8433e0c999
Arg [193] : 000000000000000000000000ac08efb3deefe763ba4e3b210c975ccdfda738a4
Arg [194] : 00000000000000000000000062f250495cdcbc332b656a8482c5a24b57171e44
Arg [195] : 0000000000000000000000006961349e255c81ec2e37c9ffee54bb169ccf86dd
Arg [196] : 000000000000000000000000039e83cf3971434b6e256cc3e467379466ab9313
Arg [197] : 0000000000000000000000005c1486c77957d019525e08bdb37b6c5bb0d8f188
Arg [198] : 00000000000000000000000074708aacf09583fd25d1c9afc18c8f69f4417acf
Arg [199] : 000000000000000000000000389b7f17e1ea1a02495fc8e6a9ed63a60cedb243
Arg [200] : 000000000000000000000000b7362cde6dc4ea6a44d46bf23544898721444c8c
Arg [201] : 000000000000000000000000b0024fb5c16705edc5c3e8f66e5f79f864e952b9
Arg [202] : 0000000000000000000000007066014277dde23cd88718504b7dec8a398245ca
Arg [203] : 0000000000000000000000003415301446cb482213caf61029ebc3774eaddbb7
Arg [204] : 0000000000000000000000009c09ddc82561e924bc541bde1976899f214df9cc
Arg [205] : 000000000000000000000000031e10e474c1d7b8638f199d30b4502cfdf89abf
Arg [206] : 0000000000000000000000005ee01329a60019535c9b95950ee415f15efab958
Arg [207] : 00000000000000000000000000ee1dc7f82459534d508a702846f940001dff87
Arg [208] : 000000000000000000000000a29c415a745aca4637886a4d598054c6454bf677
Arg [209] : 00000000000000000000000024bc559b81d24c664591f9af19ee8c108a201595
Arg [210] : 0000000000000000000000000b10afba8a46c8110a196f3f837e399637985921
Arg [211] : 000000000000000000000000d5c1f4a13b09fa91b79c133236bdc3125784f795
Arg [212] : 0000000000000000000000009949385848eb72bd3476c5c9f3ec1190b877c618
Arg [213] : 00000000000000000000000019f2b4dea91888c72e0f4543fa6cc4c926fb401d
Arg [214] : 000000000000000000000000c28786883b8a56804d2ca5d92a37a79c7cd7c65b
Arg [215] : 000000000000000000000000ad226db5e142f2610aa005c482b78c02c79f3cb4
Arg [216] : 00000000000000000000000061fc0f87d419fdd94248059861bf9e19652dece1
Arg [217] : 0000000000000000000000006a57e50db5e2b89e19fc488f81bb0f5465e35162
Arg [218] : 0000000000000000000000004cf4427ad3484e1dd81cda2c41dab4ee2bc93823
Arg [219] : 0000000000000000000000009e9c1f45d1624b899c6c9577eaf4edc5e2a56abf
Arg [220] : 00000000000000000000000060374a1b9e417fa4a60053dd95b881e216871376
Arg [221] : 000000000000000000000000713001784115e71315ad8711575f971fbe09f9b7
Arg [222] : 0000000000000000000000000e451f953e4301a4ffd3fa9c2491f76b263cf108
Arg [223] : 0000000000000000000000004eca3ee20ad41df5dfab27d2e9d62c6ee6536062
Arg [224] : 0000000000000000000000008b9fe4894f7b2a6145b5d4865e29abcf48012075
Arg [225] : 000000000000000000000000d2343eaf48b0d5504ed71681f2360f10a8afef89
Arg [226] : 000000000000000000000000d559b6f387ffab63610b060b8be1b8de6827600f
Arg [227] : 0000000000000000000000006a5418b3c33c7153161c49dd535fdad4e4fca12d
Arg [228] : 0000000000000000000000003ed2d7acf0b9ab3fc98603d7faa920e613d3e556
Arg [229] : 000000000000000000000000d0fbbd9b4b2911eea59ad57ae7a1905f49ce09d4
Arg [230] : 000000000000000000000000938f93b0e12fbe253ac1f7a39c1d6b2951d5e587
Arg [231] : 0000000000000000000000007fbd7a7c0c7d7d0e33a487f6e0bf3f8b213709db
Arg [232] : 000000000000000000000000ae2b079bf8f08883c404944f87f0f5303ede2292
Arg [233] : 00000000000000000000000078b1b5e843164d900e1c4c0df7c8926054435682
Arg [234] : 000000000000000000000000e734f4d671fdbb7c58df337f9260d5e55c3fa7fa
Arg [235] : 000000000000000000000000b625d4ef08d64dae4759e347e3984b8b7ffcd9d9
Arg [236] : 000000000000000000000000f0db70fd5fa4dddc2e61779a1ea36908932e9f12
Arg [237] : 000000000000000000000000e2e05ed14faface47b99137679c9d6d5432b2c22
Arg [238] : 000000000000000000000000878404c02c8d4ec88afe827de2a08879752fa3da
Arg [239] : 00000000000000000000000081131878727f4d4dadb1a21d659868594927e74d
Arg [240] : 000000000000000000000000b40c1ec22093d1c5d9467152e073d7e384e6dd9c
Arg [241] : 000000000000000000000000f53cd61e002af1a78a115b0c1936978e22b12768
Arg [242] : 000000000000000000000000d9f01f0936100ff2656a3aa3626fe42d771d3c3e
Arg [243] : 000000000000000000000000ed3c86b42ed24a0ce774a27069ac41afd5eeef84
Arg [244] : 00000000000000000000000092e1b2c322911ee22242e9a6e4ccac2d5d6cf505
Arg [245] : 000000000000000000000000732d9ee644bc1d5958e72124f79133a8cc49a1ab
Arg [246] : 000000000000000000000000d99dace0f9c416dcd734c11427d8e9048e9d8fa6
Arg [247] : 00000000000000000000000026187af2e2d5a941ee2d1281c03fc0b1bd14d940
Arg [248] : 0000000000000000000000002d1184f708f383b42cde6dd2bafa8ba4aa190374
Arg [249] : 000000000000000000000000c1d56c90adab2c06078bf85632bdfeb0f9d4b22e
Arg [250] : 0000000000000000000000006588e8dd6188e204dd468cb98357a87357d94175
Arg [251] : 000000000000000000000000df078b446b4bf2cefaac96dd9f20458fe41465d2
Arg [252] : 00000000000000000000000072ed780c2d7b1fd41ab3f5c43a7c68dcc3dd5428
Arg [253] : 0000000000000000000000001a9949e0945d2cb7bebe54162a1ba9e6459b51d4
Arg [254] : 0000000000000000000000002cb32520621c2079010db985282ad42d05685d96
Arg [255] : 000000000000000000000000472dcd4c1f594dac984d442131c4503c75461af9
Arg [256] : 000000000000000000000000f278323e76f825c2c91e110a9cda8c6c717c2b9c
Arg [257] : 00000000000000000000000017a76b4e13a0cb6f1d01ad769bb66cf41cd2c043
Arg [258] : 000000000000000000000000ad2dfcc4d2cc41b2f9e19812237ea3d8d3f40401
Arg [259] : 0000000000000000000000003acbf5dfa243ea346ce741c9f3d1556d33dc33ba
Arg [260] : 000000000000000000000000e8359cdec4bdd8b8a46ef00093eeeb01a9deba16
Arg [261] : 00000000000000000000000092efdfe04aa5df1f1e824e5e3d3928ca979208c8
Arg [262] : 000000000000000000000000acacb9430212f977abba9345f7d1aa631e3e0771
Arg [263] : 000000000000000000000000ee41100c13dac5725eec4402b9b45c7aba4957ce
Arg [264] : 000000000000000000000000639ddb339665ccce59c6e1728ed4e06a12e15e6a
Arg [265] : 000000000000000000000000253168d6eabb56dbef02bbccb366936fa53002b5
Arg [266] : 000000000000000000000000facb518d26dd126175f1808c92bac5ece92a11b6
Arg [267] : 000000000000000000000000c6236ca9db4043c7756e5eff151aa953ff683ee0
Arg [268] : 0000000000000000000000002d19784334d6e08fa5b9d9da6509e77f7f671ce2
Arg [269] : 00000000000000000000000081ff54c6b56258c71946e9cae615067748802406
Arg [270] : 000000000000000000000000e24ee348f353813728818cc6e79853e943f4ce8b
Arg [271] : 00000000000000000000000063feb64d3dd1b0dc0de78839343accc8df82316e
Arg [272] : 0000000000000000000000005499ba98bfd13839944ac4aa629df36d613b2a71
Arg [273] : 0000000000000000000000000993562a75eded9f23434c408731dacd9754c83a
Arg [274] : 000000000000000000000000ea7f19ac27d0fd224e991e1bc6c6ef23f793bc0d
Arg [275] : 0000000000000000000000004fa7e65636b87e01b06d5152c1def322cc85f443
Arg [276] : 00000000000000000000000062414cf8b1b04c36fd788597c55ab3e3db24f4f0
Arg [277] : 000000000000000000000000d76809b18a8c40328a00d9a162d4ea9254737238
Arg [278] : 000000000000000000000000576519e51a978340394bffca55ae7834da4896d5
Arg [279] : 00000000000000000000000034f89ddfa83b105366bd60eff7eb1896c9aa296f
Arg [280] : 000000000000000000000000bcf3ddd4781a156b68efddd71b0dcb40c25d7785
Arg [281] : 000000000000000000000000295a1257e1c3213c621fdbff19679bd97dedef40
Arg [282] : 000000000000000000000000e7bc4931e93cd97d58b7251a18bb493d23a2cd35
Arg [283] : 000000000000000000000000f0e60898dac4e738aa48ac60c689318608cef746
Arg [284] : 0000000000000000000000000bf5b434f4208308b3274e925fac89c297ba1f6f
Arg [285] : 000000000000000000000000d85c02c684c04ea54c289cff29023a6b4f050bfb
Arg [286] : 000000000000000000000000df37da805f0903f17e1d29474a077eebd926c293
Arg [287] : 00000000000000000000000061fa0bb8bc7fc2990e3155cd119859d9f7c009a4
Arg [288] : 000000000000000000000000e2665ce70df2e7c474f10d1e23d9eec5fc460f25
Arg [289] : 0000000000000000000000003279a9e40148835a6df92657b40c35d38ce5c32c
Arg [290] : 000000000000000000000000413da3f152bade8152c0b7b2495321901f292c80
Arg [291] : 0000000000000000000000007f983eb1ddfbc869cbbb4ea573ccd6ef1161e513
Arg [292] : 000000000000000000000000c2aa70e4008684393800680d98445cf50f35beab
Arg [293] : 0000000000000000000000009c36232a8d9873ae79ed0ec4045c61422b4f1695
Arg [294] : 000000000000000000000000e32b8dcfe8d62c636df175910a0714c3254225e3
Arg [295] : 000000000000000000000000470cb04b3086812889bf3ba2180c584556a5e689
Arg [296] : 0000000000000000000000006d37935418a4efa84f543f4ac4f3a5f4cb2d3d8e
Arg [297] : 0000000000000000000000007ce5e82c722bc9f88530406b19bb78247bcb534b
Arg [298] : 000000000000000000000000945157dde8d93c2c1b4481b92ae2b96bb6710d6b
Arg [299] : 000000000000000000000000272ac27e2ffc6de6bb056f36567f3b1c78ca0bac
Arg [300] : 00000000000000000000000065e92e029be941e3ea489f3632c282d6bb5b4397
Arg [301] : 000000000000000000000000fb1ddb5efdeddcb9f599963a0aec8eb904de3161
Arg [302] : 000000000000000000000000a6f07a32f78196552d1bc4dea8ed6f70d3dbe308
Arg [303] : 0000000000000000000000000c26cde1b6d5377dab07146b2b408b9fe3bc1d2b
Arg [304] : 0000000000000000000000005fdb6770c0e029a8283af98dc36fb9c1976aacb9
Arg [305] : 0000000000000000000000000996a8f51de95c3f74f509c4bd27c85bc271d216
Arg [306] : 0000000000000000000000004ef99b32f216d715208290b8a2eec229fb09a942
Arg [307] : 000000000000000000000000cb8f3974fa8a13e2456259b2fd1a75e0b17ffcbe
Arg [308] : 000000000000000000000000b2382d04ec11cfc2f5ac5b4a1a8efe22073a236f
Arg [309] : 0000000000000000000000009812797c12f13cfab63f35031bbd82f03a3840aa
Arg [310] : 000000000000000000000000e0d54a43be21ab0b3da802a2a64f1e909aaf98a9
Arg [311] : 000000000000000000000000795f5f5b6dcde3c31787d6a452b05798d40c6a6c
Arg [312] : 000000000000000000000000f1684fbb2ec9ea929bd1efea4a06606918acee0b
Arg [313] : 000000000000000000000000c22967e0e7fd239369f6240589be01ab4be0e161
Arg [314] : 00000000000000000000000058d1a30c29e22ee57783e0e1ace9228cc9c3d7b3
Arg [315] : 00000000000000000000000023f2e4c3fe5c0c939b44c1d44373e4231bc0ecc9
Arg [316] : 0000000000000000000000006561b0e908f3fac17f9617b64e1c192f58367e8d
Arg [317] : 0000000000000000000000008c2a0a1c0eac554414acd94be2df958c4dca0b30
Arg [318] : 00000000000000000000000077dea6215b7b444fc0639b55bf1d86b1e315f0af
Arg [319] : 00000000000000000000000020b7883b6e15163076300956830fa2eaee7f771b
Arg [320] : 000000000000000000000000f2da31917b6d568fa376c6e50a8b7b144673a3ec
Arg [321] : 00000000000000000000000026bd12da996362c9fb4edf2e2ce661be8ae77009
Arg [322] : 0000000000000000000000000de0c13eb1c29b56cbc9991328080712d736f691
Arg [323] : 000000000000000000000000b1e58945526a21a24c3701f4146e8f840e9f543f
Arg [324] : 0000000000000000000000003f53f058a1346d3d98ab2bbb1326976d3e8c110e
Arg [325] : 000000000000000000000000c8d5870ca3078b451eb626648925048fea923333
Arg [326] : 0000000000000000000000003c85eeece4bfe9f4e6823da5056fdd2164cacd60
Arg [327] : 000000000000000000000000685b862cf06653119bbd334946b0a7373aa9a47b
Arg [328] : 0000000000000000000000003d3cb065ddae9dab7d6b71fe1b1b22b66b0fa53a
Arg [329] : 0000000000000000000000005cc0fd9dfd3fb55b4f488b67cb349bb75082c1da
Arg [330] : 000000000000000000000000dd1924cf5a7b031d29154d5161f64927ef04fae5
Arg [331] : 0000000000000000000000007ff8634c643cc8b91f6fe7ac8a0ffbea19cfc83b
Arg [332] : 0000000000000000000000006bbad7ece0edfdaac60b6f03f0cff1c531e8b2e3
Arg [333] : 000000000000000000000000ea3a4786ada7bc64ea349f8b696dbc481fb8ce81
Arg [334] : 0000000000000000000000005ad3bf53a5c9fb184768aa29be494452d24dd019
Arg [335] : 00000000000000000000000021e2affea42d113e5a4ae98acbada0eaa02d5695
Arg [336] : 00000000000000000000000032c3bdd638bb744a4e0e79c10ae233bda9ab27a3
Arg [337] : 000000000000000000000000078468e49e0d844d3cc262d4a0193e2251a64e7b
Arg [338] : 000000000000000000000000ddb0db81cca27b2c8d3d15544949b0bef742e5c2
Arg [339] : 00000000000000000000000053985c16321632be042623706e596dced20166be
Arg [340] : 0000000000000000000000008f413e766a2ec3dd6b3855ab9f372cfb072d9937
Arg [341] : 000000000000000000000000769b985ead1d02b2b7fa93fbb6eae4fe1b673768
Arg [342] : 00000000000000000000000082f476cc3aaf427a6abde138c741875274f7f01d
Arg [343] : 0000000000000000000000005756a75678bb6d6297b1e39dc798ac5d20840a74
Arg [344] : 000000000000000000000000fc7adc2a1d4a11a7dbc2a8f6a054670c137b23e4
Arg [345] : 000000000000000000000000c798034cae6c6854d00e23ebeaedf86e9a28af38
Arg [346] : 000000000000000000000000ef9c8f1c8aaf17452c6fa706b02b2463fea0abb1
Arg [347] : 00000000000000000000000063aac0690e1996ffc8ffc295bf95d60b4bd28acc
Arg [348] : 0000000000000000000000007a5a2965cc3ed9d2b2739b615fa3231ef102e383
Arg [349] : 0000000000000000000000004052ee9cfb78f8eccd0a21fc5457b3d58c4d95e4
Arg [350] : 000000000000000000000000dd8d9df5ff4210a6485401e61407c93cc24d7131
Arg [351] : 000000000000000000000000a4fd55095d1144096769e61eddcdc404048d0952
Arg [352] : 000000000000000000000000d9621d4c32cd005d93962a3bd0e25502998e9a5a
Arg [353] : 00000000000000000000000009867e6b45c486513fba94dd924aab9a6acd396c
Arg [354] : 000000000000000000000000d299292df0bb17a8627ca65ff951e6d4672c63d4
Arg [355] : 000000000000000000000000d369756f3dac9d5db93883f7a8ce66d8a6c3e3bc
Arg [356] : 000000000000000000000000fe93fb813128445ee052883a63cbb7c5735166d1
Arg [357] : 000000000000000000000000d8b6090303a6cbe2b64cc4b2f12420f77069d75c
Arg [358] : 00000000000000000000000057f0679eea804d485d9cd2cbd569454e7b14ae2d
Arg [359] : 00000000000000000000000077583412ff92e4e05f1261e38f1979cdfa7e0f69
Arg [360] : 000000000000000000000000ea09488f37844bc7ecd88a7cf78e7317d9abac98
Arg [361] : 000000000000000000000000de24314066f14b37240b0aa7ff08bbbfcd8aebad
Arg [362] : 000000000000000000000000b9b50f4e5a3f7fd63e0eaa6c77a08be9f5b4be00
Arg [363] : 0000000000000000000000009fb8cd55259cd20a6620a796e8455a74b62c2ce9
Arg [364] : 000000000000000000000000e1ccde73fc5ce2cc69abe2afe105a7ee6fbe97f3
Arg [365] : 00000000000000000000000057adbb92c14ac24a16dc3319497f3cc7f0504194
Arg [366] : 0000000000000000000000009cecb6b879999e2f7a21ad01f65b962fb928779f
Arg [367] : 000000000000000000000000cc84878ae314f08fc428f412f8b4350ceb445561
Arg [368] : 0000000000000000000000004da8e56039d22cdf76253a6c1c1d1f35aa745a4c
Arg [369] : 0000000000000000000000007f1e69752f2ae51be9e6592cd6b1600e84e60ef9
Arg [370] : 0000000000000000000000006ca6e144f40b412d839e19f929ab8617d7537a68
Arg [371] : 0000000000000000000000008d8e0dba39fcabc4c274277e9e14e30e865a0c1b
Arg [372] : 000000000000000000000000a3c74c3aa815b1bad5a11511adcc7a6d2fa5de26
Arg [373] : 00000000000000000000000042a8ff87c4dc252b6817f5a0eed826ee32679987
Arg [374] : 00000000000000000000000081f058f551783ee1338caebfa915f34013b019ee
Arg [375] : 0000000000000000000000004334acf7a82443d5c64eb863ca6a5e49d9500ad3
Arg [376] : 00000000000000000000000080c9501b3215fbc2ad942c7beedbb511306c9000
Arg [377] : 0000000000000000000000000006bef13b249090a3ad6238ce55178dfa8add1a
Arg [378] : 00000000000000000000000075184b1f485c9b3fd6388191d75c012ac7d80e74
Arg [379] : 0000000000000000000000005f34afc51a6d2cc94748a21e525ea35f80f8c255
Arg [380] : 00000000000000000000000035136841d869be0d9c232a40904ba343762ccca3
Arg [381] : 000000000000000000000000223b691d7fca83f9f36fdc9e0abe0cda0245089b
Arg [382] : 0000000000000000000000002ad69210323bbd10e7cf531ba024127d9391e609
Arg [383] : 00000000000000000000000048a5aac55cf76d730bb5c47e5cf22eb2bb55473b
Arg [384] : 00000000000000000000000047659ae6e6fe57b73edebab0d68bbf7354e12021
Arg [385] : 000000000000000000000000729985c104b7ba12ab2beb34bf516dedcd4b32f1
Arg [386] : 00000000000000000000000027d438df85fabde466843e71c61eb84b5ffa5d18
Arg [387] : 000000000000000000000000a28cfc98fe7c33f2e2c2ed6e2e4a04d2dd3d1ffb
Arg [388] : 0000000000000000000000008afd1e7ae8f21b42f1dbddc07266f7ebd09a86e4
Arg [389] : 000000000000000000000000027b7566fe4244df6fcf456d74f96c240dee4d7e
Arg [390] : 000000000000000000000000cae4ac13fb3deae9650ab3c6356ced78c3378fa1
Arg [391] : 000000000000000000000000eb3758f1c4f07f5c154d445049ecf57f1e473288
Arg [392] : 0000000000000000000000009b24d8feddd6a49dbab2267ba84ac82210469448
Arg [393] : 000000000000000000000000a6e03d98e5d23ce16482cc45641cc2360fb5820a
Arg [394] : 000000000000000000000000f6ff3d4473a6a6217d3463efac5e78c312813ee9
Arg [395] : 00000000000000000000000063ac4df129d2acc240b090de5bb2ae514420a09f
Arg [396] : 00000000000000000000000067f27ad756e509f5711527f1fc9fe9cabb3175b8
Arg [397] : 000000000000000000000000fa56a31d249e97fcc30f02dc4bd6e6f70aae4568
Arg [398] : 0000000000000000000000001ab5f846e685c487fea3e167fd1761732f7909bc
Arg [399] : 0000000000000000000000009eee1a5d44c136ff4e78b86934229242f828f2e9
Arg [400] : 000000000000000000000000b126326a6b05c19c3fd169b153dede6bce00bc08
Arg [401] : 000000000000000000000000f08f079fba8646adb999aefcaf9e23b8cb5d2ac2
Arg [402] : 000000000000000000000000b1f7162e31056383e0bf5fff38ec08cf29f773a3
Arg [403] : 000000000000000000000000bf90ee453b3ab6d29a8ba6630d92ae57f81d05e6
Arg [404] : 0000000000000000000000004a480a3c76996484ab7c2c570cd460008e1d26d7
Arg [405] : 000000000000000000000000286e51e129fb1a2f6b5b4d7341ada3bc3ba7f386
Arg [406] : 000000000000000000000000d8152e207fd1f54daeb021193398d95a8ef85679
Arg [407] : 000000000000000000000000da787cf75c976c896111ca09570a944f85af2ccf
Arg [408] : 000000000000000000000000bb79c618612fc7de51e0b85d35f9b926c08ed5d3
Arg [409] : 0000000000000000000000008f5c956fafd5f72c6be9f8bb6ffe395bfbd08e59
Arg [410] : 000000000000000000000000d8f3bca6cd6b380539c760a53887280e3a46b629
Arg [411] : 00000000000000000000000047e62c5b67619032f1cc1aa066f03bed81e46010
Arg [412] : 000000000000000000000000cda74e76dc971bf636d0d29eb352c2dbb1beaf0d
Arg [413] : 000000000000000000000000aeae567fc74bd51b7abcf75057f327a2dbe88ad5
Arg [414] : 00000000000000000000000007599456237777486d933c7e72e2b8bbabd0b005
Arg [415] : 000000000000000000000000889ade53d54af7504646b7cf3538a1af0e554924
Arg [416] : 000000000000000000000000137ffce9ca35b67c7ebf9bab03ca212ad5e0fce8
Arg [417] : 0000000000000000000000009b2d8abfed85d3436368981d7cfdac4bd32e9964
Arg [418] : 00000000000000000000000015cd04f71df0a7553fbaaf4f4fa30801fc242e3f
Arg [419] : 0000000000000000000000001a382d13c201234c2e3fd0a7e767a1d985c0c725
Arg [420] : 000000000000000000000000830e9e07d8614ad59291ed4d7a11398ad09c2c63
Arg [421] : 000000000000000000000000927c469dba30095a7661cc5dd92e5059b030050b
Arg [422] : 000000000000000000000000d9b2b0578b414afa31bf159d230683752ed51774
Arg [423] : 0000000000000000000000004ce133b7ee8a61a4ac13bd525d8cfa36aef2b93a
Arg [424] : 0000000000000000000000005cb642349b35ea6aaca13049663c144da81d890c
Arg [425] : 0000000000000000000000005ac2e7f1ef14618ede402cbc98569ddc4956bf9d
Arg [426] : 000000000000000000000000a1a1b6275ba2050238f2a1b396f88fc65b63bd61
Arg [427] : 000000000000000000000000334d47e58d549529ddd5ac94f35a1d8f7c657c76
Arg [428] : 00000000000000000000000052b0c3d58ad771fe192530986e283e1037c985a7
Arg [429] : 000000000000000000000000c5e7c9d5b8a3fe582a7bcb374533865840ae1bc5
Arg [430] : 000000000000000000000000631c06bae101c7168c35031a63cc9fc0ea0892c3
Arg [431] : 00000000000000000000000079e90dfabb202996d272ceec169f0743e89c9ada
Arg [432] : 00000000000000000000000027b89e9bec5173814a2fae87c61c0cfa81283209
Arg [433] : 0000000000000000000000006d9c4935876cbecaf3244bc9d6ecf40c41a832f0
Arg [434] : 000000000000000000000000fb98d2ddef4c850a3dd8541508f1fed916f8c91b
Arg [435] : 000000000000000000000000c3ac86e1ac775c7ba8118a09becf784e4c3d8874
Arg [436] : 0000000000000000000000003298a6789ee0e6bc2b4511568d6f1b2c6e306b60
Arg [437] : 000000000000000000000000f5cbe47dc8115aec8f6d59c3392d260c3e470097
Arg [438] : 000000000000000000000000b3e524c6ff7835d65caa01c1a8c55dcf8a680698
Arg [439] : 0000000000000000000000007f480927b43fd4094c178dfc23d1ff8f2ed5cdeb
Arg [440] : 000000000000000000000000eaa93a3140b0654e86f853f3fec420b63bc02e39
Arg [441] : 00000000000000000000000084b2cafa915f891ebeb45612903e7b7559d08336
Arg [442] : 00000000000000000000000011e8f0fd8a5ca2a1bb8ff2378f6110acd7782cb4
Arg [443] : 000000000000000000000000982e59499706156b29a754429cce4c73da39b40f
Arg [444] : 000000000000000000000000802330844c47b1059451d9932e650437a689759b
Arg [445] : 000000000000000000000000ae03bbf3b0f54c34643dd374243317ce76a55b9e
Arg [446] : 0000000000000000000000008869b96df18e42c99c3ca2ee3ccbc80cea06236c
Arg [447] : 000000000000000000000000cdbb31299a8073bedc0174329e3203030891cd3a
Arg [448] : 000000000000000000000000555b85e1aaa12e38f2c3849f9b77187b8b304316
Arg [449] : 00000000000000000000000065d678c2b7ab4054360dd0179aea58b5eb144c46
Arg [450] : 000000000000000000000000bf33b9c005d9807db5bfaf63b1c2fade53654efa
Arg [451] : 0000000000000000000000004057f07f8e0189f365dc2fbf5829d139ed6ce1a8
Arg [452] : 000000000000000000000000475112aaafb778b40ab78879c11debd04c4f5194
Arg [453] : 000000000000000000000000637deda8965d4a8f12303c67ad59905974d7844d
Arg [454] : 0000000000000000000000001387a40a44766b9a3c86486ecb08084dc3f6c431
Arg [455] : 000000000000000000000000b6eed3e6789d95483ad4c781957c32149e69b6f5
Arg [456] : 000000000000000000000000f582f6ce1a59ab628693497eec12b47ddc6bdbaf
Arg [457] : 0000000000000000000000009946ac406afabcf22484974bdbdeba593741962e
Arg [458] : 0000000000000000000000008763445693012f77eca20bd766f4f6674e9778d6
Arg [459] : 00000000000000000000000066490f961f0709f710685d5a726a90484e4269a1
Arg [460] : 0000000000000000000000001eef0bd83d04e179f6e4edc52c8b9a6ce6011bd5
Arg [461] : 000000000000000000000000edbe38588aff90d4550efdc91801f2b5d4bdfd7f
Arg [462] : 000000000000000000000000139295ef4d5f175d856c8b3395711ef495a5311c
Arg [463] : 000000000000000000000000d588584a05ab935a3427c2566f771721f555f0e2
Arg [464] : 000000000000000000000000b00720d346f9734f7371d00fe5cb2aa4570a91a2
Arg [465] : 000000000000000000000000b90a455832da2e1d45549ad1425662fdcd4a8823
Arg [466] : 0000000000000000000000004a246a6d7acf998206c18829c12e52a7b5efb087
Arg [467] : 00000000000000000000000066563bdabb11febb6d62ee780c5556539abe39d7
Arg [468] : 0000000000000000000000002e2846829915f43d3e3444f3f75c09294ef2a78b
Arg [469] : 000000000000000000000000ac2e7bb8bb02e7a0f4b3447226557ac2943843eb
Arg [470] : 0000000000000000000000007f21f5fffb8cdd6f7772d9f56b53eae2b956033a
Arg [471] : 000000000000000000000000c2bb22d150a05d612d519d1a60f7963569c9981f
Arg [472] : 000000000000000000000000a02124eebe07e31cb5462d76195d3f58965aef04
Arg [473] : 00000000000000000000000095b0a5f0a1d68aae10c254f1a69e5208b3d79c6f
Arg [474] : 0000000000000000000000008d582e731eb7a34b59711b1ea4f34eb41b308547
Arg [475] : 000000000000000000000000fe8bd56700ec0794edf800c654170ca3c40998b8
Arg [476] : 0000000000000000000000004a44a49b8620bf528289c4776bc5fa2b4262d0d8
Arg [477] : 0000000000000000000000005fa981c3debea67812a5af794dd05d6de2c92210
Arg [478] : 000000000000000000000000d0b99dbafee2bae837482c5b1a828cbdcef5cbed
Arg [479] : 00000000000000000000000087828fb64e9626f4aa88918bfff9e51c7cf256c5
Arg [480] : 000000000000000000000000c87f0c0882cbcb7cf62d42fe8435ba9ff55de7b4
Arg [481] : 000000000000000000000000ddc435c8d9b23015e4b665e36aeef95477db649a
Arg [482] : 0000000000000000000000001deb9f0f3caaaa28bbaf39de9ccf1a18d68dbfb7
Arg [483] : 000000000000000000000000cfc4f0e7d354aad7839e173305ac04bc464930bd
Arg [484] : 0000000000000000000000009154d73edefe38766526fa3718782a5c1c470eda
Arg [485] : 000000000000000000000000e9f3a10846627fbacf5807082d4d348ca13244a0
Arg [486] : 000000000000000000000000ffd2d6e5a138df9e4b1ce56c4783d59c2763d2eb
Arg [487] : 000000000000000000000000d02c16bd10559655341650c4fca77a5739991138
Arg [488] : 000000000000000000000000d057b3206b698d13adb802283bd84e780cdba75a
Arg [489] : 0000000000000000000000008620da37062e7b4809d6b933d24af61516920032
Arg [490] : 000000000000000000000000aa973dfc84ae293500601780292f3ce8e3cbc14b
Arg [491] : 000000000000000000000000d015faf19e5da1c4461fccd455f276e336745311
Arg [492] : 000000000000000000000000385df1576b906bedba46f4728874c3bcfa1b324a
Arg [493] : 0000000000000000000000005123f8f8ccd88373b8a79ebfdc65ee55e6dec335
Arg [494] : 0000000000000000000000001f59609c1a6f3af0a6c711c271984fdd3305983d
Arg [495] : 00000000000000000000000010a8f983d91386eb25c37abc1ba71fe8df9b3c2d
Arg [496] : 0000000000000000000000008917bb21e0878dbed15a57910d6641554a4c086e
Arg [497] : 0000000000000000000000000035a907cea37498dab08838beec8a3b863b56b1
Arg [498] : 0000000000000000000000006101e6e89edea0fade9e07066a1d09a42065ec66
Arg [499] : 00000000000000000000000035afea9908d82c5e40cf468793bb0123099d84de
Arg [500] : 00000000000000000000000074289be838cb416b3fc524d9f77f7c95bb77a407
Arg [501] : 000000000000000000000000a76a6814ac0b64b5d941f65be8c8f3709629c6bc
Arg [502] : 0000000000000000000000005f42acbc0d43db24a8c1b80d3214e6c9dd08c184
Arg [503] : 000000000000000000000000e885fbeb7f1288864e91dfb06cf9ed91baf1d687
Arg [504] : 000000000000000000000000f97d4ed9e1b56a9ab9b9ef04e82d880cab621f1f
Arg [505] : 0000000000000000000000000944fc2d0ca9befcf2c465c29985c4c89da5b0cd
Arg [506] : 0000000000000000000000005d9e877395750bdd8c4a5223c7607425c7d479a5
Arg [507] : 000000000000000000000000f955736fe4a87465b830a6c90833419a8e8bbb25
Arg [508] : 0000000000000000000000008ac6cc7819aca399d19aab140e69407e6e01e7b8
Arg [509] : 000000000000000000000000db2a1b45f71f1f15b0fdbfbab2b4c26407568e15
Arg [510] : 000000000000000000000000aa4d1f4e5d12f2289196d5304908d3e30d26c9fa
Arg [511] : 000000000000000000000000851f66fc36e6aa15b3af6d037fbd2b09cab565bc
Arg [512] : 000000000000000000000000789024c47b15ae4b08c96999951846dae8f7fe9b
Arg [513] : 00000000000000000000000087654df496f41e9b279cf95b64dea6be1266ec8a
Arg [514] : 000000000000000000000000200e7cd348d957903d451e50695cb416b9d3957c
Arg [515] : 000000000000000000000000aa09bcb1047372f4eb0de555fd16d251f9887d94
Arg [516] : 000000000000000000000000197d93a92208180d73ee7c8ee8d0cd9053c1d6b6
Arg [517] : 0000000000000000000000006c5b6128de537fe0d5ea4683d3b1aa9703ebf3bd
Arg [518] : 0000000000000000000000008e327165b6add2e28646e176182d6327e8d2f323
Arg [519] : 000000000000000000000000c7547705f900f49095066d89a74684685c2562ff
Arg [520] : 000000000000000000000000fb10ed5e0a16324313616a2d45972a9a84ce4e65
Arg [521] : 0000000000000000000000000f9fcc1066b4753b795ca6f549465776b998899b
Arg [522] : 000000000000000000000000e36a397abf2e594e0f42b9b836c59601e6fc0267
Arg [523] : 000000000000000000000000e5647293b332ccdec31f5d1ae3ddafef9ad3882a
Arg [524] : 000000000000000000000000beedf956eae5c8705d558bacddb8c7f3a3f6e8ad
Arg [525] : 00000000000000000000000062d5eb07b812efedf6f70daa9741c3104df10392
Arg [526] : 000000000000000000000000a80349a9464cb3186147c48d7212cd60aaec494c
Arg [527] : 000000000000000000000000743733b1b0783d9ffc46ff614d6151e0233b9f08
Arg [528] : 000000000000000000000000d673483a4974865c9855d48706e0f1118e3fd3de
Arg [529] : 0000000000000000000000000582d8194fb42f6dbefe2a85abf6c74d5bc3e187
Arg [530] : 00000000000000000000000073e269783b752a3e14c2ffc6c31441e59067b029
Arg [531] : 000000000000000000000000cf71344c00cd87ce02139ece305f5856ff51875a
Arg [532] : 000000000000000000000000de137751ec0586afca1c42ed62f49b0419c9e0a8
Arg [533] : 000000000000000000000000247c2428191836fab634599832085673d6bb5ebc
Arg [534] : 000000000000000000000000ac4f6c9da26a0c0580856a77e394c6c8f2878de2
Arg [535] : 00000000000000000000000018807df4e7aa60141a21839f3a7f0f3361984b23
Arg [536] : 0000000000000000000000006a1db66bd9a3799c479d50951751cf6c253182f9
Arg [537] : 0000000000000000000000004afb2be813f25b64a4299e4d80cb0104eb263f11
Arg [538] : 0000000000000000000000008d6a5340892ff437fbae32e877b77ad8fc9372ed
Arg [539] : 0000000000000000000000008e7d5194e22e6e8d657791e61e76b426773d62ac
Arg [540] : 000000000000000000000000df805eb64093620e0d0b7725812d908d3a957ed1
Arg [541] : 000000000000000000000000293f2c1301bf7cbc86f24f21387b0347900dc976
Arg [542] : 000000000000000000000000d73d75682472a715a66eaaf251137cb1cfb2932b
Arg [543] : 000000000000000000000000c41e44750a1dfa01b417a81bdfd917db65ecb9c7
Arg [544] : 0000000000000000000000001ca972dbf0fe8a3678eb4cd6b6216c302b67145b
Arg [545] : 000000000000000000000000164273444cd43b8a10383ec55b05d568069f8e78
Arg [546] : 000000000000000000000000e556f3bf56222963ed7bd49aeec8df9f8a03c3c2
Arg [547] : 000000000000000000000000b8b720f5006beeba0926ef417fa075df45017fad
Arg [548] : 000000000000000000000000178bbf1b6fc1a2888bd140776c53f1cb0fa1b420
Arg [549] : 0000000000000000000000004a54a19065fe43858c8848f89a608957f571129e
Arg [550] : 000000000000000000000000a79f55e8fcd7ed2d5e3f3719bdab0bec4a8f3efa
Arg [551] : 000000000000000000000000f1115989dae75ad6f6931c712e55f4d94e36db7e
Arg [552] : 00000000000000000000000002198da26cd4531706e1be1a0404d70ed42cb82f
Arg [553] : 00000000000000000000000078668e3ba2567f5c89cb55878080595ed1ee1532
Arg [554] : 000000000000000000000000f0c3cb91387e3e37be5528586396c8d5ec2d07b2
Arg [555] : 000000000000000000000000fc96c9de38447434259c43d4f2241bd52d71386e
Arg [556] : 00000000000000000000000034e7916d5d8681370ed0a6774cfa8347c1d2c9b4
Arg [557] : 000000000000000000000000233f61cbb69e1034d5d0ddb1a6fcacf80c5c38ef
Arg [558] : 000000000000000000000000996af69659bedb7cf3af7d2135f8127ed30eb47d
Arg [559] : 00000000000000000000000079eb4a5005922da62664b36e269353ff26056145
Arg [560] : 00000000000000000000000016edc91aa1bbeea459e28b01acb1ca8fee79d112
Arg [561] : 00000000000000000000000014d2dd56baecab1b6fc29ec137a0860c0d514c76
Arg [562] : 0000000000000000000000005f7ddc4c4586d4b56634a6a976545c843f338a60
Arg [563] : 000000000000000000000000c459dbc87e27dff52f2b21fa2657b9a5bc92b8c8
Arg [564] : 0000000000000000000000008480b89ac6ee776f8842a17f66544aea3726c177
Arg [565] : 0000000000000000000000003ae95ad952a26630f43e4498a7a82db20635ac25
Arg [566] : 000000000000000000000000add6a24b7b1e858b8c6769b82f17611b4a638175
Arg [567] : 000000000000000000000000ec125ad722f1f6b2cd6d7aaff88c3c227495b5e0
Arg [568] : 00000000000000000000000013b24fa5f19ae0e9f9fa5547c2b5af942afa4261
Arg [569] : 000000000000000000000000e8fcdc329c9bd25eb6d844ec4b4e1b5925ad131a
Arg [570] : 00000000000000000000000003ed7c9768e331fef1c3d6d89cd6454c32273a83
Arg [571] : 000000000000000000000000b423e06fc7b9be29e8cdc616dac87d48e25a7bb7
Arg [572] : 000000000000000000000000bdd31160772498a5915551be812847daa6f388fa
Arg [573] : 0000000000000000000000007b5fea2d7ca3016f0f46e92e9ca40c46974d2ce4
Arg [574] : 00000000000000000000000065e309bae5ef3bc484be0313204f4f3101aff102
Arg [575] : 000000000000000000000000836266d230fc857b1e3a1a824c12c59c5925cd47
Arg [576] : 000000000000000000000000b57fccdf3dc709c3c4d0497efbb9a073f6fde5da
Arg [577] : 0000000000000000000000001e63ede600b62f2ff43b3867dc86c8db19f8f2e1
Arg [578] : 000000000000000000000000ffa9f7994d20ba7de035d6fa41e6871687f13290
Arg [579] : 0000000000000000000000000224215a3344e3ebf3fb0e3a5104452489f51843
Arg [580] : 00000000000000000000000080827527114cf5e466f52dec6c51f37862f29566
Arg [581] : 0000000000000000000000008530f639d68294a354522d1c8453da2e561c001e
Arg [582] : 000000000000000000000000df35a04b5cb35938d2f3c57f49a3ff6a889670ce
Arg [583] : 00000000000000000000000049d6ebdf80d2084252f5aab888f1fcce997ddc29
Arg [584] : 0000000000000000000000009322109123b0540d8a4f5a2928ed893631fff642
Arg [585] : 00000000000000000000000039bca683a410753ae85da9eeabd4cb5b5b4d5d2b
Arg [586] : 000000000000000000000000280d0e4920da5808dca7fb76be6d491c0f533319
Arg [587] : 00000000000000000000000083edcd53c07f8751d9ff6f9f0f25dcd9dd371059
Arg [588] : 000000000000000000000000ed2c8fdee39a6841c49b1f78929c1533f5986cdb
Arg [589] : 000000000000000000000000b445f034b4a211624c883c7dc3945a3f6c8f2530
Arg [590] : 000000000000000000000000e9b3fbec34e4c4c96ffbf3975b8ea7eb562504c6
Arg [591] : 000000000000000000000000c30013baa11654cc37377845c58cb2f9a5aca46b
Arg [592] : 000000000000000000000000654588270ff471a15e7fe09e5cc4f4b5cd18b62f
Arg [593] : 0000000000000000000000007a41c650c95360d7ae3281eb4e56dd5d91e3853b
Arg [594] : 0000000000000000000000000fd34a6c0c484f0da7fb00d8d028032406c57182
Arg [595] : 000000000000000000000000dea35742bf7c670e86a11e2306160d92608aba1f
Arg [596] : 0000000000000000000000002aa623258a13585992e2f5d7d50486fb2892d89a
Arg [597] : 00000000000000000000000093e0a367d0d4eee72b7212aa360748ad1e443adf
Arg [598] : 000000000000000000000000bd03308a3b0f1fec0ff6f4ba6d100c3041d3ff3e
Arg [599] : 000000000000000000000000262d2f90f05517739008246a827d58f979424d50
Arg [600] : 000000000000000000000000d1a9570647939e84e1196972d2356a87e1d3ad8e
Arg [601] : 0000000000000000000000004b4184b191e1fcbe428765b4fce813721549247c
Arg [602] : 0000000000000000000000006bada952a80c5e83febebcae62f524b361d1cefd
Arg [603] : 000000000000000000000000a513c2d5d01697feac6e5b3b602489d8c8f84a71
Arg [604] : 000000000000000000000000eb510ed57658e27a60053ca9b64949a550be2792
Arg [605] : 000000000000000000000000494c36b6eb1171229f9ae48df9c28a5e576507e2
Arg [606] : 000000000000000000000000b016b6b24de1598662b22df26ffe27a15bd28643
Arg [607] : 0000000000000000000000008faa9997b3f3e5c1054f74cc4a01c312cff68007
Arg [608] : 000000000000000000000000d1325a2f91d2aa8c1b1d10a6f04f2afa8609bf42
Arg [609] : 000000000000000000000000e73104bafe72f40b12869a8479a628513e9aa014
Arg [610] : 000000000000000000000000599deee04a19e3988f5927781c8e93feaa5b3cbc
Arg [611] : 000000000000000000000000138776e605a008ad7985450ded654cf9e6b6929f
Arg [612] : 00000000000000000000000037e8837d0f331c8e0a2ed79245830f6cb5f032ce
Arg [613] : 000000000000000000000000f901cc2811bbc25c697502d8e69c2ae8be74eecf
Arg [614] : 000000000000000000000000aec3079b2a388837667120915864959f64d44b38
Arg [615] : 000000000000000000000000235370c641e9f5b5d5f6b38d7d9a526a74310948
Arg [616] : 00000000000000000000000017146187d85b0d993b068172ff512353b95a64fa
Arg [617] : 00000000000000000000000059f0db6a672d7704ab8c50b088689cec3b69e51d
Arg [618] : 0000000000000000000000006e959f7c452647bbbfaa933f7da967a3d219c1ba
Arg [619] : 0000000000000000000000008c0487bf345d0ae8933f56e4f3e928ece9be8849
Arg [620] : 0000000000000000000000000ad8baeee28ce6e9c943393531bb6998ce575be8
Arg [621] : 0000000000000000000000003cc7aa3e9b09b337ea45d4618e6818bd00508380
Arg [622] : 0000000000000000000000009b5faf112141311e7c5a3e5e20cfbde67a794f59
Arg [623] : 0000000000000000000000006d299b48d9adc5c7ed195000123c240906ae3438
Arg [624] : 00000000000000000000000042e0060017f153e920005588853f9567fa666950
Arg [625] : 00000000000000000000000077ad6189b5bdfadffb3e30885c06d5237f463e72
Arg [626] : 000000000000000000000000aada7a57ff9a21114e1770ae1a514e53c3de7026
Arg [627] : 00000000000000000000000015fc9b02da0970f8edf6e4bc6f799eab79eefb3f
Arg [628] : 000000000000000000000000a0665ccb5b21b3b4671403a26990fd058b7ac1cf
Arg [629] : 000000000000000000000000ce6eb0f503ceef7b4af79f5d5a97451883b5e1e5
Arg [630] : 0000000000000000000000004d188ecd8f036c83c244287c31bdc870535483c0
Arg [631] : 000000000000000000000000cbb8dd6ab53c0bf758e74673271db045ae70369e
Arg [632] : 000000000000000000000000df4417ba80b9608b719276c917ecc5b9e5d28900
Arg [633] : 000000000000000000000000c8ad2e37f5ec15a2dc3a729204f42b6f0d628853
Arg [634] : 0000000000000000000000000a474378e948ddaa23b081d366b66686848122d2
Arg [635] : 000000000000000000000000323dc376282e0865f2e1fe112058462254d23234
Arg [636] : 0000000000000000000000004a86d53fca883ce12e293500454ea2908b990132
Arg [637] : 000000000000000000000000736ec392eb92af50589384849f3a8f621f025544
Arg [638] : 000000000000000000000000a81291a386e72b17720f323dad85fc4cbdbcd16e
Arg [639] : 00000000000000000000000067cc5ae0040a911f1bdd663e38e30a8044c92571
Arg [640] : 00000000000000000000000030e7e6801d9762c365194de429cde853349556f9
Arg [641] : 0000000000000000000000000393cd8d20c2f102f7c342bcfa647d0f51490932
Arg [642] : 00000000000000000000000094a3778d6ca52ce6b9637f267cb805e6d2e7ccb2
Arg [643] : 000000000000000000000000386e91e3a79fe2045a060fa7e5402315e4ce8a08
Arg [644] : 000000000000000000000000c3705a64373352a881cc8f72479ebf3a91db18fc
Arg [645] : 0000000000000000000000004dca8d2752945d0553e3e34d0be3f9fe76729c58
Arg [646] : 00000000000000000000000072c5169dba0a9ee86aef8a5233e91a88cc800ecc
Arg [647] : 000000000000000000000000e37dc84a55a334e1eadc3ffbbca629ba9b823abc
Arg [648] : 0000000000000000000000005f9c4d6436c8b9c4def47e0e26bf31fc8473f1c8
Arg [649] : 00000000000000000000000024b59fb9f305a5700c3befb3a8c32ba23d234739
Arg [650] : 000000000000000000000000fbe867c0bfd74fa7c1c39b194fedc11a002248e5
Arg [651] : 000000000000000000000000c825cb06154f4004ffdbfad1f97e1dfe29251faf
Arg [652] : 000000000000000000000000521d7158a6b4d33c6bd89bda56b8cb5b2a066319
Arg [653] : 00000000000000000000000009cfdabcb4e1ec731aaa3ea6190184f11859abd1
Arg [654] : 00000000000000000000000088a6b5d70ffdff6b82d251795b50428b3bb48117
Arg [655] : 0000000000000000000000007b98a7f57bbfb618c16c195475426180f6116077
Arg [656] : 00000000000000000000000094324971d9f0f1c27322d0ed7607a1177d87b267
Arg [657] : 00000000000000000000000038a04bb3ce0b2b7e8da4bf56b6a56290d83f4ed3
Arg [658] : 0000000000000000000000009025102b2acd3b962da4e47978d0eb16458bd9db
Arg [659] : 000000000000000000000000d97988491e71dd03d5415e62a7a8b0c49e7147b2
Arg [660] : 000000000000000000000000ba2b7d6d40d56d60cfcb3e7ac2b4d68365c30835
Arg [661] : 0000000000000000000000008c06d0aa13504437094e29a75bb4bc9265f45b4d
Arg [662] : 000000000000000000000000fe3cb3c474aa83668e828ddfcb8459522ae40bbc
Arg [663] : 000000000000000000000000dca7bfa8b6bff2d337194d3d2c1cc0cc20d22c10
Arg [664] : 000000000000000000000000ae0bf36d9ca8bcff08b0212a659228cc16a4e8ae
Arg [665] : 000000000000000000000000e08b35e5c5aab97cbfc6266883832dacd3a5a050
Arg [666] : 00000000000000000000000023b3777036ae4ae9bd15faaaaa0a96dc27cd274d
Arg [667] : 0000000000000000000000001e5361146582a9c2a32cade53a3a89813ae57168
Arg [668] : 000000000000000000000000d50cf90663f456da5aa3672690d03bc97ba24d3a
Arg [669] : 000000000000000000000000a0782e75f9ebb2fdcc2478d520aa92950a6cf750
Arg [670] : 0000000000000000000000008087e4d6d4291778c9ce4143a11bef2b20f3140e
Arg [671] : 000000000000000000000000285be5201ff4e9a55ab0265ad9de084c23064136
Arg [672] : 000000000000000000000000cb3ea946316c7bc2f58135431731fefb12ab6382
Arg [673] : 000000000000000000000000178cc437eff1d71bea766b20e7b78d83372f2128
Arg [674] : 000000000000000000000000b2327e2bd254afdc0a609e4da4fba555ee00d286
Arg [675] : 000000000000000000000000ab6d6565cfead6b973ba1e5a959e4033dca5e3ad
Arg [676] : 0000000000000000000000004549a16b23c177837970762ab3750486a5d49f08
Arg [677] : 00000000000000000000000003c6864fc2cfc9ebc47ba83863ac9151098dd416
Arg [678] : 00000000000000000000000097c6bee26821db970a4c8d2e5568ffbe7269b41d
Arg [679] : 0000000000000000000000006d3c8f761a29f62cb5829ce6dcfd7e73641f247f
Arg [680] : 000000000000000000000000530e6ecd167226f3048d13a8f6eba3c1ddddbf9c
Arg [681] : 0000000000000000000000007c0078e427363fa2015de03b4168369413fbf689
Arg [682] : 0000000000000000000000004ee02e4e26054b830b20739f7dec3528b1f19320
Arg [683] : 000000000000000000000000d432236156c0df043347c7c6a092b6781fae48ce
Arg [684] : 00000000000000000000000011e4257c8282f26b5d720e7565e125d557eb0a2c
Arg [685] : 000000000000000000000000d092e9ff6913f6473beaad95909821dad6b499dc
Arg [686] : 000000000000000000000000fa8f8c14beab1e73eda17f3df74532eee7d66b00
Arg [687] : 00000000000000000000000000432fbd1017c3c90af4835f71ef277fc28f4361
Arg [688] : 000000000000000000000000ddda7b0e7776b6a008b3e67baa0b24980480b9bf
Arg [689] : 0000000000000000000000005bcacfcb6fb2a750ef490ba3e723ad7ca574d570
Arg [690] : 0000000000000000000000006a02f288b80d96675e9770a88e99618fdb8a5ad7
Arg [691] : 00000000000000000000000064965fb65fb2da8e67534618f36df2d2f78970cf
Arg [692] : 000000000000000000000000580e42791e1904bcf6f1f36212f652979f6d03cd
Arg [693] : 00000000000000000000000053d153e46655937fe1a3f0a48c716f5db3b66a21
Arg [694] : 0000000000000000000000002377c6d05d8b8af3c35318099df67defbc29a249
Arg [695] : 000000000000000000000000886fa99a190f58f51540bf316852207e4a8e816e
Arg [696] : 0000000000000000000000005b9dfff627356b40c19d7253d657418483e4e997
Arg [697] : 000000000000000000000000fdc4d55f97a8105031df2c3cbd04f154549b67a5
Arg [698] : 000000000000000000000000e70299b2b9b029c5bc8184d6fe1a57e4b62e532e
Arg [699] : 000000000000000000000000ed78abfd1d85cfa6bf8bd6c116e90c46dee9ff1b
Arg [700] : 000000000000000000000000dd0809970cd98ae7aaa42d6b4e8776eae61a06fd
Arg [701] : 0000000000000000000000001832c65105da10caad98b20e3a079d1b29cd0bdb
Arg [702] : 000000000000000000000000b5d12a3c979c36da416ee3997fdbb4aff1e9dea9
Arg [703] : 000000000000000000000000a2b76678d05a6132aef90bdb3e1419e22852046f
Arg [704] : 000000000000000000000000ae21b65c913701d5580a9457bc8bf38f4637a038
Arg [705] : 00000000000000000000000067fa2c157c917a7db2525f79cac54de2c5161dfb
Arg [706] : 0000000000000000000000000dd79037f50917efde3d8c440f874360c5a8b9aa
Arg [707] : 000000000000000000000000f115c81c9c7d1317416f83d42579f6038485e071
Arg [708] : 000000000000000000000000a41135722858d2e5a5c35a8c8326eeee2a53c10b
Arg [709] : 000000000000000000000000f9bc3e0e7c594558eadffaf64970f2c0f3cd1945
Arg [710] : 0000000000000000000000002d32067dd357dfec3fc667fc7e1c093269cbc41d
Arg [711] : 000000000000000000000000059f9609ccf838a1b488faf2073510d0b3edcc4c
Arg [712] : 000000000000000000000000871ea3cfb0ed8606cf56f9f15d9dad12206428e9
Arg [713] : 00000000000000000000000029243b13c0ef1f45a7b6e17f9ca7ee6aacdb64a0
Arg [714] : 00000000000000000000000070fd628d255e9a2636d80d61bd33cee5989ff793
Arg [715] : 000000000000000000000000124c840b229b8c20473d9910ba9f1bdd641a5124
Arg [716] : 000000000000000000000000d55c19cc9104f9d4d1b4c841fd71db982c26a6b8
Arg [717] : 000000000000000000000000da8400463684a3374874d45fc99be39a02f21af6
Arg [718] : 000000000000000000000000668e746d9241b768ac67f9281b304d1f710a0f9b
Arg [719] : 0000000000000000000000007da616285fccf0d4385a759a4aedd0cac34c2836
Arg [720] : 0000000000000000000000009b20998a946b2a5ae8dea92920d833178305686f
Arg [721] : 0000000000000000000000007bacb1d74ca802219d3af1e5d57e16344cd255c6
Arg [722] : 000000000000000000000000bab00cbb478c6833b3602cac64017d11262434f9
Arg [723] : 00000000000000000000000026f81f9ac37ca043cef328e274fa5b0828c61f5b
Arg [724] : 000000000000000000000000e4499ce683014ed98d8750fb28c472ad834f05a6
Arg [725] : 000000000000000000000000182daa17237048a8a5745d53aba692f91f1888ab
Arg [726] : 000000000000000000000000f102822a6ba3179e9655000d4d25879d6c959773
Arg [727] : 000000000000000000000000be48311ed5301de98543190b5bb09eefd56a1af9
Arg [728] : 00000000000000000000000022c49e09609e01571dcfed2f397f689c1cae77f3
Arg [729] : 0000000000000000000000007ffebb6a20be80364d42cdb8b5a2767f4ee6c4bb
Arg [730] : 0000000000000000000000007192507bab00a0f4a0d594c3058b8b2933f1aff2
Arg [731] : 000000000000000000000000b04ab601bac0c1c4a86e51eb89f0f825a78a622e
Arg [732] : 0000000000000000000000002b61f81d468b14d4fc9a4deb1b608266619e48d9
Arg [733] : 000000000000000000000000f7b9995d750892c07010d7d8552f4fa072049a29
Arg [734] : 00000000000000000000000007ae44dead8f9d8d35d94f177a26050594b0d79c
Arg [735] : 000000000000000000000000df147afbbf70b900524921eadec587bef68379d7
Arg [736] : 000000000000000000000000256e1a42ac82dcfff8669318ca47b361837df3d1
Arg [737] : 000000000000000000000000eb453d4d1e133f66931207601fb26b7ef07a6cc9
Arg [738] : 0000000000000000000000008927bd13f41c43a66f7d3c07ee6126c7f9c4ff21
Arg [739] : 0000000000000000000000000e8a528163d269a91437c57d3a4e2dc2ec6b0209
Arg [740] : 0000000000000000000000000130364637853a4a337eb2f8ca6ee2f29f4b87dc
Arg [741] : 000000000000000000000000a4246c31207746887f7c09c58d4fd75dc59b81bd
Arg [742] : 0000000000000000000000001c02d382f69325aa257ab845957086be347d8a31
Arg [743] : 0000000000000000000000004df3bfd987dc47058f50c7e5a57f25672102a905
Arg [744] : 0000000000000000000000000b5e5081b62ad1cfc478aaee2c2b4d4b60ef2e97
Arg [745] : 0000000000000000000000009479c57b70ed4d0052cc9408697a997429207d78
Arg [746] : 00000000000000000000000045a1589f134910c2a4954cf4650b5583a3eaac0c
Arg [747] : 0000000000000000000000003b24038a08bdf9b9617f2c910379cf0b56a5c366
Arg [748] : 00000000000000000000000096e17f57b1baa2371d7ac307f4ef25da45b0760c
Arg [749] : 00000000000000000000000043d01e03af604490eed8e8f9b7858f930ed46f31
Arg [750] : 00000000000000000000000006eed855c0e1bcfb95d46f1a464dafa594c2228d
Arg [751] : 000000000000000000000000f75140c3172c318b24fd3f64e850a4979762bcfb
Arg [752] : 000000000000000000000000193cfdba605ee2e73939ad90454bc59365357b13
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.