Overview
ETH Balance
0 ETH
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
4967312 | 15 days ago | Contract Creation | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
ZKRegistry
Compiler Version
v0.8.24-1.0.1
ZkSolc Version
v1.5.11
Contract Source Code (Solidity Standard Json-Input format)
pragma solidity ^0.8.13; //SPDX-License-Identifier: UNLICENSED import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; interface IOwnable { function owner() external view returns (address); } contract ZKRegistry is Initializable, OwnableUpgradeable { mapping(bytes32 => address) addresses; mapping(bytes32 => uint256) uints; mapping(bytes32 => bool) booleans; mapping(bytes32 => string) strings; mapping(address => bool) public admins; mapping(address => mapping(address => bool)) public app_admins; mapping (uint => string) public addressEntries; mapping (uint => string) public uintEntries; mapping (uint => string) public boolEntries; mapping (uint => string) public stringEntries; uint public numberOfAddresses; uint public numberOfUINTs; uint public numberOfBooleans; uint public numberOfStrings; uint public nextAdmin; mapping(address => bool) public adminHas; mapping(uint256 => address) public adminEntries; mapping(address => uint256) public appAdminCounter; mapping(address =>mapping(uint256 =>address)) public appAdminEntries; modifier onlyAdmin() { require( msg.sender == owner() || admins[msg.sender], "Registry : Unauthorised" ); _; } event AdminUpdated(address user, bool isAdmin); event AppAdminChanged(address app,address user,bool state); //=== event AddressChanged(string key, address value); event UintChanged(string key, uint256 value); event BooleanChanged(string key, bool value); event StringChanged(string key, string value); function initialize() public initializer { __Ownable_init(msg.sender); } function setAdmin(address user,bool status ) external onlyOwner { admins[user] = status; if (status && !adminHas[user]) { adminEntries[nextAdmin++] = user; adminHas[user] = true; } emit AdminUpdated(user,status); } function hash(string memory field) internal pure returns (bytes32) { return keccak256(abi.encode(field)); } function setRegistryAddress(string memory fn, address value) external onlyAdmin { bytes32 hf = hash(fn); addresses[hf] = value; addressEntries[numberOfAddresses++] = fn; emit AddressChanged(fn,value); } function setRegistryBool(string memory fn, bool value) external onlyAdmin { bytes32 hf = hash(fn); booleans[hf] = value; boolEntries[numberOfBooleans++] = fn; emit BooleanChanged(fn,value); } function setRegistryString(string memory fn, string memory value) external onlyAdmin { bytes32 hf = hash(fn); strings[hf] = value; stringEntries[numberOfStrings++] = fn; emit StringChanged(fn,value); } function setRegistryUINT(string memory fn, uint value) external onlyAdmin { bytes32 hf = hash(fn); uints[hf] = value; uintEntries[numberOfUINTs++] = fn; emit UintChanged(fn,value); } function setAppAdmin(address app, address user, bool state) external { require( msg.sender == IOwnable(app).owner() || app_admins[app][msg.sender], "You do not have access permission" ); app_admins[app][user] = state; if (state) appAdminEntries[app][appAdminCounter[app]++] = user; emit AppAdminChanged(app,user,state); } function getRegistryAddress(string memory key) external view returns (address) { return addresses[hash(key)]; } function getRegistryBool(string memory key) external view returns (bool) { return booleans[hash(key)]; } function getRegistryUINT(string memory key) external view returns (uint256) { return uints[hash(key)]; } function getRegistryString(string memory key) external view returns (string memory) { return strings[hash(key)]; } function isAdmin(address user) external view returns (bool) { return user == owner() || admins[user]; } function isAppAdmin(address app, address user) external view returns (bool) { return user == IOwnable(app).owner() || app_admins[app][user]; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (proxy/utils/Initializable.sol) pragma solidity ^0.8.20; /** * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed * behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. * * The initialization functions use a version number. Once a version number is used, it is consumed and cannot be * reused. This mechanism prevents re-execution of each "step" but allows the creation of new initialization steps in * case an upgrade adds a module that needs to be initialized. * * For example: * * [.hljs-theme-light.nopadding] * ```solidity * contract MyToken is ERC20Upgradeable { * function initialize() initializer public { * __ERC20_init("MyToken", "MTK"); * } * } * * contract MyTokenV2 is MyToken, ERC20PermitUpgradeable { * function initializeV2() reinitializer(2) public { * __ERC20Permit_init("MyToken"); * } * } * ``` * * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. * * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. * * [CAUTION] * ==== * Avoid leaving a contract uninitialized. * * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation * contract, which may impact the proxy. To prevent the implementation contract from being used, you should invoke * the {_disableInitializers} function in the constructor to automatically lock it when it is deployed: * * [.hljs-theme-light.nopadding] * ``` * /// @custom:oz-upgrades-unsafe-allow constructor * constructor() { * _disableInitializers(); * } * ``` * ==== */ abstract contract Initializable { /** * @dev Storage of the initializable contract. * * It's implemented on a custom ERC-7201 namespace to reduce the risk of storage collisions * when using with upgradeable contracts. * * @custom:storage-location erc7201:openzeppelin.storage.Initializable */ struct InitializableStorage { /** * @dev Indicates that the contract has been initialized. */ uint64 _initialized; /** * @dev Indicates that the contract is in the process of being initialized. */ bool _initializing; } // keccak256(abi.encode(uint256(keccak256("openzeppelin.storage.Initializable")) - 1)) & ~bytes32(uint256(0xff)) bytes32 private constant INITIALIZABLE_STORAGE = 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00; /** * @dev The contract is already initialized. */ error InvalidInitialization(); /** * @dev The contract is not initializing. */ error NotInitializing(); /** * @dev Triggered when the contract has been initialized or reinitialized. */ event Initialized(uint64 version); /** * @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope, * `onlyInitializing` functions can be used to initialize parent contracts. * * Similar to `reinitializer(1)`, except that in the context of a constructor an `initializer` may be invoked any * number of times. This behavior in the constructor can be useful during testing and is not expected to be used in * production. * * Emits an {Initialized} event. */ modifier initializer() { // solhint-disable-next-line var-name-mixedcase InitializableStorage storage $ = _getInitializableStorage(); // Cache values to avoid duplicated sloads bool isTopLevelCall = !$._initializing; uint64 initialized = $._initialized; // Allowed calls: // - initialSetup: the contract is not in the initializing state and no previous version was // initialized // - construction: the contract is initialized at version 1 (no reininitialization) and the // current contract is just being deployed bool initialSetup = initialized == 0 && isTopLevelCall; bool construction = initialized == 1 && address(this).code.length == 0; if (!initialSetup && !construction) { revert InvalidInitialization(); } $._initialized = 1; if (isTopLevelCall) { $._initializing = true; } _; if (isTopLevelCall) { $._initializing = false; emit Initialized(1); } } /** * @dev A modifier that defines a protected reinitializer function that can be invoked at most once, and only if the * contract hasn't been initialized to a greater version before. In its scope, `onlyInitializing` functions can be * used to initialize parent contracts. * * A reinitializer may be used after the original initialization step. This is essential to configure modules that * are added through upgrades and that require initialization. * * When `version` is 1, this modifier is similar to `initializer`, except that functions marked with `reinitializer` * cannot be nested. If one is invoked in the context of another, execution will revert. * * Note that versions can jump in increments greater than 1; this implies that if multiple reinitializers coexist in * a contract, executing them in the right order is up to the developer or operator. * * WARNING: Setting the version to 2**64 - 1 will prevent any future reinitialization. * * Emits an {Initialized} event. */ modifier reinitializer(uint64 version) { // solhint-disable-next-line var-name-mixedcase InitializableStorage storage $ = _getInitializableStorage(); if ($._initializing || $._initialized >= version) { revert InvalidInitialization(); } $._initialized = version; $._initializing = true; _; $._initializing = false; emit Initialized(version); } /** * @dev Modifier to protect an initialization function so that it can only be invoked by functions with the * {initializer} and {reinitializer} modifiers, directly or indirectly. */ modifier onlyInitializing() { _checkInitializing(); _; } /** * @dev Reverts if the contract is not in an initializing state. See {onlyInitializing}. */ function _checkInitializing() internal view virtual { if (!_isInitializing()) { revert NotInitializing(); } } /** * @dev Locks the contract, preventing any future reinitialization. This cannot be part of an initializer call. * Calling this in the constructor of a contract will prevent that contract from being initialized or reinitialized * to any version. It is recommended to use this to lock implementation contracts that are designed to be called * through proxies. * * Emits an {Initialized} event the first time it is successfully executed. */ function _disableInitializers() internal virtual { // solhint-disable-next-line var-name-mixedcase InitializableStorage storage $ = _getInitializableStorage(); if ($._initializing) { revert InvalidInitialization(); } if ($._initialized != type(uint64).max) { $._initialized = type(uint64).max; emit Initialized(type(uint64).max); } } /** * @dev Returns the highest version that has been initialized. See {reinitializer}. */ function _getInitializedVersion() internal view returns (uint64) { return _getInitializableStorage()._initialized; } /** * @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}. */ function _isInitializing() internal view returns (bool) { return _getInitializableStorage()._initializing; } /** * @dev Returns a pointer to the storage namespace. */ // solhint-disable-next-line var-name-mixedcase function _getInitializableStorage() private pure returns (InitializableStorage storage $) { assembly { $.slot := INITIALIZABLE_STORAGE } } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; import {ContextUpgradeable} from "../utils/ContextUpgradeable.sol"; import {Initializable} from "../proxy/utils/Initializable.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. * * The initial owner is set to the address provided by the deployer. 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 OwnableUpgradeable is Initializable, ContextUpgradeable { /// @custom:storage-location erc7201:openzeppelin.storage.Ownable struct OwnableStorage { address _owner; } // keccak256(abi.encode(uint256(keccak256("openzeppelin.storage.Ownable")) - 1)) & ~bytes32(uint256(0xff)) bytes32 private constant OwnableStorageLocation = 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300; function _getOwnableStorage() private pure returns (OwnableStorage storage $) { assembly { $.slot := OwnableStorageLocation } } /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ function __Ownable_init(address initialOwner) internal onlyInitializing { __Ownable_init_unchained(initialOwner); } function __Ownable_init_unchained(address initialOwner) internal onlyInitializing { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @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) { OwnableStorage storage $ = _getOwnableStorage(); return $._owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @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 { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { OwnableStorage storage $ = _getOwnableStorage(); address oldOwner = $._owner; $._owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; import {Initializable} from "../proxy/utils/Initializable.sol"; /** * @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 ContextUpgradeable is Initializable { function __Context_init() internal onlyInitializing { } function __Context_init_unchained() internal onlyInitializing { } 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; } }
{ "evmVersion": "paris", "optimizer": { "enabled": true, "mode": "3" }, "outputSelection": { "*": { "*": [ "abi" ] } }, "detectMissingLibraries": false, "forceEVMLA": false, "enableEraVMExtensions": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"key","type":"string"},{"indexed":false,"internalType":"address","name":"value","type":"address"}],"name":"AddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"isAdmin","type":"bool"}],"name":"AdminUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"app","type":"address"},{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"state","type":"bool"}],"name":"AppAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"key","type":"string"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"BooleanChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","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":"string","name":"key","type":"string"},{"indexed":false,"internalType":"string","name":"value","type":"string"}],"name":"StringChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"key","type":"string"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"UintChanged","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"addressEntries","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"adminEntries","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"adminHas","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"admins","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"appAdminCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"appAdminEntries","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"app_admins","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"boolEntries","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"key","type":"string"}],"name":"getRegistryAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"key","type":"string"}],"name":"getRegistryBool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"key","type":"string"}],"name":"getRegistryString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"key","type":"string"}],"name":"getRegistryUINT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"app","type":"address"},{"internalType":"address","name":"user","type":"address"}],"name":"isAppAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextAdmin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfAddresses","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfBooleans","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfStrings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfUINTs","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"app","type":"address"},{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"setAppAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"fn","type":"string"},{"internalType":"address","name":"value","type":"address"}],"name":"setRegistryAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"fn","type":"string"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setRegistryBool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"fn","type":"string"},{"internalType":"string","name":"value","type":"string"}],"name":"setRegistryString","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"fn","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setRegistryUINT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"stringEntries","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"uintEntries","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
9c4d535b00000000000000000000000000000000000000000000000000000000000000000100033b0bf8547dfb0cb42495af2dacde0867f013be72139f39cbb5f3bc3e2a00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x00010000000000020005000000000002000000000a01034f00000000000103550000008001000039000000400010043f00000001002001900000009b0000c13d0000006001a00270000002d902100197000000040020008c000009bc0000413d00000000010a043b000000e001100270000002db0010009c000000a30000a13d000002dc0010009c000000b70000213d000002e80010009c000000e60000213d000002ee0010009c000001380000213d000002f10010009c000004b30000613d000002f20010009c000009bc0000c13d000000640020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000500000001001d0000030b0010009c000009bc0000213d0000002401a00370000000000101043b000400000001001d0000030b0010009c000009bc0000213d0000004401a00370000000000201043b000000000002004b0000000001000039000000010100c039000300000002001d000000000012004b000009bc0000c13d0000031401000041000000800010043f0000000001000414000002d90010009c000002d901008041000000c00110021000000315011001c700000005020000290b5f0b5a0000040f000000800a0000390000006003100270000002d903300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000000490000613d000000000801034f000000008908043c000000000a9a043600000000005a004b000000450000c13d000000000006004b000000560000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f00000000006504350000000100200190000006d30000613d0000001f01400039000000600110018f00000080011001bf000000400010043f000000200030008c000009bc0000413d000000800100043d0000030b0010009c000009bc0000213d0000000002000411000000000012004b0000078b0000c13d0000000501000029000000000010043f0000000501000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b0000000402000029000000000020043f000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000201041a000003350220019700000003022001af000000000021041b000000030000006b000007e20000c13d000000400100043d00000040021000390000000303000029000000000032043500000020021000390000000403000029000000000032043500000005020000290000000000210435000002d90010009c000002d90100804100000040011002100000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000031c011001c70000800d0200003900000001030000390000031d04000041000007170000013d0000000001000416000000000001004b000009bc0000c13d000000200100003900000100001004430000012000000443000002da0100004100000b600001042e000002f30010009c000000ce0000a13d000002f40010009c000001060000213d000002fa0010009c000004470000213d000002fd0010009c000004b80000613d000002fe0010009c000009bc0000c13d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000000000010043f0000000601000039000005500000013d000002dd0010009c000000f60000213d000002e30010009c000002200000213d000002e60010009c000004c40000613d000002e70010009c000009bc0000c13d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000003080010009c000009bc0000213d00000004011000390b5f0a240000040f0b5f0aed0000040f000000000010043f0000000301000039000005500000013d000002ff0010009c000001210000a13d000003000010009c000003380000213d000003030010009c000004dc0000613d000003040010009c000009bc0000c13d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b0000030b0010009c000009bc0000213d000000000010043f0000001101000039000000200010043f000000400200003900000000010000190b5f0b400000040f000005e20000013d000002e90010009c0000041d0000213d000002ec0010009c000004f40000613d000002ed0010009c000009bc0000c13d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000000000010043f0000000801000039000005500000013d000002de0010009c000004260000213d000002e10010009c000004f90000613d000002e20010009c000009bc0000c13d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000000000010043f0000000901000039000005500000013d000002f50010009c0000048e0000213d000002f80010009c000005080000613d000002f90010009c000009bc0000c13d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000003080010009c000009bc0000213d00000004011000390b5f0a240000040f0b5f0aed0000040f000000000010043f000000200000043f000000400200003900000000010000190b5f0b400000040f000000000101041a0000030b01100197000000400200043d000006140000013d000003050010009c000005210000613d000003060010009c000005420000613d000003070010009c000009bc0000c13d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b0000030b0010009c000009bc0000213d0000030a02000041000000000202041a0000030b02200197000000000021004b000006010000c13d00000080020000390000000101000039000006130000013d000002ef0010009c000005470000613d000002f00010009c000009bc0000c13d000000440020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000301043b000003080030009c000009bc0000213d0000002301300039000000000021004b000009bc0000813d000000040430003900000000014a034f000000000101043b000003080010009c000004410000213d0000001f0510003900000336055001970000003f055000390000033605500197000003090050009c000004410000213d0000008005500039000000400050043f000000800010043f00000000031300190000002403300039000000000023004b000009bc0000213d000000200240003900000000032a034f00000336041001980000001f0510018f000000a002400039000001660000613d000000a006000039000000000703034f000000007807043c0000000006860436000000000026004b000001620000c13d000000000005004b000001730000613d000000000343034f0000000304500210000000000502043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000320435000000a00110003900000000000104350000002401a00370000000000201043b000000000002004b0000000001000039000000010100c039000500000002001d000000000012004b000009bc0000c13d0000030a01000041000000000101041a0000030b021001970000000001000411000000000021004b000007460000c13d000000400100043d0000002002100039000000200300003900000000003204350000004004100039000000800300043d00000000003404350000006004100039000000000003004b000001950000613d00000000050000190000000006450019000000a007500039000000000707043300000000007604350000002005500039000000000035004b0000018e0000413d000000000443001900000000000404350000001f033000390000033603300197000000400430003900000000004104350000007f0330003900000336043001970000000003140019000000000043004b00000000040000390000000104004039000003080030009c000004410000213d0000000100400190000004410000c13d000000400030043f000002d90020009c000002d90200804100000040022002100000000001010433000002d90010009c000002d9010080410000006001100210000000000121019f0000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030d011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000010043f0000000201000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000201041a000003350220019700000005022001af000000000021041b0000000c02000039000000000102041a000000010310003a0000072e0000613d000000000032041b000000000010043f0000000801000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000400000001001d000000800100043d000300000001001d000003080010009c000004410000213d0000000401000029000000000101041a000000010010019000000001021002700000007f0220618f000200000002001d0000001f0020008c00000000020000390000000102002039000000000121013f0000000100100190000006af0000c13d0000000201000029000000200010008c0000020c0000413d0000000401000029000000000010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030e011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d00000003030000290000001f023000390000000502200270000000200030008c0000000002004019000000000301043b00000002010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b0000020c0000813d000000000002041b0000000102200039000000000012004b000002080000413d00000003010000290000001f0010008c000008520000a13d0000000401000029000000000010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030e011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000200200008a0000000302200180000000000101043b000008bd0000c13d000000a003000039000008cb0000013d000002e40010009c000005640000613d000002e50010009c000009bc0000c13d000000440020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000301043b000003080030009c000009bc0000213d0000002301300039000000000021004b000009bc0000813d000000040430003900000000014a034f000000000101043b000003080010009c000004410000213d0000001f0510003900000336055001970000003f055000390000033605500197000003090050009c000004410000213d0000008005500039000000400050043f000000800010043f00000000031300190000002403300039000000000023004b000009bc0000213d000000200340003900000000043a034f00000336051001980000001f0610018f000000a0035000390000024e0000613d000000a007000039000000000804034f000000008908043c0000000007970436000000000037004b0000024a0000c13d000000000006004b0000025b0000613d000000000454034f0000000305600210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000a00110003900000000000104350000002401a00370000000000301043b000003080030009c000009bc0000213d0000002301300039000000000021004b000009bc0000813d000000040430003900000000014a034f000000000101043b000003080010009c000004410000213d0000001f0510003900000336055001970000003f055000390000033605500197000000400600043d0000000005560019000500000006001d000000000065004b00000000060000390000000106004039000003080050009c000004410000213d0000000100600190000004410000c13d000000400050043f00000005050000290000000005150436000400000005001d00000000031300190000002403300039000000000023004b000009bc0000213d000000200240003900000000032a034f00000336041001980000001f0510018f00000004024000290000028b0000613d000000000603034f0000000407000029000000006806043c0000000007870436000000000027004b000002870000c13d000000000005004b000002980000613d000000000343034f0000000304500210000000000502043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000320435000000040110002900000000000104350000030a01000041000000000101041a0000030b021001970000000001000411000000000021004b000002b00000613d000000000010043f0000000401000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000101041a000000ff00100190000007670000613d000000400100043d0000002002100039000000200300003900000000003204350000004004100039000000800300043d00000000003404350000006004100039000000000003004b000002c20000613d00000000050000190000000006450019000000a007500039000000000707043300000000007604350000002005500039000000000035004b000002bb0000413d000000000443001900000000000404350000001f033000390000033603300197000000400430003900000000004104350000007f0330003900000336043001970000000003140019000000000043004b00000000040000390000000104004039000003080030009c000004410000213d0000000100400190000004410000c13d000000400030043f000002d90020009c000002d90200804100000040022002100000000001010433000002d90010009c000002d9010080410000006001100210000000000121019f0000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030d011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000010043f0000000301000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000300000001001d00000005010000290000000001010433000200000001001d000003080010009c000004410000213d0000000301000029000000000101041a000000010010019000000001021002700000007f0220618f000100000002001d0000001f0020008c00000000020000390000000102002039000000000121013f0000000100100190000006af0000c13d0000000101000029000000200010008c000003240000413d0000000301000029000000000010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030e011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d00000002030000290000001f023000390000000502200270000000200030008c0000000002004019000000000301043b00000001010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b000003240000813d000000000002041b0000000102200039000000000012004b000003200000413d00000002010000290000001f0010008c0000086a0000a13d0000000301000029000000000010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030e011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000200200008a0000000202200180000000000101043b000009490000c13d0000002003000039000009560000013d000003010010009c000005690000613d000003020010009c000009bc0000c13d000000440020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000301043b000003080030009c000009bc0000213d0000002301300039000000000021004b000009bc0000813d000000040430003900000000014a034f000000000101043b000003300010009c000004410000813d0000001f0510003900000336055001970000003f055000390000033605500197000003090050009c000004410000213d0000008005500039000000400050043f000000800010043f00000000031300190000002403300039000000000023004b000009bc0000213d000000200240003900000000032a034f00000336041001980000001f0510018f000000a002400039000003660000613d000000a006000039000000000703034f000000007807043c0000000006860436000000000026004b000003620000c13d000000000005004b000003730000613d000000000343034f0000000304500210000000000502043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000320435000000a00110003900000000000104350000002401a00370000000000101043b000500000001001d0000030b0010009c000009bc0000213d0000030a01000041000000000101041a0000030b021001970000000001000411000000000021004b000007570000c13d000000400100043d0000002002100039000000200300003900000000003204350000004004100039000000800300043d00000000003404350000006004100039000000000003004b000003920000613d00000000050000190000000006450019000000a007500039000000000707043300000000007604350000002005500039000000000035004b0000038b0000413d000000000443001900000000000404350000001f033000390000033603300197000000400430003900000000004104350000007f0330003900000336043001970000000003140019000000000043004b00000000040000390000000104004039000003080030009c000004410000213d0000000100400190000004410000c13d000000400030043f000002d90020009c000002d90200804100000040022002100000000001010433000002d90010009c000002d9010080410000006001100210000000000121019f0000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030d011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000010043f000000200000043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d00000005020000290005030b0020019b000000000101043b000000000201041a0000031b0220019700000005022001af000000000021041b0000000a02000039000000000102041a000000010310003a0000072e0000613d000000000032041b000000000010043f0000000601000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000400000001001d000000800100043d000300000001001d000003080010009c000004410000213d0000000401000029000000000101041a000000010210019000000001011002700000007f0110618f000200000001001d0000001f0010008c00000000010000390000000101002039000000000012004b000006af0000c13d0000000201000029000000200010008c000004090000413d0000000401000029000000000010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030e011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d00000003030000290000001f023000390000000502200270000000200030008c0000000002004019000000000301043b00000002010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b000004090000813d000000000002041b0000000102200039000000000012004b000004050000413d00000003010000290000001f0010008c0000085e0000a13d0000000401000029000000000010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030e011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000200200008a0000000302200180000000000101043b000009030000c13d000000a003000039000009110000013d000002ea0010009c0000057b0000613d000002eb0010009c000009bc0000c13d0000000001000416000000000001004b000009bc0000c13d0000000c01000039000005e20000013d000002df0010009c000005900000613d000002e00010009c000009bc0000c13d000000440020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000301043b000003080030009c000009bc0000213d0000002301300039000000000021004b000009bc0000813d000000040430003900000000014a034f000000000101043b000003080010009c000004410000213d0000001f0510003900000336055001970000003f055000390000033605500197000003090050009c0000061b0000a13d0000033401000041000000000010043f0000004101000039000000040010043f000003290100004100000b6100010430000002fb0010009c0000059f0000613d000002fc0010009c000009bc0000c13d000000440020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000500000001001d0000030b0010009c000009bc0000213d0000002401a00370000000000101043b000400000001001d0000030b0010009c000009bc0000213d0000031401000041000000800010043f0000000001000414000002d90010009c000002d901008041000000c00110021000000315011001c700000005020000290b5f0b5a0000040f0000006003100270000002d903300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000004720000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b0000046e0000c13d000000000006004b0000047f0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f00000000006504350000000100200190000006b50000613d0000001f01400039000000600110018f00000080021001bf000000400020043f000000200030008c000009bc0000413d000000800100043d0000030b0010009c000009bc0000213d000000040010006b000007780000c13d0000000101000039000006130000013d000002f60010009c000005de0000613d000002f70010009c000009bc0000c13d0000000001000416000000000001004b000009bc0000c13d00000080010000390000031e02000041000000000402041a0000031f034001970000030802400198000005eb0000613d000000010020008c000005fa0000c13d000400000004001d000500000003001d00000320010000410000000000100443000000000100041000000004001004430000000001000414000002d90010009c000002d901008041000000c00110021000000321011001c700008002020000390b5f0b5a0000040f00000001002001900000061a0000613d000000000101043b000000000001004b00000005030000290000000404000029000005ed0000613d000000400100043d000005fa0000013d0000000001000416000000000001004b000009bc0000c13d0000000a01000039000005e20000013d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b0000030b0010009c000009bc0000213d000000000010043f0000000401000039000005040000013d000000440020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b0000030b0010009c000009bc0000213d000000000010043f0000001201000039000000200010043f0000004002000039000000000100001900050000000a03530b5f0b400000040f000000050200035f0000002402200370000000000202043b000000000020043f000000200010043f00000000010000190000004002000039000005750000013d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000003080010009c000009bc0000213d00000004011000390b5f0a240000040f0b5f0aed0000040f000000000010043f0000000201000039000000200010043f000000400200003900000000010000190b5f0b400000040f000000000101041a000000ff001001900000000001000039000000010100c039000000400200043d000006140000013d0000000001000416000000000001004b000009bc0000c13d0000030a01000041000005760000013d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b0000030b0010009c000009bc0000213d000000000010043f0000000f01000039000000200010043f000000400200003900000000010000190000053a0000013d0000000001000416000000000001004b000009bc0000c13d0000030a01000041000000000201041a0000030b052001970000000003000411000000000035004b000005e60000c13d0000031b02200197000000000021041b0000000001000414000002d90010009c000002d901008041000000c0011002100000030d011001c70000800d020000390000000303000039000003250400004100000000060000190b5f0b550000040f0000000100200190000009bc0000613d000000000100001900000b600001042e000000440020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b0000030b0010009c000009bc0000213d0000002402a00370000000000202043b000500000002001d0000030b0020009c000009bc0000213d000000000010043f0000000501000039000000200010043f000000400200003900000000010000190b5f0b400000040f0000000502000029000000000020043f000000200010043f000000000100001900000040020000390b5f0b400000040f000000000101041a000000ff001001900000000001000039000000010100c039000000800010043f000003100100004100000b600001042e0000000001000416000000000001004b000009bc0000c13d0000000e01000039000005e20000013d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000000000010043f0000000701000039000000200010043f000000400200003900000000010000190b5f0b400000040f0b5f0a6e0000040f0000002002000039000000400300043d000500000003001d00000000022304360b5f0abb0000040f00000005020000290000000001210049000002d90010009c000002d9010080410000006001100210000002d90020009c000002d9020080410000004002200210000000000121019f00000b600001042e0000000001000416000000000001004b000009bc0000c13d0000000d01000039000005e20000013d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000000000010043f0000001001000039000000200010043f000000400200003900000000010000190b5f0b400000040f000000000101041a0000030b01100197000000800010043f000003100100004100000b600001042e000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000003080010009c000009bc0000213d00000004011000390b5f0a240000040f0b5f0aed0000040f000000000010043f0000000101000039000000200010043f000000400200003900000000010000190b5f0b400000040f000000000101041a000000400200043d000006140000013d000000240020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000500000001001d0000030b0010009c000009bc0000213d0b5f0b2e0000040f00000005010000290b5f0acd0000040f000000000100001900000b600001042e000000440020008c000009bc0000413d0000000001000416000000000001004b000009bc0000c13d0000000401a00370000000000101043b000500000001001d0000030b0010009c000009bc0000213d0000002401a00370000000000201043b000000000002004b0000000001000039000000010100c039000400000002001d000000000012004b000009bc0000c13d0000030a01000041000000000101041a0000030b021001970000000001000411000000000012004b000006c10000c13d0000000501000029000000000010043f0000000401000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000201041a000003350220019700000004022001af000000000021041b000000040000006b0000071b0000c13d000000400100043d00000020021000390000000403000029000000000032043500000005020000290000000000210435000002d90010009c000002d90100804100000040011002100000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030c011001c70000800d0200003900000001030000390000032f04000041000007170000013d0000000001000416000000000001004b000009bc0000c13d0000000b01000039000000000101041a000000800010043f000003100100004100000b600001042e0000032d01000041000000800010043f000000840030043f0000032e0100004100000b6100010430000000000003004b000005fa0000c13d000003220140019700000001011001bf000003230240019700000324022001c7000000000003004b000000000201c0190000031e01000041000000000021041b0000031f00200198000006c60000c13d000000400100043d0000032a02000041000005fb0000013d0000032c020000410000000000210435000002d90010009c000002d90100804100000040011002100000032b011001c700000b6100010430000000000010043f0000000401000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000400200043d000000000101043b000000000101041a000000ff001001900000000001000039000000010100c039000000010110018f0000000000120435000002d90020009c000002d902008041000000400120021000000312011001c700000b600001042e000000000001042f0000008005500039000000400050043f000000800010043f00000000031300190000002403300039000000000023004b000009bc0000213d000000200240003900000000032a034f000000200900008a00000000049101700000001f0510018f000000a0024000390000062f0000613d000000a006000039000000000703034f000000007807043c0000000006860436000000000026004b0000062b0000c13d000000000005004b0000063c0000613d000000000343034f0000000304500210000000000502043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000320435000000a00110003900000000000104350000002401a00370000000000101043b000500000001001d0000030a01000041000000000101041a0000030b021001970000000001000411000000000021004b000007340000c13d000000400100043d0000002002100039000000200300003900000000003204350000004004100039000000800300043d00000000003404350000006004100039000000000003004b000006590000613d00000000050000190000000006450019000000a007500039000000000707043300000000007604350000002005500039000000000035004b000006520000413d000000000443001900000000000404350000001f03300039000000000393016f000000400430003900000000004104350000007f03300039000000000493016f0000000003140019000000000043004b00000000040000390000000104004039000003080030009c000004410000213d0000000100400190000004410000c13d000000400030043f000002d90020009c000002d90200804100000040022002100000000001010433000002d90010009c000002d9010080410000006001100210000000000121019f0000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030d011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000010043f0000000101000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b0000000502000029000000000021041b0000000b02000039000000000102041a000000010310003a0000072e0000613d000000000032041b000000000010043f0000000701000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000400000001001d000000800100043d000300000001001d000003080010009c000004410000213d0000000401000029000000000101041a000000010010019000000001021002700000007f0220618f000200000002001d0000001f0020008c00000000020000390000000102002039000000000121013f0000000100100190000008130000613d0000033401000041000000000010043f0000002201000039000000040010043f000003290100004100000b61000104300000001f0530018f0000031606300198000000400200043d0000000004620019000006de0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000006bc0000c13d000006de0000013d0000032d02000041000000800020043f000000840010043f0000032e0100004100000b610001043000000000010004110000030b06100198000006f10000c13d000000400100043d0000032802000041000000000021043500000004021000390000000000020435000002d90010009c000002d901008041000000400110021000000329011001c700000b61000104300000001f0530018f0000031606300198000000400200043d0000000004620019000006de0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000006da0000c13d000000000005004b000006eb0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000002d90020009c000002d9020080410000004002200210000000000112019f00000b6100010430000500000003001d0000030a01000041000000000201041a0000031b03200197000000000363019f000000000031041b00000000010004140000030b05200197000002d90010009c000002d901008041000000c0011002100000030d011001c70000800d02000039000000030300003900000325040000410b5f0b550000040f0000000100200190000009bc0000613d000000050000006b0000051f0000c13d0000031e01000041000000000201041a0000032602200197000000000021041b0000000103000039000000400100043d0000000000310435000002d90010009c000002d90100804100000040011002100000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030e011001c70000800d0200003900000327040000410b5f0b550000040f00000001002001900000051f0000c13d000009bc0000013d0000000f01000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000101041a000000ff00100190000005cb0000c13d0000000e02000039000000000102041a000000010310003a000007bd0000c13d0000033401000041000000000010043f0000001101000039000000040010043f000003290100004100000b6100010430000000000010043f0000000401000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000101041a000000ff00100190000000200900008a000006470000c13d000007670000013d000000000010043f0000000401000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000101041a000000ff00100190000001830000c13d000007670000013d000000000010043f0000000401000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000101041a000000ff00100190000003800000c13d000000400100043d00000044021000390000033103000041000000000032043500000024021000390000001703000039000000000032043500000319020000410000000000210435000000040210003900000020030000390000000000320435000002d90010009c000002d901008041000000400110021000000332011001c700000b61000104300000000501000029000000000010043f0000000501000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b0000000402000029000000000020043f000000200010043f0000000001000414000006050000013d0000000501000029000000000010043f0000000501000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b0000000002000411000000000020043f000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000101041a000000ff00100190000000640000c13d000000400100043d00000064021000390000031703000041000000000032043500000044021000390000031803000041000000000032043500000024021000390000002103000039000000000032043500000319020000410000000000210435000000040210003900000020030000390000000000320435000002d90010009c000002d90100804100000040011002100000031a011001c700000b6100010430000000000032041b000000000010043f0000001001000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000201041a0000031b022001970000000503000029000000000232019f000000000021041b000000000030043f0000000f01000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000201041a000003350220019700000001022001bf000000000021041b000005cb0000013d0000000501000029000000000010043f0000001201000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000200000001001d0000001101000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000201041a000000010320003a0000072e0000613d000000000031041b000000000020043f0000000201000029000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000000000201041a0000031b0220019700000004022001af000000000021041b000000850000013d0000000201000029000000200010008c000008320000413d0000000401000029000000000010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030e011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d00000003030000290000001f023000390000000502200270000000200030008c0000000002004019000000000301043b00000002010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b000008320000813d000000000002041b0000000102200039000000000012004b0000082e0000413d00000003010000290000001f0010008c000008460000a13d0000000401000029000000000010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030e011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000200200008a0000000302200180000000000101043b000008770000c13d000000a003000039000008850000013d000000030000006b00000000010000190000084a0000613d000000a00100043d00000003040000290000000302400210000003370220027f0000033702200167000000000121016f0000000102400210000000000121019f000008920000013d000000030000006b0000000001000019000008560000613d000000a00100043d00000003040000290000000302400210000003370220027f0000033702200167000000000121016f0000000102400210000000000121019f000008d80000013d000000030000006b0000000001000019000008620000613d000000a00100043d00000003040000290000000302400210000003370220027f0000033702200167000000000121016f0000000102400210000000000121019f0000091e0000013d000000020000006b00000000010000190000086f0000613d0000000401000029000000000101043300000002040000290000000302400210000003370220027f0000033702200167000000000121016f0000000102400210000000000121019f000009640000013d000000010320008a0000000503300270000000000331001900000001033000390000002005000039000000000405001900000080055000390000000005050433000000000051041b00000020054000390000000101100039000000000031004b0000087c0000c13d000000a003400039000000030020006c0000088f0000813d00000003020000290000000302200210000000f80220018f000003370220027f00000337022001670000000003030433000000000223016f000000000021041b0000000301000029000000010110021000000001011001bf0000000402000029000000000012041b0000004002000039000000400100043d00000000022104360000004004100039000000800300043d00000000003404350000006004100039000000000003004b000008a50000613d00000000050000190000000006450019000000a007500039000000000707043300000000007604350000002005500039000000000035004b0000089e0000413d00000000044300190000000000040435000000050400002900000000004204350000001f0230003900000336022001970000006002200039000002d90020009c000002d9020080410000006002200210000002d90010009c000002d9010080410000004001100210000000000112019f0000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030d011001c70000800d0200003900000001030000390000030f04000041000007170000013d000000010320008a0000000503300270000000000331001900000001033000390000002005000039000000000405001900000080055000390000000005050433000000000051041b00000020054000390000000101100039000000000031004b000008c20000c13d000000a003400039000000030020006c000008d50000813d00000003020000290000000302200210000000f80220018f000003370220027f00000337022001670000000003030433000000000223016f000000000021041b0000000301000029000000010110021000000001011001bf0000000402000029000000000012041b0000004002000039000000400100043d00000000022104360000004004100039000000800300043d00000000003404350000006004100039000000000003004b000008eb0000613d00000000050000190000000006450019000000a007500039000000000707043300000000007604350000002005500039000000000035004b000008e40000413d00000000044300190000000000040435000000050400002900000000004204350000001f0230003900000336022001970000006002200039000002d90020009c000002d9020080410000006002200210000002d90010009c000002d9010080410000004001100210000000000112019f0000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030d011001c70000800d0200003900000001030000390000031304000041000007170000013d000000010320008a0000000503300270000000000331001900000001033000390000002005000039000000000405001900000080055000390000000005050433000000000051041b00000020054000390000000101100039000000000031004b000009080000c13d000000a003400039000000030020006c0000091b0000813d00000003020000290000000302200210000000f80220018f000003370220027f00000337022001670000000003030433000000000223016f000000000021041b0000000301000029000000010110021000000001011001bf0000000402000029000000000012041b0000004002000039000000400100043d00000000022104360000004004100039000000800300043d00000000003404350000006004100039000000000003004b000009310000613d00000000050000190000000006450019000000a007500039000000000707043300000000007604350000002005500039000000000035004b0000092a0000413d00000000044300190000000000040435000000050400002900000000004204350000001f0230003900000336022001970000006002200039000002d90020009c000002d9020080410000006002200210000002d90010009c000002d9010080410000004001100210000000000112019f0000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030d011001c70000800d0200003900000001030000390000033304000041000007170000013d000000010320008a0000000503300270000000000431001900000020030000390000000104400039000000050600002900000000056300190000000005050433000000000051041b00000020033000390000000101100039000000000041004b0000094f0000c13d000000020020006c000009610000813d00000002020000290000000302200210000000f80220018f000003370220027f000003370220016700000005033000290000000003030433000000000223016f000000000021041b0000000201000029000000010110021000000001011001bf0000000302000029000000000012041b0000000d02000039000000000102041a000000010310003a0000072e0000613d000000000032041b000000000010043f0000000901000039000000200010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030c011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000000101043b000300000001001d000000800100043d000200000001001d000003080010009c000004410000213d0000000301000029000000000101041a000000010010019000000001021002700000007f0220618f000100000002001d0000001f0020008c00000000020000390000000102002039000000000121013f0000000100100190000006af0000c13d0000000101000029000000200010008c000009a80000413d0000000301000029000000000010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030e011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d00000002030000290000001f023000390000000502200270000000200030008c0000000002004019000000000301043b00000001010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b000009a80000813d000000000002041b0000000102200039000000000012004b000009a40000413d00000002010000290000001f0010008c000009be0000a13d0000000301000029000000000010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030e011001c700008010020000390b5f0b5a0000040f0000000100200190000009bc0000613d000000200200008a0000000202200180000000000101043b000009ca0000c13d000000a003000039000009d80000013d000000000100001900000b6100010430000000020000006b0000000001000019000009c20000613d000000a00100043d00000002040000290000000302400210000003370220027f0000033702200167000000000121016f0000000102400210000000000121019f000009e50000013d000000010320008a0000000503300270000000000331001900000001033000390000002005000039000000000405001900000080055000390000000005050433000000000051041b00000020054000390000000101100039000000000031004b000009cf0000c13d000000a003400039000000020020006c000009e20000813d00000002020000290000000302200210000000f80220018f000003370220027f00000337022001670000000003030433000000000223016f000000000021041b0000000201000029000000010110021000000001011001bf0000000302000029000000000012041b0000004002000039000000400100043d00000000022104360000004004100039000000800300043d00000000003404350000006004100039000000000003004b000009f80000613d00000000050000190000000006450019000000a007500039000000000707043300000000007604350000002005500039000000000035004b000009f10000413d000000000543001900000000000504350000001f033000390000033603300197000000000443001900000000031400490000000000320435000000050200002900000000030204330000000002340436000000000003004b000000040700002900000a0d0000613d000000000400001900000000052400190000000006740019000000000606043300000000006504350000002004400039000000000034004b00000a060000413d000000000423001900000000000404350000001f03300039000003360330019700000000021200490000000002320019000002d90020009c000002d9020080410000006002200210000002d90010009c000002d9010080410000004001100210000000000112019f0000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030d011001c70000800d0200003900000001030000390000031104000041000007170000013d00000000030100190000001f01100039000000000021004b0000000004000019000003380400404100000338052001970000033801100197000000000651013f000000000051004b00000000010000190000033801002041000003380060009c000000000104c019000000000001004b00000a6c0000613d0000000006000367000000000136034f000000000401043b000003300040009c00000a660000813d0000001f0140003900000336011001970000003f011000390000033605100197000000400100043d0000000005510019000000000015004b00000000080000390000000108004039000003080050009c00000a660000213d000000010080019000000a660000c13d000000400050043f000000000541043600000020033000390000000008430019000000000028004b00000a6c0000213d000000000336034f00000336064001980000001f0740018f000000000265001900000a560000613d000000000803034f0000000009050019000000008a08043c0000000009a90436000000000029004b00000a520000c13d000000000007004b00000a630000613d000000000363034f0000000306700210000000000702043300000000076701cf000000000767022f000000000303043b0000010006600089000000000363022f00000000036301cf000000000373019f000000000032043500000000024500190000000000020435000000000001042d0000033401000041000000000010043f0000004101000039000000040010043f000003290100004100000b6100010430000000000100001900000b61000104300003000000000002000000000201041a000000010320019000000001062002700000007f0660618f0000001f0060008c00000000040000390000000104002039000000000043004b00000aad0000c13d000000400500043d0000000004650436000000000003004b00000a980000613d000100000004001d000300000006001d000200000005001d000000000010043f0000000001000414000002d90010009c000002d901008041000000c0011002100000030e011001c700008010020000390b5f0b5a0000040f000000010020019000000ab90000613d0000000306000029000000000006004b00000a9e0000613d000000000201043b0000000001000019000000020500002900000001070000290000000003170019000000000402041a000000000043043500000001022000390000002001100039000000000061004b00000a900000413d00000aa00000013d00000335012001970000000000140435000000000006004b0000002001000039000000000100603900000aa00000013d000000000100001900000002050000290000003f0110003900000336021001970000000001520019000000000021004b00000000020000390000000102004039000003080010009c00000ab30000213d000000010020019000000ab30000c13d000000400010043f0000000001050019000000000001042d0000033401000041000000000010043f0000002201000039000000040010043f000003290100004100000b61000104300000033401000041000000000010043f0000004101000039000000040010043f000003290100004100000b6100010430000000000100001900000b610001043000000000430104340000000001320436000000000003004b00000ac70000613d000000000200001900000000052100190000000006240019000000000606043300000000006504350000002002200039000000000032004b00000ac00000413d000000000231001900000000000204350000001f0230003900000336022001970000000001210019000000000001042d0000030b0610019800000ae10000613d0000030a01000041000000000201041a0000031b03200197000000000363019f000000000031041b00000000010004140000030b05200197000002d90010009c000002d901008041000000c0011002100000030d011001c70000800d02000039000000030300003900000325040000410b5f0b550000040f000000010020019000000aeb0000613d000000000001042d000000400100043d0000032802000041000000000021043500000004021000390000000000020435000002d90010009c000002d901008041000000400110021000000329011001c700000b6100010430000000000100001900000b6100010430000000400200043d0000002003200039000000200400003900000000004304350000000054010434000000400120003900000000004104350000006001200039000000000004004b00000aff0000613d000000000600001900000000071600190000000008650019000000000808043300000000008704350000002006600039000000000046004b00000af80000413d000000000541001900000000000504350000001f04400039000003360440019700000000042400490000000001140019000000200410008a00000000004204350000001f0110003900000336041001970000000001240019000000000041004b00000000040000390000000104004039000003080010009c00000b260000213d000000010040019000000b260000c13d000000400010043f000002d90030009c000002d90300804100000040013002100000000002020433000002d90020009c000002d9020080410000006002200210000000000112019f0000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030d011001c700008010020000390b5f0b5a0000040f000000010020019000000b2c0000613d000000000101043b000000000001042d0000033401000041000000000010043f0000004101000039000000040010043f000003290100004100000b6100010430000000000100001900000b61000104300000030a01000041000000000101041a0000030b021001970000000001000411000000000012004b00000b350000c13d000000000001042d000000400200043d0000032d03000041000000000032043500000004032000390000000000130435000002d90020009c000002d902008041000000400120021000000329011001c700000b6100010430000000000001042f000002d90010009c000002d9010080410000004001100210000002d90020009c000002d9020080410000006002200210000000000112019f0000000002000414000002d90020009c000002d902008041000000c002200210000000000112019f0000030d011001c700008010020000390b5f0b5a0000040f000000010020019000000b530000613d000000000101043b000000000001042d000000000100001900000b610001043000000b58002104210000000102000039000000000001042d0000000002000019000000000001042d00000b5d002104230000000102000039000000000001042d0000000002000019000000000001042d00000b5f0000043200000b600001042e00000b61000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000002000000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000000000000000000000081b3bc3a00000000000000000000000000000000000000000000000000000000c05e4d3100000000000000000000000000000000000000000000000000000000e9ced75f00000000000000000000000000000000000000000000000000000000f2fde38a00000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000f74bc1a700000000000000000000000000000000000000000000000000000000e9ced76000000000000000000000000000000000000000000000000000000000edf161c400000000000000000000000000000000000000000000000000000000d53d817100000000000000000000000000000000000000000000000000000000d53d817200000000000000000000000000000000000000000000000000000000daa24ef600000000000000000000000000000000000000000000000000000000c05e4d3200000000000000000000000000000000000000000000000000000000cf7aae40000000000000000000000000000000000000000000000000000000008da5cb5a00000000000000000000000000000000000000000000000000000000a23220d000000000000000000000000000000000000000000000000000000000a23220d100000000000000000000000000000000000000000000000000000000bd69dabb000000000000000000000000000000000000000000000000000000008da5cb5b0000000000000000000000000000000000000000000000000000000095a501f10000000000000000000000000000000000000000000000000000000086bb91b50000000000000000000000000000000000000000000000000000000086bb91b60000000000000000000000000000000000000000000000000000000086bfc13d0000000000000000000000000000000000000000000000000000000081b3bc3b0000000000000000000000000000000000000000000000000000000085a5a69400000000000000000000000000000000000000000000000000000000429b62e400000000000000000000000000000000000000000000000000000000715018a500000000000000000000000000000000000000000000000000000000769eec9f00000000000000000000000000000000000000000000000000000000769eeca0000000000000000000000000000000000000000000000000000000008129fc1c00000000000000000000000000000000000000000000000000000000715018a60000000000000000000000000000000000000000000000000000000074b9982c000000000000000000000000000000000000000000000000000000004b0bddd1000000000000000000000000000000000000000000000000000000004b0bddd2000000000000000000000000000000000000000000000000000000005acef22700000000000000000000000000000000000000000000000000000000429b62e500000000000000000000000000000000000000000000000000000000464ec28d00000000000000000000000000000000000000000000000000000000257973e30000000000000000000000000000000000000000000000000000000039c0cded0000000000000000000000000000000000000000000000000000000039c0cdee000000000000000000000000000000000000000000000000000000003a8debb000000000000000000000000000000000000000000000000000000000257973e4000000000000000000000000000000000000000000000000000000003657ca3f00000000000000000000000000000000000000000000000000000000048f403a000000000000000000000000000000000000000000000000000000000d6739380000000000000000000000000000000000000000000000000000000024d7806c000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0200000000000000000000000000000000000040000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000200000000000000000000000006f9b8d4014adf282c415fabf2e21564a4b5e12d207a5d78bdb3b27fa6eb26941000000000000000000000000000000000000002000000080000000000000000013ccedecfd5facd9a6919351fc6f21cf2d37f232c95b60d565aa0d3e5fc929ce0000000000000000000000000000000000000020000000000000000000000000d46dd1212533bce3bd611506ec0679bdeb89e0c79d1255a1c72a28a43e7f269f8da5cb5b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000080000000000000000000000000000000000000000000000000000000000000000000000000ffffffe06e00000000000000000000000000000000000000000000000000000000000000596f7520646f206e6f74206861766520616363657373207065726d697373696f08c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000200000000000000000000000000000000000060000000000000000000000000672b965004773d127d10cc3764ee9a338ed9a6b31ebf540c99a96f9f8108a4fff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a000000000000000000000000000000000000000000000000ff00000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000100000000000000018be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d21e4fbdf7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000d7e6bcf8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f92ee8a900000000000000000000000000000000000000000000000000000000118cdaa7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000800000000000000000235bc17e7930760029e9f4d860a2a8089976de5b381cf8380fc11c1d88a1113300000000000000000000000000000000000000000000000100000000000000005265676973747279203a20556e617574686f72697365640000000000000000000000000000000000000000000000000000000064000000000000000000000000135cf55549d8538a41f19f46cc85625da93e68b63484cca8fcb9aaf19e5201374e487b7100000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bca0933e301986e93d7882d5f2fb0e7f64dcdb127df48d7b4196f41502aae19
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 33 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
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.