From 8e03908c247f156d20b02413d26d5baf8905737f Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Sat, 26 Aug 2023 01:20:29 +0100 Subject: [PATCH 01/21] chore: add upgradeables remove constructors, add inits and scratch space --- .gitmodules | 5 +- cspell.json | 4 +- .../contracts/lib/openzeppelin-upgradeable | 1 + packages/contracts/remappings.txt | 1 + .../contracts/src/dollar/core/CreditNft.sol | 36 +++++++++--- .../src/dollar/core/ERC1155Ubiquity.sol | 54 +++++++++++++---- .../src/dollar/core/ERC20Ubiquity.sol | 58 ++++++++++++++----- .../src/dollar/core/StakingShare.sol | 40 +++++++++---- .../src/dollar/core/UbiquityCreditToken.sol | 33 ++++++++--- .../src/dollar/core/UbiquityDollarToken.sol | 33 ++++++++--- .../dollar/core/UbiquityGovernanceToken.sol | 33 ++++++++--- .../components/layout/anvil/method-configs.ts | 14 ++--- 12 files changed, 232 insertions(+), 80 deletions(-) create mode 160000 packages/contracts/lib/openzeppelin-upgradeable diff --git a/.gitmodules b/.gitmodules index 48a7b6295..d1ff1d3ce 100644 --- a/.gitmodules +++ b/.gitmodules @@ -30,4 +30,7 @@ path = packages/contracts/lib/Uniswap/v3-periphery url = https://github.com/Uniswap/v3-periphery.git branch= main - +[submodule "packages/contracts/lib/openzeppelin-upgradeable"] + path = packages/contracts/lib/openzeppelin-upgradeable + url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable + branch = release-v4.9.3 \ No newline at end of file diff --git a/cspell.json b/cspell.json index 265abdb52..3183e89ff 100644 --- a/cspell.json +++ b/cspell.json @@ -144,7 +144,9 @@ "Txpool", "nomicfoundation", "blockhash", - "Merkle" + "Merkle", + "UUPS", + "Initializable" ], "flagWords": ["creditNFT", "CreditNFT"], "language": "en-US" diff --git a/packages/contracts/lib/openzeppelin-upgradeable b/packages/contracts/lib/openzeppelin-upgradeable new file mode 160000 index 000000000..7b9801caf --- /dev/null +++ b/packages/contracts/lib/openzeppelin-upgradeable @@ -0,0 +1 @@ +Subproject commit 7b9801caf3cd1387f7aef2fb13b9bc93b99741b4 diff --git a/packages/contracts/remappings.txt b/packages/contracts/remappings.txt index 284b853c4..7f702b8a3 100644 --- a/packages/contracts/remappings.txt +++ b/packages/contracts/remappings.txt @@ -7,3 +7,4 @@ solidity-linked-list/=lib/solidity-linked-list @uniswap/v3-periphery/contracts/=lib/Uniswap/v3-periphery/contracts abdk/=lib/abdk-libraries-solidity/ operator-filter-registry/=lib/operator-filter-registry/src +@openzeppelinUpgradeable/contracts/=lib/openzeppelin-upgradeable/contracts \ No newline at end of file diff --git a/packages/contracts/src/dollar/core/CreditNft.sol b/packages/contracts/src/dollar/core/CreditNft.sol index 9bee11836..ff634e5a2 100644 --- a/packages/contracts/src/dollar/core/CreditNft.sol +++ b/packages/contracts/src/dollar/core/CreditNft.sol @@ -6,13 +6,20 @@ import "solidity-linked-list/contracts/StructuredLinkedList.sol"; import {ICreditNft} from "../../dollar/interfaces/ICreditNft.sol"; import "../libraries/Constants.sol"; +import {UUPSUpgradeable} from "@openzeppelinUpgradeable/contracts/proxy/utils/UUPSUpgradeable.sol"; + /** * @notice CreditNft redeemable for Dollars with an expiry block number * @notice ERC1155 where the token ID is the expiry block number * @dev Implements ERC1155 so receiving contracts must implement `IERC1155Receiver` * @dev 1 Credit NFT = 1 whole Ubiquity Dollar, not 1 wei */ -contract CreditNft is ERC1155Ubiquity, ICreditNft { +contract CreditNft is + Initializable, + UUPSUpgradeable, + ERC1155Ubiquity, + ICreditNft +{ using StructuredLinkedList for StructuredLinkedList.List; /** @@ -50,12 +57,21 @@ contract CreditNft is ERC1155Ubiquity, ICreditNft { _; } - /** - * @notice Contract constructor - * @dev URI param is if we want to add an off-chain meta data uri associated with this contract - * @param _manager Access control address - */ - constructor(address _manager) ERC1155Ubiquity(_manager, "URI") { + // /** + // * @notice Contract constructor + // * @dev URI param is if we want to add an off-chain meta data uri associated with this contract + // * @param _manager Access control address + // */ + // constructor(address _manager) ERC1155Ubiquity(_manager, "URI") { + // _totalOutstandingDebt = 0; + // } + + constructor() { + _disableInitializers(); + } + + function initialize(address _manager) public initializer { + __ERC1155Ubiquity_init(_manager, "URI"); _totalOutstandingDebt = 0; } @@ -159,4 +175,10 @@ contract CreditNft is ERC1155Ubiquity, ICreditNft { return outstandingDebt; } + + function _authorizeUpgrade( + address newImplementation + ) internal override onlyAdmin {} + + uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol index bc7b6c6ad..99a5c3043 100644 --- a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol @@ -1,10 +1,11 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol"; -import "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol"; -import "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol"; -import "../interfaces/IAccessControl.sol"; +import {ERC1155Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol"; +import {ERC1155BurnableUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol"; +import {ERC1155PausableUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol"; +import {UUPSUpgradeable} from "@openzeppelinUpgradeable/contracts/proxy/utils/UUPSUpgradeable.sol"; + import "../libraries/Constants.sol"; import "../../../src/dollar/utils/SafeAddArray.sol"; @@ -16,7 +17,12 @@ import "../../../src/dollar/utils/SafeAddArray.sol"; * - TotalSupply per id * - Ubiquity Manager access control */ -contract ERC1155Ubiquity is ERC1155, ERC1155Burnable, ERC1155Pausable { +contract ERC1155Ubiquity is + ERC1155Upgradeable, + ERC1155BurnableUpgradeable, + ERC1155PausableUpgradeable, + UUPSUpgradeable +{ using SafeAddArray for uint256[]; /// @notice Access control interface @@ -66,12 +72,26 @@ contract ERC1155Ubiquity is ERC1155, ERC1155Burnable, ERC1155Pausable { _; } - /** - * @notice Contract constructor - * @param _manager Access control address - * @param uri Base URI - */ - constructor(address _manager, string memory uri) ERC1155(uri) { + // /** + // * @notice Contract constructor + // * @param _manager Access control address + // * @param uri Base URI + // */ + // constructor(address _manager, string memory uri) ERC1155(uri) { + // accessControl = IAccessControl(_manager); + // } + + constructor() { + _disableInitializers(); + } + + function __ERC1155Ubiquity_init( + address _manager, + string memory uri + ) internal onlyInitializing { + __ERC1155_init(uri); + __ERC1155Burnable_init(); + __ERC1155Pausable_init(); accessControl = IAccessControl(_manager); } @@ -270,7 +290,17 @@ contract ERC1155Ubiquity is ERC1155, ERC1155Burnable, ERC1155Pausable { uint256[] memory ids, uint256[] memory amounts, bytes memory data - ) internal virtual override(ERC1155, ERC1155Pausable) { + ) + internal + virtual + override(ERC1155Upgradeable, ERC1155PausableUpgradeable) + { super._beforeTokenTransfer(operator, from, to, ids, amounts, data); } + + function _authorizeUpgrade( + address newImplementation + ) internal override onlyAdmin {} + + uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol index 041de0021..fcadf8948 100644 --- a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol @@ -1,12 +1,16 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -import {ERC20, ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol"; -import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol"; +// import {ERC20, ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol"; +// import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol"; import {IAccessControl} from "../interfaces/IAccessControl.sol"; import {DEFAULT_ADMIN_ROLE, PAUSER_ROLE} from "../libraries/Constants.sol"; import {IERC20Ubiquity} from "../../dollar/interfaces/IERC20Ubiquity.sol"; +import {ERC20Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/ERC20Upgradeable.sol"; +import {ERC20PermitUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/extensions/ERC20PermitUpgradeable.sol"; +import {ERC20PausableUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/extensions/ERC20PausableUpgradeable.sol"; + /** * @notice Base contract for Ubiquity ERC20 tokens (Dollar, Credit, Governance) * @notice ERC20 with: @@ -14,7 +18,11 @@ import {IERC20Ubiquity} from "../../dollar/interfaces/IERC20Ubiquity.sol"; * - draft-ERC20 permit * - Ubiquity Manager access control */ -abstract contract ERC20Ubiquity is ERC20Permit, ERC20Pausable, IERC20Ubiquity { +abstract contract ERC20Ubiquity is + ERC20PermitUpgradeable, + ERC20PausableUpgradeable, + IERC20Ubiquity +{ /// @notice Token symbol string private _symbol; @@ -39,17 +47,33 @@ abstract contract ERC20Ubiquity is ERC20Permit, ERC20Pausable, IERC20Ubiquity { _; } - /** - * @notice Contract constructor - * @param _manager Access control address - * @param name_ Token name - * @param symbol_ Token symbol - */ - constructor( + // /** + // * @notice Contract constructor + // * @param _manager Access control address + // * @param name_ Token name + // * @param symbol_ Token symbol + // */ + // constructor( + // address _manager, + // string memory name_, + // string memory symbol_ + // ) ERC20(name_, symbol_) ERC20Permit(name_) { + // _symbol = symbol_; + // accessControl = IAccessControl(_manager); + // } + + constructor() { + _disableInitializers(); + } + + function __ERC20Ubiquity_init( address _manager, - string memory name_, - string memory symbol_ - ) ERC20(name_, symbol_) ERC20Permit(name_) { + string calldata name_, + string calldata symbol_ + ) public onlyInitializing { + __ERC20_init(name, symbol_); + __ERC20Permit_init(name_); + __ERC20Pausable_init(); _symbol = symbol_; accessControl = IAccessControl(_manager); } @@ -131,7 +155,7 @@ abstract contract ERC20Ubiquity is ERC20Permit, ERC20Pausable, IERC20Ubiquity { address from, address to, uint256 amount - ) internal virtual override(ERC20, ERC20Pausable) { + ) internal virtual override(ERC20Upgradeable, ERC20PausableUpgradeable) { super._beforeTokenTransfer(from, to, amount); } @@ -156,4 +180,10 @@ abstract contract ERC20Ubiquity is ERC20Permit, ERC20Pausable, IERC20Ubiquity { ) internal virtual override whenNotPaused { super._transfer(sender, recipient, amount); } + + function _authorizeUpgrade( + address newImplementation + ) internal override onlyAdmin {} + + uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/StakingShare.sol b/packages/contracts/src/dollar/core/StakingShare.sol index c85824f82..f473fe402 100644 --- a/packages/contracts/src/dollar/core/StakingShare.sol +++ b/packages/contracts/src/dollar/core/StakingShare.sol @@ -1,15 +1,15 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {IERC20Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/IERC20Upgradeable.sol"; import {ERC1155Ubiquity} from "./ERC1155Ubiquity.sol"; -import "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol"; +import {ERC1155URIStorageUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/extensions/ERC1155URIStorageUpgradeable.sol"; import "../../dollar/utils/SafeAddArray.sol"; import "../interfaces/IAccessControl.sol"; import "../libraries/Constants.sol"; /// @notice Contract representing a staking share in the form of ERC1155 token -contract StakingShare is ERC1155Ubiquity, ERC1155URIStorage { +contract StakingShare is ERC1155Ubiquity, ERC1155URIStorageUpgradeable { using SafeAddArray for uint256[]; /// @notice Stake struct @@ -33,7 +33,7 @@ contract StakingShare is ERC1155Ubiquity, ERC1155URIStorage { uint256 private _totalLP; /// @notice Base token URI - string private _baseURI = ""; + string private _baseURI; // ----------- Modifiers ----------- @@ -64,15 +64,27 @@ contract StakingShare is ERC1155Ubiquity, ERC1155URIStorage { _; } - /** - * @notice Contract constructor - * @param _manager Access control address - * @param _uri URI string - */ - constructor( + // /** + // * @notice Contract constructor + // * @param _manager Access control address + // * @param _uri URI string + // */ + // constructor( + // address _manager, + // string memory _uri + // ) ERC1155Ubiquity(_manager, _uri) {} + + constructor() { + _disableInitializers(); + } + + function initialize( address _manager, string memory _uri - ) ERC1155Ubiquity(_manager, _uri) {} + ) public initializer { + __ERC1155Ubiquity_init(_manager, _uri); + __ERC1155URIStorage_init(); + } /** * @notice Updates a staking share @@ -259,4 +271,10 @@ contract StakingShare is ERC1155Ubiquity, ERC1155URIStorage { function getBaseUri() external view returns (string memory) { return _baseURI; } + + function _authorizeUpgrade( + address newImplementation + ) internal override onlyAdmin {} + + uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/UbiquityCreditToken.sol b/packages/contracts/src/dollar/core/UbiquityCreditToken.sol index 40d690563..4bb302e6e 100644 --- a/packages/contracts/src/dollar/core/UbiquityCreditToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityCreditToken.sol @@ -10,16 +10,25 @@ import "../libraries/Constants.sol"; * @notice Credit token contract */ contract UbiquityCreditToken is ERC20Ubiquity { - /** - * @notice Contract constructor - * @param _manager Access control address - */ - constructor( - address _manager - ) + // /** + // * @notice Contract constructor + // * @param _manager Access control address + // */ + // constructor( + // address _manager + // ) + // // cspell: disable-next-line + // ERC20Ubiquity(_manager, "Ubiquity Credit", "uCR") + // {} // solhint-disable-line no-empty-blocks + + constructor() { + _disableInitializers(); + } + + function initialize(address _manager) public initializer { // cspell: disable-next-line - ERC20Ubiquity(_manager, "Ubiquity Credit", "uCR") - {} // solhint-disable-line no-empty-blocks + __ERC20Ubiquity_init(_manager, "Ubiquity Credit", "uCR"); + } // ----------- Modifiers ----------- @@ -77,4 +86,10 @@ contract UbiquityCreditToken is ERC20Ubiquity { _mint(to, amount); emit Minting(to, msg.sender, amount); } + + function _authorizeUpgrade( + address newImplementation + ) internal override onlyAdmin {} + + uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/UbiquityDollarToken.sol b/packages/contracts/src/dollar/core/UbiquityDollarToken.sol index 3895fff95..ce256a5fc 100644 --- a/packages/contracts/src/dollar/core/UbiquityDollarToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityDollarToken.sol @@ -22,16 +22,25 @@ contract UbiquityDollarToken is ERC20Ubiquity { address indexed _incentiveContract ); - /** - * @notice Contract constructor - * @param _manager Access control address - */ - constructor( - address _manager - ) + // /** + // * @notice Contract constructor + // * @param _manager Access control address + // */ + // constructor( + // address _manager + // ) + // // cspell: disable-next-line + // ERC20Ubiquity(_manager, "Ubiquity Dollar", "uAD") + // {} // solhint-disable-line no-empty-blocks, max-line-length + + constructor() { + _disableInitializers(); + } + + function initialize(address _manager) public initializer { // cspell: disable-next-line - ERC20Ubiquity(_manager, "Ubiquity Dollar", "uAD") - {} // solhint-disable-line no-empty-blocks, max-line-length + __ERC20Ubiquity_init(_manager, "Ubiquity Dollar", "uAD"); + } // ----------- Modifiers ----------- @@ -181,4 +190,10 @@ contract UbiquityDollarToken is ERC20Ubiquity { _mint(to, amount); emit Minting(to, msg.sender, amount); } + + function _authorizeUpgrade( + address newImplementation + ) internal override onlyAdmin {} + + uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol index 963668474..365f55ccc 100644 --- a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol @@ -9,16 +9,25 @@ import "../libraries/Constants.sol"; * @notice Ubiquity Governance token contract */ contract UbiquityGovernanceToken is ERC20Ubiquity { - /** - * @notice Contract constructor - * @param _manager Access control address - */ - constructor( - address _manager - ) + // /** + // * @notice Contract constructor + // * @param _manager Access control address + // */ + // constructor( + // address _manager + // ) + // // cspell: disable-next-line + // ERC20Ubiquity(_manager, "Ubiquity", "UBQ") + // {} // solhint-disable-line no-empty-blocks, max-line-length + + constructor() { + _disableInitializers(); + } + + function initialize(address _manager) public initializer { // cspell: disable-next-line - ERC20Ubiquity(_manager, "Ubiquity", "UBQ") - {} // solhint-disable-line no-empty-blocks, max-line-length + __ERC20Ubiquity_init(_manager, "Ubiquity", "UBQ"); + } // ----------- Modifiers ----------- @@ -65,4 +74,10 @@ contract UbiquityGovernanceToken is ERC20Ubiquity { _mint(to, amount); emit Minting(to, msg.sender, amount); } + + function _authorizeUpgrade( + address newImplementation + ) internal override onlyAdmin {} + + uint256[50] private __gap; } diff --git a/packages/dapp/components/layout/anvil/method-configs.ts b/packages/dapp/components/layout/anvil/method-configs.ts index 1f3a03413..95985f523 100644 --- a/packages/dapp/components/layout/anvil/method-configs.ts +++ b/packages/dapp/components/layout/anvil/method-configs.ts @@ -7,13 +7,6 @@ export const methodConfigs = [ download: true, type: "utility", }, - // { - // name: "Logging Enabled", - // methodName: "anvil_setLoggingEnabled", - // description: "Enable or disable logging on the test node network.", - // params: [{ name: "boolean", type: "boolean" }], - // type: "utility", - // }, { name: "Load State", methodName: "anvil_loadState", @@ -46,6 +39,13 @@ export const methodConfigs = [ // params: [], // type: "utility", // }, + // { + // name: "Set Logging Enabled", + // methodName: "anvil_setLoggingEnabled", + // description: "Enable or disable logging on the test node network.", + // params: [{ name: "boolean", type: "boolean" }], + // type: "utility", + // }, { name: "Snapshot", methodName: "anvil_snapshot", From 5c3f75785a8c10333b66b21e3744986b6fd31a08 Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Sat, 26 Aug 2023 05:13:48 +0100 Subject: [PATCH 02/21] chore: refactoring for UUPS mostly refactored and compiling at least but need to handle paylad context refactoring --- .gitmodules | 8 +- cspell.json | 3 +- packages/contracts/lib/openzeppelin-contracts | 2 +- .../contracts/lib/openzeppelin-upgradeable | 1 - .../contracts/lib/openzeppelinUpgradeable | 1 + packages/contracts/lib/solidity-linked-list | 2 +- packages/contracts/remappings.txt | 2 +- .../02_UbiquityDollarToken.s.sol | 17 ++- .../03_UbiquityGovernanceToken.s.sol | 23 +++- .../solidityScripting/04_UbiquityCredit.s.sol | 28 ++++- .../solidityScripting/05_StakingShare.s.sol | 20 ++- .../contracts/src/dollar/core/CreditNft.sol | 90 +++++++++++++- .../src/dollar/core/ERC1155Ubiquity.sol | 7 +- .../src/dollar/core/ERC20Ubiquity.sol | 107 ++++++++++++++-- .../src/dollar/core/StakingShare.sol | 35 ++++-- .../src/dollar/core/UbiquityCreditToken.sol | 6 +- .../src/dollar/core/UbiquityDollarToken.sol | 6 +- .../dollar/core/UbiquityGovernanceToken.sol | 6 +- .../src/dollar/interfaces/ICreditNft.sol | 4 +- .../src/dollar/mocks/MockShareV1.sol | 4 +- .../test/diamond/DiamondTestSetup.sol | 56 +-------- .../diamond/facets/BondingCurveFacet.t.sol | 2 +- .../test/diamond/facets/ChefFacet.t.sol | 13 +- .../facets/CreditNftManagerFacet.t.sol | 6 +- .../CreditNftRedemptionCalculatorFacet.t.sol | 2 +- .../CreditRedemptionCalculatorFacet.t.sol | 2 +- .../test/diamond/facets/StakingFacet.t.sol | 13 +- .../diamond/facets/UbiquityPoolFacet.t.sol | 5 - .../test/dollar/core/CreditNft.t.sol | 3 +- .../test/dollar/core/StakingShare.t.sol | 1 - .../dollar/core/UbiquityCreditToken.t.sol | 2 +- .../test/helpers/DiamondTestHelper.sol | 3 +- .../test/helpers/LocalTestHelper.sol | 7 +- packages/contracts/test/helpers/UupsProxy.sol | 11 ++ .../contracts/test/helpers/UupsTestHelper.sol | 115 ++++++++++++++++++ 35 files changed, 464 insertions(+), 149 deletions(-) delete mode 160000 packages/contracts/lib/openzeppelin-upgradeable create mode 160000 packages/contracts/lib/openzeppelinUpgradeable create mode 100644 packages/contracts/test/helpers/UupsProxy.sol create mode 100644 packages/contracts/test/helpers/UupsTestHelper.sol diff --git a/.gitmodules b/.gitmodules index d1ff1d3ce..81582c04d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -30,7 +30,7 @@ path = packages/contracts/lib/Uniswap/v3-periphery url = https://github.com/Uniswap/v3-periphery.git branch= main -[submodule "packages/contracts/lib/openzeppelin-upgradeable"] - path = packages/contracts/lib/openzeppelin-upgradeable - url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable - branch = release-v4.9.3 \ No newline at end of file +[submodule "packages/contracts/lib/openzeppelinUpgradeable"] + path = packages/contracts/lib/openzeppelinUpgradeable + url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/ + branch = release-v4.9 diff --git a/cspell.json b/cspell.json index 3183e89ff..15c1af386 100644 --- a/cspell.json +++ b/cspell.json @@ -146,7 +146,8 @@ "blockhash", "Merkle", "UUPS", - "Initializable" + "Initializable", + "Uupstest" ], "flagWords": ["creditNFT", "CreditNFT"], "language": "en-US" diff --git a/packages/contracts/lib/openzeppelin-contracts b/packages/contracts/lib/openzeppelin-contracts index e50c24f58..17c1a3a45 160000 --- a/packages/contracts/lib/openzeppelin-contracts +++ b/packages/contracts/lib/openzeppelin-contracts @@ -1 +1 @@ -Subproject commit e50c24f5839db17f46991478384bfda14acfb830 +Subproject commit 17c1a3a4584e2cbbca4131f2f1d16168c92f2310 diff --git a/packages/contracts/lib/openzeppelin-upgradeable b/packages/contracts/lib/openzeppelin-upgradeable deleted file mode 160000 index 7b9801caf..000000000 --- a/packages/contracts/lib/openzeppelin-upgradeable +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7b9801caf3cd1387f7aef2fb13b9bc93b99741b4 diff --git a/packages/contracts/lib/openzeppelinUpgradeable b/packages/contracts/lib/openzeppelinUpgradeable new file mode 160000 index 000000000..f34a3a7e5 --- /dev/null +++ b/packages/contracts/lib/openzeppelinUpgradeable @@ -0,0 +1 @@ +Subproject commit f34a3a7e5a1d698d87d517fda698d48286310bee diff --git a/packages/contracts/lib/solidity-linked-list b/packages/contracts/lib/solidity-linked-list index 135132751..a34f10a58 160000 --- a/packages/contracts/lib/solidity-linked-list +++ b/packages/contracts/lib/solidity-linked-list @@ -1 +1 @@ -Subproject commit 13513275184c27392a83ef91bc91aea43ba0613d +Subproject commit a34f10a58e89287317bdb8b485e30a9de146f481 diff --git a/packages/contracts/remappings.txt b/packages/contracts/remappings.txt index 7f702b8a3..2023981d5 100644 --- a/packages/contracts/remappings.txt +++ b/packages/contracts/remappings.txt @@ -7,4 +7,4 @@ solidity-linked-list/=lib/solidity-linked-list @uniswap/v3-periphery/contracts/=lib/Uniswap/v3-periphery/contracts abdk/=lib/abdk-libraries-solidity/ operator-filter-registry/=lib/operator-filter-registry/src -@openzeppelinUpgradeable/contracts/=lib/openzeppelin-upgradeable/contracts \ No newline at end of file +@openzeppelinUpgradeable/contracts/=lib/openzeppelinUpgradeable/contracts \ No newline at end of file diff --git a/packages/contracts/scripts/deploy/dollar/solidityScripting/02_UbiquityDollarToken.s.sol b/packages/contracts/scripts/deploy/dollar/solidityScripting/02_UbiquityDollarToken.s.sol index e028cf61a..af5786e50 100644 --- a/packages/contracts/scripts/deploy/dollar/solidityScripting/02_UbiquityDollarToken.s.sol +++ b/packages/contracts/scripts/deploy/dollar/solidityScripting/02_UbiquityDollarToken.s.sol @@ -3,16 +3,29 @@ pragma solidity 0.8.19; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "./01_Diamond.s.sol"; +import {UupsProxy} from "../../../../test/helpers/UupsProxy.sol"; contract DollarScript is DiamondScript { - UbiquityDollarToken dollar; address metapool; + UbiquityDollarToken public uDollarToken; + UbiquityDollarToken public dollar; + UupsProxy public proxyUDollarToken; + function run() public virtual override { super.run(); vm.startBroadcast(deployerPrivateKey); + bytes memory managerPayload = abi.encodeWithSignature( + "initialize(address)", + address(diamond) + ); + uDollarToken = new UbiquityDollarToken(); + proxyUDollarToken = new UupsProxy( + address(uDollarToken), + managerPayload + ); + dollar = UbiquityDollarToken(address(proxyUDollarToken)); - dollar = new UbiquityDollarToken(address(diamond)); IManager.setDollarTokenAddress(address(dollar)); IAccessControl.grantRole(DOLLAR_TOKEN_MINTER_ROLE, address(diamond)); IAccessControl.grantRole(DOLLAR_TOKEN_BURNER_ROLE, address(diamond)); diff --git a/packages/contracts/scripts/deploy/dollar/solidityScripting/03_UbiquityGovernanceToken.s.sol b/packages/contracts/scripts/deploy/dollar/solidityScripting/03_UbiquityGovernanceToken.s.sol index 06f85ff8b..34e215a6b 100644 --- a/packages/contracts/scripts/deploy/dollar/solidityScripting/03_UbiquityGovernanceToken.s.sol +++ b/packages/contracts/scripts/deploy/dollar/solidityScripting/03_UbiquityGovernanceToken.s.sol @@ -4,18 +4,33 @@ pragma solidity 0.8.19; import "./02_UbiquityDollarToken.s.sol"; contract GovernanceScript is DollarScript { - UbiquityGovernanceToken governance; + UbiquityGovernanceToken public uGovToken; + UbiquityGovernanceToken public governance; + UupsProxy public proxyUGovToken; function run() public virtual override { super.run(); vm.startBroadcast(deployerPrivateKey); - governance = new UbiquityGovernanceToken(address(diamond)); + bytes memory managerPayload = abi.encodeWithSignature( + "initialize(address)", + address(diamond) + ); + + uGovToken = new UbiquityGovernanceToken(); + proxyUGovToken = new UupsProxy(address(uGovToken), managerPayload); + governance = UbiquityGovernanceToken(address(proxyUGovToken)); IManager.setGovernanceTokenAddress(address(governance)); // grant diamond token admin rights - IAccessControl.grantRole(GOVERNANCE_TOKEN_MINTER_ROLE, address(diamond)); - IAccessControl.grantRole(GOVERNANCE_TOKEN_BURNER_ROLE, address(diamond)); + IAccessControl.grantRole( + GOVERNANCE_TOKEN_MINTER_ROLE, + address(diamond) + ); + IAccessControl.grantRole( + GOVERNANCE_TOKEN_BURNER_ROLE, + address(diamond) + ); vm.stopBroadcast(); } diff --git a/packages/contracts/scripts/deploy/dollar/solidityScripting/04_UbiquityCredit.s.sol b/packages/contracts/scripts/deploy/dollar/solidityScripting/04_UbiquityCredit.s.sol index d4fd5d53e..3d3f146a4 100644 --- a/packages/contracts/scripts/deploy/dollar/solidityScripting/04_UbiquityCredit.s.sol +++ b/packages/contracts/scripts/deploy/dollar/solidityScripting/04_UbiquityCredit.s.sol @@ -6,19 +6,39 @@ import {UbiquityCreditToken} from "../../../../src/dollar/core/UbiquityCreditTok import {CreditNft} from "../../../../src/dollar/core/CreditNft.sol"; contract CreditScript is GovernanceScript { + UbiquityCreditToken public uCreditToken; + UbiquityCreditToken public creditToken; + UupsProxy public proxyUCreditToken; + + CreditNft public creditNft; + CreditNft public IUbiquityNft; + UupsProxy public proxyCreditNft; + function run() public virtual override { super.run(); vm.startBroadcast(deployerPrivateKey); + bytes memory managerPayload = abi.encodeWithSignature( + "initialize(address)", + address(diamond) + ); + uCreditToken = new UbiquityCreditToken(); + proxyUCreditToken = new UupsProxy( + address(uCreditToken), + managerPayload + ); + creditToken = UbiquityCreditToken(address(proxyUCreditToken)); - UbiquityCreditToken credit = new UbiquityCreditToken(address(diamond)); - IManager.setCreditTokenAddress(address(credit)); + IManager.setCreditTokenAddress(address(creditToken)); IAccessControl.grantRole(CREDIT_TOKEN_MINTER_ROLE, address(diamond)); IAccessControl.grantRole(CREDIT_TOKEN_BURNER_ROLE, address(diamond)); IAccessControl.grantRole(CREDIT_NFT_MANAGER_ROLE, address(diamond)); - CreditNft creditNft = new CreditNft(address(diamond)); - IManager.setCreditNftAddress(address(creditNft)); + creditNft = new CreditNft(); + proxyCreditNft = new UupsProxy(address(creditNft), managerPayload); + IUbiquityNft = CreditNft(address(proxyCreditNft)); + + IManager.setCreditNftAddress(address(IUbiquityNft)); vm.stopBroadcast(); } diff --git a/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol b/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol index 903c29acc..b71aa0b0e 100644 --- a/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol +++ b/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol @@ -4,6 +4,10 @@ pragma solidity 0.8.19; import "./04_UbiquityCredit.s.sol"; contract StakingShareScript is CreditScript { + StakingShare public stakingShare; + StakingShare public IStakingShareToken; + UupsProxy public proxyStakingShare; + function run() public virtual override { super.run(); vm.startBroadcast(deployerPrivateKey); @@ -13,11 +17,19 @@ contract StakingShareScript is CreditScript { // add staking shares string memory uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; - - address stakingShareAddress = address( - new StakingShare(address(diamond), uri) + bytes memory manAndUriPayload = abi.encodeWithSignature( + "initialize(address,string)", + address(diamond), + uri ); - IManager.setStakingShareAddress(stakingShareAddress); + IStakingShareToken = new StakingShare(); + proxyStakingShare = new UupsProxy( + address(stakingShare), + manAndUriPayload + ); + stakingShare = StakingShare(address(proxyStakingShare)); + + IManager.setStakingShareAddress(address(stakingShare)); vm.stopBroadcast(); } diff --git a/packages/contracts/src/dollar/core/CreditNft.sol b/packages/contracts/src/dollar/core/CreditNft.sol index ff634e5a2..2e5e6f0c7 100644 --- a/packages/contracts/src/dollar/core/CreditNft.sol +++ b/packages/contracts/src/dollar/core/CreditNft.sol @@ -2,11 +2,15 @@ pragma solidity 0.8.19; import {ERC1155Ubiquity} from "./ERC1155Ubiquity.sol"; +import {IERC1155Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol"; +import {ERC1155Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol"; +import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; import "solidity-linked-list/contracts/StructuredLinkedList.sol"; import {ICreditNft} from "../../dollar/interfaces/ICreditNft.sol"; import "../libraries/Constants.sol"; - +import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; import {UUPSUpgradeable} from "@openzeppelinUpgradeable/contracts/proxy/utils/UUPSUpgradeable.sol"; +import {IERC165Upgradeable} from "@openzeppelinUpgradeable/contracts/utils/introspection/IERC165Upgradeable.sol"; /** * @notice CreditNft redeemable for Dollars with an expiry block number @@ -178,7 +182,89 @@ contract CreditNft is function _authorizeUpgrade( address newImplementation - ) internal override onlyAdmin {} + ) internal override(UUPSUpgradeable, ERC1155Ubiquity) onlyAdmin {} + + // Overrides required by Solidity: + + function setApprovalForAll( + address operator, + bool approved + ) public virtual override(ERC1155Upgradeable, IERC1155Upgradeable) { + super.setApprovalForAll(operator, approved); + } + + function isApprovedForAll( + address account, + address operator + ) + public + view + virtual + override(ERC1155Upgradeable, IERC1155Upgradeable) + returns (bool) + { + return super.isApprovedForAll(account, operator); + } + + function safeBatchTransferFrom( + address from, + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) public virtual override(ERC1155Ubiquity, IERC1155Upgradeable) { + super.safeBatchTransferFrom(from, to, ids, amounts, data); + } + + function safeTransferFrom( + address from, + address to, + uint256 id, + uint256 amount, + bytes memory data + ) public virtual override(ERC1155Ubiquity, IERC1155Upgradeable) { + super.safeTransferFrom(from, to, id, amount, data); + } + + function supportsInterface( + bytes4 interfaceId + ) + public + view + virtual + override(ERC1155Upgradeable, IERC165Upgradeable) + returns (bool) + { + return + interfaceId == type(ICreditNft).interfaceId || + super.supportsInterface(interfaceId); + } + + function balanceOf( + address account, + uint256 id + ) + public + view + virtual + override(IERC1155Upgradeable, ERC1155Upgradeable) + returns (uint256) + { + return super.balanceOf(account, id); + } + + function balanceOfBatch( + address[] memory accounts, + uint256[] memory ids + ) + public + view + virtual + override(ERC1155Upgradeable, IERC1155Upgradeable) + returns (uint256[] memory) + { + return super.balanceOfBatch(accounts, ids); + } uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol index 99a5c3043..376405dc2 100644 --- a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol @@ -5,7 +5,8 @@ import {ERC1155Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC11 import {ERC1155BurnableUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol"; import {ERC1155PausableUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol"; import {UUPSUpgradeable} from "@openzeppelinUpgradeable/contracts/proxy/utils/UUPSUpgradeable.sol"; - +import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; +import "../interfaces/IAccessControl.sol"; import "../libraries/Constants.sol"; import "../../../src/dollar/utils/SafeAddArray.sol"; @@ -18,7 +19,7 @@ import "../../../src/dollar/utils/SafeAddArray.sol"; * - Ubiquity Manager access control */ contract ERC1155Ubiquity is - ERC1155Upgradeable, + Initializable, ERC1155BurnableUpgradeable, ERC1155PausableUpgradeable, UUPSUpgradeable @@ -300,7 +301,7 @@ contract ERC1155Ubiquity is function _authorizeUpgrade( address newImplementation - ) internal override onlyAdmin {} + ) internal virtual override onlyAdmin {} uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol index fcadf8948..4c9017de0 100644 --- a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol @@ -5,11 +5,13 @@ pragma solidity ^0.8.19; // import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol"; import {IAccessControl} from "../interfaces/IAccessControl.sol"; import {DEFAULT_ADMIN_ROLE, PAUSER_ROLE} from "../libraries/Constants.sol"; -import {IERC20Ubiquity} from "../../dollar/interfaces/IERC20Ubiquity.sol"; - +import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; +import {UUPSUpgradeable} from "@openzeppelinUpgradeable/contracts/proxy/utils/UUPSUpgradeable.sol"; import {ERC20Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/ERC20Upgradeable.sol"; import {ERC20PermitUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/extensions/ERC20PermitUpgradeable.sol"; import {ERC20PausableUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/extensions/ERC20PausableUpgradeable.sol"; +import {IERC20Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/IERC20Upgradeable.sol"; +import {IERC20PermitUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol"; /** * @notice Base contract for Ubiquity ERC20 tokens (Dollar, Credit, Governance) @@ -19,9 +21,11 @@ import {ERC20PausableUpgradeable} from "@openzeppelinUpgradeable/contracts/token * - Ubiquity Manager access control */ abstract contract ERC20Ubiquity is + Initializable, + UUPSUpgradeable, + ERC20Upgradeable, ERC20PermitUpgradeable, - ERC20PausableUpgradeable, - IERC20Ubiquity + ERC20PausableUpgradeable { /// @notice Token symbol string private _symbol; @@ -29,6 +33,13 @@ abstract contract ERC20Ubiquity is /// @notice Access control interface IAccessControl public accessControl; + event Burning(address indexed _burned, uint256 _amount); + event Minting( + address indexed _to, + address indexed _minter, + uint256 _amount + ); + /// @notice Modifier checks that the method is called by a user with the "pauser" role modifier onlyPauser() { require( @@ -68,10 +79,10 @@ abstract contract ERC20Ubiquity is function __ERC20Ubiquity_init( address _manager, - string calldata name_, - string calldata symbol_ + string memory name_, + string memory symbol_ ) public onlyInitializing { - __ERC20_init(name, symbol_); + __ERC20_init(name_, symbol_); __ERC20Permit_init(name_); __ERC20Pausable_init(); _symbol = symbol_; @@ -183,7 +194,87 @@ abstract contract ERC20Ubiquity is function _authorizeUpgrade( address newImplementation - ) internal override onlyAdmin {} + ) internal virtual override onlyAdmin {} + + function allowance( + address owner, + address spender + ) public view override(ERC20Upgradeable) returns (uint256) { + return super.allowance(owner, spender); + } + + function approve( + address spender, + uint256 amount + ) public override(ERC20Upgradeable) returns (bool) { + return super.approve(spender, amount); + } + + function balanceOf( + address account + ) public view override(ERC20Upgradeable) returns (uint256) { + return super.balanceOf(account); + } + + function decimals() public view override returns (uint8) { + return super.decimals(); + } + + function decreaseAllowance( + address spender, + uint256 subtractedValue + ) public override returns (bool) { + return super.decreaseAllowance(spender, subtractedValue); + } + + function increaseAllowance( + address spender, + uint256 addedValue + ) public override returns (bool) { + return super.increaseAllowance(spender, addedValue); + } + + function nonces( + address owner + ) public view override(ERC20PermitUpgradeable) returns (uint256) { + return super.nonces(owner); + } + + function permit( + address owner, + address spender, + uint256 value, + uint256 deadline, + uint8 v, + bytes32 r, + bytes32 s + ) public override(ERC20PermitUpgradeable) { + super.permit(owner, spender, value, deadline, v, r, s); + } + + function totalSupply() + public + view + override(ERC20Upgradeable) + returns (uint256) + { + return super.totalSupply(); + } + + function transfer( + address recipient, + uint256 amount + ) public override(ERC20Upgradeable) returns (bool) { + return super.transfer(recipient, amount); + } + + function transferFrom( + address sender, + address recipient, + uint256 amount + ) public override(ERC20Upgradeable) returns (bool) { + return super.transferFrom(sender, recipient, amount); + } uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/StakingShare.sol b/packages/contracts/src/dollar/core/StakingShare.sol index f473fe402..f9f2c1454 100644 --- a/packages/contracts/src/dollar/core/StakingShare.sol +++ b/packages/contracts/src/dollar/core/StakingShare.sol @@ -1,15 +1,21 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; +import {ERC1155Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol"; import {IERC20Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/IERC20Upgradeable.sol"; import {ERC1155Ubiquity} from "./ERC1155Ubiquity.sol"; import {ERC1155URIStorageUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/extensions/ERC1155URIStorageUpgradeable.sol"; +import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; import "../../dollar/utils/SafeAddArray.sol"; import "../interfaces/IAccessControl.sol"; import "../libraries/Constants.sol"; /// @notice Contract representing a staking share in the form of ERC1155 token -contract StakingShare is ERC1155Ubiquity, ERC1155URIStorageUpgradeable { +contract StakingShare is + Initializable, + ERC1155Ubiquity, + ERC1155URIStorageUpgradeable +{ using SafeAddArray for uint256[]; /// @notice Stake struct @@ -160,7 +166,7 @@ contract StakingShare is ERC1155Ubiquity, ERC1155URIStorageUpgradeable { uint256 id, uint256 amount, bytes memory data - ) public override(ERC1155, ERC1155Ubiquity) whenNotPaused { + ) public override(ERC1155Upgradeable, ERC1155Ubiquity) whenNotPaused { super.safeTransferFrom(from, to, id, amount, data); } @@ -188,7 +194,12 @@ contract StakingShare is ERC1155Ubiquity, ERC1155URIStorageUpgradeable { uint256[] memory ids, uint256[] memory amounts, bytes memory data - ) public virtual override(ERC1155, ERC1155Ubiquity) whenNotPaused { + ) + public + virtual + override(ERC1155Upgradeable, ERC1155Ubiquity) + whenNotPaused + { super.safeBatchTransferFrom(from, to, ids, amounts, data); } @@ -197,7 +208,12 @@ contract StakingShare is ERC1155Ubiquity, ERC1155URIStorageUpgradeable { address account, uint256[] memory ids, uint256[] memory amounts - ) internal virtual override(ERC1155, ERC1155Ubiquity) whenNotPaused { + ) + internal + virtual + override(ERC1155Upgradeable, ERC1155Ubiquity) + whenNotPaused + { super._burnBatch(account, ids, amounts); } @@ -209,7 +225,7 @@ contract StakingShare is ERC1155Ubiquity, ERC1155URIStorageUpgradeable { uint256[] memory ids, uint256[] memory amounts, bytes memory data - ) internal virtual override(ERC1155, ERC1155Ubiquity) { + ) internal virtual override(ERC1155Upgradeable, ERC1155Ubiquity) { super._beforeTokenTransfer(operator, from, to, ids, amounts, data); } @@ -224,7 +240,7 @@ contract StakingShare is ERC1155Ubiquity, ERC1155URIStorageUpgradeable { public view virtual - override(ERC1155, ERC1155URIStorage) + override(ERC1155Upgradeable, ERC1155URIStorageUpgradeable) returns (string memory) { return super.uri(tokenId); @@ -235,7 +251,12 @@ contract StakingShare is ERC1155Ubiquity, ERC1155URIStorageUpgradeable { address account, uint256 id, uint256 amount - ) internal virtual override(ERC1155, ERC1155Ubiquity) whenNotPaused { + ) + internal + virtual + override(ERC1155Upgradeable, ERC1155Ubiquity) + whenNotPaused + { require(amount == 1, "amount <> 1"); super._burn(account, id, 1); Stake storage _stake = _stakes[id]; diff --git a/packages/contracts/src/dollar/core/UbiquityCreditToken.sol b/packages/contracts/src/dollar/core/UbiquityCreditToken.sol index 4bb302e6e..595e91c55 100644 --- a/packages/contracts/src/dollar/core/UbiquityCreditToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityCreditToken.sol @@ -4,12 +4,14 @@ pragma solidity ^0.8.19; import {ManagerFacet} from "../facets/ManagerFacet.sol"; import {ERC20Ubiquity} from "./ERC20Ubiquity.sol"; import {IERC20Ubiquity} from "../../dollar/interfaces/IERC20Ubiquity.sol"; +import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; + import "../libraries/Constants.sol"; /** * @notice Credit token contract */ -contract UbiquityCreditToken is ERC20Ubiquity { +contract UbiquityCreditToken is Initializable, ERC20Ubiquity { // /** // * @notice Contract constructor // * @param _manager Access control address @@ -82,7 +84,7 @@ contract UbiquityCreditToken is ERC20Ubiquity { function mint( address to, uint256 amount - ) public override onlyCreditMinter whenNotPaused { + ) public onlyCreditMinter whenNotPaused { _mint(to, amount); emit Minting(to, msg.sender, amount); } diff --git a/packages/contracts/src/dollar/core/UbiquityDollarToken.sol b/packages/contracts/src/dollar/core/UbiquityDollarToken.sol index ce256a5fc..3ae33e3cd 100644 --- a/packages/contracts/src/dollar/core/UbiquityDollarToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityDollarToken.sol @@ -4,12 +4,14 @@ pragma solidity ^0.8.19; import {ERC20Ubiquity} from "./ERC20Ubiquity.sol"; import {IERC20Ubiquity} from "../../dollar/interfaces/IERC20Ubiquity.sol"; import {IIncentive} from "../../dollar/interfaces/IIncentive.sol"; +import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; + import "../libraries/Constants.sol"; /** * @notice Ubiquity Dollar token contract */ -contract UbiquityDollarToken is ERC20Ubiquity { +contract UbiquityDollarToken is Initializable, ERC20Ubiquity { /** * @notice Mapping of account and incentive contract address * @dev Address is 0 if there is no incentive contract for the account @@ -186,7 +188,7 @@ contract UbiquityDollarToken is ERC20Ubiquity { function mint( address to, uint256 amount - ) public override onlyDollarMinter whenNotPaused { + ) public onlyDollarMinter whenNotPaused { _mint(to, amount); emit Minting(to, msg.sender, amount); } diff --git a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol index 365f55ccc..318d9edb9 100644 --- a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol @@ -3,12 +3,14 @@ pragma solidity ^0.8.19; import {ERC20Ubiquity} from "./ERC20Ubiquity.sol"; import {IERC20Ubiquity} from "../../dollar/interfaces/IERC20Ubiquity.sol"; +import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; + import "../libraries/Constants.sol"; /** * @notice Ubiquity Governance token contract */ -contract UbiquityGovernanceToken is ERC20Ubiquity { +contract UbiquityGovernanceToken is Initializable, ERC20Ubiquity { // /** // * @notice Contract constructor // * @param _manager Access control address @@ -70,7 +72,7 @@ contract UbiquityGovernanceToken is ERC20Ubiquity { function mint( address to, uint256 amount - ) public override onlyGovernanceMinter whenNotPaused { + ) public onlyGovernanceMinter whenNotPaused { _mint(to, amount); emit Minting(to, msg.sender, amount); } diff --git a/packages/contracts/src/dollar/interfaces/ICreditNft.sol b/packages/contracts/src/dollar/interfaces/ICreditNft.sol index 1f5e0b7c5..d9dd95879 100644 --- a/packages/contracts/src/dollar/interfaces/ICreditNft.sol +++ b/packages/contracts/src/dollar/interfaces/ICreditNft.sol @@ -1,10 +1,10 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; -import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol"; +import "@openzeppelinUpgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol"; /// @notice CreditNft interface -interface ICreditNft is IERC1155 { +interface ICreditNft is IERC1155Upgradeable { /** * @notice Updates debt according to current block number * @notice Invalidates expired CreditNfts diff --git a/packages/contracts/src/dollar/mocks/MockShareV1.sol b/packages/contracts/src/dollar/mocks/MockShareV1.sol index 66ab1a52a..ef833cb37 100644 --- a/packages/contracts/src/dollar/mocks/MockShareV1.sol +++ b/packages/contracts/src/dollar/mocks/MockShareV1.sol @@ -5,5 +5,7 @@ import "../core/ERC1155Ubiquity.sol"; contract BondingShare is ERC1155Ubiquity { // solhint-disable-next-line no-empty-blocks - constructor(address _diamond) ERC1155Ubiquity(_diamond, "URI") {} + constructor(address _diamond) ERC1155Ubiquity() { + __ERC1155Ubiquity_init(_diamond, "Mock Uri for testing"); + } } diff --git a/packages/contracts/test/diamond/DiamondTestSetup.sol b/packages/contracts/test/diamond/DiamondTestSetup.sol index 9297a9371..58151efa2 100644 --- a/packages/contracts/test/diamond/DiamondTestSetup.sol +++ b/packages/contracts/test/diamond/DiamondTestSetup.sol @@ -25,10 +25,7 @@ import {DollarMintExcessFacet} from "../../src/dollar/facets/DollarMintExcessFac import {Diamond, DiamondArgs} from "../../src/dollar/Diamond.sol"; import {DiamondInit} from "../../src/dollar/upgradeInitializers/DiamondInit.sol"; import {DiamondTestHelper} from "../helpers/DiamondTestHelper.sol"; -import {UbiquityDollarToken} from "../../src/dollar/core/UbiquityDollarToken.sol"; import {ERC1155Ubiquity} from "../../src/dollar/core/ERC1155Ubiquity.sol"; -import {StakingShare} from "../../src/dollar/core/StakingShare.sol"; -import {UbiquityGovernanceToken} from "../../src/dollar/core/UbiquityGovernanceToken.sol"; import {BondingCurveFacet} from "../../src/dollar/facets/BondingCurveFacet.sol"; import "../../src/dollar/libraries/Constants.sol"; @@ -58,14 +55,11 @@ abstract contract DiamondSetup is DiamondTestHelper { DollarMintCalculatorFacet dollarMintCalculatorFacet; DollarMintExcessFacet dollarMintExcessFacet; - UbiquityDollarToken IDollar; - ERC1155Ubiquity IUbiquityNFT; // interfaces with Facet ABI connected to diamond address IDiamondLoupe ILoupe; IDiamondCut ICut; ManagerFacet IManager; TWAPOracleDollar3poolFacet ITWAPOracleDollar3pool; - AccessControlFacet IAccessControl; CollectableDustFacet ICollectableDustFacet; ChefFacet IChefFacet; @@ -84,10 +78,6 @@ abstract contract DiamondSetup is DiamondTestHelper { DollarMintCalculatorFacet IDollarMintCalcFacet; DollarMintExcessFacet IDollarMintExcessFacet; - StakingShare IStakingShareToken; - // adding governance token - UbiquityGovernanceToken IGovToken; - string[] facetNames; address[] facetAddressList; @@ -695,56 +685,14 @@ abstract contract DiamondSetup is DiamondTestHelper { IDollarMintCalcFacet = DollarMintCalculatorFacet(address(diamond)); IDollarMintExcessFacet = DollarMintExcessFacet(address(diamond)); - + // __setupUUPS(address(diamond)); // get all addresses facetAddressList = ILoupe.facetAddresses(); vm.startPrank(admin); - // grant diamond dollar minting and burning rights - IAccessControl.grantRole(DOLLAR_TOKEN_MINTER_ROLE, address(diamond)); - IAccessControl.grantRole(DOLLAR_TOKEN_BURNER_ROLE, address(diamond)); - // grand diamond Credit token minting and burning rights - IAccessControl.grantRole(CREDIT_TOKEN_MINTER_ROLE, address(diamond)); - IAccessControl.grantRole(CREDIT_TOKEN_BURNER_ROLE, address(diamond)); - // grant diamond token admin rights - IAccessControl.grantRole( - GOVERNANCE_TOKEN_MANAGER_ROLE, - address(diamond) - ); - // grant diamond token minter rights - IAccessControl.grantRole(STAKING_SHARE_MINTER_ROLE, address(diamond)); + // // grant diamond dollar minting and burning rights IAccessControl.grantRole(CURVE_DOLLAR_MANAGER_ROLE, address(diamond)); // add staking shares - string - memory uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; - - address stakingShareAddress = address( - new StakingShare(address(diamond), uri) - ); - // adding governance token - address governanceTokenAddress = address( - new UbiquityGovernanceToken(address(diamond)) - ); - // adding dollar token - address dollarTokenAddress = address( - new UbiquityDollarToken(address(diamond)) - ); - // adding ubiquistick - address ubiquiStickAddress = address( - new ERC1155Ubiquity(address(diamond), uri) - ); - IUbiquityNFT = new ERC1155Ubiquity(address(diamond), uri); - // add staking shares - IManager.setStakingShareAddress(stakingShareAddress); - // adding governance token - IManager.setGovernanceTokenAddress(governanceTokenAddress); - // adding dollar token - IManager.setDollarTokenAddress(dollarTokenAddress); - IManager.setUbiquistickAddress(ubiquiStickAddress); - IDollar = UbiquityDollarToken(IManager.dollarTokenAddress()); - IGovToken = UbiquityGovernanceToken(IManager.governanceTokenAddress()); - IStakingShareToken = StakingShare(IManager.stakingShareAddress()); - assertEq(IDollar.decimals(), 18); vm.stopPrank(); } } diff --git a/packages/contracts/test/diamond/facets/BondingCurveFacet.t.sol b/packages/contracts/test/diamond/facets/BondingCurveFacet.t.sol index 0b5ae68f6..478781c35 100644 --- a/packages/contracts/test/diamond/facets/BondingCurveFacet.t.sol +++ b/packages/contracts/test/diamond/facets/BondingCurveFacet.t.sol @@ -102,7 +102,7 @@ contract ZeroStateBonding is BondingCurveFacetTest { assertEq(collateralDeposited, finBal - initBal); assertEq(tokReturned, result); assertEq(tokReturned, IBondingCurveFacet.getShare(secondAccount)); - assertEq(tokReturned, IUbiquityNFT.balanceOf(secondAccount, 1)); + assertEq(tokReturned, IUbiquityNft.balanceOf(secondAccount, 1)); } function testWithdraw(uint32 connectorWeight, uint256 baseY) public { diff --git a/packages/contracts/test/diamond/facets/ChefFacet.t.sol b/packages/contracts/test/diamond/facets/ChefFacet.t.sol index 157c4c934..1ecdd31e0 100644 --- a/packages/contracts/test/diamond/facets/ChefFacet.t.sol +++ b/packages/contracts/test/diamond/facets/ChefFacet.t.sol @@ -30,9 +30,6 @@ contract ZeroStateChef is DiamondSetup { string uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; - StakingShare stakingShare; - BondingShare stakingShareV1; - IERC20Ubiquity governanceToken; event Deposit( address indexed user, @@ -101,7 +98,6 @@ contract ZeroStateChef is DiamondSetup { GOVERNANCE_TOKEN_MINTER_ROLE, address(stakingShareV1) ); - governanceToken = IERC20Ubiquity(IManager.governanceTokenAddress()); ICurveFactory curvePoolFactory = ICurveFactory(new MockCurveFactory()); address curve3CrvBasePool = address( @@ -135,9 +131,6 @@ contract ZeroStateChef is DiamondSetup { GOVERNANCE_TOKEN_BURNER_ROLE, address(diamond) ); - UbiquityCreditToken creditToken = new UbiquityCreditToken( - address(IManager) - ); IManager.setCreditTokenAddress(address(creditToken)); vm.stopPrank(); @@ -178,7 +171,7 @@ contract ZeroStateChef is DiamondSetup { metapool.add_liquidity(amounts_, (dyuAD2LP * 99) / 100, fourthAccount); vm.startPrank(admin); - stakingShare = new StakingShare(address(diamond), uri); + stakingShare = IStakingShareToken; IManager.setStakingShareAddress(address(stakingShare)); IAccessControl.grantRole( GOVERNANCE_TOKEN_MINTER_ROLE, @@ -294,7 +287,7 @@ contract DepositStateChefTest is DepositStateChef { blocks = bound(blocks, 45361, 2 ** 128 - 1); assertEq(IChefFacet.totalShares(), shares); - uint256 preBal = governanceToken.balanceOf(fourthAccount); + uint256 preBal = IGovToken.balanceOf(fourthAccount); (uint256 lastRewardBlock, ) = IChefFacet.pool(); // currentBlock = block.number; vm.roll(currentBlock + blocks); @@ -311,7 +304,7 @@ contract DepositStateChefTest is DepositStateChef { uint256 userReward = (shares * governancePerShare) / 1e12; vm.prank(fourthAccount); IStakingFacet.removeLiquidity(amount, fourthID); - assertEq(preBal + userReward, governanceToken.balanceOf(fourthAccount)); + assertEq(preBal + userReward, IGovToken.balanceOf(fourthAccount)); } function testGetRewards(uint256 blocks) public { diff --git a/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol b/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol index 1184bb866..34f0adb37 100644 --- a/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol +++ b/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol @@ -32,7 +32,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { uint256 admSupply = IDollar.balanceOf(admin); assertEq(admSupply, 10000e18); - _creditNft = new CreditNft(address(diamond)); + _creditNft = creditNft; vm.prank(admin); IManager.setCreditNftAddress(address(_creditNft)); @@ -43,9 +43,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { creditNftAddress = address(_creditNft); governanceTokenAddress = IManager.governanceTokenAddress(); // deploy credit token - UbiquityCreditToken _creditToken = new UbiquityCreditToken( - address(diamond) - ); + UbiquityCreditToken _creditToken = creditToken; creditTokenAddress = address(_creditToken); vm.prank(admin); IManager.setCreditTokenAddress(creditTokenAddress); diff --git a/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol b/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol index 19ce7bc53..6d5911595 100644 --- a/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol +++ b/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol @@ -13,7 +13,7 @@ contract CreditNftRedemptionCalculatorFacetTest is DiamondSetup { IDollar.mint(admin, 10000e18); uint256 admSupply = IDollar.balanceOf(admin); assertEq(admSupply, 10000e18); - _creditNft = new CreditNft(address(diamond)); + _creditNft = IUbiquityNft; vm.startPrank(admin); IManager.setCreditNftAddress(address(_creditNft)); diff --git a/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol b/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol index 35bdffb59..9c9a76809 100644 --- a/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol +++ b/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol @@ -15,7 +15,7 @@ contract CreditRedemptionCalculatorFacetTest is DiamondSetup { uint256 admSupply = IDollar.balanceOf(admin); assertEq(admSupply, 10000e18); - _creditNft = new CreditNft(address(diamond)); + _creditNft = creditNft; vm.startPrank(admin); IAccessControl.grantRole(CREDIT_NFT_MANAGER_ROLE, address(this)); _creditNft.mintCreditNft(user1, 100, 10); diff --git a/packages/contracts/test/diamond/facets/StakingFacet.t.sol b/packages/contracts/test/diamond/facets/StakingFacet.t.sol index 32da8f569..f39c8a6a2 100644 --- a/packages/contracts/test/diamond/facets/StakingFacet.t.sol +++ b/packages/contracts/test/diamond/facets/StakingFacet.t.sol @@ -32,9 +32,6 @@ contract ZeroStateStaking is DiamondSetup { string uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; - StakingShare stakingShare; - BondingShare stakingShareV1; - IERC20Ubiquity governanceToken; event Deposit( address indexed _user, @@ -106,7 +103,6 @@ contract ZeroStateStaking is DiamondSetup { GOVERNANCE_TOKEN_MINTER_ROLE, address(stakingShareV1) ); - governanceToken = IERC20Ubiquity(IManager.governanceTokenAddress()); ICurveFactory curvePoolFactory = ICurveFactory(new MockCurveFactory()); address curve3CrvBasePool = address( @@ -142,9 +138,6 @@ contract ZeroStateStaking is DiamondSetup { GOVERNANCE_TOKEN_BURNER_ROLE, address(diamond) ); - UbiquityCreditToken creditToken = new UbiquityCreditToken( - address(IManager) - ); IManager.setCreditTokenAddress(address(creditToken)); vm.stopPrank(); @@ -185,7 +178,7 @@ contract ZeroStateStaking is DiamondSetup { metapool.add_liquidity(amounts_, (dyuAD2LP * 99) / 100, fourthAccount); vm.startPrank(admin); - stakingShare = new StakingShare(address(diamond), uri); + stakingShare = IStakingShareToken; IManager.setStakingShareAddress(address(stakingShare)); IAccessControl.grantRole( GOVERNANCE_TOKEN_MINTER_ROLE, @@ -323,7 +316,7 @@ contract DepositStateTest is DepositStateStaking { blocks = bound(blocks, 45361, 2 ** 128 - 1); assertEq(IChefFacet.totalShares(), shares); - uint256 preBal = governanceToken.balanceOf(fourthAccount); + uint256 preBal = IGovToken.balanceOf(fourthAccount); (uint256 lastRewardBlock, ) = IChefFacet.pool(); vm.roll(currentBlock + blocks); uint256 multiplier = (block.number - lastRewardBlock) * 1e18; @@ -341,7 +334,7 @@ contract DepositStateTest is DepositStateStaking { vm.prank(fourthAccount); IStakingFacet.removeLiquidity(amount, fourthID); - assertEq(preBal + userReward, governanceToken.balanceOf(fourthAccount)); + assertEq(preBal + userReward, IGovToken.balanceOf(fourthAccount)); } function testGetRewards(uint256 blocks) public { diff --git a/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol b/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol index 60ebcc80b..42fb10cd4 100644 --- a/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol +++ b/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol @@ -29,8 +29,6 @@ contract UbiquityPoolFacetTest is DiamondSetup { address fourthAccount = address(0x6); address fifthAccount = address(0x7); address stakingZeroAccount = address(0x8); - StakingShare stakingShare; - BondingShare stakingShareV1; function setUp() public override { super.setUp(); @@ -113,9 +111,6 @@ contract UbiquityPoolFacetTest is DiamondSetup { GOVERNANCE_TOKEN_BURNER_ROLE, address(diamond) ); - UbiquityCreditToken creditToken = new UbiquityCreditToken( - address(IManager) - ); IManager.setCreditTokenAddress(address(creditToken)); vm.stopPrank(); diff --git a/packages/contracts/test/dollar/core/CreditNft.t.sol b/packages/contracts/test/dollar/core/CreditNft.t.sol index aadf08c3f..e8a9d48cd 100644 --- a/packages/contracts/test/dollar/core/CreditNft.t.sol +++ b/packages/contracts/test/dollar/core/CreditNft.t.sol @@ -9,7 +9,6 @@ import "../../helpers/LocalTestHelper.sol"; contract CreditNftTest is LocalTestHelper { address dollarManagerAddress; address creditNftAddress; - CreditNft creditNft; event MintedCreditNft( address recipient, @@ -27,7 +26,7 @@ contract CreditNftTest is LocalTestHelper { super.setUp(); // deploy Credit NFT token - creditNft = new CreditNft(address(diamond)); + creditNft = IUbiquityNft; creditNftAddress = address(creditNft); vm.prank(admin); IManager.setCreditNftAddress(address(creditNftAddress)); diff --git a/packages/contracts/test/dollar/core/StakingShare.t.sol b/packages/contracts/test/dollar/core/StakingShare.t.sol index d57ab626d..5e64321c9 100644 --- a/packages/contracts/test/dollar/core/StakingShare.t.sol +++ b/packages/contracts/test/dollar/core/StakingShare.t.sol @@ -22,7 +22,6 @@ contract DepositStakingShare is LocalTestHelper { uint256 maxBal; uint256[] creationBlock; IMetaPool metapool; - StakingShare stakingShare; event Paused(address _caller); event Unpaused(address _caller); diff --git a/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol b/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol index 512385f5d..ee6bb6647 100644 --- a/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol +++ b/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol @@ -11,7 +11,7 @@ contract UbiquityCreditTokenTest is LocalTestHelper { super.setUp(); vm.prank(admin); - ubiquityCreditToken = new UbiquityCreditToken(address(diamond)); + ubiquityCreditToken = creditToken; } function testRaiseCapital_ShouldMintTokens() public { diff --git a/packages/contracts/test/helpers/DiamondTestHelper.sol b/packages/contracts/test/helpers/DiamondTestHelper.sol index 4fbf83ded..c67713ec7 100644 --- a/packages/contracts/test/helpers/DiamondTestHelper.sol +++ b/packages/contracts/test/helpers/DiamondTestHelper.sol @@ -5,8 +5,9 @@ import "forge-std/Test.sol"; import "forge-std/Vm.sol"; import "../../src/dollar/interfaces/IDiamondCut.sol"; import "../../src/dollar/interfaces/IDiamondLoupe.sol"; +import {UupsTestHelper} from "../helpers/UupstestHelper.sol"; -contract DiamondTestHelper is IDiamondCut, IDiamondLoupe, Test { +contract DiamondTestHelper is IDiamondCut, IDiamondLoupe, UupsTestHelper, Test { uint256 private seed; modifier prankAs(address caller) { diff --git a/packages/contracts/test/helpers/LocalTestHelper.sol b/packages/contracts/test/helpers/LocalTestHelper.sol index d93734958..374ccab97 100644 --- a/packages/contracts/test/helpers/LocalTestHelper.sol +++ b/packages/contracts/test/helpers/LocalTestHelper.sol @@ -3,15 +3,12 @@ pragma solidity ^0.8.19; import {MockTWAPOracleDollar3pool} from "../../src/dollar/mocks/MockTWAPOracleDollar3pool.sol"; import {DiamondSetup} from "../diamond/DiamondTestSetup.sol"; -import {ManagerFacet} from "../../src/dollar/facets/ManagerFacet.sol"; import {TWAPOracleDollar3poolFacet} from "../../src/dollar/facets/TWAPOracleDollar3poolFacet.sol"; import {CreditRedemptionCalculatorFacet} from "../../src/dollar/facets/CreditRedemptionCalculatorFacet.sol"; import {CreditNftRedemptionCalculatorFacet} from "../../src/dollar/facets/CreditNftRedemptionCalculatorFacet.sol"; import {DollarMintCalculatorFacet} from "../../src/dollar/facets/DollarMintCalculatorFacet.sol"; import {CreditNftManagerFacet} from "../../src/dollar/facets/CreditNftManagerFacet.sol"; import {DollarMintExcessFacet} from "../../src/dollar/facets/DollarMintExcessFacet.sol"; -import {UbiquityDollarToken} from "../../src/dollar/core/UbiquityDollarToken.sol"; -import {UbiquityCreditToken} from "../../src/dollar/core/UbiquityCreditToken.sol"; import {MockMetaPool} from "../../src/dollar/mocks/MockMetaPool.sol"; abstract contract LocalTestHelper is DiamondSetup { @@ -22,7 +19,6 @@ abstract contract LocalTestHelper is DiamondSetup { TWAPOracleDollar3poolFacet twapOracle; CreditNftRedemptionCalculatorFacet creditNftRedemptionCalculator; - UbiquityCreditToken creditToken; CreditRedemptionCalculatorFacet creditRedemptionCalculator; DollarMintCalculatorFacet dollarMintCalculator; CreditNftManagerFacet creditNftManager; @@ -31,6 +27,7 @@ abstract contract LocalTestHelper is DiamondSetup { function setUp() public virtual override { super.setUp(); + __setupUUPS(address(diamond)); twapOracle = ITWAPOracleDollar3pool; creditNftRedemptionCalculator = ICreditNftRedemptionCalculationFacet; @@ -68,8 +65,6 @@ abstract contract LocalTestHelper is DiamondSetup { ); // deploy credit token - creditToken = new UbiquityCreditToken(address(diamond)); - IManager.setCreditTokenAddress(address(creditToken)); // set treasury address IManager.setTreasuryAddress(treasuryAddress); diff --git a/packages/contracts/test/helpers/UupsProxy.sol b/packages/contracts/test/helpers/UupsProxy.sol new file mode 100644 index 000000000..5fced9e22 --- /dev/null +++ b/packages/contracts/test/helpers/UupsProxy.sol @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity ^0.8.19; + +import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; + +contract UupsProxy is ERC1967Proxy { + constructor( + address _implementation, + bytes memory _data + ) ERC1967Proxy(_implementation, _data) {} +} diff --git a/packages/contracts/test/helpers/UupsTestHelper.sol b/packages/contracts/test/helpers/UupsTestHelper.sol new file mode 100644 index 000000000..7569be087 --- /dev/null +++ b/packages/contracts/test/helpers/UupsTestHelper.sol @@ -0,0 +1,115 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import {UupsProxy} from "./UupsProxy.sol"; +import {UbiquityGovernanceToken} from "../../src/dollar/core/UbiquityGovernanceToken.sol"; +import {UbiquityDollarToken} from "../../src/dollar/core/UbiquityDollarToken.sol"; +import {UbiquityCreditToken} from "../../src/dollar/core/UbiquityCreditToken.sol"; +import {StakingShare} from "../../src/dollar/core/StakingShare.sol"; +import {CreditNft} from "../../src/dollar/core/CreditNft.sol"; +import {ManagerFacet} from "../../src/dollar/facets/ManagerFacet.sol"; +import {AccessControlFacet} from "../../src/dollar/facets/AccessControlFacet.sol"; +import {ERC1155Ubiquity} from "../../src/dollar/core/ERC1155Ubiquity.sol"; +import {BondingShare} from "../../src/dollar/mocks/MockShareV1.sol"; +import "../../src/dollar/libraries/Constants.sol"; + +contract UupsTestHelper { + CreditNft public creditNft; + StakingShare public stakingShare; + UbiquityCreditToken public uCreditToken; + UbiquityDollarToken public uDollarToken; + UbiquityGovernanceToken public uGovToken; + ERC1155Ubiquity public ubiquiStick; + + CreditNft public IUbiquityNft; + StakingShare public IStakingShareToken; + UbiquityCreditToken public creditToken; + UbiquityDollarToken public IDollar; + UbiquityGovernanceToken public IGovToken; + ERC1155Ubiquity public IUbiquiStick; + BondingShare public stakingShareV1; + + UupsProxy public proxyCreditNft; + UupsProxy public proxyStakingShare; + UupsProxy public proxyUCreditToken; + UupsProxy public proxyUDollarToken; + UupsProxy public proxyUGovToken; + UupsProxy public proxyUbiquiStick; + + ManagerFacet iManager; + AccessControlFacet IAccessControl; + + function __setupUUPS(address manager) public { + iManager = ManagerFacet(manager); + IAccessControl = AccessControlFacet(manager); + string + memory uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; + + bytes memory managerPayload = abi.encodeWithSignature( + "initialize(address)", + manager + ); + bytes memory manAndUriPayload = abi.encodeWithSignature( + "initialize(address,string)", + manager, + uri + ); + + creditNft = new CreditNft(); + proxyCreditNft = new UupsProxy(address(creditNft), managerPayload); + IUbiquityNft = CreditNft(address(proxyCreditNft)); + + stakingShare = new StakingShare(); + proxyStakingShare = new UupsProxy( + address(stakingShare), + manAndUriPayload + ); + IStakingShareToken = StakingShare(address(proxyStakingShare)); + + uCreditToken = new UbiquityCreditToken(); + proxyUCreditToken = new UupsProxy( + address(uCreditToken), + managerPayload + ); + creditToken = UbiquityCreditToken(address(proxyUCreditToken)); + + uDollarToken = new UbiquityDollarToken(); + proxyUDollarToken = new UupsProxy( + address(uDollarToken), + managerPayload + ); + IDollar = UbiquityDollarToken(address(proxyUDollarToken)); + + uGovToken = new UbiquityGovernanceToken(); + proxyUGovToken = new UupsProxy(address(uGovToken), managerPayload); + IGovToken = UbiquityGovernanceToken(address(proxyUGovToken)); + + ubiquiStick = new ERC1155Ubiquity(); + proxyUbiquiStick = new UupsProxy(address(ubiquiStick), managerPayload); + IUbiquiStick = ERC1155Ubiquity(address(proxyUbiquiStick)); + + iManager.setUbiquistickAddress(address(IUbiquiStick)); + iManager.setStakingShareAddress(address(IStakingShareToken)); + iManager.setCreditTokenAddress(address(creditToken)); + iManager.setDollarTokenAddress(address(IDollar)); + iManager.setGovernanceTokenAddress(address(IGovToken)); + iManager.setCreditNftAddress(address(IUbiquityNft)); + + IDollar = UbiquityDollarToken(iManager.dollarTokenAddress()); + IGovToken = UbiquityGovernanceToken(iManager.governanceTokenAddress()); + IStakingShareToken = StakingShare(iManager.stakingShareAddress()); + // grant diamond dollar minting and burning rights + IAccessControl.grantRole(DOLLAR_TOKEN_MINTER_ROLE, address(manager)); + IAccessControl.grantRole(DOLLAR_TOKEN_BURNER_ROLE, address(manager)); + // grand diamond Credit token minting and burning rights + IAccessControl.grantRole(CREDIT_TOKEN_MINTER_ROLE, address(manager)); + IAccessControl.grantRole(CREDIT_TOKEN_BURNER_ROLE, address(manager)); + // grant diamond token admin rights + IAccessControl.grantRole( + GOVERNANCE_TOKEN_MANAGER_ROLE, + address(manager) + ); + // grant diamond token minter rights + IAccessControl.grantRole(STAKING_SHARE_MINTER_ROLE, address(manager)); + } +} From b4bcdc0d2c0b5bd68831123e19cfb1f879b04db4 Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Sat, 26 Aug 2023 21:21:25 +0100 Subject: [PATCH 03/21] chore: uups upgrade all tests passing --- .../contracts/src/dollar/core/CreditNft.sol | 103 ++---------------- .../src/dollar/core/ERC1155Ubiquity.sol | 14 +-- .../src/dollar/core/ERC20Ubiquity.sol | 2 - .../src/dollar/core/StakingShare.sol | 3 +- .../src/dollar/core/UbiquityCreditToken.sol | 15 +-- .../src/dollar/core/UbiquityDollarToken.sol | 31 ++---- .../dollar/core/UbiquityGovernanceToken.sol | 12 +- .../dollar/facets/CreditNftManagerFacet.sol | 4 +- .../dollar/libraries/LibCreditNftManager.sol | 1 - .../src/dollar/mocks/MockShareV1.sol | 14 ++- .../test/diamond/DiamondTestSetup.sol | 4 +- .../test/diamond/facets/ChefFacet.t.sol | 11 +- .../facets/CreditNftManagerFacet.t.sol | 57 +++------- .../CreditRedemptionCalculatorFacet.t.sol | 2 +- .../test/diamond/facets/StakingFacet.t.sol | 1 - .../diamond/facets/UbiquityPoolFacet.t.sol | 7 +- .../test/helpers/LocalTestHelper.sol | 1 - .../contracts/test/helpers/UupsTestHelper.sol | 25 +++-- 18 files changed, 92 insertions(+), 215 deletions(-) diff --git a/packages/contracts/src/dollar/core/CreditNft.sol b/packages/contracts/src/dollar/core/CreditNft.sol index 2e5e6f0c7..9bd8630c5 100644 --- a/packages/contracts/src/dollar/core/CreditNft.sol +++ b/packages/contracts/src/dollar/core/CreditNft.sol @@ -2,15 +2,11 @@ pragma solidity 0.8.19; import {ERC1155Ubiquity} from "./ERC1155Ubiquity.sol"; -import {IERC1155Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol"; +import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; import {ERC1155Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol"; -import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol"; -import "solidity-linked-list/contracts/StructuredLinkedList.sol"; import {ICreditNft} from "../../dollar/interfaces/ICreditNft.sol"; +import "solidity-linked-list/contracts/StructuredLinkedList.sol"; import "../libraries/Constants.sol"; -import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; -import {UUPSUpgradeable} from "@openzeppelinUpgradeable/contracts/proxy/utils/UUPSUpgradeable.sol"; -import {IERC165Upgradeable} from "@openzeppelinUpgradeable/contracts/utils/introspection/IERC165Upgradeable.sol"; /** * @notice CreditNft redeemable for Dollars with an expiry block number @@ -18,12 +14,7 @@ import {IERC165Upgradeable} from "@openzeppelinUpgradeable/contracts/utils/intro * @dev Implements ERC1155 so receiving contracts must implement `IERC1155Receiver` * @dev 1 Credit NFT = 1 whole Ubiquity Dollar, not 1 wei */ -contract CreditNft is - Initializable, - UUPSUpgradeable, - ERC1155Ubiquity, - ICreditNft -{ +contract CreditNft is ERC1155Ubiquity, ICreditNft { using StructuredLinkedList for StructuredLinkedList.List; /** @@ -55,7 +46,7 @@ contract CreditNft is /// @notice Modifier checks that the method is called by a user with the "CreditNft manager" role modifier onlyCreditNftManager() { require( - accessControl.hasRole(CREDIT_NFT_MANAGER_ROLE, msg.sender), + accessControl.hasRole(CREDIT_NFT_MANAGER_ROLE, _msgSender()), "Caller is not a CreditNft manager" ); _; @@ -76,6 +67,8 @@ contract CreditNft is function initialize(address _manager) public initializer { __ERC1155Ubiquity_init(_manager, "URI"); + __ERC1155Burnable_init(); + __ERC1155Pausable_init(); _totalOutstandingDebt = 0; } @@ -182,89 +175,7 @@ contract CreditNft is function _authorizeUpgrade( address newImplementation - ) internal override(UUPSUpgradeable, ERC1155Ubiquity) onlyAdmin {} - - // Overrides required by Solidity: - - function setApprovalForAll( - address operator, - bool approved - ) public virtual override(ERC1155Upgradeable, IERC1155Upgradeable) { - super.setApprovalForAll(operator, approved); - } - - function isApprovedForAll( - address account, - address operator - ) - public - view - virtual - override(ERC1155Upgradeable, IERC1155Upgradeable) - returns (bool) - { - return super.isApprovedForAll(account, operator); - } - - function safeBatchTransferFrom( - address from, - address to, - uint256[] memory ids, - uint256[] memory amounts, - bytes memory data - ) public virtual override(ERC1155Ubiquity, IERC1155Upgradeable) { - super.safeBatchTransferFrom(from, to, ids, amounts, data); - } - - function safeTransferFrom( - address from, - address to, - uint256 id, - uint256 amount, - bytes memory data - ) public virtual override(ERC1155Ubiquity, IERC1155Upgradeable) { - super.safeTransferFrom(from, to, id, amount, data); - } - - function supportsInterface( - bytes4 interfaceId - ) - public - view - virtual - override(ERC1155Upgradeable, IERC165Upgradeable) - returns (bool) - { - return - interfaceId == type(ICreditNft).interfaceId || - super.supportsInterface(interfaceId); - } - - function balanceOf( - address account, - uint256 id - ) - public - view - virtual - override(IERC1155Upgradeable, ERC1155Upgradeable) - returns (uint256) - { - return super.balanceOf(account, id); - } - - function balanceOfBatch( - address[] memory accounts, - uint256[] memory ids - ) - public - view - virtual - override(ERC1155Upgradeable, IERC1155Upgradeable) - returns (uint256[] memory) - { - return super.balanceOfBatch(accounts, ids); - } + ) internal override(ERC1155Ubiquity) onlyAdmin {} uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol index 376405dc2..3cbd220af 100644 --- a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol @@ -40,7 +40,7 @@ contract ERC1155Ubiquity is /// @notice Modifier checks that the method is called by a user with the "Governance minter" role modifier onlyMinter() virtual { require( - accessControl.hasRole(GOVERNANCE_TOKEN_MINTER_ROLE, msg.sender), + accessControl.hasRole(GOVERNANCE_TOKEN_MINTER_ROLE, _msgSender()), "ERC1155Ubiquity: not minter" ); _; @@ -49,7 +49,7 @@ contract ERC1155Ubiquity is /// @notice Modifier checks that the method is called by a user with the "Governance burner" role modifier onlyBurner() virtual { require( - accessControl.hasRole(GOVERNANCE_TOKEN_BURNER_ROLE, msg.sender), + accessControl.hasRole(GOVERNANCE_TOKEN_BURNER_ROLE, _msgSender()), "ERC1155Ubiquity: not burner" ); _; @@ -58,7 +58,7 @@ contract ERC1155Ubiquity is /// @notice Modifier checks that the method is called by a user with the "Pauser" role modifier onlyPauser() virtual { require( - accessControl.hasRole(PAUSER_ROLE, msg.sender), + accessControl.hasRole(PAUSER_ROLE, _msgSender()), "ERC1155Ubiquity: not pauser" ); _; @@ -67,7 +67,7 @@ contract ERC1155Ubiquity is /// @notice Modifier checks that the method is called by a user with the "Admin" role modifier onlyAdmin() { require( - accessControl.hasRole(DEFAULT_ADMIN_ROLE, msg.sender), + accessControl.hasRole(DEFAULT_ADMIN_ROLE, _msgSender()), "ERC20Ubiquity: not admin" ); _; @@ -89,10 +89,8 @@ contract ERC1155Ubiquity is function __ERC1155Ubiquity_init( address _manager, string memory uri - ) internal onlyInitializing { + ) public initializer onlyInitializing { __ERC1155_init(uri); - __ERC1155Burnable_init(); - __ERC1155Pausable_init(); accessControl = IAccessControl(_manager); } @@ -294,7 +292,7 @@ contract ERC1155Ubiquity is ) internal virtual - override(ERC1155Upgradeable, ERC1155PausableUpgradeable) + override(ERC1155PausableUpgradeable, ERC1155Upgradeable) { super._beforeTokenTransfer(operator, from, to, ids, amounts, data); } diff --git a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol index 4c9017de0..6e82c13e8 100644 --- a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol @@ -275,6 +275,4 @@ abstract contract ERC20Ubiquity is ) public override(ERC20Upgradeable) returns (bool) { return super.transferFrom(sender, recipient, amount); } - - uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/StakingShare.sol b/packages/contracts/src/dollar/core/StakingShare.sol index f9f2c1454..b143dbafa 100644 --- a/packages/contracts/src/dollar/core/StakingShare.sol +++ b/packages/contracts/src/dollar/core/StakingShare.sol @@ -89,7 +89,8 @@ contract StakingShare is string memory _uri ) public initializer { __ERC1155Ubiquity_init(_manager, _uri); - __ERC1155URIStorage_init(); + __ERC1155Burnable_init(); + __ERC1155Pausable_init(); } /** diff --git a/packages/contracts/src/dollar/core/UbiquityCreditToken.sol b/packages/contracts/src/dollar/core/UbiquityCreditToken.sol index 595e91c55..8d7c42d53 100644 --- a/packages/contracts/src/dollar/core/UbiquityCreditToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityCreditToken.sol @@ -4,14 +4,13 @@ pragma solidity ^0.8.19; import {ManagerFacet} from "../facets/ManagerFacet.sol"; import {ERC20Ubiquity} from "./ERC20Ubiquity.sol"; import {IERC20Ubiquity} from "../../dollar/interfaces/IERC20Ubiquity.sol"; -import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; import "../libraries/Constants.sol"; /** * @notice Credit token contract */ -contract UbiquityCreditToken is Initializable, ERC20Ubiquity { +contract UbiquityCreditToken is ERC20Ubiquity { // /** // * @notice Contract constructor // * @param _manager Access control address @@ -37,7 +36,7 @@ contract UbiquityCreditToken is Initializable, ERC20Ubiquity { /// @notice Modifier checks that the method is called by a user with the "Credit minter" role modifier onlyCreditMinter() { require( - accessControl.hasRole(CREDIT_TOKEN_MINTER_ROLE, msg.sender), + accessControl.hasRole(CREDIT_TOKEN_MINTER_ROLE, _msgSender()), "Credit token: not minter" ); _; @@ -46,7 +45,7 @@ contract UbiquityCreditToken is Initializable, ERC20Ubiquity { /// @notice Modifier checks that the method is called by a user with the "Credit burner" role modifier onlyCreditBurner() { require( - accessControl.hasRole(CREDIT_TOKEN_BURNER_ROLE, msg.sender), + accessControl.hasRole(CREDIT_TOKEN_BURNER_ROLE, _msgSender()), "Credit token: not burner" ); _; @@ -86,12 +85,6 @@ contract UbiquityCreditToken is Initializable, ERC20Ubiquity { uint256 amount ) public onlyCreditMinter whenNotPaused { _mint(to, amount); - emit Minting(to, msg.sender, amount); + emit Minting(to, _msgSender(), amount); } - - function _authorizeUpgrade( - address newImplementation - ) internal override onlyAdmin {} - - uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/UbiquityDollarToken.sol b/packages/contracts/src/dollar/core/UbiquityDollarToken.sol index 3ae33e3cd..ed652187c 100644 --- a/packages/contracts/src/dollar/core/UbiquityDollarToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityDollarToken.sol @@ -4,14 +4,13 @@ pragma solidity ^0.8.19; import {ERC20Ubiquity} from "./ERC20Ubiquity.sol"; import {IERC20Ubiquity} from "../../dollar/interfaces/IERC20Ubiquity.sol"; import {IIncentive} from "../../dollar/interfaces/IIncentive.sol"; -import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; import "../libraries/Constants.sol"; /** * @notice Ubiquity Dollar token contract */ -contract UbiquityDollarToken is Initializable, ERC20Ubiquity { +contract UbiquityDollarToken is ERC20Ubiquity { /** * @notice Mapping of account and incentive contract address * @dev Address is 0 if there is no incentive contract for the account @@ -49,7 +48,7 @@ contract UbiquityDollarToken is Initializable, ERC20Ubiquity { /// @notice Modifier checks that the method is called by a user with the "Dollar minter" role modifier onlyDollarMinter() { require( - accessControl.hasRole(DOLLAR_TOKEN_MINTER_ROLE, msg.sender), + accessControl.hasRole(DOLLAR_TOKEN_MINTER_ROLE, _msgSender()), "Dollar token: not minter" ); _; @@ -58,7 +57,7 @@ contract UbiquityDollarToken is Initializable, ERC20Ubiquity { /// @notice Modifier checks that the method is called by a user with the "Dollar burner" role modifier onlyDollarBurner() { require( - accessControl.hasRole(DOLLAR_TOKEN_BURNER_ROLE, msg.sender), + accessControl.hasRole(DOLLAR_TOKEN_BURNER_ROLE, _msgSender()), "Dollar token: not burner" ); _; @@ -76,7 +75,7 @@ contract UbiquityDollarToken is Initializable, ERC20Ubiquity { */ function setIncentiveContract(address account, address incentive) external { require( - accessControl.hasRole(GOVERNANCE_TOKEN_MANAGER_ROLE, msg.sender), + accessControl.hasRole(GOVERNANCE_TOKEN_MANAGER_ROLE, _msgSender()), "Dollar: must have admin role" ); @@ -101,7 +100,7 @@ contract UbiquityDollarToken is Initializable, ERC20Ubiquity { IIncentive(senderIncentive).incentivize( sender, recipient, - msg.sender, + _msgSender(), amount ); } @@ -112,22 +111,22 @@ contract UbiquityDollarToken is Initializable, ERC20Ubiquity { IIncentive(recipientIncentive).incentivize( sender, recipient, - msg.sender, + _msgSender(), amount ); } // incentive on operator - address operatorIncentive = incentiveContract[msg.sender]; + address operatorIncentive = incentiveContract[_msgSender()]; if ( - msg.sender != sender && - msg.sender != recipient && + _msgSender() != sender && + _msgSender() != recipient && operatorIncentive != address(0) ) { IIncentive(operatorIncentive).incentivize( sender, recipient, - msg.sender, + _msgSender(), amount ); } @@ -138,7 +137,7 @@ contract UbiquityDollarToken is Initializable, ERC20Ubiquity { IIncentive(allIncentive).incentivize( sender, recipient, - msg.sender, + _msgSender(), amount ); } @@ -190,12 +189,6 @@ contract UbiquityDollarToken is Initializable, ERC20Ubiquity { uint256 amount ) public onlyDollarMinter whenNotPaused { _mint(to, amount); - emit Minting(to, msg.sender, amount); + emit Minting(to, _msgSender(), amount); } - - function _authorizeUpgrade( - address newImplementation - ) internal override onlyAdmin {} - - uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol index 318d9edb9..512366b46 100644 --- a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol @@ -36,7 +36,7 @@ contract UbiquityGovernanceToken is Initializable, ERC20Ubiquity { /// @notice Modifier checks that the method is called by a user with the "Governance minter" role modifier onlyGovernanceMinter() { require( - accessControl.hasRole(GOVERNANCE_TOKEN_MINTER_ROLE, msg.sender), + accessControl.hasRole(GOVERNANCE_TOKEN_MINTER_ROLE, _msgSender()), "Governance token: not minter" ); _; @@ -45,7 +45,7 @@ contract UbiquityGovernanceToken is Initializable, ERC20Ubiquity { /// @notice Modifier checks that the method is called by a user with the "Governance burner" role modifier onlyGovernanceBurner() { require( - accessControl.hasRole(GOVERNANCE_TOKEN_BURNER_ROLE, msg.sender), + accessControl.hasRole(GOVERNANCE_TOKEN_BURNER_ROLE, _msgSender()), "Governance token: not burner" ); _; @@ -74,12 +74,6 @@ contract UbiquityGovernanceToken is Initializable, ERC20Ubiquity { uint256 amount ) public onlyGovernanceMinter whenNotPaused { _mint(to, amount); - emit Minting(to, msg.sender, amount); + emit Minting(to, _msgSender(), amount); } - - function _authorizeUpgrade( - address newImplementation - ) internal override onlyAdmin {} - - uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/facets/CreditNftManagerFacet.sol b/packages/contracts/src/dollar/facets/CreditNftManagerFacet.sol index c4de4bb47..16ac55fce 100644 --- a/packages/contracts/src/dollar/facets/CreditNftManagerFacet.sol +++ b/packages/contracts/src/dollar/facets/CreditNftManagerFacet.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.19; import "@openzeppelin/contracts/utils/introspection/ERC165.sol"; import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; - +import "@openzeppelin/contracts/utils/Context.sol"; import {LibCreditNftManager} from "../libraries/LibCreditNftManager.sol"; import {Modifiers} from "../libraries/LibAppStorage.sol"; @@ -14,7 +14,7 @@ import {Modifiers} from "../libraries/LibAppStorage.sol"; * - redeem individual Credit NFT or batch redeem Credit NFT on a first-come first-serve basis * - redeem Credits for Dollars */ -contract CreditNftManagerFacet is Modifiers { +contract CreditNftManagerFacet is Context, Modifiers { /** * @notice Credit NFT to Governance conversion rate * @notice When Credit NFTs are expired they can be converted to diff --git a/packages/contracts/src/dollar/libraries/LibCreditNftManager.sol b/packages/contracts/src/dollar/libraries/LibCreditNftManager.sol index c012e7778..63988bfa0 100644 --- a/packages/contracts/src/dollar/libraries/LibCreditNftManager.sol +++ b/packages/contracts/src/dollar/libraries/LibCreditNftManager.sol @@ -308,7 +308,6 @@ library LibCreditNftManager { CreditNft creditNft = CreditNft( LibAppStorage.appStorage().creditNftAddress ); - require(id > block.timestamp, "Credit NFT has expired"); require( creditNft.balanceOf(msg.sender, id) >= amount, diff --git a/packages/contracts/src/dollar/mocks/MockShareV1.sol b/packages/contracts/src/dollar/mocks/MockShareV1.sol index ef833cb37..6afaf6f6d 100644 --- a/packages/contracts/src/dollar/mocks/MockShareV1.sol +++ b/packages/contracts/src/dollar/mocks/MockShareV1.sol @@ -2,10 +2,18 @@ pragma solidity ^0.8.19; import "../core/ERC1155Ubiquity.sol"; +import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; -contract BondingShare is ERC1155Ubiquity { +contract BondingShare is Initializable, ERC1155Ubiquity { // solhint-disable-next-line no-empty-blocks - constructor(address _diamond) ERC1155Ubiquity() { - __ERC1155Ubiquity_init(_diamond, "Mock Uri for testing"); + constructor() { + _disableInitializers(); + } + + function initialize( + address _manager, + string memory uri + ) public initializer { + __ERC1155Ubiquity_init(_manager, uri); } } diff --git a/packages/contracts/test/diamond/DiamondTestSetup.sol b/packages/contracts/test/diamond/DiamondTestSetup.sol index 58151efa2..2ced717f6 100644 --- a/packages/contracts/test/diamond/DiamondTestSetup.sol +++ b/packages/contracts/test/diamond/DiamondTestSetup.sol @@ -685,14 +685,14 @@ abstract contract DiamondSetup is DiamondTestHelper { IDollarMintCalcFacet = DollarMintCalculatorFacet(address(diamond)); IDollarMintExcessFacet = DollarMintExcessFacet(address(diamond)); - // __setupUUPS(address(diamond)); + // get all addresses facetAddressList = ILoupe.facetAddresses(); vm.startPrank(admin); // // grant diamond dollar minting and burning rights IAccessControl.grantRole(CURVE_DOLLAR_MANAGER_ROLE, address(diamond)); // add staking shares - + __setupUUPS(address(diamond)); vm.stopPrank(); } } diff --git a/packages/contracts/test/diamond/facets/ChefFacet.t.sol b/packages/contracts/test/diamond/facets/ChefFacet.t.sol index 1ecdd31e0..d66bc9bc6 100644 --- a/packages/contracts/test/diamond/facets/ChefFacet.t.sol +++ b/packages/contracts/test/diamond/facets/ChefFacet.t.sol @@ -91,12 +91,11 @@ contract ZeroStateChef is DiamondSetup { } vm.startPrank(admin); - stakingShareV1 = new BondingShare(address(diamond)); - IManager.setStakingShareAddress(address(stakingShareV1)); - stakingShareV1.setApprovalForAll(address(diamond), true); + IManager.setStakingShareAddress(address(stakingShare)); + stakingShare.setApprovalForAll(address(diamond), true); IAccessControl.grantRole( GOVERNANCE_TOKEN_MINTER_ROLE, - address(stakingShareV1) + address(stakingShare) ); ICurveFactory curvePoolFactory = ICurveFactory(new MockCurveFactory()); @@ -182,10 +181,10 @@ contract ZeroStateChef is DiamondSetup { vm.stopPrank(); vm.prank(secondAccount); - stakingShareV1.setApprovalForAll(address(diamond), true); + stakingShare.setApprovalForAll(address(diamond), true); vm.prank(thirdAccount); - stakingShareV1.setApprovalForAll(address(diamond), true); + stakingShare.setApprovalForAll(address(diamond), true); } } diff --git a/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol b/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol index 34f0adb37..fb0e6ee13 100644 --- a/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol +++ b/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol @@ -12,6 +12,8 @@ import {IERC20Ubiquity} from "../../../src/dollar/interfaces/IERC20Ubiquity.sol" import {CreditNft} from "../../../src/dollar/core/CreditNft.sol"; import {UbiquityCreditToken} from "../../../src/dollar/core/UbiquityCreditToken.sol"; +import "forge-std/Test.sol"; + contract CreditNftManagerFacetTest is DiamondSetup { CreditNft _creditNft; address dollarManagerAddress; @@ -32,7 +34,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { uint256 admSupply = IDollar.balanceOf(admin); assertEq(admSupply, 10000e18); - _creditNft = creditNft; + _creditNft = IUbiquityNft; vm.prank(admin); IManager.setCreditNftAddress(address(_creditNft)); @@ -155,7 +157,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { { address mockMessageSender = address(0x123); vm.prank(admin); - CreditNft(creditNftAddress).mintCreditNft(mockMessageSender, 100, 500); + IUbiquityNft.mintCreditNft(mockMessageSender, 100, 500); vm.roll(1000); vm.prank(mockMessageSender); vm.expectRevert("User not enough Credit NFT"); @@ -166,11 +168,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { address mockMessageSender = address(0x123); uint256 expiryBlockNumber = 500; vm.startPrank(admin); - CreditNft(creditNftAddress).mintCreditNft( - mockMessageSender, - 2e18, - expiryBlockNumber - ); + IUbiquityNft.mintCreditNft(mockMessageSender, 2e18, expiryBlockNumber); IAccessControl.grantRole( keccak256("GOVERNANCE_TOKEN_MINTER_ROLE"), creditNftManagerAddress @@ -178,7 +176,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { vm.stopPrank(); vm.roll(1000); vm.startPrank(mockMessageSender); - CreditNft(creditNftAddress).setApprovalForAll(address(diamond), true); + IUbiquityNft.setApprovalForAll(address(diamond), true); ICreditNftManagerFacet.burnExpiredCreditNftForGovernance( expiryBlockNumber, 1e18 @@ -205,11 +203,8 @@ contract CreditNftManagerFacetTest is DiamondSetup { address mockMessageSender = address(0x123); uint256 expiryBlockNumber = 500; vm.startPrank(admin); - CreditNft(creditNftAddress).mintCreditNft( - mockMessageSender, - 2e18, - expiryBlockNumber - ); + + IUbiquityNft.mintCreditNft(mockMessageSender, 2e18, expiryBlockNumber); IAccessControl.grantRole( keccak256("GOVERNANCE_TOKEN_MINTER_ROLE"), creditNftManagerAddress @@ -217,11 +212,10 @@ contract CreditNftManagerFacetTest is DiamondSetup { vm.stopPrank(); vm.startPrank(mockMessageSender); vm.warp(expiryBlockNumber - 1); - CreditNft(creditNftAddress).setApprovalForAll(address(diamond), true); + IUbiquityNft.setApprovalForAll(address(diamond), true); ICreditNftManagerFacet.burnCreditNftForCredit(expiryBlockNumber, 1e18); vm.stopPrank(); - uint256 redeemBalance = UbiquityCreditToken(creditTokenAddress) - .balanceOf(mockMessageSender); + uint256 redeemBalance = creditToken.balanceOf(mockMessageSender); assertEq(redeemBalance, 1e18); } @@ -273,11 +267,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { mockTwapFuncs(2e18); address account1 = address(0x123); uint256 expiryBlockNumber = 123123; - CreditNft(creditNftAddress).mintCreditNft( - account1, - 100, - expiryBlockNumber - ); + IUbiquityNft.mintCreditNft(account1, 100, expiryBlockNumber); vm.expectRevert("User not enough Credit NFT"); vm.prank(account1); vm.roll(expiryBlockNumber - 1); @@ -293,11 +283,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { mockTwapFuncs(2e18); address account1 = address(0x123); uint256 expiryBlockNumber = 123123; - CreditNft(creditNftAddress).mintCreditNft( - account1, - 100, - expiryBlockNumber - ); + IUbiquityNft.mintCreditNft(account1, 100, expiryBlockNumber); UbiquityCreditToken(creditTokenAddress).mint( creditNftManagerAddress, 20000e18 @@ -328,11 +314,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { mockDollarMintCalcFuncs(0); address account1 = address(0x123); uint256 expiryBlockNumber = 123123; - CreditNft(creditNftAddress).mintCreditNft( - account1, - 100, - expiryBlockNumber - ); + IUbiquityNft.mintCreditNft(account1, 100, expiryBlockNumber); // MockAutoRedeem(creditTokenAddress).mint(creditNftManagerAddress, 20000e18); // set excess dollar distributor for creditNftAddress @@ -361,15 +343,8 @@ contract CreditNftManagerFacetTest is DiamondSetup { mockDollarMintCalcFuncs(20000e18); address account1 = address(0x123); uint256 expiryBlockNumber = 123123; - CreditNft(creditNftAddress).mintCreditNft( - account1, - 100, - expiryBlockNumber - ); - UbiquityCreditToken(creditTokenAddress).mint( - creditNftManagerAddress, - 10000e18 - ); + IUbiquityNft.mintCreditNft(account1, 100, expiryBlockNumber); + creditToken.mint(creditNftManagerAddress, 10000e18); // set excess dollar distributor for debtCouponAddress vm.mockCall( @@ -380,7 +355,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { abi.encode() ); vm.startPrank(account1); - CreditNft(creditNftAddress).setApprovalForAll(address(diamond), true); + IUbiquityNft.setApprovalForAll(address(diamond), true); vm.roll(expiryBlockNumber - 1); uint256 unredeemedCreditNft = ICreditNftManagerFacet.redeemCreditNft( expiryBlockNumber, diff --git a/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol b/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol index 9c9a76809..f36a23a07 100644 --- a/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol +++ b/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol @@ -15,7 +15,7 @@ contract CreditRedemptionCalculatorFacetTest is DiamondSetup { uint256 admSupply = IDollar.balanceOf(admin); assertEq(admSupply, 10000e18); - _creditNft = creditNft; + _creditNft = IUbiquityNft; vm.startPrank(admin); IAccessControl.grantRole(CREDIT_NFT_MANAGER_ROLE, address(this)); _creditNft.mintCreditNft(user1, 100, 10); diff --git a/packages/contracts/test/diamond/facets/StakingFacet.t.sol b/packages/contracts/test/diamond/facets/StakingFacet.t.sol index f39c8a6a2..296b7b904 100644 --- a/packages/contracts/test/diamond/facets/StakingFacet.t.sol +++ b/packages/contracts/test/diamond/facets/StakingFacet.t.sol @@ -96,7 +96,6 @@ contract ZeroStateStaking is DiamondSetup { } vm.startPrank(admin); - stakingShareV1 = new BondingShare(address(diamond)); IManager.setStakingShareAddress(address(stakingShareV1)); stakingShareV1.setApprovalForAll(address(diamond), true); IAccessControl.grantRole( diff --git a/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol b/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol index 42fb10cd4..cccf0d36b 100644 --- a/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol +++ b/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol @@ -69,12 +69,11 @@ contract UbiquityPoolFacetTest is DiamondSetup { } vm.startPrank(admin); - stakingShareV1 = new BondingShare(address(diamond)); - IManager.setStakingShareAddress(address(stakingShareV1)); - stakingShareV1.setApprovalForAll(address(diamond), true); + IManager.setStakingShareAddress(address(stakingShare)); + stakingShare.setApprovalForAll(address(diamond), true); IAccessControl.grantRole( GOVERNANCE_TOKEN_MINTER_ROLE, - address(stakingShareV1) + address(stakingShare) ); governanceToken = IERC20Ubiquity(IManager.governanceTokenAddress()); // vm.stopPrank(); diff --git a/packages/contracts/test/helpers/LocalTestHelper.sol b/packages/contracts/test/helpers/LocalTestHelper.sol index 374ccab97..e610dabf8 100644 --- a/packages/contracts/test/helpers/LocalTestHelper.sol +++ b/packages/contracts/test/helpers/LocalTestHelper.sol @@ -27,7 +27,6 @@ abstract contract LocalTestHelper is DiamondSetup { function setUp() public virtual override { super.setUp(); - __setupUUPS(address(diamond)); twapOracle = ITWAPOracleDollar3pool; creditNftRedemptionCalculator = ICreditNftRedemptionCalculationFacet; diff --git a/packages/contracts/test/helpers/UupsTestHelper.sol b/packages/contracts/test/helpers/UupsTestHelper.sol index 7569be087..6ab43ae65 100644 --- a/packages/contracts/test/helpers/UupsTestHelper.sol +++ b/packages/contracts/test/helpers/UupsTestHelper.sol @@ -10,12 +10,13 @@ import {CreditNft} from "../../src/dollar/core/CreditNft.sol"; import {ManagerFacet} from "../../src/dollar/facets/ManagerFacet.sol"; import {AccessControlFacet} from "../../src/dollar/facets/AccessControlFacet.sol"; import {ERC1155Ubiquity} from "../../src/dollar/core/ERC1155Ubiquity.sol"; -import {BondingShare} from "../../src/dollar/mocks/MockShareV1.sol"; import "../../src/dollar/libraries/Constants.sol"; +import "forge-std/Test.sol"; contract UupsTestHelper { CreditNft public creditNft; StakingShare public stakingShare; + ERC1155Ubiquity public uStakingShareV1; UbiquityCreditToken public uCreditToken; UbiquityDollarToken public uDollarToken; UbiquityGovernanceToken public uGovToken; @@ -27,7 +28,7 @@ contract UupsTestHelper { UbiquityDollarToken public IDollar; UbiquityGovernanceToken public IGovToken; ERC1155Ubiquity public IUbiquiStick; - BondingShare public stakingShareV1; + ERC1155Ubiquity public stakingShareV1; UupsProxy public proxyCreditNft; UupsProxy public proxyStakingShare; @@ -35,6 +36,7 @@ contract UupsTestHelper { UupsProxy public proxyUDollarToken; UupsProxy public proxyUGovToken; UupsProxy public proxyUbiquiStick; + UupsProxy public proxyStakingShareV1; ManagerFacet iManager; AccessControlFacet IAccessControl; @@ -84,20 +86,29 @@ contract UupsTestHelper { proxyUGovToken = new UupsProxy(address(uGovToken), managerPayload); IGovToken = UbiquityGovernanceToken(address(proxyUGovToken)); + bytes memory ubq1155Payload = abi.encodeWithSignature( + "__ERC1155Ubiquity_init(address,string)", + manager, + uri + ); + ubiquiStick = new ERC1155Ubiquity(); - proxyUbiquiStick = new UupsProxy(address(ubiquiStick), managerPayload); + proxyUbiquiStick = new UupsProxy(address(ubiquiStick), ubq1155Payload); IUbiquiStick = ERC1155Ubiquity(address(proxyUbiquiStick)); + uStakingShareV1 = new ERC1155Ubiquity(); + proxyStakingShareV1 = new UupsProxy( + address(uStakingShareV1), + ubq1155Payload + ); + stakingShareV1 = ERC1155Ubiquity(address(proxyStakingShareV1)); + iManager.setUbiquistickAddress(address(IUbiquiStick)); iManager.setStakingShareAddress(address(IStakingShareToken)); iManager.setCreditTokenAddress(address(creditToken)); iManager.setDollarTokenAddress(address(IDollar)); iManager.setGovernanceTokenAddress(address(IGovToken)); iManager.setCreditNftAddress(address(IUbiquityNft)); - - IDollar = UbiquityDollarToken(iManager.dollarTokenAddress()); - IGovToken = UbiquityGovernanceToken(iManager.governanceTokenAddress()); - IStakingShareToken = StakingShare(iManager.stakingShareAddress()); // grant diamond dollar minting and burning rights IAccessControl.grantRole(DOLLAR_TOKEN_MINTER_ROLE, address(manager)); IAccessControl.grantRole(DOLLAR_TOKEN_BURNER_ROLE, address(manager)); From 5b44d4880dda7f41e5b2d1b7babc3270fadd612a Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Sat, 26 Aug 2023 21:38:07 +0100 Subject: [PATCH 04/21] chore: fix deploy scripts all deploying --- .../31337/run-latest.json | 1581 ++++++++++------- .../solidityScripting/05_StakingShare.s.sol | 2 +- 2 files changed, 983 insertions(+), 600 deletions(-) diff --git a/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json b/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json index 327f0d12b..c13a1eab0 100644 --- a/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json +++ b/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json @@ -1,7 +1,7 @@ { "transactions": [ { - "hash": "0xd125e80676c21164ef8986afcc68a3141e20bab2e9a84b7d1e6a7ef39d43d0b0", + "hash": "0x8d7ac90d92039a6ee99b202d609d94f3460ebe8730c606c90fb32f77c8d498ea", "transactionType": "CREATE", "contractName": "LibCreditNftManager", "contractAddress": "0x5D00797F4d5A2eED04D75a8D3Cff1721E859b35d", @@ -11,7 +11,7 @@ "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x1ecfee", - "data": "0x611b6161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100715760003560e01c80635469bff11161005a5780635469bff1146100bf578063b5a3ff87146100df578063efa0982f146100ff57600080fd5b80630d65f47f146100765780632565aa42146100a8575b600080fd5b81801561008257600080fd5b50610096610091366004611a1e565b61011f565b60405190815260200160405180910390f35b8180156100b457600080fd5b506100bd6108b1565b005b8180156100cb57600080fd5b506100966100da366004611a1e565b610d00565b8180156100eb57600080fd5b506100966100fa366004611a1e565b610fdd565b81801561010b57600080fd5b5061009661011a366004611a40565b6113b3565b60008061012a611827565b9050670de0b6b3a764000081116101c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5072696365206d7573742062652061626f7665203120746f2072656465656d2060448201527f437265646974204e46540000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101d0611851565b6004015460ff16156102175760006101e6611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b60025460009073ffffffffffffffffffffffffffffffffffffffff1643861161029c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101879052859073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611a59565b1015610399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6103a16108b1565b600e82015460018301546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff928316929091169081906370a0823190602401602060405180830381865afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190611a59565b8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104af9190611a59565b111561053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f5468657265206172656e277420656e6f75676820446f6c6c617220746f20726560448201527f6465656d2063757272656e746c7900000000000000000000000000000000000060648201526084016101bf565b60008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae9190611a59565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015610618573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063c9190611a59565b6106469190611aa1565b905087818111156106545750805b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa1580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e59190611a59565b11610772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f5468657265206172656e277420616e7920446f6c6c617220746f20726564656560448201527f6d2063757272656e746c7900000000000000000000000000000000000000000060648201526084016101bf565b6040517ffd7fc16500000000000000000000000000000000000000000000000000000000815233600482015260248101829052604481018b905273ffffffffffffffffffffffffffffffffffffffff86169063fd7fc16590606401600060405180830381600087803b1580156107e757600080fd5b505af11580156107fb573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af1158015610872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108969190611ab4565b506108a1818a611aa1565b9750505050505050505b92915050565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b15801561091f57600080fd5b505af1158015610933573d6000803e3d6000fd5b5050505060003073ffffffffffffffffffffffffffffffffffffffff1663764263cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a89190611a59565b905060006109b4611851565b546109bf9083611aa1565b9050816109ca611851565b5560018401546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b158015610a4157600080fd5b505af1158015610a55573d6000803e3d6000fd5b50505050600e8501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91821691600091908416906370a0823190602401602060405180830381865afa158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af49190611a59565b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611a59565b8773ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd69190611a59565b610be09190611add565b905080821115610cf6576000610bf68284611aa1565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815230600482018190526024820183905291925073ffffffffffffffffffffffffffffffffffffffff87169063a9059cbb906044016020604051808303816000875af1158015610c6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c929190611ab4565b508073ffffffffffffffffffffffffffffffffffffffff1663651156bc6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cdb57600080fd5b505af1158015610cef573d6000803e3d6000fd5b5050505050505b5050505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff1643841115610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f437265646974204e465420686173206e6f74206578706972656400000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa158015610df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1b9190611a59565b1015610e83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b158015610ef857600080fd5b505af1158015610f0c573d6000803e3d6000fd5b505050506000610f1a600090565b600a015473ffffffffffffffffffffffffffffffffffffffff169050610f3e611851565b60030154610f4c9085611af0565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810182905290935073ffffffffffffffffffffffffffffffffffffffff8216906340c10f1990604401600060405180830381600087803b158015610fbd57600080fd5b505af1158015610fd1573d6000803e3d6000fd5b50505050505092915050565b60025460009073ffffffffffffffffffffffffffffffffffffffff16428411611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190611a59565b101561115f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b5050505060006111f6600090565b600e01546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810186905273ffffffffffffffffffffffffffffffffffffffff909116915081906340c10f1990604401600060405180830381600087803b15801561126c57600080fd5b505af1158015611280573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810187905273ffffffffffffffffffffffffffffffffffffffff8416925063a9059cbb91506044016020604051808303816000875af11580156112f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131b9190611ab4565b506040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8216906370a0823190602401602060405180830381865afa158015611386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113aa9190611a59565b95945050505050565b6000806113be611827565b9050670de0b6b3a76400008111611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5072696365206d7573742062652061626f76652031000000000000000000000060448201526064016101bf565b611439611851565b6004015460ff161561148057600061144f611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b600080600e01546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091169150849082906370a0823190602401602060405180830381865afa1580156114f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151b9190611a59565b10156115a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f5573657220646f65736e2774206861766520656e6f756768204372656469742060448201527f706f6f6c20746f6b656e732e000000000000000000000000000000000000000060648201526084016101bf565b600080600101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015611621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116459190611a59565b9050600081116116e8576116576108b1565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e59190611a59565b90505b85818111156116f45750805b6040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff8516906379cc679090604401600060405180830381600087803b15801561176257600080fd5b505af1158015611776573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af11580156117ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118119190611ab4565b5061181c8188611aa1565b979650505050505050565b600061184c816001015473ffffffffffffffffffffffffffffffffffffffff1661187f565b905090565b6000806108ab60017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297611aa1565b60008061188a6119f0565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116118f3575050505050815250509050611919600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361194957806040015191506119ea565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016101bf565b806060015191505b50919050565b6000806108ab60017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628611aa1565b60008060408385031215611a3157600080fd5b50508035926020909101359150565b600060208284031215611a5257600080fd5b5035919050565b600060208284031215611a6b57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156108ab576108ab611a72565b600060208284031215611ac657600080fd5b81518015158114611ad657600080fd5b9392505050565b808201808211156108ab576108ab611a72565b600082611b26577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220debe40f3a53c6cbc77bf37fe6e427af3c03670e412d6bc3bfd804596c9252bbb64736f6c63430008130033", + "data": "0x611b6161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100715760003560e01c80635469bff11161005a5780635469bff1146100bf578063b5a3ff87146100df578063efa0982f146100ff57600080fd5b80630d65f47f146100765780632565aa42146100a8575b600080fd5b81801561008257600080fd5b50610096610091366004611a1e565b61011f565b60405190815260200160405180910390f35b8180156100b457600080fd5b506100bd6108b1565b005b8180156100cb57600080fd5b506100966100da366004611a1e565b610d00565b8180156100eb57600080fd5b506100966100fa366004611a1e565b610fdd565b81801561010b57600080fd5b5061009661011a366004611a40565b6113b3565b60008061012a611827565b9050670de0b6b3a764000081116101c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5072696365206d7573742062652061626f7665203120746f2072656465656d2060448201527f437265646974204e46540000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101d0611851565b6004015460ff16156102175760006101e6611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b60025460009073ffffffffffffffffffffffffffffffffffffffff1643861161029c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101879052859073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611a59565b1015610399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6103a16108b1565b600e82015460018301546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff928316929091169081906370a0823190602401602060405180830381865afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190611a59565b8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104af9190611a59565b111561053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f5468657265206172656e277420656e6f75676820446f6c6c617220746f20726560448201527f6465656d2063757272656e746c7900000000000000000000000000000000000060648201526084016101bf565b60008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae9190611a59565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015610618573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063c9190611a59565b6106469190611aa1565b905087818111156106545750805b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa1580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e59190611a59565b11610772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f5468657265206172656e277420616e7920446f6c6c617220746f20726564656560448201527f6d2063757272656e746c7900000000000000000000000000000000000000000060648201526084016101bf565b6040517ffd7fc16500000000000000000000000000000000000000000000000000000000815233600482015260248101829052604481018b905273ffffffffffffffffffffffffffffffffffffffff86169063fd7fc16590606401600060405180830381600087803b1580156107e757600080fd5b505af11580156107fb573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af1158015610872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108969190611ab4565b506108a1818a611aa1565b9750505050505050505b92915050565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b15801561091f57600080fd5b505af1158015610933573d6000803e3d6000fd5b5050505060003073ffffffffffffffffffffffffffffffffffffffff1663764263cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a89190611a59565b905060006109b4611851565b546109bf9083611aa1565b9050816109ca611851565b5560018401546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b158015610a4157600080fd5b505af1158015610a55573d6000803e3d6000fd5b50505050600e8501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91821691600091908416906370a0823190602401602060405180830381865afa158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af49190611a59565b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611a59565b8773ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd69190611a59565b610be09190611add565b905080821115610cf6576000610bf68284611aa1565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815230600482018190526024820183905291925073ffffffffffffffffffffffffffffffffffffffff87169063a9059cbb906044016020604051808303816000875af1158015610c6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c929190611ab4565b508073ffffffffffffffffffffffffffffffffffffffff1663651156bc6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cdb57600080fd5b505af1158015610cef573d6000803e3d6000fd5b5050505050505b5050505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff1643841115610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f437265646974204e465420686173206e6f74206578706972656400000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa158015610df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1b9190611a59565b1015610e83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b158015610ef857600080fd5b505af1158015610f0c573d6000803e3d6000fd5b505050506000610f1a600090565b600a015473ffffffffffffffffffffffffffffffffffffffff169050610f3e611851565b60030154610f4c9085611af0565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810182905290935073ffffffffffffffffffffffffffffffffffffffff8216906340c10f1990604401600060405180830381600087803b158015610fbd57600080fd5b505af1158015610fd1573d6000803e3d6000fd5b50505050505092915050565b60025460009073ffffffffffffffffffffffffffffffffffffffff16428411611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190611a59565b101561115f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b5050505060006111f6600090565b600e01546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810186905273ffffffffffffffffffffffffffffffffffffffff909116915081906340c10f1990604401600060405180830381600087803b15801561126c57600080fd5b505af1158015611280573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810187905273ffffffffffffffffffffffffffffffffffffffff8416925063a9059cbb91506044016020604051808303816000875af11580156112f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131b9190611ab4565b506040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8216906370a0823190602401602060405180830381865afa158015611386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113aa9190611a59565b95945050505050565b6000806113be611827565b9050670de0b6b3a76400008111611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5072696365206d7573742062652061626f76652031000000000000000000000060448201526064016101bf565b611439611851565b6004015460ff161561148057600061144f611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b600080600e01546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091169150849082906370a0823190602401602060405180830381865afa1580156114f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151b9190611a59565b10156115a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f5573657220646f65736e2774206861766520656e6f756768204372656469742060448201527f706f6f6c20746f6b656e732e000000000000000000000000000000000000000060648201526084016101bf565b600080600101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015611621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116459190611a59565b9050600081116116e8576116576108b1565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e59190611a59565b90505b85818111156116f45750805b6040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff8516906379cc679090604401600060405180830381600087803b15801561176257600080fd5b505af1158015611776573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af11580156117ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118119190611ab4565b5061181c8188611aa1565b979650505050505050565b600061184c816001015473ffffffffffffffffffffffffffffffffffffffff1661187f565b905090565b6000806108ab60017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297611aa1565b60008061188a6119f0565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116118f3575050505050815250509050611919600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361194957806040015191506119ea565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016101bf565b806060015191505b50919050565b6000806108ab60017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628611aa1565b60008060408385031215611a3157600080fd5b50508035926020909101359150565b600060208284031215611a5257600080fd5b5035919050565b600060208284031215611a6b57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156108ab576108ab611a72565b600060208284031215611ac657600080fd5b81518015158114611ad657600080fd5b9392505050565b808201808211156108ab576108ab611a72565b600082611b26577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220f99df3f569b8696e10e378fb37eb36498c79605ccd07422bbe69adf5bc27ad8464736f6c63430008130033", "nonce": "0x0", "accessList": [] }, @@ -19,7 +19,7 @@ "isFixedGasLimit": false }, { - "hash": "0x2460ab950bf14f244f2455036327bfea4ec373026a9941c34cad7d03051df402", + "hash": "0xc7712623c9e0b7386ca338927a980e797a7e7a0ec23a9253fb66da5e582c4737", "transactionType": "CREATE", "contractName": "DiamondCutFacet", "contractAddress": "0xd20b46190da9B273a12E59895cF8a750C25541CC", @@ -30,7 +30,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x1ed455", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50611b66806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631f931c1c14610030575b600080fd5b61004361003e366004611496565b610045565b005b61004d61009e565b61009761005a8587611613565b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061015592505050565b5050505050565b6100a6610396565b6004015473ffffffffffffffffffffffffffffffffffffffff163314610153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b565b60005b835181101561034b5760008482815181106101755761017561176f565b6020026020010151602001519050600060028111156101965761019661179e565b8160028111156101a8576101a861179e565b036101f6576101f18583815181106101c2576101c261176f565b6020026020010151600001518684815181106101e0576101e061176f565b6020026020010151604001516103ca565b610338565b600181600281111561020a5761020a61179e565b03610253576101f18583815181106102245761022461176f565b6020026020010151600001518684815181106102425761024261176f565b602002602001015160400151610764565b60028160028111156102675761026761179e565b036102b0576101f18583815181106102815761028161176f565b60200260200101516000015186848151811061029f5761029f61176f565b602002602001015160400151610b0e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560448201527f74416374696f6e00000000000000000000000000000000000000000000000000606482015260840161014a565b5080610343816117fc565b915050610158565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161037f939291906118a2565b60405180910390a16103918282610cec565b505050565b6000806103c460017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c611a0a565b92915050565b600081511161045b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b6000610465610396565b905073ffffffffffffffffffffffffffffffffffffffff831661050a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201527f6520616464726573732830290000000000000000000000000000000000000000606482015260840161014a565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610552576105528285610de5565b60005b83518110156100975760008482815181106105725761057261176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff168015610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c7265616479206578697374730000000000000000000000606482015260840161014a565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790558361074c81611a1d565b9450505050808061075c906117fc565b915050610555565b60008151116107f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b60006107ff610396565b905073ffffffffffffffffffffffffffffffffffffffff83166108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201527f6520616464726573732830290000000000000000000000000000000000000000606482015260840161014a565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff821690036108ec576108ec8285610de5565b60005b835181101561009757600084828151811061090c5761090c61176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690871681036109f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000606482015260840161014a565b610a01858284610e74565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905583610af681611a1d565b94505050508080610b06906117fc565b9150506108ef565b6000815111610b9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b6000610ba9610396565b905073ffffffffffffffffffffffffffffffffffffffff831615610c4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d757374206265206164647265737328302900000000000000000000606482015260840161014a565b60005b8251811015610ce6576000838281518110610c6f57610c6f61176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529185905260409091205490915073ffffffffffffffffffffffffffffffffffffffff16610cd1848284610e74565b50508080610cde906117fc565b915050610c52565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b575050565b610d2d82604051806060016040528060288152602001611ae5602891396113e9565b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610d559190611a48565b600060405180830381855af49150503d8060008114610d90576040519150601f19603f3d011682016040523d82523d6000602084013e610d95565b606091505b509150915081610ce657805115610daf5780518082602001fd5b83836040517f192105d700000000000000000000000000000000000000000000000000000000815260040161014a929190611a64565b610e0781604051806060016040528060248152602001611b0d602491396113e9565b60028201805473ffffffffffffffffffffffffffffffffffffffff90921660008181526001948501602090815260408220860185905594840183559182529290200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff8216610f17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e2774206578697374000000000000000000606482015260840161014a565b3073ffffffffffffffffffffffffffffffffffffffff831603610fbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201527f7461626c652066756e6374696f6e000000000000000000000000000000000000606482015260840161014a565b7fffffffff0000000000000000000000000000000000000000000000000000000081166000908152602084815260408083205473ffffffffffffffffffffffffffffffffffffffff86168452600180880190935290832054740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff16929161104691611a0a565b905080821461118d5773ffffffffffffffffffffffffffffffffffffffff8416600090815260018601602052604081208054839081106110885761108861176f565b6000918252602080832060088304015473ffffffffffffffffffffffffffffffffffffffff8916845260018a019091526040909220805460079092166004026101000a90920460e01b9250829190859081106110e6576110e661176f565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790557fffffffff0000000000000000000000000000000000000000000000000000000092909216825286905260409020805473ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000006bffffffffffffffffffffffff8516021790555b73ffffffffffffffffffffffffffffffffffffffff8416600090815260018601602052604090208054806111c3576111c3611a9b565b6000828152602080822060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90940193840401805463ffffffff600460078716026101000a0219169055919092557fffffffff00000000000000000000000000000000000000000000000000000000851682528690526040812081905581900361009757600285015460009061125c90600190611a0a565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260018089016020526040909120015490915080821461134a5760008760020183815481106112a8576112a861176f565b60009182526020909120015460028901805473ffffffffffffffffffffffffffffffffffffffff90921692508291849081106112e6576112e661176f565b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055929091168152600189810190925260409020018190555b8660020180548061135d5761135d611a9b565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff88168252600189810190915260408220015550505050505050565b813b8181610ce6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014a9190611aca565b803573ffffffffffffffffffffffffffffffffffffffff8116811461144857600080fd5b919050565b60008083601f84011261145f57600080fd5b50813567ffffffffffffffff81111561147757600080fd5b60208301915083602082850101111561148f57600080fd5b9250929050565b6000806000806000606086880312156114ae57600080fd5b853567ffffffffffffffff808211156114c657600080fd5b818801915088601f8301126114da57600080fd5b8135818111156114e957600080fd5b8960208260051b85010111156114fe57600080fd5b6020830197508096505061151460208901611424565b9450604088013591508082111561152a57600080fd5b506115378882890161144d565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561159a5761159a611548565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156115e7576115e7611548565b604052919050565b600067ffffffffffffffff82111561160957611609611548565b5060051b60200190565b6000611626611621846115ef565b6115a0565b83815260208082019190600586811b86013681111561164457600080fd5b865b8181101561176257803567ffffffffffffffff808211156116675760008081fd5b818a0191506060823603121561167d5760008081fd5b611685611577565b61168e83611424565b815286830135600381106116a25760008081fd5b81880152604083810135838111156116ba5760008081fd5b939093019236601f8501126116d157600092508283fd5b833592506116e1611621846115ef565b83815292871b840188019288810190368511156116fe5760008081fd5b948901945b8486101561174b5785357fffffffff000000000000000000000000000000000000000000000000000000008116811461173c5760008081fd5b82529489019490890190611703565b918301919091525088525050948301948301611646565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361182d5761182d6117cd565b5060010190565b60005b8381101561184f578181015183820152602001611837565b50506000910152565b60008151808452611870816020860160208601611834565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b848110156119cd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8503018652815188850173ffffffffffffffffffffffffffffffffffffffff82511686528482015160038110611954577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b808310156119b85783517fffffffff00000000000000000000000000000000000000000000000000000000168252928601926001929092019190860190611976565b509785019795505050908201906001016118cb565b505073ffffffffffffffffffffffffffffffffffffffff8a169088015286810360408801526119fc8189611858565b9a9950505050505050505050565b818103818111156103c4576103c46117cd565b60006bffffffffffffffffffffffff808316818103611a3e57611a3e6117cd565b6001019392505050565b60008251611a5a818460208701611834565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000611a936040830184611858565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b602081526000611add6020830184611858565b939250505056fe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a26469706673582212202ae70fb41034266d03afc54652065ec96c3f794b8d9b26aede4d8cc009be32c864736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50611b66806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631f931c1c14610030575b600080fd5b61004361003e366004611496565b610045565b005b61004d61009e565b61009761005a8587611613565b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061015592505050565b5050505050565b6100a6610396565b6004015473ffffffffffffffffffffffffffffffffffffffff163314610153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b565b60005b835181101561034b5760008482815181106101755761017561176f565b6020026020010151602001519050600060028111156101965761019661179e565b8160028111156101a8576101a861179e565b036101f6576101f18583815181106101c2576101c261176f565b6020026020010151600001518684815181106101e0576101e061176f565b6020026020010151604001516103ca565b610338565b600181600281111561020a5761020a61179e565b03610253576101f18583815181106102245761022461176f565b6020026020010151600001518684815181106102425761024261176f565b602002602001015160400151610764565b60028160028111156102675761026761179e565b036102b0576101f18583815181106102815761028161176f565b60200260200101516000015186848151811061029f5761029f61176f565b602002602001015160400151610b0e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560448201527f74416374696f6e00000000000000000000000000000000000000000000000000606482015260840161014a565b5080610343816117fc565b915050610158565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161037f939291906118a2565b60405180910390a16103918282610cec565b505050565b6000806103c460017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c611a0a565b92915050565b600081511161045b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b6000610465610396565b905073ffffffffffffffffffffffffffffffffffffffff831661050a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201527f6520616464726573732830290000000000000000000000000000000000000000606482015260840161014a565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610552576105528285610de5565b60005b83518110156100975760008482815181106105725761057261176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff168015610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c7265616479206578697374730000000000000000000000606482015260840161014a565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790558361074c81611a1d565b9450505050808061075c906117fc565b915050610555565b60008151116107f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b60006107ff610396565b905073ffffffffffffffffffffffffffffffffffffffff83166108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201527f6520616464726573732830290000000000000000000000000000000000000000606482015260840161014a565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff821690036108ec576108ec8285610de5565b60005b835181101561009757600084828151811061090c5761090c61176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690871681036109f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000606482015260840161014a565b610a01858284610e74565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905583610af681611a1d565b94505050508080610b06906117fc565b9150506108ef565b6000815111610b9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b6000610ba9610396565b905073ffffffffffffffffffffffffffffffffffffffff831615610c4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d757374206265206164647265737328302900000000000000000000606482015260840161014a565b60005b8251811015610ce6576000838281518110610c6f57610c6f61176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529185905260409091205490915073ffffffffffffffffffffffffffffffffffffffff16610cd1848284610e74565b50508080610cde906117fc565b915050610c52565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b575050565b610d2d82604051806060016040528060288152602001611ae5602891396113e9565b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610d559190611a48565b600060405180830381855af49150503d8060008114610d90576040519150601f19603f3d011682016040523d82523d6000602084013e610d95565b606091505b509150915081610ce657805115610daf5780518082602001fd5b83836040517f192105d700000000000000000000000000000000000000000000000000000000815260040161014a929190611a64565b610e0781604051806060016040528060248152602001611b0d602491396113e9565b60028201805473ffffffffffffffffffffffffffffffffffffffff90921660008181526001948501602090815260408220860185905594840183559182529290200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff8216610f17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e2774206578697374000000000000000000606482015260840161014a565b3073ffffffffffffffffffffffffffffffffffffffff831603610fbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201527f7461626c652066756e6374696f6e000000000000000000000000000000000000606482015260840161014a565b7fffffffff0000000000000000000000000000000000000000000000000000000081166000908152602084815260408083205473ffffffffffffffffffffffffffffffffffffffff86168452600180880190935290832054740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff16929161104691611a0a565b905080821461118d5773ffffffffffffffffffffffffffffffffffffffff8416600090815260018601602052604081208054839081106110885761108861176f565b6000918252602080832060088304015473ffffffffffffffffffffffffffffffffffffffff8916845260018a019091526040909220805460079092166004026101000a90920460e01b9250829190859081106110e6576110e661176f565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790557fffffffff0000000000000000000000000000000000000000000000000000000092909216825286905260409020805473ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000006bffffffffffffffffffffffff8516021790555b73ffffffffffffffffffffffffffffffffffffffff8416600090815260018601602052604090208054806111c3576111c3611a9b565b6000828152602080822060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90940193840401805463ffffffff600460078716026101000a0219169055919092557fffffffff00000000000000000000000000000000000000000000000000000000851682528690526040812081905581900361009757600285015460009061125c90600190611a0a565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260018089016020526040909120015490915080821461134a5760008760020183815481106112a8576112a861176f565b60009182526020909120015460028901805473ffffffffffffffffffffffffffffffffffffffff90921692508291849081106112e6576112e661176f565b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055929091168152600189810190925260409020018190555b8660020180548061135d5761135d611a9b565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff88168252600189810190915260408220015550505050505050565b813b8181610ce6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014a9190611aca565b803573ffffffffffffffffffffffffffffffffffffffff8116811461144857600080fd5b919050565b60008083601f84011261145f57600080fd5b50813567ffffffffffffffff81111561147757600080fd5b60208301915083602082850101111561148f57600080fd5b9250929050565b6000806000806000606086880312156114ae57600080fd5b853567ffffffffffffffff808211156114c657600080fd5b818801915088601f8301126114da57600080fd5b8135818111156114e957600080fd5b8960208260051b85010111156114fe57600080fd5b6020830197508096505061151460208901611424565b9450604088013591508082111561152a57600080fd5b506115378882890161144d565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561159a5761159a611548565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156115e7576115e7611548565b604052919050565b600067ffffffffffffffff82111561160957611609611548565b5060051b60200190565b6000611626611621846115ef565b6115a0565b83815260208082019190600586811b86013681111561164457600080fd5b865b8181101561176257803567ffffffffffffffff808211156116675760008081fd5b818a0191506060823603121561167d5760008081fd5b611685611577565b61168e83611424565b815286830135600381106116a25760008081fd5b81880152604083810135838111156116ba5760008081fd5b939093019236601f8501126116d157600092508283fd5b833592506116e1611621846115ef565b83815292871b840188019288810190368511156116fe5760008081fd5b948901945b8486101561174b5785357fffffffff000000000000000000000000000000000000000000000000000000008116811461173c5760008081fd5b82529489019490890190611703565b918301919091525088525050948301948301611646565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361182d5761182d6117cd565b5060010190565b60005b8381101561184f578181015183820152602001611837565b50506000910152565b60008151808452611870816020860160208601611834565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b848110156119cd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8503018652815188850173ffffffffffffffffffffffffffffffffffffffff82511686528482015160038110611954577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b808310156119b85783517fffffffff00000000000000000000000000000000000000000000000000000000168252928601926001929092019190860190611976565b509785019795505050908201906001016118cb565b505073ffffffffffffffffffffffffffffffffffffffff8a169088015286810360408801526119fc8189611858565b9a9950505050505050505050565b818103818111156103c4576103c46117cd565b60006bffffffffffffffffffffffff808316818103611a3e57611a3e6117cd565b6001019392505050565b60008251611a5a818460208701611834565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000611a936040830184611858565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b602081526000611add6020830184611858565b939250505056fe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220db18182ae730be02e712b605832489d7c6b8816990ac989b2b5f2678722a64b164736f6c63430008130033", "nonce": "0x1", "accessList": [] }, @@ -38,7 +38,7 @@ "isFixedGasLimit": false }, { - "hash": "0x5e53818b6933ebe749e42f3da787ee30cd44d9637c8cc200a60bde6d753920aa", + "hash": "0xb51f68cdb993a5ab18e109a3bb608080f373ddf1a2a5811bd49a656f4d434bff", "transactionType": "CREATE", "contractName": "DiamondLoupeFacet", "contractAddress": "0x1f0BFD4230e54c8089A7Fc59c9090Fcb40C1cBdC", @@ -47,9 +47,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x97ffe", + "gas": "0x97fef", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506107be806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80637a0ed627116100505780637a0ed627146100a9578063adfca15e146100be578063cdffacc6146100de57600080fd5b806301ffc9a71461006c57806352ef6b2c14610094575b600080fd5b61007f61007a3660046104ff565b610116565b60405190151581526020015b60405180910390f35b61009c61015f565b60405161008b9190610548565b6100b16101d8565b60405161008b91906105ff565b6100d16100cc3660046106a7565b6103a5565b60405161008b91906106dd565b6100f16100ec3660046104ff565b610471565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161008b565b6000806101216104cb565b7fffffffff00000000000000000000000000000000000000000000000000000000909316600090815260039093016020525050604090205460ff1690565b6060600061016b6104cb565b600281018054604080516020808402820181019092528281529394508301828280156101cd57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116101a2575b505050505091505090565b606060006101e46104cb565b60028101549091508067ffffffffffffffff811115610205576102056106f0565b60405190808252806020026020018201604052801561024b57816020015b6040805180820190915260008152606060208201528152602001906001900390816102235790505b50925060005b8181101561039f5760008360020182815481106102705761027061071f565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808583815181106102b0576102b061071f565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff928316905290821660009081526001860182526040908190208054825181850281018501909352808352919290919083018282801561037157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161031e5790505b50505050508583815181106103885761038861071f565b602090810291909101810151015250600101610251565b50505090565b606060006103b16104cb565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600182016020908152604091829020805483518184028101840190945280845293945091929083018282801561046457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104115790505b5050505050915050919050565b60008061047c6104cb565b7fffffffff0000000000000000000000000000000000000000000000000000000090931660009081526020939093525050604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6000806104f960017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61074e565b92915050565b60006020828403121561051157600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461054157600080fd5b9392505050565b6020808252825182820181905260009190848201906040850190845b8181101561059657835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610564565b50909695505050505050565b600081518084526020808501945080840160005b838110156105f45781517fffffffff0000000000000000000000000000000000000000000000000000000016875295820195908201906001016105b6565b509495945050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610699578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452870151878401879052610686878501826105a2565b9588019593505090860190600101610626565b509098975050505050505050565b6000602082840312156106b957600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461054157600080fd5b60208152600061054160208301846105a2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b818103818111156104f9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220ef1ed1b69bdd4b4783c1ddc4de490d91c323314bbbd59e19099cc3ae6249a2e364736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b506107be806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80637a0ed627116100505780637a0ed627146100a9578063adfca15e146100be578063cdffacc6146100de57600080fd5b806301ffc9a71461006c57806352ef6b2c14610094575b600080fd5b61007f61007a3660046104ff565b610116565b60405190151581526020015b60405180910390f35b61009c61015f565b60405161008b9190610548565b6100b16101d8565b60405161008b91906105ff565b6100d16100cc3660046106a7565b6103a5565b60405161008b91906106dd565b6100f16100ec3660046104ff565b610471565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161008b565b6000806101216104cb565b7fffffffff00000000000000000000000000000000000000000000000000000000909316600090815260039093016020525050604090205460ff1690565b6060600061016b6104cb565b600281018054604080516020808402820181019092528281529394508301828280156101cd57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116101a2575b505050505091505090565b606060006101e46104cb565b60028101549091508067ffffffffffffffff811115610205576102056106f0565b60405190808252806020026020018201604052801561024b57816020015b6040805180820190915260008152606060208201528152602001906001900390816102235790505b50925060005b8181101561039f5760008360020182815481106102705761027061071f565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808583815181106102b0576102b061071f565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff928316905290821660009081526001860182526040908190208054825181850281018501909352808352919290919083018282801561037157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161031e5790505b50505050508583815181106103885761038861071f565b602090810291909101810151015250600101610251565b50505090565b606060006103b16104cb565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600182016020908152604091829020805483518184028101840190945280845293945091929083018282801561046457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104115790505b5050505050915050919050565b60008061047c6104cb565b7fffffffff0000000000000000000000000000000000000000000000000000000090931660009081526020939093525050604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6000806104f960017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61074e565b92915050565b60006020828403121561051157600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461054157600080fd5b9392505050565b6020808252825182820181905260009190848201906040850190845b8181101561059657835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610564565b50909695505050505050565b600081518084526020808501945080840160005b838110156105f45781517fffffffff0000000000000000000000000000000000000000000000000000000016875295820195908201906001016105b6565b509495945050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610699578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452870151878401879052610686878501826105a2565b9588019593505090860190600101610626565b509098975050505050505050565b6000602082840312156106b957600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461054157600080fd5b60208152600061054160208301846105a2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b818103818111156104f9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212202efda5e61f2c592b2a4af7d5c31f8fbb0a33d3323a5a9660830081ceb6ce77b764736f6c63430008130033", "nonce": "0x2", "accessList": [] }, @@ -57,7 +57,7 @@ "isFixedGasLimit": false }, { - "hash": "0xa4757818af3b1fdc40ddd2ba534c9500ace8264cc961238e9f95e93f85f45740", + "hash": "0x233110775389f1929b9ba6c4c438100a1cabe43c064a7d0caa880540e2be8638", "transactionType": "CREATE", "contractName": "OwnershipFacet", "contractAddress": "0x1289805419dc74bcdeE5D4a06606444E9f1474Ed", @@ -66,9 +66,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x4eb77", + "gas": "0x4eb67", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b5061038d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b1461006c575b600080fd5b610043610081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f61007a3660046102e0565b610090565b005b600061008b61014c565b905090565b73ffffffffffffffffffffffffffffffffffffffff8116610138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f776e65727368697046616365743a204e6577206f776e65722063616e6e6f7460448201527f20626520746865207a65726f206164647265737300000000000000000000000060648201526084015b60405180910390fd5b610140610175565b61014981610227565b50565b60006101566102ac565b6004015473ffffffffffffffffffffffffffffffffffffffff16919050565b61017d6102ac565b6004015473ffffffffffffffffffffffffffffffffffffffff163314610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f6572000000000000000000000000000000000000000000000000000000000000606482015260840161012f565b565b60006102316102ac565b60048101805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6000806102da60017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61031d565b92915050565b6000602082840312156102f257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461031657600080fd5b9392505050565b818103818111156102da577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220c8dadbe6ade90223a6cdcc105dd4efdc30f0183af57236badcf8ceae66ed6b2164736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b5061038d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b1461006c575b600080fd5b610043610081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f61007a3660046102e0565b610090565b005b600061008b61014c565b905090565b73ffffffffffffffffffffffffffffffffffffffff8116610138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f776e65727368697046616365743a204e6577206f776e65722063616e6e6f7460448201527f20626520746865207a65726f206164647265737300000000000000000000000060648201526084015b60405180910390fd5b610140610175565b61014981610227565b50565b60006101566102ac565b6004015473ffffffffffffffffffffffffffffffffffffffff16919050565b61017d6102ac565b6004015473ffffffffffffffffffffffffffffffffffffffff163314610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f6572000000000000000000000000000000000000000000000000000000000000606482015260840161012f565b565b60006102316102ac565b60048101805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6000806102da60017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61031d565b92915050565b6000602082840312156102f257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461031657600080fd5b9392505050565b818103818111156102da577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220346242b4a2dbd245cc413c3f122fb097e32ee2c4b76a8e003b29bc03dafefb6564736f6c63430008130033", "nonce": "0x3", "accessList": [] }, @@ -76,7 +76,7 @@ "isFixedGasLimit": false }, { - "hash": "0x69b971d9fa43541c8c2c7af5b3e79b709012cafa225bfdc0e5c80cba120825d2", + "hash": "0xa4ba9888f9a3493123dab5a339c5455b4db751d37702dce73000233e53113444", "transactionType": "CREATE", "contractName": "ManagerFacet", "contractAddress": "0x4e037B9A8Ce977462DA4E10Fc164363C827abfc6", @@ -87,7 +87,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x263645", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b5061222d806100206000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063923246111161017b578063c5f956af116100d8578063e8b734241161008c578063f6f172cb11610071578063f6f172cb14610627578063f986cd571461063a578063fbff3a411461064d57600080fd5b8063e8b73424146105eb578063ebef28a71461060957600080fd5b8063dd390ea0116100bd578063dd390ea0146105a7578063e0ee6855146105ba578063e2d443bd146105d857600080fd5b8063c5f956af1461056b578063d3815fb91461058957600080fd5b8063b42165d01161012f578063bc3ea01811610114578063bc3ea01814610527578063be1d86e114610545578063c0030add1461055857600080fd5b8063b42165d0146104f6578063ba2d8cdd1461051457600080fd5b8063a9b8b79611610160578063a9b8b79614610481578063ad3401ed146104ba578063b0bd67b4146104d857600080fd5b8063923246111461045b57806393e4e9ee1461046e57600080fd5b8063221e2e60116102295780636605bfda116101dd5780638b38ebb3116101c25780638b38ebb3146104555780638fe636831461045557806391df16d31461045557600080fd5b80636605bfda1461042f578063826d5b8b1461044257600080fd5b80633535f48b1161020e5780633535f48b146103d557806336c3df24146103f3578063421e108c1461041157600080fd5b8063221e2e60146103a457806333c5aa57146103c257600080fd5b806315f97398116102805780631a867af5116102655780631a867af5146103605780631c1f8aa314610373578063214f78821461038657600080fd5b806315f973981461032f5780631a47c9041461034257600080fd5b806283faee146102b1578063016afee7146102c6578063017df327146102d9578063147f1b961461031c575b600080fd5b6102c46102bf366004611e90565b610660565b005b6102c46102d4366004611eb4565b61071d565b60085473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6102c461032a366004611e90565b610822565b6102c461033d366004611e90565b6108da565b60125473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c461036e366004611e90565b610992565b6102c4610381366004611e90565b610a4a565b600d5473ffffffffffffffffffffffffffffffffffffffff166102f3565b600c5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46103d0366004611e90565b610b02565b60065473ffffffffffffffffffffffffffffffffffffffff166102f3565b600b5473ffffffffffffffffffffffffffffffffffffffff166102f3565b60115473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c461043d366004611e90565b610bba565b6102c4610450366004611e90565b610c72565b306102f3565b6102c4610469366004611e90565b610d2a565b6102c461047c366004611e90565b610de2565b6102f361048f366004611e90565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152601460205260409020541690565b60055473ffffffffffffffffffffffffffffffffffffffff166102f3565b60025473ffffffffffffffffffffffffffffffffffffffff166102f3565b600a5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610522366004611e90565b610e9a565b60015473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610553366004611e90565b610f52565b6102c4610566366004611e90565b61100a565b60095473ffffffffffffffffffffffffffffffffffffffff166102f3565b60075473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46105b5366004611e90565b6110c2565b60045473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46105e6366004611e90565b61117a565b60105473ffffffffffffffffffffffffffffffffffffffff166102f3565b600e5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610635366004611eb4565b611232565b6102c4610648366004611e90565b6112f6565b6102c461065b366004611eed565b6113ae565b61066b600033611deb565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064015b60405180910390fd5b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610728600033611deb565b61078e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b6001546040517fb6232c9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152838116602483015290911690819063b6232c9990604401600060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b50505050505050565b61082d600033611deb565b610893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6108e5600033611deb565b61094b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61099d600033611deb565b610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610a55600033611deb565b610abb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610b0d600033611deb565b610b73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610bc5600033611deb565b610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610c7d600033611deb565b610ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610d35600033611deb565b610d9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ded600033611deb565b610e53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ea5600033611deb565b610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610f5d600033611deb565b610fc3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611015600033611deb565b61107b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6110cd600033611deb565b611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611185600033611deb565b6111eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61123d600033611deb565b6112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260146020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b611301600033611deb565b611367576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6113b9600033611deb565b61141f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b60008573ffffffffffffffffffffffffffffffffffffffff1663e339eb4f86600060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156114ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526114f49190810190611f9b565b600154604080517f95d89b41000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff909216916395d89b41916004808201926000929091908290030181865afa158015611564573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115aa9190810190611f9b565b6001546040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1681526116039493929173ffffffffffffffffffffffffffffffffffffffff16908a908a906004016120b0565b6020604051808303816000875af1158015611622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116469190612110565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179091556040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152919250600091908616906370a0823190602401602060405180830381865afa1580156116e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170b919061212d565b6001546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925060009173ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa15801561177f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a3919061212d565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529192509087169063095ea7b3906044016020604051808303816000875af115801561181c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118409190612146565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905287169063095ea7b3906044016020604051808303816000875af11580156118b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118da9190612146565b506001546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529091169063095ea7b3906044016020604051808303816000875af1158015611954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119789190612146565b506001546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018490529091169063095ea7b3906044016020604051808303816000875af11580156119f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a169190612146565b506001546040517fc66106570000000000000000000000000000000000000000000000000000000081526000600482015273ffffffffffffffffffffffffffffffffffffffff9182169185169063c661065790602401602060405180830381865afa158015611a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aad9190612110565b73ffffffffffffffffffffffffffffffffffffffff16148015611b7757506040517fc66106570000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff808816919085169063c661065790602401602060405180830381865afa158015611b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5f9190612110565b73ffffffffffffffffffffffffffffffffffffffff16145b611bdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4d47523a20434f494e5f4f524445525f4d49534d41544348000000000000000060448201526064016106cd565b60408051808201918290526001547f70a0823100000000000000000000000000000000000000000000000000000000909252306044820152600091819073ffffffffffffffffffffffffffffffffffffffff166370a0823160648301602060405180830381865afa158015611c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7a919061212d565b81526040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260209091019073ffffffffffffffffffffffffffffffffffffffff8a16906370a0823190602401602060405180830381865afa158015611cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d10919061212d565b9052600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a8116919091179091556040517f0c3e4b54000000000000000000000000000000000000000000000000000000008152919250851690630c3e4b5490611d9c9084906000903390600401612168565b6020604051808303816000875af1158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061212d565b50505050505050505050565b6000611e3482611df9611e3d565b6000868152602091909152604090209073ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415155b90505b92915050565b600080611e3760017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776121bd565b73ffffffffffffffffffffffffffffffffffffffff81168114611e8d57600080fd5b50565b600060208284031215611ea257600080fd5b8135611ead81611e6b565b9392505050565b60008060408385031215611ec757600080fd5b8235611ed281611e6b565b91506020830135611ee281611e6b565b809150509250929050565b600080600080600060a08688031215611f0557600080fd5b8535611f1081611e6b565b94506020860135611f2081611e6b565b93506040860135611f3081611e6b565b94979396509394606081013594506080013592915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015611f92578181015183820152602001611f7a565b50506000910152565b600060208284031215611fad57600080fd5b815167ffffffffffffffff80821115611fc557600080fd5b818401915084601f830112611fd957600080fd5b815181811115611feb57611feb611f48565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561203157612031611f48565b8160405282815287602084870101111561204a57600080fd5b61205b836020830160208801611f77565b979650505050505050565b6000815180845261207e816020860160208601611f77565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835260c060208401526120e060c0840189612066565b83810360408501526120f28189612066565b91909616606084015260808301949094525060a00152949350505050565b60006020828403121561212257600080fd5b8151611ead81611e6b565b60006020828403121561213f57600080fd5b5051919050565b60006020828403121561215857600080fd5b81518015158114611ead57600080fd5b60808101818560005b6002811015612190578151835260209283019290910190600101612171565b50505083604083015273ffffffffffffffffffffffffffffffffffffffff83166060830152949350505050565b81810381811115611e37577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220016f328a3cfc7840b9719442140cc2bc43b687b95782740317e5a6d93820c3cf64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b5061222d806100206000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063923246111161017b578063c5f956af116100d8578063e8b734241161008c578063f6f172cb11610071578063f6f172cb14610627578063f986cd571461063a578063fbff3a411461064d57600080fd5b8063e8b73424146105eb578063ebef28a71461060957600080fd5b8063dd390ea0116100bd578063dd390ea0146105a7578063e0ee6855146105ba578063e2d443bd146105d857600080fd5b8063c5f956af1461056b578063d3815fb91461058957600080fd5b8063b42165d01161012f578063bc3ea01811610114578063bc3ea01814610527578063be1d86e114610545578063c0030add1461055857600080fd5b8063b42165d0146104f6578063ba2d8cdd1461051457600080fd5b8063a9b8b79611610160578063a9b8b79614610481578063ad3401ed146104ba578063b0bd67b4146104d857600080fd5b8063923246111461045b57806393e4e9ee1461046e57600080fd5b8063221e2e60116102295780636605bfda116101dd5780638b38ebb3116101c25780638b38ebb3146104555780638fe636831461045557806391df16d31461045557600080fd5b80636605bfda1461042f578063826d5b8b1461044257600080fd5b80633535f48b1161020e5780633535f48b146103d557806336c3df24146103f3578063421e108c1461041157600080fd5b8063221e2e60146103a457806333c5aa57146103c257600080fd5b806315f97398116102805780631a867af5116102655780631a867af5146103605780631c1f8aa314610373578063214f78821461038657600080fd5b806315f973981461032f5780631a47c9041461034257600080fd5b806283faee146102b1578063016afee7146102c6578063017df327146102d9578063147f1b961461031c575b600080fd5b6102c46102bf366004611e90565b610660565b005b6102c46102d4366004611eb4565b61071d565b60085473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6102c461032a366004611e90565b610822565b6102c461033d366004611e90565b6108da565b60125473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c461036e366004611e90565b610992565b6102c4610381366004611e90565b610a4a565b600d5473ffffffffffffffffffffffffffffffffffffffff166102f3565b600c5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46103d0366004611e90565b610b02565b60065473ffffffffffffffffffffffffffffffffffffffff166102f3565b600b5473ffffffffffffffffffffffffffffffffffffffff166102f3565b60115473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c461043d366004611e90565b610bba565b6102c4610450366004611e90565b610c72565b306102f3565b6102c4610469366004611e90565b610d2a565b6102c461047c366004611e90565b610de2565b6102f361048f366004611e90565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152601460205260409020541690565b60055473ffffffffffffffffffffffffffffffffffffffff166102f3565b60025473ffffffffffffffffffffffffffffffffffffffff166102f3565b600a5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610522366004611e90565b610e9a565b60015473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610553366004611e90565b610f52565b6102c4610566366004611e90565b61100a565b60095473ffffffffffffffffffffffffffffffffffffffff166102f3565b60075473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46105b5366004611e90565b6110c2565b60045473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46105e6366004611e90565b61117a565b60105473ffffffffffffffffffffffffffffffffffffffff166102f3565b600e5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610635366004611eb4565b611232565b6102c4610648366004611e90565b6112f6565b6102c461065b366004611eed565b6113ae565b61066b600033611deb565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064015b60405180910390fd5b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610728600033611deb565b61078e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b6001546040517fb6232c9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152838116602483015290911690819063b6232c9990604401600060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b50505050505050565b61082d600033611deb565b610893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6108e5600033611deb565b61094b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61099d600033611deb565b610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610a55600033611deb565b610abb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610b0d600033611deb565b610b73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610bc5600033611deb565b610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610c7d600033611deb565b610ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610d35600033611deb565b610d9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ded600033611deb565b610e53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ea5600033611deb565b610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610f5d600033611deb565b610fc3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611015600033611deb565b61107b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6110cd600033611deb565b611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611185600033611deb565b6111eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61123d600033611deb565b6112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260146020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b611301600033611deb565b611367576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6113b9600033611deb565b61141f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b60008573ffffffffffffffffffffffffffffffffffffffff1663e339eb4f86600060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156114ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526114f49190810190611f9b565b600154604080517f95d89b41000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff909216916395d89b41916004808201926000929091908290030181865afa158015611564573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115aa9190810190611f9b565b6001546040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1681526116039493929173ffffffffffffffffffffffffffffffffffffffff16908a908a906004016120b0565b6020604051808303816000875af1158015611622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116469190612110565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179091556040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152919250600091908616906370a0823190602401602060405180830381865afa1580156116e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170b919061212d565b6001546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925060009173ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa15801561177f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a3919061212d565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529192509087169063095ea7b3906044016020604051808303816000875af115801561181c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118409190612146565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905287169063095ea7b3906044016020604051808303816000875af11580156118b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118da9190612146565b506001546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529091169063095ea7b3906044016020604051808303816000875af1158015611954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119789190612146565b506001546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018490529091169063095ea7b3906044016020604051808303816000875af11580156119f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a169190612146565b506001546040517fc66106570000000000000000000000000000000000000000000000000000000081526000600482015273ffffffffffffffffffffffffffffffffffffffff9182169185169063c661065790602401602060405180830381865afa158015611a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aad9190612110565b73ffffffffffffffffffffffffffffffffffffffff16148015611b7757506040517fc66106570000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff808816919085169063c661065790602401602060405180830381865afa158015611b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5f9190612110565b73ffffffffffffffffffffffffffffffffffffffff16145b611bdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4d47523a20434f494e5f4f524445525f4d49534d41544348000000000000000060448201526064016106cd565b60408051808201918290526001547f70a0823100000000000000000000000000000000000000000000000000000000909252306044820152600091819073ffffffffffffffffffffffffffffffffffffffff166370a0823160648301602060405180830381865afa158015611c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7a919061212d565b81526040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260209091019073ffffffffffffffffffffffffffffffffffffffff8a16906370a0823190602401602060405180830381865afa158015611cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d10919061212d565b9052600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a8116919091179091556040517f0c3e4b54000000000000000000000000000000000000000000000000000000008152919250851690630c3e4b5490611d9c9084906000903390600401612168565b6020604051808303816000875af1158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061212d565b50505050505050505050565b6000611e3482611df9611e3d565b6000868152602091909152604090209073ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415155b90505b92915050565b600080611e3760017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776121bd565b73ffffffffffffffffffffffffffffffffffffffff81168114611e8d57600080fd5b50565b600060208284031215611ea257600080fd5b8135611ead81611e6b565b9392505050565b60008060408385031215611ec757600080fd5b8235611ed281611e6b565b91506020830135611ee281611e6b565b809150509250929050565b600080600080600060a08688031215611f0557600080fd5b8535611f1081611e6b565b94506020860135611f2081611e6b565b93506040860135611f3081611e6b565b94979396509394606081013594506080013592915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015611f92578181015183820152602001611f7a565b50506000910152565b600060208284031215611fad57600080fd5b815167ffffffffffffffff80821115611fc557600080fd5b818401915084601f830112611fd957600080fd5b815181811115611feb57611feb611f48565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561203157612031611f48565b8160405282815287602084870101111561204a57600080fd5b61205b836020830160208801611f77565b979650505050505050565b6000815180845261207e816020860160208601611f77565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835260c060208401526120e060c0840189612066565b83810360408501526120f28189612066565b91909616606084015260808301949094525060a00152949350505050565b60006020828403121561212257600080fd5b8151611ead81611e6b565b60006020828403121561213f57600080fd5b5051919050565b60006020828403121561215857600080fd5b81518015158114611ead57600080fd5b60808101818560005b6002811015612190578151835260209283019290910190600101612171565b50505083604083015273ffffffffffffffffffffffffffffffffffffffff83166060830152949350505050565b81810381811115611e37577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220bbce2e335f10c9fec3c075895dbeeb9f58d1aafdf0203eb80a492bc2bee2977164736f6c63430008130033", "nonce": "0x4", "accessList": [] }, @@ -95,7 +95,7 @@ "isFixedGasLimit": false }, { - "hash": "0x20237247388b7aa38ae14c9bdd581daf72d03698b64b65f2c4ccf63c5d6544a0", + "hash": "0xf856befedd7f6a1fd6881f1f69e2191515cbb8f168e3a110ddc3e4ce9d60d6e4", "transactionType": "CREATE", "contractName": "AccessControlFacet", "contractAddress": "0x58de01A211b2477ce1393c5512bF6089eFc59c25", @@ -104,9 +104,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0xeb638", + "gas": "0xeb648", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50610c8a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638456cb591161005b5780638456cb59146100e85780638bb9c5bf146100f057806391d1485414610103578063d547741f1461011657600080fd5b8063248a9ca31461008d5780632f2ff15d146100b35780633f4ba83a146100c85780635c975abb146100d0575b600080fd5b6100a061009b366004610a03565b610129565b6040519081526020015b60405180910390f35b6100c66100c1366004610a1c565b61013a565b005b6100c661015b565b6100d8610247565b60405190151581526020016100aa565b6100c661025a565b6100c66100fe366004610a03565b610340565b6100d8610111366004610a1c565b61034c565b6100c6610124366004610a1c565b61035f565b60006101348261037b565b92915050565b6101438261037b565b61014c81610399565b61015683836103a3565b505050565b60155460ff166101cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064015b60405180910390fd5b6101d760003361040e565b61023d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016101c3565b610245610431565b565b600061025560155460ff1690565b905090565b60155460ff16156102c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016101c3565b6102d260003361040e565b610338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016101c3565b61024561048f565b610349816104ea565b50565b6000610358838361040e565b9392505050565b6103688261037b565b61037181610399565b61015683836104f0565b600061038561055b565b600092835260205250604090206002015490565b6103498133610589565b6103c4816103af61055b565b60008581526020919091526040902090610634565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60006103588261041c61055b565b60008681526020919091526040902090610656565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610485565b61034981335b610511816104fc61055b565b60008581526020919091526040902090610685565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b90600090a45050565b60008061013460017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77610a94565b610593828261040e565b610630576105b68173ffffffffffffffffffffffffffffffffffffffff166106a7565b6105c18360206106c6565b6040516020016105d2929190610acb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526101c391600401610b4c565b5050565b60006103588373ffffffffffffffffffffffffffffffffffffffff84166108dd565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610358565b60006103588373ffffffffffffffffffffffffffffffffffffffff8416610920565b606061013473ffffffffffffffffffffffffffffffffffffffff831660145b606060006106d5836002610b9d565b6106e0906002610bb4565b67ffffffffffffffff8111156106f8576106f8610bc7565b6040519080825280601f01601f191660200182016040528015610722576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061075957610759610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106107bc576107bc610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600160028402015b60018111156108a4577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061083157610831610bf6565b1a60f81b82828151811061084757610847610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016107f3565b508315610358576040517fc913478500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600183016020526040812054610134575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b600081815260018301602052604081205480156109fc57835460009085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061097057610970610bf6565b906000526020600020015490508085600001600184038154811061099657610996610bf6565b60009182526020808320909101929092559182526001860190526040902081905583548490806109c8576109c8610c25565b6001900381819060005260206000200160009055905583600101600084815260200190815260200160002060009055600191505b5092915050565b600060208284031215610a1557600080fd5b5035919050565b60008060408385031215610a2f57600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff81168114610a5a57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561013457610134610a65565b60005b83811015610ac2578181015183820152602001610aaa565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610b03816017850160208801610aa7565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351610b40816028840160208801610aa7565b01602801949350505050565b6020815260008251806020840152610b6b816040850160208701610aa7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b808202811582820484141761013457610134610a65565b8082018082111561013457610134610a65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122026174f4701067969528ad1d360a5a0569f7d615444892f77a10019d24b9716c664736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50610c8a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638456cb591161005b5780638456cb59146100e85780638bb9c5bf146100f057806391d1485414610103578063d547741f1461011657600080fd5b8063248a9ca31461008d5780632f2ff15d146100b35780633f4ba83a146100c85780635c975abb146100d0575b600080fd5b6100a061009b366004610a03565b610129565b6040519081526020015b60405180910390f35b6100c66100c1366004610a1c565b61013a565b005b6100c661015b565b6100d8610247565b60405190151581526020016100aa565b6100c661025a565b6100c66100fe366004610a03565b610340565b6100d8610111366004610a1c565b61034c565b6100c6610124366004610a1c565b61035f565b60006101348261037b565b92915050565b6101438261037b565b61014c81610399565b61015683836103a3565b505050565b60155460ff166101cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064015b60405180910390fd5b6101d760003361040e565b61023d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016101c3565b610245610431565b565b600061025560155460ff1690565b905090565b60155460ff16156102c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016101c3565b6102d260003361040e565b610338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016101c3565b61024561048f565b610349816104ea565b50565b6000610358838361040e565b9392505050565b6103688261037b565b61037181610399565b61015683836104f0565b600061038561055b565b600092835260205250604090206002015490565b6103498133610589565b6103c4816103af61055b565b60008581526020919091526040902090610634565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60006103588261041c61055b565b60008681526020919091526040902090610656565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610485565b61034981335b610511816104fc61055b565b60008581526020919091526040902090610685565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b90600090a45050565b60008061013460017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77610a94565b610593828261040e565b610630576105b68173ffffffffffffffffffffffffffffffffffffffff166106a7565b6105c18360206106c6565b6040516020016105d2929190610acb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526101c391600401610b4c565b5050565b60006103588373ffffffffffffffffffffffffffffffffffffffff84166108dd565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610358565b60006103588373ffffffffffffffffffffffffffffffffffffffff8416610920565b606061013473ffffffffffffffffffffffffffffffffffffffff831660145b606060006106d5836002610b9d565b6106e0906002610bb4565b67ffffffffffffffff8111156106f8576106f8610bc7565b6040519080825280601f01601f191660200182016040528015610722576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061075957610759610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106107bc576107bc610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600160028402015b60018111156108a4577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061083157610831610bf6565b1a60f81b82828151811061084757610847610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016107f3565b508315610358576040517fc913478500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600183016020526040812054610134575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b600081815260018301602052604081205480156109fc57835460009085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061097057610970610bf6565b906000526020600020015490508085600001600184038154811061099657610996610bf6565b60009182526020808320909101929092559182526001860190526040902081905583548490806109c8576109c8610c25565b6001900381819060005260206000200160009055905583600101600084815260200190815260200160002060009055600191505b5092915050565b600060208284031215610a1557600080fd5b5035919050565b60008060408385031215610a2f57600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff81168114610a5a57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561013457610134610a65565b60005b83811015610ac2578181015183820152602001610aaa565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610b03816017850160208801610aa7565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351610b40816028840160208801610aa7565b01602801949350505050565b6020815260008251806020840152610b6b816040850160208701610aa7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b808202811582820484141761013457610134610a65565b8082018082111561013457610134610a65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220db29da2fa5c943b6d514ecf95b50a43ffd43dd4fba1595ff5edb3312ac4e327364736f6c63430008130033", "nonce": "0x5", "accessList": [] }, @@ -114,7 +114,7 @@ "isFixedGasLimit": false }, { - "hash": "0x21d7da58ea9c41d255dfc3f45a1122f75ec7c74de0b65c35b4ac3b5697fa6848", + "hash": "0xbbd0b7aaa0f84b2190897b58774b602d59dbbd177d39c2f6548255bb93c805e9", "transactionType": "CREATE", "contractName": "TWAPOracleDollar3poolFacet", "contractAddress": "0xd7d3E9c9BC05aBA6B9AE47b27aD18d83e441BF32", @@ -125,7 +125,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x11ad3a", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50610f42806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063283583c6146100465780634e847fc71461006b578063a2e6204514610080575b600080fd5b610059610054366004610cf9565b610088565b60405190815260200160405180910390f35b61007e610079366004610d1d565b610099565b005b61007e6100af565b6000610093826100b9565b92915050565b6100a161022f565b6100ab82826102df565b5050565b6100b76108ac565b565b6000806100c4610aea565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161012d575050505050815250509050610153600090565b6001015473ffffffffffffffffffffffffffffffffffffffff908116908416036101835780604001519150610229565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610221576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064015b60405180910390fd5b806060015191505b50919050565b610237610b18565b6004015473ffffffffffffffffffffffffffffffffffffffff1633146100b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f65720000000000000000000000000000000000000000000000000000000000006064820152608401610218565b6000600101546040517fc66106570000000000000000000000000000000000000000000000000000000081526000600482015273ffffffffffffffffffffffffffffffffffffffff9182169184169063c661065790602401602060405180830381865afa158015610354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103789190610d56565b73ffffffffffffffffffffffffffffffffffffffff161461041b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f545741504f7261636c653a2046495253545f434f494e5f4e4f545f444f4c4c4160448201527f52000000000000000000000000000000000000000000000000000000000000006064820152608401610218565b6000610425610aea565b6040517fc66106570000000000000000000000000000000000000000000000000000000081526001600482015290915073ffffffffffffffffffffffffffffffffffffffff808416919085169063c661065790602401602060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc9190610d56565b73ffffffffffffffffffffffffffffffffffffffff1614610539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f545741504f7261636c653a20434f494e5f4f524445525f4d49534d41544348006044820152606401610218565b6040517f4903b0d10000000000000000000000000000000000000000000000000000000081526000600482018190529073ffffffffffffffffffffffffffffffffffffffff851690634903b0d190602401602060405180830381865afa1580156105a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cb9190610d73565b6dffffffffffffffffffffffffffff16905060008473ffffffffffffffffffffffffffffffffffffffff16634903b0d160016040518263ffffffff1660e01b815260040161061b91815260200190565b602060405180830381865afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065c9190610d73565b6dffffffffffffffffffffffffffff169050811580159061067c57508015155b6106e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f545741504f7261636c653a204e4f5f52455345525645530000000000000000006044820152606401610218565b80821461074b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f545741504f7261636c653a20504149525f554e42414c414e43454400000000006044820152606401610218565b8473ffffffffffffffffffffffffffffffffffffffff16634469e30e6040518163ffffffff1660e01b81526004016040805180830381865afa158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b99190610d8c565b6107c99060058501906002610c63565b508473ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610815573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108399190610d73565b60048401555050805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617825560018201805493909416921691909117909155670de0b6b3a764000060028201819055600390910155565b60006108b6610aea565b90506000806108c3610b46565b9150915060008360040154826108d99190610e33565b1115610ae5578254600484015460009173ffffffffffffffffffffffffffffffffffffffff1690630f6ba8e390600587019086906109179087610e33565b6040518463ffffffff1660e01b815260040161093593929190610e96565b6040805180830381865afa158015610951573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109759190610d8c565b84546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690637e42fc0c906109db90600090600190670de0b6b3a7640000908790600401610edc565b602060405180830381865afa1580156109f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1c9190610d73565b600285015583546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637e42fc0c90610a8690600190600090670de0b6b3a7640000908790600401610edc565b602060405180830381865afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac79190610d73565b6003850155610adb60058501846002610c63565b5050600483018190555b505050565b60008061009360017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628610e33565b60008061009360017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c610e33565b610b4e610ca1565b600080610b59610aea565b54604080517f4469e30e000000000000000000000000000000000000000000000000000000008152815173ffffffffffffffffffffffffffffffffffffffff90931693508392634469e30e926004808401939192918290030181865afa158015610bc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610beb9190610d8c565b92508073ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5c9190610d73565b9150509091565b8260028101928215610c91579160200282015b82811115610c91578251825591602001919060010190610c76565b50610c9d929150610cbf565b5090565b60405180604001604052806002906020820280368337509192915050565b5b80821115610c9d5760008155600101610cc0565b73ffffffffffffffffffffffffffffffffffffffff81168114610cf657600080fd5b50565b600060208284031215610d0b57600080fd5b8135610d1681610cd4565b9392505050565b60008060408385031215610d3057600080fd5b8235610d3b81610cd4565b91506020830135610d4b81610cd4565b809150509250929050565b600060208284031215610d6857600080fd5b8151610d1681610cd4565b600060208284031215610d8557600080fd5b5051919050565b600060408284031215610d9e57600080fd5b82601f830112610dad57600080fd5b6040516040810181811067ffffffffffffffff82111715610df7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250806040840185811115610e0e57600080fd5b845b81811015610e28578051835260209283019201610e10565b509195945050505050565b81810381811115610093577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8060005b6002811015610e90578151845260209384019390910190600101610e71565b50505050565b60a08101818560005b6002811015610ebe578154835260209092019160019182019101610e9f565b505050610ece6040830185610e6d565b826080830152949350505050565b600f85810b825284900b60208201526040810183905260a08101610f036060830184610e6d565b9594505050505056fea26469706673582212208565fa056e2dc31bfb3acce55eb4432462c89bf2ae0a32315ab078aa9949df1764736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50610f42806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063283583c6146100465780634e847fc71461006b578063a2e6204514610080575b600080fd5b610059610054366004610cf9565b610088565b60405190815260200160405180910390f35b61007e610079366004610d1d565b610099565b005b61007e6100af565b6000610093826100b9565b92915050565b6100a161022f565b6100ab82826102df565b5050565b6100b76108ac565b565b6000806100c4610aea565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161012d575050505050815250509050610153600090565b6001015473ffffffffffffffffffffffffffffffffffffffff908116908416036101835780604001519150610229565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610221576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064015b60405180910390fd5b806060015191505b50919050565b610237610b18565b6004015473ffffffffffffffffffffffffffffffffffffffff1633146100b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f65720000000000000000000000000000000000000000000000000000000000006064820152608401610218565b6000600101546040517fc66106570000000000000000000000000000000000000000000000000000000081526000600482015273ffffffffffffffffffffffffffffffffffffffff9182169184169063c661065790602401602060405180830381865afa158015610354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103789190610d56565b73ffffffffffffffffffffffffffffffffffffffff161461041b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f545741504f7261636c653a2046495253545f434f494e5f4e4f545f444f4c4c4160448201527f52000000000000000000000000000000000000000000000000000000000000006064820152608401610218565b6000610425610aea565b6040517fc66106570000000000000000000000000000000000000000000000000000000081526001600482015290915073ffffffffffffffffffffffffffffffffffffffff808416919085169063c661065790602401602060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc9190610d56565b73ffffffffffffffffffffffffffffffffffffffff1614610539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f545741504f7261636c653a20434f494e5f4f524445525f4d49534d41544348006044820152606401610218565b6040517f4903b0d10000000000000000000000000000000000000000000000000000000081526000600482018190529073ffffffffffffffffffffffffffffffffffffffff851690634903b0d190602401602060405180830381865afa1580156105a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cb9190610d73565b6dffffffffffffffffffffffffffff16905060008473ffffffffffffffffffffffffffffffffffffffff16634903b0d160016040518263ffffffff1660e01b815260040161061b91815260200190565b602060405180830381865afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065c9190610d73565b6dffffffffffffffffffffffffffff169050811580159061067c57508015155b6106e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f545741504f7261636c653a204e4f5f52455345525645530000000000000000006044820152606401610218565b80821461074b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f545741504f7261636c653a20504149525f554e42414c414e43454400000000006044820152606401610218565b8473ffffffffffffffffffffffffffffffffffffffff16634469e30e6040518163ffffffff1660e01b81526004016040805180830381865afa158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b99190610d8c565b6107c99060058501906002610c63565b508473ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610815573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108399190610d73565b60048401555050805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617825560018201805493909416921691909117909155670de0b6b3a764000060028201819055600390910155565b60006108b6610aea565b90506000806108c3610b46565b9150915060008360040154826108d99190610e33565b1115610ae5578254600484015460009173ffffffffffffffffffffffffffffffffffffffff1690630f6ba8e390600587019086906109179087610e33565b6040518463ffffffff1660e01b815260040161093593929190610e96565b6040805180830381865afa158015610951573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109759190610d8c565b84546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690637e42fc0c906109db90600090600190670de0b6b3a7640000908790600401610edc565b602060405180830381865afa1580156109f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1c9190610d73565b600285015583546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637e42fc0c90610a8690600190600090670de0b6b3a7640000908790600401610edc565b602060405180830381865afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac79190610d73565b6003850155610adb60058501846002610c63565b5050600483018190555b505050565b60008061009360017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628610e33565b60008061009360017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c610e33565b610b4e610ca1565b600080610b59610aea565b54604080517f4469e30e000000000000000000000000000000000000000000000000000000008152815173ffffffffffffffffffffffffffffffffffffffff90931693508392634469e30e926004808401939192918290030181865afa158015610bc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610beb9190610d8c565b92508073ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5c9190610d73565b9150509091565b8260028101928215610c91579160200282015b82811115610c91578251825591602001919060010190610c76565b50610c9d929150610cbf565b5090565b60405180604001604052806002906020820280368337509192915050565b5b80821115610c9d5760008155600101610cc0565b73ffffffffffffffffffffffffffffffffffffffff81168114610cf657600080fd5b50565b600060208284031215610d0b57600080fd5b8135610d1681610cd4565b9392505050565b60008060408385031215610d3057600080fd5b8235610d3b81610cd4565b91506020830135610d4b81610cd4565b809150509250929050565b600060208284031215610d6857600080fd5b8151610d1681610cd4565b600060208284031215610d8557600080fd5b5051919050565b600060408284031215610d9e57600080fd5b82601f830112610dad57600080fd5b6040516040810181811067ffffffffffffffff82111715610df7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250806040840185811115610e0e57600080fd5b845b81811015610e28578051835260209283019201610e10565b509195945050505050565b81810381811115610093577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8060005b6002811015610e90578151845260209384019390910190600101610e71565b50505050565b60a08101818560005b6002811015610ebe578154835260209092019160019182019101610e9f565b505050610ece6040830185610e6d565b826080830152949350505050565b600f85810b825284900b60208201526040810183905260a08101610f036060830184610e6d565b9594505050505056fea26469706673582212207fa352507acc0997d7844d4e33c3a1c6d053f281dfd6edabcd23822d7ccc6c4264736f6c63430008130033", "nonce": "0x6", "accessList": [] }, @@ -133,7 +133,7 @@ "isFixedGasLimit": false }, { - "hash": "0x8d1b65ab0cbcf9a464d6a0da0c04c3819b5e09d3872532aec39dac7ac6bda1b9", + "hash": "0x1f62a6d07635b705897675100cf72c97031afdb4f010f64c6aa089e2d5b5aca7", "transactionType": "CREATE", "contractName": "CollectableDustFacet", "contractAddress": "0x635caB41ff7b3b2FA5ebE9518129947a563719B6", @@ -144,7 +144,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x1140e0", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50610ee6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632db8c12914610046578063bf0d68e41461005b578063fa3305c91461006e575b600080fd5b610059610054366004610d07565b610081565b005b610059610069366004610d43565b610126565b61005961007c366004610d43565b6101c2565b6100ab7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b610116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e6167657200000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610121838383610287565b505050565b6101507fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b6101b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161010d565b6101bf81610554565b50565b6101ec7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b610252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161010d565b6101bf8161064c565b600061027e8261026961073e565b6000868152602091909152604090209061076c565b90505b92915050565b73ffffffffffffffffffffffffffffffffffffffff831661032a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f636f6c6c65637461626c652d647573743a3a63616e742d73656e642d6475737460448201527f2d746f2d7a65726f2d6164647265737300000000000000000000000000000000606482015260840161010d565b61033c8261033661079b565b9061076c565b156103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d69732d706172742d60448201527f6f662d7468652d70726f746f636f6c0000000000000000000000000000000000606482015260840161010d565b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8316016104d65760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610460576040519150601f19603f3d011682016040523d82523d6000602084013e610465565b606091505b50509050806104d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4661696c656420746f2073656e64204574686572000000000000000000000000604482015260640161010d565b506104f7565b6104f773ffffffffffffffffffffffffffffffffffffffff831684836107c9565b6040805173ffffffffffffffffffffffffffffffffffffffff8086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6105608161033661079b565b6105ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d6e6f742d7061727460448201527f2d6f662d7468652d70726f746f636f6c00000000000000000000000000000000606482015260840161010d565b6105fe816105f861079b565b90610856565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527fddd12a8c3ce9bea5c97a5d25c8b777caab85752828f56b7b8ad5a0b30340a25f906020015b60405180910390a150565b6106588161033661079b565b156106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d69732d706172742d60448201527f6f662d7468652d70726f746f636f6c0000000000000000000000000000000000606482015260840161010d565b6106f7816106f161079b565b90610878565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527fa3e4ba856dd0fdee3a33ab9b82499fd01f05236f3d08cc4e7108698c6e3e7e5090602001610641565b60008061028160017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77610d5e565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600183016020526040812054151561027e565b60008061028160017f7d2bc78964af80fada8ea0387e16a12e0e02e89e34c66d0d6a8f84654abaf517610d5e565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261012190849061089a565b600061027e8373ffffffffffffffffffffffffffffffffffffffff84166109a9565b600061027e8373ffffffffffffffffffffffffffffffffffffffff8416610a8c565b60006108fc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610acf9092919063ffffffff16565b905080516000148061091d57508080602001905181019061091d9190610d98565b610121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161010d565b60008181526001830160205260408120548015610a8557835460009085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106109f9576109f9610dc1565b9060005260206000200154905080856000016001840381548110610a1f57610a1f610dc1565b6000918252602080832090910192909255918252600186019052604090208190558354849080610a5157610a51610df0565b6001900381819060005260206000200160009055905583600101600084815260200190815260200160002060009055600191505b5092915050565b6000818152600183016020526040812054610281575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b6060610ade8484600085610ae6565b949350505050565b606082471015610b78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161010d565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ba19190610e43565b60006040518083038185875af1925050503d8060008114610bde576040519150601f19603f3d011682016040523d82523d6000602084013e610be3565b606091505b5091509150610bf487838387610bff565b979650505050505050565b60608315610c95578251600003610c8e5773ffffffffffffffffffffffffffffffffffffffff85163b610c8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161010d565b5081610ade565b610ade8383815115610caa5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010d9190610e5f565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d0257600080fd5b919050565b600080600060608486031215610d1c57600080fd5b610d2584610cde565b9250610d3360208501610cde565b9150604084013590509250925092565b600060208284031215610d5557600080fd5b61027e82610cde565b81810381811115610281577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060208284031215610daa57600080fd5b81518015158114610dba57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60005b83811015610e3a578181015183820152602001610e22565b50506000910152565b60008251610e55818460208701610e1f565b9190910192915050565b6020815260008251806020840152610e7e816040850160208701610e1f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220f5c872387771ff7f42bf633ca092226515c1a505516a878d74a7bebf78e2389764736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50610ee6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632db8c12914610046578063bf0d68e41461005b578063fa3305c91461006e575b600080fd5b610059610054366004610d07565b610081565b005b610059610069366004610d43565b610126565b61005961007c366004610d43565b6101c2565b6100ab7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b610116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e6167657200000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610121838383610287565b505050565b6101507fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b6101b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161010d565b6101bf81610554565b50565b6101ec7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b610252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161010d565b6101bf8161064c565b600061027e8261026961073e565b6000868152602091909152604090209061076c565b90505b92915050565b73ffffffffffffffffffffffffffffffffffffffff831661032a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f636f6c6c65637461626c652d647573743a3a63616e742d73656e642d6475737460448201527f2d746f2d7a65726f2d6164647265737300000000000000000000000000000000606482015260840161010d565b61033c8261033661079b565b9061076c565b156103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d69732d706172742d60448201527f6f662d7468652d70726f746f636f6c0000000000000000000000000000000000606482015260840161010d565b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8316016104d65760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610460576040519150601f19603f3d011682016040523d82523d6000602084013e610465565b606091505b50509050806104d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4661696c656420746f2073656e64204574686572000000000000000000000000604482015260640161010d565b506104f7565b6104f773ffffffffffffffffffffffffffffffffffffffff831684836107c9565b6040805173ffffffffffffffffffffffffffffffffffffffff8086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6105608161033661079b565b6105ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d6e6f742d7061727460448201527f2d6f662d7468652d70726f746f636f6c00000000000000000000000000000000606482015260840161010d565b6105fe816105f861079b565b90610856565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527fddd12a8c3ce9bea5c97a5d25c8b777caab85752828f56b7b8ad5a0b30340a25f906020015b60405180910390a150565b6106588161033661079b565b156106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d69732d706172742d60448201527f6f662d7468652d70726f746f636f6c0000000000000000000000000000000000606482015260840161010d565b6106f7816106f161079b565b90610878565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527fa3e4ba856dd0fdee3a33ab9b82499fd01f05236f3d08cc4e7108698c6e3e7e5090602001610641565b60008061028160017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77610d5e565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600183016020526040812054151561027e565b60008061028160017f7d2bc78964af80fada8ea0387e16a12e0e02e89e34c66d0d6a8f84654abaf517610d5e565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261012190849061089a565b600061027e8373ffffffffffffffffffffffffffffffffffffffff84166109a9565b600061027e8373ffffffffffffffffffffffffffffffffffffffff8416610a8c565b60006108fc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610acf9092919063ffffffff16565b905080516000148061091d57508080602001905181019061091d9190610d98565b610121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161010d565b60008181526001830160205260408120548015610a8557835460009085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106109f9576109f9610dc1565b9060005260206000200154905080856000016001840381548110610a1f57610a1f610dc1565b6000918252602080832090910192909255918252600186019052604090208190558354849080610a5157610a51610df0565b6001900381819060005260206000200160009055905583600101600084815260200190815260200160002060009055600191505b5092915050565b6000818152600183016020526040812054610281575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b6060610ade8484600085610ae6565b949350505050565b606082471015610b78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161010d565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ba19190610e43565b60006040518083038185875af1925050503d8060008114610bde576040519150601f19603f3d011682016040523d82523d6000602084013e610be3565b606091505b5091509150610bf487838387610bff565b979650505050505050565b60608315610c95578251600003610c8e5773ffffffffffffffffffffffffffffffffffffffff85163b610c8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161010d565b5081610ade565b610ade8383815115610caa5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010d9190610e5f565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d0257600080fd5b919050565b600080600060608486031215610d1c57600080fd5b610d2584610cde565b9250610d3360208501610cde565b9150604084013590509250925092565b600060208284031215610d5557600080fd5b61027e82610cde565b81810381811115610281577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060208284031215610daa57600080fd5b81518015158114610dba57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60005b83811015610e3a578181015183820152602001610e22565b50506000910152565b60008251610e55818460208701610e1f565b9190910192915050565b6020815260008251806020840152610e7e816040850160208701610e1f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212206ba7df5c26c164ccf92b2813cb2ac2306a0bf76840aee029dd89c7ba09cb23ae64736f6c63430008130033", "nonce": "0x7", "accessList": [] }, @@ -152,7 +152,7 @@ "isFixedGasLimit": false }, { - "hash": "0x81bdb365d5f3e21241f4ade7290b5a08b42f56d69d49479717cad779086bc780", + "hash": "0x09b118c4247175ded7d642aa5ee8ae106e8a5bda71b65cd0922f70136c035f20", "transactionType": "CREATE", "contractName": "ChefFacet", "contractAddress": "0x119E315502b87e67F1bc98577c735A3518eA47da", @@ -163,7 +163,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x2aac9d", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b5061265c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80635f3acd8e1161008157806378b3139b1161005b57806378b3139b14610184578063c0d8012c14610197578063ed7662ee146101aa57600080fd5b80635f3acd8e14610154578063702f01ee1461015c578063776a3bb51461017c57600080fd5b80633cf78574116100b25780633cf785741461011957806345889bd71461012c578063537bb5dc1461014157600080fd5b806316f0115b146100d957806321933933146100fb5780633a98ef3914610111575b600080fd5b6100e16101b2565b604080519283526020830191909152015b60405180910390f35b6101036101d1565b6040519081526020016100f2565b6101036101e0565b61010361012736600461240b565b6101ea565b61013f61013a36600461240b565b6101fb565b005b61013f61014f36600461240b565b6102c2565b610103610381565b61016f61016a36600461240b565b61038b565b6040516100f29190612424565b61010361039c565b61013f61019236600461240b565b6103a6565b6101036101a536600461240b565b610465565b610103610470565b60008060006101bf61047a565b80516020909101519094909350915050565b60006101db6104b7565b905090565b60006101db6104ca565b60006101f5826104dd565b92915050565b6102257f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b6102b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102bf816105de565b50565b6102ec7f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b610378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf81610616565b60006101db610626565b6103936123ed565b6101f582610639565b60006101db61068d565b6103d07f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b61045c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf8161069d565b60006101f5826106d8565b60006101db610873565b6040805180820190915260008082526020820152610496610886565b60408051808201909152600582015481526006909101546020820152919050565b60006104c1610886565b60020154905090565b60006104d4610886565b60080154905090565b6000806104e8610886565b60008481526007820160205260409020600682015460058301549293509091431180156105185750600883015415155b1561057e5760006105276108b4565b90506000670de0b6b3a76400008560000154836105449190612484565b61054e91906124ca565b60088601549091506105658264e8d4a51000612484565b61056f91906124ca565b6105799084612505565b925050505b6001820154825464e8d4a5100090610597908490612484565b6105a191906124ca565b6105ab9190612518565b95945050505050565b60006105d7826105c26108f1565b6000868152602091909152604090209061091f565b9392505050565b806105e7610886565b5560405181907ff913a361162eb00fb61dab047a285c02886f428329a3972518dd371ac3aa4af390600090a250565b8061061f610886565b6004015550565b6000610630610886565b60010154905090565b6106416123ed565b600061064b610886565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b6000610697610886565b54919050565b806106a6610886565b6002015560405181907fee9ca614114d0b14b7c182d61fbc2e9aed69823d5f4a3a6436f95da3a6d0a82490600090a250565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff9091169062fdd58e90604401602060405180830381865afa15801561074f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610773919061252b565b6001146107dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d533a2063616c6c6572206973206e6f74206f776e657200000000000000000060448201526064016102ad565b60006107e6610886565b6000848152600782016020526040902090915061080161094e565b6001810154600683015482546000929164e8d4a51000916108229190612484565b61082c91906124ca565b6108369190612518565b90506108423382610b4d565b6006830154825464e8d4a510009161085991612484565b61086391906124ca565b6001909201919091559392505050565b600061087d610886565b60040154905090565b6000806101f560017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612518565b6000806108bf610886565b60050154905060006108cf610886565b600101549050806108e08343612518565b6108ea9190612484565b9250505090565b6000806101f560017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612518565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156105d7565b6000610958610886565b60058101805491925090431161096c575050565b610974610c40565b81600801546000036109865743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109b06108b4565b90506000670de0b6b3a76400008660000154836109cd9190612484565b6109d791906124ca565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a4857600080fd5b505af1158015610a5c573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a8d91906124ca565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610af857600080fd5b505af1158015610b0c573d6000803e3d6000fd5b505050506008860154610b248264e8d4a51000612484565b610b2e91906124ca565b8560010154610b3d9190612505565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061252b565b905080831115610c1957610c1473ffffffffffffffffffffffffffffffffffffffff83168583610cc1565b610c3a565b610c3a73ffffffffffffffffffffffffffffffffffffffff83168585610cc1565b50505050565b6000610c4a610886565b90506000610c56610d4e565b905060008260030154821115610c825760028301546003840154610c7a9084612518565b119050610c9b565b8260020154828460030154610c979190612518565b1190505b8015610cbc57610caf836001015483610d73565b6001840155600383018290555b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cbc908490610ef1565b60006101db816001015473ffffffffffffffffffffffffffffffffffffffff16611000565b600080610d7f84611171565b90506000610d8c84611171565b90506000610da1670e92596fd6290000611171565b90506000610db6670de0b6b3a7640000611171565b90506000610e3a610e11610dec7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516876111df565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611209565b9050610ebe610e9782610e6f7fffffffffffffffffffffffffffffffff000000000000000000000000000000008916876117f4565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c1b565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612042565b9550674563918244f40000861180610edd57506702c68af0bb14000086105b15610ee6578795505b505050505092915050565b6000610f53826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121009092919063ffffffff16565b9050805160001480610f74575080806020019051810190610f749190612544565b610cbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102ad565b60008061100b612117565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161107457505050505081525050905061109a600090565b6001015473ffffffffffffffffffffffffffffffffffffffff908116908416036110ca578060400151915061116b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016102ad565b806060015191505b50919050565b60008160000361118357506000919050565b81600061118f82612145565b905060708110156111a8578060700382901b91506111bb565b60708111156111bb576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60006105d7837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112985780617fff0361128e577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112635784925050506101f5565b507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b84925050506101f5565b80617fff036112ab5783925050506101f5565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff1660008490036112e857600193506112fa565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036113375760019450611349565b6e010000000000000000000000000000175b826000036113b0577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113a057876113a3565b60005b96505050505050506101f5565b80600003611407577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113a057886113a3565b8486038215158515150361159357607081131561142d57899750505050505050506101f5565b600081131561143f5790811c9061148c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561147657889750505050505050506101f5565b600081121561148c578060000384901c93508596505b928101926e02000000000000000000000000000084106114b2576001968701969390931c925b86617fff0361151657846114e6577f7fff000000000000000000000000000000000000000000000000000000000000611508565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506101f5565b6e010000000000000000000000000000841015611536576000965061154a565b6dffffffffffffffffffffffffffff841693505b83607088901b8661155c57600061156e565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506101f5565b60008113156115ae57600184901b93506001870396506115c5565b60008112156115c557600182901b91506001860396505b60708113156115d75760019150611660565b60018113156115f4576001810360018303901c6001019150611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156116255760019350611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611660576001816000030360018503901c60010193505b81841061167157818403935061167a565b83820393508294505b836000036116935750600096506101f595505050505050565b600061169e85612145565b9050806071036116ca57600185901c6dffffffffffffffffffffffffffff169450600188019750611745565b607081101561173157607081900380891115611700578086901b6dffffffffffffffffffffffffffff169550808903985061172b565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611745565b6dffffffffffffffffffffffffffff851694505b87617fff036117aa5785611779577f7fff00000000000000000000000000000000000000000000000000000000000061179b565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506101f5565b84607089901b876117bc5760006117ce565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506101f5565b6000617fff60f084811c8216919084901c8116908290036119495780617fff036118c7577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611871575050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611263575050508181176101f5565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b80617fff036119d4577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119a757507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186101f5565b6dffffffffffffffffffffffffffff608086901c1660008390036119fb5760019250611a0d565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a345760019250611a46565b6e010000000000000000000000000000175b808202915081600003611ab0577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506101f5565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b15577c0100000000000000000000000000000000000000000000000000000000831015611b0e57611b0983612145565b611b18565b60e0611b18565b60e15b90506140708186011015611b33576000945060009250611bd7565b6140e08186011015611b7657614070851015611b5857846140700383901c9250611b6d565b614070851115611b6d57614070850383901b92505b60009450611bd7565b61c0dd8186011115611b9057617fff945060009250611bd7565b6070811115611ba7576070810383901c9250611bba565b6070811015611bba578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f084811c8216919084901c811690829003611c6a5780617fff0361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b80617fff03611cf1577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611cc457507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166101f5565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611dbf577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d7057507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176101f5565b6dffffffffffffffffffffffffffff608085901c166000829003611de65760019150611df8565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611e60578015611e5b576000611e2782612145565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611e75565b6e0100000000000000000000000000001760721b5b818181611e8457611e8461249b565b04905080600003611ebf577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b6d1000000000000000000000000000811015611edd57611edd612566565b60006e080000000000000000000000000000821015611f3d576e040000000000000000000000000000821015611f32576e020000000000000000000000000000821015611f2b576070611f35565b6071611f35565b60725b60ff16611f46565b611f4682612145565b905083614071018186011115611f6457617fff945060009150611ffe565b83818601613ffc011015611f7f576000945060009150611ffe565b83818601613f8c011015611fcc578385613ffc011115611faa578385613ffc010382901b9150611fc3565b8385613ffc011015611fc357613ffc8585030382901c91505b60009450611ffe565b6070811115611fdf576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f083901c16613fff8110156120605750600092915050565b6f80000000000000000000000000000000608084901c1061208057600080fd5b6140fe81111561208f57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120cb5761406f8290031c6105d7565b61406f8211156105d7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b606061210f84846000856121f5565b949350505050565b6000806101f560017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612518565b600080821161215357600080fd5b6000700100000000000000000000000000000000831061217557608092831c92015b68010000000000000000831061218d57604092831c92015b64010000000083106121a157602092831c92015b6201000083106121b357601092831c92015b61010083106121c457600892831c92015b601083106121d457600492831c92015b600483106121e457600292831c92015b600283106101f55760010192915050565b606082471015612287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102ad565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516122b091906125b9565b60006040518083038185875af1925050503d80600081146122ed576040519150601f19603f3d011682016040523d82523d6000602084013e6122f2565b606091505b50915091506123038783838761230e565b979650505050505050565b606083156123a457825160000361239d5773ffffffffffffffffffffffffffffffffffffffff85163b61239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ad565b508161210f565b61210f83838151156123b95781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ad91906125d5565b60405180604001604052806002906020820280368337509192915050565b60006020828403121561241d57600080fd5b5035919050565b60408101818360005b600281101561244c57815183526020928301929091019060010161242d565b50505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176101f5576101f5612455565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082612500577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808201808211156101f5576101f5612455565b818103818111156101f5576101f5612455565b60006020828403121561253d57600080fd5b5051919050565b60006020828403121561255657600080fd5b815180151581146105d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156125b0578181015183820152602001612598565b50506000910152565b600082516125cb818460208701612595565b9190910192915050565b60208152600082518060208401526125f4816040850160208701612595565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212207f89df96aaeeae0a4db6af4b83a1abe105dfb4e00c65854e42c4db42780ad70364736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b5061265c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80635f3acd8e1161008157806378b3139b1161005b57806378b3139b14610184578063c0d8012c14610197578063ed7662ee146101aa57600080fd5b80635f3acd8e14610154578063702f01ee1461015c578063776a3bb51461017c57600080fd5b80633cf78574116100b25780633cf785741461011957806345889bd71461012c578063537bb5dc1461014157600080fd5b806316f0115b146100d957806321933933146100fb5780633a98ef3914610111575b600080fd5b6100e16101b2565b604080519283526020830191909152015b60405180910390f35b6101036101d1565b6040519081526020016100f2565b6101036101e0565b61010361012736600461240b565b6101ea565b61013f61013a36600461240b565b6101fb565b005b61013f61014f36600461240b565b6102c2565b610103610381565b61016f61016a36600461240b565b61038b565b6040516100f29190612424565b61010361039c565b61013f61019236600461240b565b6103a6565b6101036101a536600461240b565b610465565b610103610470565b60008060006101bf61047a565b80516020909101519094909350915050565b60006101db6104b7565b905090565b60006101db6104ca565b60006101f5826104dd565b92915050565b6102257f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b6102b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102bf816105de565b50565b6102ec7f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b610378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf81610616565b60006101db610626565b6103936123ed565b6101f582610639565b60006101db61068d565b6103d07f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b61045c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf8161069d565b60006101f5826106d8565b60006101db610873565b6040805180820190915260008082526020820152610496610886565b60408051808201909152600582015481526006909101546020820152919050565b60006104c1610886565b60020154905090565b60006104d4610886565b60080154905090565b6000806104e8610886565b60008481526007820160205260409020600682015460058301549293509091431180156105185750600883015415155b1561057e5760006105276108b4565b90506000670de0b6b3a76400008560000154836105449190612484565b61054e91906124ca565b60088601549091506105658264e8d4a51000612484565b61056f91906124ca565b6105799084612505565b925050505b6001820154825464e8d4a5100090610597908490612484565b6105a191906124ca565b6105ab9190612518565b95945050505050565b60006105d7826105c26108f1565b6000868152602091909152604090209061091f565b9392505050565b806105e7610886565b5560405181907ff913a361162eb00fb61dab047a285c02886f428329a3972518dd371ac3aa4af390600090a250565b8061061f610886565b6004015550565b6000610630610886565b60010154905090565b6106416123ed565b600061064b610886565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b6000610697610886565b54919050565b806106a6610886565b6002015560405181907fee9ca614114d0b14b7c182d61fbc2e9aed69823d5f4a3a6436f95da3a6d0a82490600090a250565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff9091169062fdd58e90604401602060405180830381865afa15801561074f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610773919061252b565b6001146107dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d533a2063616c6c6572206973206e6f74206f776e657200000000000000000060448201526064016102ad565b60006107e6610886565b6000848152600782016020526040902090915061080161094e565b6001810154600683015482546000929164e8d4a51000916108229190612484565b61082c91906124ca565b6108369190612518565b90506108423382610b4d565b6006830154825464e8d4a510009161085991612484565b61086391906124ca565b6001909201919091559392505050565b600061087d610886565b60040154905090565b6000806101f560017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612518565b6000806108bf610886565b60050154905060006108cf610886565b600101549050806108e08343612518565b6108ea9190612484565b9250505090565b6000806101f560017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612518565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156105d7565b6000610958610886565b60058101805491925090431161096c575050565b610974610c40565b81600801546000036109865743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109b06108b4565b90506000670de0b6b3a76400008660000154836109cd9190612484565b6109d791906124ca565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a4857600080fd5b505af1158015610a5c573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a8d91906124ca565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610af857600080fd5b505af1158015610b0c573d6000803e3d6000fd5b505050506008860154610b248264e8d4a51000612484565b610b2e91906124ca565b8560010154610b3d9190612505565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061252b565b905080831115610c1957610c1473ffffffffffffffffffffffffffffffffffffffff83168583610cc1565b610c3a565b610c3a73ffffffffffffffffffffffffffffffffffffffff83168585610cc1565b50505050565b6000610c4a610886565b90506000610c56610d4e565b905060008260030154821115610c825760028301546003840154610c7a9084612518565b119050610c9b565b8260020154828460030154610c979190612518565b1190505b8015610cbc57610caf836001015483610d73565b6001840155600383018290555b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cbc908490610ef1565b60006101db816001015473ffffffffffffffffffffffffffffffffffffffff16611000565b600080610d7f84611171565b90506000610d8c84611171565b90506000610da1670e92596fd6290000611171565b90506000610db6670de0b6b3a7640000611171565b90506000610e3a610e11610dec7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516876111df565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611209565b9050610ebe610e9782610e6f7fffffffffffffffffffffffffffffffff000000000000000000000000000000008916876117f4565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c1b565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612042565b9550674563918244f40000861180610edd57506702c68af0bb14000086105b15610ee6578795505b505050505092915050565b6000610f53826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121009092919063ffffffff16565b9050805160001480610f74575080806020019051810190610f749190612544565b610cbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102ad565b60008061100b612117565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161107457505050505081525050905061109a600090565b6001015473ffffffffffffffffffffffffffffffffffffffff908116908416036110ca578060400151915061116b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016102ad565b806060015191505b50919050565b60008160000361118357506000919050565b81600061118f82612145565b905060708110156111a8578060700382901b91506111bb565b60708111156111bb576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60006105d7837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112985780617fff0361128e577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112635784925050506101f5565b507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b84925050506101f5565b80617fff036112ab5783925050506101f5565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff1660008490036112e857600193506112fa565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036113375760019450611349565b6e010000000000000000000000000000175b826000036113b0577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113a057876113a3565b60005b96505050505050506101f5565b80600003611407577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113a057886113a3565b8486038215158515150361159357607081131561142d57899750505050505050506101f5565b600081131561143f5790811c9061148c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561147657889750505050505050506101f5565b600081121561148c578060000384901c93508596505b928101926e02000000000000000000000000000084106114b2576001968701969390931c925b86617fff0361151657846114e6577f7fff000000000000000000000000000000000000000000000000000000000000611508565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506101f5565b6e010000000000000000000000000000841015611536576000965061154a565b6dffffffffffffffffffffffffffff841693505b83607088901b8661155c57600061156e565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506101f5565b60008113156115ae57600184901b93506001870396506115c5565b60008112156115c557600182901b91506001860396505b60708113156115d75760019150611660565b60018113156115f4576001810360018303901c6001019150611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156116255760019350611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611660576001816000030360018503901c60010193505b81841061167157818403935061167a565b83820393508294505b836000036116935750600096506101f595505050505050565b600061169e85612145565b9050806071036116ca57600185901c6dffffffffffffffffffffffffffff169450600188019750611745565b607081101561173157607081900380891115611700578086901b6dffffffffffffffffffffffffffff169550808903985061172b565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611745565b6dffffffffffffffffffffffffffff851694505b87617fff036117aa5785611779577f7fff00000000000000000000000000000000000000000000000000000000000061179b565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506101f5565b84607089901b876117bc5760006117ce565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506101f5565b6000617fff60f084811c8216919084901c8116908290036119495780617fff036118c7577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611871575050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611263575050508181176101f5565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b80617fff036119d4577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119a757507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186101f5565b6dffffffffffffffffffffffffffff608086901c1660008390036119fb5760019250611a0d565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a345760019250611a46565b6e010000000000000000000000000000175b808202915081600003611ab0577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506101f5565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b15577c0100000000000000000000000000000000000000000000000000000000831015611b0e57611b0983612145565b611b18565b60e0611b18565b60e15b90506140708186011015611b33576000945060009250611bd7565b6140e08186011015611b7657614070851015611b5857846140700383901c9250611b6d565b614070851115611b6d57614070850383901b92505b60009450611bd7565b61c0dd8186011115611b9057617fff945060009250611bd7565b6070811115611ba7576070810383901c9250611bba565b6070811015611bba578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f084811c8216919084901c811690829003611c6a5780617fff0361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b80617fff03611cf1577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611cc457507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166101f5565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611dbf577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d7057507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176101f5565b6dffffffffffffffffffffffffffff608085901c166000829003611de65760019150611df8565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611e60578015611e5b576000611e2782612145565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611e75565b6e0100000000000000000000000000001760721b5b818181611e8457611e8461249b565b04905080600003611ebf577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b6d1000000000000000000000000000811015611edd57611edd612566565b60006e080000000000000000000000000000821015611f3d576e040000000000000000000000000000821015611f32576e020000000000000000000000000000821015611f2b576070611f35565b6071611f35565b60725b60ff16611f46565b611f4682612145565b905083614071018186011115611f6457617fff945060009150611ffe565b83818601613ffc011015611f7f576000945060009150611ffe565b83818601613f8c011015611fcc578385613ffc011115611faa578385613ffc010382901b9150611fc3565b8385613ffc011015611fc357613ffc8585030382901c91505b60009450611ffe565b6070811115611fdf576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f083901c16613fff8110156120605750600092915050565b6f80000000000000000000000000000000608084901c1061208057600080fd5b6140fe81111561208f57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120cb5761406f8290031c6105d7565b61406f8211156105d7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b606061210f84846000856121f5565b949350505050565b6000806101f560017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612518565b600080821161215357600080fd5b6000700100000000000000000000000000000000831061217557608092831c92015b68010000000000000000831061218d57604092831c92015b64010000000083106121a157602092831c92015b6201000083106121b357601092831c92015b61010083106121c457600892831c92015b601083106121d457600492831c92015b600483106121e457600292831c92015b600283106101f55760010192915050565b606082471015612287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102ad565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516122b091906125b9565b60006040518083038185875af1925050503d80600081146122ed576040519150601f19603f3d011682016040523d82523d6000602084013e6122f2565b606091505b50915091506123038783838761230e565b979650505050505050565b606083156123a457825160000361239d5773ffffffffffffffffffffffffffffffffffffffff85163b61239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ad565b508161210f565b61210f83838151156123b95781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ad91906125d5565b60405180604001604052806002906020820280368337509192915050565b60006020828403121561241d57600080fd5b5035919050565b60408101818360005b600281101561244c57815183526020928301929091019060010161242d565b50505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176101f5576101f5612455565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082612500577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808201808211156101f5576101f5612455565b818103818111156101f5576101f5612455565b60006020828403121561253d57600080fd5b5051919050565b60006020828403121561255657600080fd5b815180151581146105d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156125b0578181015183820152602001612598565b50506000910152565b600082516125cb818460208701612595565b9190910192915050565b60208152600082518060208401526125f4816040850160208701612595565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212205a601475e2732ff9a6b95432b127f1ccca65921704bdbf968d0c09cc9f8b9e2f64736f6c63430008130033", "nonce": "0x8", "accessList": [] }, @@ -171,7 +171,7 @@ "isFixedGasLimit": false }, { - "hash": "0x8d3861f1ebb5f6818fc8bf2f360c18daec6a8505bb5288ffb7ad22401cfe046d", + "hash": "0xbcebeef556fd3346ac614b45b0b50a83304af99af0ad6bfd3cc88fc77dd293a2", "transactionType": "CREATE", "contractName": "StakingFacet", "contractAddress": "0x9F0259fe34BFC22d9cbEEb340Cd8d53F35CDEB80", @@ -182,7 +182,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x50c85d", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50614959806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806396908b5211610081578063aadc68a51161005b578063aadc68a514610182578063c5d1cb631461018a578063e2bbb1581461019d57600080fd5b806396908b52146101545780639d7de6b314610167578063aa1ec70a1461017a57600080fd5b806352159150116100b2578063521591501461011b5780636970d4731461012e5780637cc6bd411461014157600080fd5b80632f72589e146100d9578063422f1043146100ee5780634d8c28c414610101575b600080fd5b6100ec6100e7366004614507565b6101b0565b005b6100ec6100fc366004614520565b610251565b6101096102ce565b60405190815260200160405180910390f35b610109610129366004614507565b6102dd565b6100ec61013c366004614507565b6102ee565b6100ec61014f366004614507565b610387565b6100ec610162366004614507565b610420565b6100ec61017536600461454c565b6104b9565b610109610534565b61010961053e565b61010961019836600461454c565b610548565b6101096101ab36600461454c565b61055b565b6101da7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e6167657200000000000000000000000000000000000000000060448201526064015b60405180910390fd5b61024e816105fd565b50565b60155460ff16156102be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6102c9838383610641565b505050565b60006102d8610864565b905090565b60006102e882610874565b92915050565b6103187fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b61037e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610b7f565b6103b17fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610bb9565b61044a7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b6104b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610eba565b60155460ff1615610526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b61053082826110a1565b5050565b60006102d8611455565b60006102d8611468565b60006105548383611526565b9392505050565b600061056960155460ff1690565b156105d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6105548383611573565b6000610554826105e86116dc565b6000868152602091909152604090209061170a565b80610606611739565b600101556040518181527f3a1c0b7d3cdecbab83b82697d51cbcdb308b3bbae63e597cbc958deb9c830e50906020015b60405180910390a150565b60008061064d84611767565b8151919350915061065c611a05565b600061066c828460600151611526565b9050808360a001818151610680919061459d565b905250600061068d611739565b9050818160030160008282546106a391906145b0565b909155506106d6905033308a6106b7611c4c565b5473ffffffffffffffffffffffffffffffffffffffff16929190611c7a565b878460a0018181516106e8919061459d565b9052506106f6338489611d5c565b600061070b8560a00151888460000154611ede565b905061071833828a612033565b600182015461072790886145c3565b610731904361459d565b608086015261073e611a05565b64e8d4a5100082600201546107528a612155565b5161075d91906145c3565b6107679190614609565b606086015260006005015460a0860151606087015160808801516040517fe8b7c95e000000000000000000000000000000000000000000000000000000008152600481018d905260248101939093526044830191909152606482015273ffffffffffffffffffffffffffffffffffffffff9091169063e8b7c95e90608401600060405180830381600087803b1580156107ff57600080fd5b505af1158015610813573d6000803e3d6000fd5b50505060a086015160408051918252602082018490528a925033917f1e549269c96dd4bec3d648753e4995f8e57512249145959d6e7555136709bd48910160405180910390a3505050505050505050565b600061086e611739565b54919050565b60008061087f611739565b9050600080600501546040517fce325bf80000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff90911691508190600090829063ce325bf89060240160c060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190614673565b9050600061092d87612155565b90506000610939611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c9919061470f565b905085600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061470f565b610a49919061459d565b8110610b7157600086600401548573ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac5919061470f565b610acf919061459d565b610ad990836145b0565b6002880154600389015491925090821115610b36576000886003015483610b0091906145b0565b9050610b0a6121a9565b610b198264e8d4a510006145c3565b610b239190614609565b8960020154610b32919061459d565b9150505b6060850151845164e8d4a5100090610b4f9084906145c3565b610b599190614609565b610b6391906145b0565b9a9950505050505050505050565b506000979650505050505050565b80610b88611739565b556040518181527f33275dedaeefb2dabe4935e816773f7ed2c6400002b0c87595e05bde196b33a890602001610636565b6000610bc3611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311610c2c5750505091909252505081516040517f1a4d01d200000000000000000000000000000000000000000000000000000000815260048101869052600160248201526000604482018190529394509092915073ffffffffffffffffffffffffffffffffffffffff831690631a4d01d2906064016020604051808303816000875af1158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf2919061470f565b9050610cfc6121bc565b60208301516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d91919061470f565b9050836020015173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610dbb600090565b6009015460405160e083901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490526044016020604051808303816000875af1158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e559190614728565b506020808501516040805173ffffffffffffffffffffffffffffffffffffffff90921682529181018490529081018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a15050505050565b6000610ec4611c4c565b546040517f1a4d01d2000000000000000000000000000000000000000000000000000000008152600481018490526000602482018190526044820181905273ffffffffffffffffffffffffffffffffffffffff90921692508290631a4d01d2906064016020604051808303816000875af1158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a919061470f565b9050610f746121bc565b60008060018101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925073ffffffffffffffffffffffffffffffffffffffff169060009082906370a0823190602401602060405180830381865afa158015610fed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611011919061470f565b600984015490915061103d9073ffffffffffffffffffffffffffffffffffffffff8481169116836123f9565b60018301546040805173ffffffffffffffffffffffffffffffffffffffff90921682526020820186905281018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a1505050505050565b6000806110ad83611767565b91509150838160a00151101561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5374616b696e673a20616d6f756e7420746f6f20626967000000000000000000604482015260640161023c565b600061112c82848761244f565b9050611136611a05565b8251606083015160009161114991611526565b9050611156338387611d5c565b6000611160611c4c565b5473ffffffffffffffffffffffffffffffffffffffff1690506000611183611739565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff909116916000916112c591849163132c4feb9160048083019260209291908290030181865afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611222919061470f565b60038501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa158015611291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b5919061470f565b6112bf91906145b0565b8c6124bd565b9050848360030160008282546112db91906145b0565b92505081905550898760a0018181516112f491906145b0565b905250600283015464e8d4a510009061130c8b612155565b5161131791906145c3565b6113219190614609565b6060880181905260a088015160808901516040517fe8b7c95e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169363e8b7c95e9361139d938f9391929160040193845260208401929092526040830152606082015260800190565b600060405180830381600087803b1580156113b757600080fd5b505af11580156113cb573d6000803e3d6000fd5b505050506113fd3386836113df919061459d565b73ffffffffffffffffffffffffffffffffffffffff871691906123f9565b604080518b81526020810183905290810186905260608101879052899033907fc41873b026655739c834ac0fc390e515f2dcb3cf19938507067c2e31714b04959060800160405180910390a350505050505050505050565b600061145f611739565b60010154905090565b6000806114736121a9565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff9091169161151f91839163132c4feb916004808201926020929091908290030181865afa1580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611510919061470f565b83670de0b6b3a76400006124fe565b9250505090565b600080611531611739565b60028101549091501561156c578264e8d4a5100082600201548661155591906145c3565b61155f9190614609565b61156991906145b0565b91505b5092915050565b600081600111158015611587575060d08211155b611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f5374616b696e673a206475726174696f6e206d7573742062652062657477656560448201527f6e203120616e6420323038207765656b73000000000000000000000000000000606482015260840161023c565b61161b6121bc565b611623611a05565b6116313330856106b7611c4c565b600061163b611739565b9050600061164e85858460000154611ede565b9050600082600101548561166291906145c3565b61166c904361459d565b905061167a3387848461259a565b9350611687338386612033565b604080518781526020810184905290810186905260608101829052849033907ff943cf10ef4d1e3239f4716ddecdf546e8ba8ab0e41deafd9a71a99936827e459060800160405180910390a350505092915050565b6000806102e860017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776145b0565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610554565b6000806102e860017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea1276145b0565b61176f614496565b6117be6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810186905273ffffffffffffffffffffffffffffffffffffffff9091169150819062fdd58e90604401602060405180830381865afa158015611838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185c919061470f565b6001146118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5374616b696e673a2063616c6c6572206973206e6f74206f776e657200000000604482015260640161023c565b6040517fce325bf800000000000000000000000000000000000000000000000000000000815260048101859052819073ffffffffffffffffffffffffffffffffffffffff82169063ce325bf89060240160c060405180830381865afa158015611932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119569190614673565b9250826080015143116119eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f5374616b696e673a2052656465656d206e6f7420616c6c6f776564206265666f60448201527f7265207374616b696e672074696d650000000000000000000000000000000000606482015260840161023c565b6119f36121bc565b6119fc85612155565b93505050915091565b60055473ffffffffffffffffffffffffffffffffffffffff166000611a28611739565b9050816000611a35611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015611aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac5919061470f565b90506000611ad16121a9565b905083600401548373ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b47919061470f565b611b51919061459d565b8210158015611b605750600081115b15611c4557600084600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdb919061470f565b611be5919061459d565b611bef90846145b0565b90508460030154811115611c435781856003015482611c0e91906145b0565b611c1d9064e8d4a510006145c3565b611c279190614609565b8560020154611c36919061459d565b6002860155600385018190555b505b5050505050565b6000806102e860017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e6286145b0565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611d569085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261271c565b50505050565b6000611d6661282b565b60008381526007820160205260409020805491925090841115611de5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4d433a20616d6f756e7420746f6f206869676800000000000000000000000000604482015260640161023c565b611ded612859565b6001810154600683015482546000929164e8d4a5100091611e0e91906145c3565b611e189190614609565b611e2291906145b0565b9050611e2e8682612a58565b84826000016000828254611e4291906145b0565b90915550506006830154825464e8d4a5100091611e5e916145c3565b611e689190614609565b826001018190555084836008016000828254611e8491906145b0565b9091555050604051858152849073ffffffffffffffffffffffffffffffffffffffff8816907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689060200160405180910390a3505050505050565b600080611ef2670de0b6b3a7640000612b45565b90506000611eff85612b45565b90506000611f85611f5e83611f367fffffffffffffffffffffffffffffffff00000000000000000000000000000000821682612bb3565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690612bb3565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613005565b90506000611f9288612b45565b905061202761200082611fd887611fb086611f3689611f368f612b45565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690613281565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906136a8565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613c68565b98975050505050505050565b600061203d61282b565b60008381526007820160205260409020909150612058612859565b8054156120a2576001810154600683015482546000929164e8d4a510009161208091906145c3565b61208a9190614609565b61209491906145b0565b90506120a08682612a58565b505b838160000160008282546120b6919061459d565b90915550506006820154815464e8d4a51000916120d2916145c3565b6120dc9190614609565b6001820155836120ea61282b565b60080160008282546120fc919061459d565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b61215d614496565b600061216761282b565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b60006121b361282b565b60080154905090565b60006121c6611c4c565b90506000806121d3613d26565b9150915060008360040154826121e991906145b0565b11156102c9578254600484015460009173ffffffffffffffffffffffffffffffffffffffff1690630f6ba8e3906005870190869061222790876145b0565b6040518463ffffffff1660e01b81526004016122459392919061476d565b6040805180830381865afa158015612261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228591906147b3565b84546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690637e42fc0c906122eb90600090600190670de0b6b3a7640000908790600401614833565b602060405180830381865afa158015612308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232c919061470f565b600285015583546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637e42fc0c9061239690600190600090670de0b6b3a7640000908790600401614833565b602060405180830381865afa1580156123b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d7919061470f565b60038501556123eb600585018460026144b4565b505060048301819055505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526102c99084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611cd4565b8151600090819061245f90612b45565b9050600061246c84612b45565b9050600061247d8760a00151612b45565b90506124b261200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000871686612bb3565b979650505050505050565b600083831080156124ce5750600083115b1561156c576124f76120006124e286612b45565b611fb06124ee87612b45565b611f3687612b45565b9050610554565b60008061250a85612b45565b9050600061251785612b45565b9050600085156125525761254d7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683613281565b61255c565b61255c6001612b45565b9050600061256986612b45565b90506120276120007fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683612bb3565b6000806125a5611468565b905080600003612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5374616b696e673a2073686172652076616c75652073686f756c64206e6f742060448201527f6265206e756c6c00000000000000000000000000000000000000000000000000606482015260840161023c565b600064e8d4a51000612647611739565b6002015461265590876145c3565b61265f9190614609565b90506000600501546040517fa647e8ec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820189905260448201849052606482018790529091169063a647e8ec906084016020604051808303816000875af11580156126eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270f919061470f565b925050505b949350505050565b600061277e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613e439092919063ffffffff16565b905080516000148061279f57508080602001905181019061279f9190614728565b6102c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161023c565b6000806102e860017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f186145b0565b600061286361282b565b600581018054919250904311612877575050565b61287f613e52565b81600801546000036128915743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006128bb613ecf565b90506000670de0b6b3a76400008660000154836128d891906145c3565b6128e29190614609565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f19848860040154846129989190614609565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015612a0357600080fd5b505af1158015612a17573d6000803e3d6000fd5b505050506008860154612a2f8264e8d4a510006145c3565b612a399190614609565b8560010154612a48919061459d565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af4919061470f565b905080831115612b2457612b1f73ffffffffffffffffffffffffffffffffffffffff831685836123f9565b611d56565b611d5673ffffffffffffffffffffffffffffffffffffffff831685856123f9565b600081600003612b5757506000919050565b816000612b6382613f05565b90506070811015612b7c578060700382901b9150612b8f565b6070811115612b8f576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c811690829003612d335780617fff03612cb1577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c30575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003612c86575050508181176102e8565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b80617fff03612dbe577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003612d9157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e8565b6dffffffffffffffffffffffffffff608086901c166000839003612de55760019250612df7565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003612e1e5760019250612e30565b6e010000000000000000000000000000175b808202915081600003612e9a577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e8565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015612eff577c0100000000000000000000000000000000000000000000000000000000831015612ef857612ef383613f05565b612f02565b60e0612f02565b60e15b90506140708186011015612f1d576000945060009250612fc1565b6140e08186011015612f6057614070851015612f4257846140700383901c9250612f57565b614070851115612f5757614070850383901b92505b60009450612fc1565b61c0dd8186011115612f7a57617fff945060009250612fc1565b6070811115612f91576070810383901c9250612fa4565b6070811015612fa4578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b60006f80000000000000000000000000000000608083901c111561304a57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c811690819003613063575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361308a576001915061309c565b6e010000000000000000000000000000175b806000036130ae575060009392505050565b613fff8201600190811c9216158015613129576e01000000000000000000000000000082106130e357607182901b915061318d565b60006130ee83613f05565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b915061318d565b6e010000000000000000000000000000821061314b57607082901b915061318d565b600061315683613f05565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c908184816131b6576131b66145da565b048201901c905060018184816131ce576131ce6145da565b048201901c905060018184816131e6576131e66145da565b048201901c905060018184816131fe576131fe6145da565b048201901c90506001818481613216576132166145da565b048201901c9050600181848161322e5761322e6145da565b048201901c90506000818481613246576132466145da565b04905081811015613255578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b50919050565b6000617fff60f084811c8216919084901c8116908290036132d05780617fff03612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b80617fff03613357577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561332a57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e8565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003613425577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036133d657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e8565b6dffffffffffffffffffffffffffff608085901c16600082900361344c576001915061345e565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036134c65780156134c157600061348d82613f05565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6134db565b6e0100000000000000000000000000001760721b5b8181816134ea576134ea6145da565b04905080600003613525577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b6d100000000000000000000000000081101561354357613543614863565b60006e0800000000000000000000000000008210156135a3576e040000000000000000000000000000821015613598576e02000000000000000000000000000082101561359157607061359b565b607161359b565b60725b60ff166135ac565b6135ac82613f05565b9050836140710181860111156135ca57617fff945060009150613664565b83818601613ffc0110156135e5576000945060009150613664565b83818601613f8c011015613632578385613ffc011115613610578385613ffc010382901b9150613629565b8385613ffc01101561362957613ffc8585030382901c91505b60009450613664565b6070811115613645576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b6000617fff60f084811c8216919084901c81169082900361370c5780617fff03613702577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c865784925050506102e8565b84925050506102e8565b80617fff0361371f5783925050506102e8565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361375c576001935061376e565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036137ab57600194506137bd565b6e010000000000000000000000000000175b82600003613824577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146138145787613817565b60005b96505050505050506102e8565b8060000361387b577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146138145788613817565b84860382151585151503613a075760708113156138a157899750505050505050506102e8565b60008113156138b35790811c90613900565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156138ea57889750505050505050506102e8565b6000811215613900578060000384901c93508596505b928101926e0200000000000000000000000000008410613926576001968701969390931c925b86617fff0361398a578461395a577f7fff00000000000000000000000000000000000000000000000000000000000061397c565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e8565b6e0100000000000000000000000000008410156139aa57600096506139be565b6dffffffffffffffffffffffffffff841693505b83607088901b866139d05760006139e2565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e8565b6000811315613a2257600184901b9350600187039650613a39565b6000811215613a3957600182901b91506001860396505b6070811315613a4b5760019150613ad4565b6001811315613a68576001810360018303901c6001019150613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613a995760019350613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613ad4576001816000030360018503901c60010193505b818410613ae5578184039350613aee565b83820393508294505b83600003613b075750600096506102e895505050505050565b6000613b1285613f05565b905080607103613b3e57600185901c6dffffffffffffffffffffffffffff169450600188019750613bb9565b6070811015613ba557607081900380891115613b74578086901b6dffffffffffffffffffffffffffff1695508089039850613b9f565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613bb9565b6dffffffffffffffffffffffffffff851694505b87617fff03613c1e5785613bed577f7fff000000000000000000000000000000000000000000000000000000000000613c0f565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e8565b84607089901b87613c30576000613c42565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e8565b6000617fff60f083901c16613fff811015613c865750600092915050565b6f80000000000000000000000000000000608084901c10613ca657600080fd5b6140fe811115613cb557600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015613cf15761406f8290031c610554565b61406f821115610554577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b613d2e614496565b600080613d39611c4c565b54604080517f4469e30e000000000000000000000000000000000000000000000000000000008152815173ffffffffffffffffffffffffffffffffffffffff90931693508392634469e30e926004808401939192918290030181865afa158015613da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dcb91906147b3565b92508073ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3c919061470f565b9150509091565b60606127148484600085613fb5565b6000613e5c61282b565b90506000613e686140c3565b905060008260030154821115613e945760028301546003840154613e8c90846145b0565b119050613ead565b8260020154828460030154613ea991906145b0565b1190505b80156102c957613ec18360010154836140e8565b600184015550600390910155565b600080613eda61282b565b6005015490506000613eea61282b565b60010154905080613efb83436145b0565b61151f91906145c3565b6000808211613f1357600080fd5b60007001000000000000000000000000000000008310613f3557608092831c92015b680100000000000000008310613f4d57604092831c92015b6401000000008310613f6157602092831c92015b620100008310613f7357601092831c92015b6101008310613f8457600892831c92015b60108310613f9457600492831c92015b60048310613fa457600292831c92015b600283106102e85760010192915050565b606082471015614047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161023c565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161407091906148b6565b60006040518083038185875af1925050503d80600081146140ad576040519150601f19603f3d011682016040523d82523d6000602084013e6140b2565b606091505b509150915061270f87838387614217565b60006102d8816001015473ffffffffffffffffffffffffffffffffffffffff166142b7565b6000806140f484612b45565b9050600061410184612b45565b90506000614116670e92596fd6290000612b45565b9050600061412b670de0b6b3a7640000612b45565b905060006141af6141866141617fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687614424565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906136a8565b90506141e461200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687612bb3565b9550674563918244f4000086118061420357506702c68af0bb14000086105b1561420c578795505b505050505092915050565b606083156142ad5782516000036142a65773ffffffffffffffffffffffffffffffffffffffff85163b6142a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161023c565b5081612714565b6127148383614452565b6000806142c2611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161432b575050505050815250509050614351600090565b6001015473ffffffffffffffffffffffffffffffffffffffff90811690841603614381578060400151915061327b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461441a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e00000000000000604482015260640161023c565b6060015192915050565b6000610554837f800000000000000000000000000000000000000000000000000000000000000084186136a8565b8151156144625781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023c91906148d2565b60405180604001604052806002906020820280368337509192915050565b82600281019282156144e2579160200282015b828111156144e25782518255916020019190600101906144c7565b506144ee9291506144f2565b5090565b5b808211156144ee57600081556001016144f3565b60006020828403121561451957600080fd5b5035919050565b60008060006060848603121561453557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561455f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e8576102e861456e565b818103818111156102e8576102e861456e565b80820281158282048414176102e8576102e861456e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261463f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060c0828403121561468557600080fd5b60405160c0810181811067ffffffffffffffff821117156146a8576146a8614644565b604052825173ffffffffffffffffffffffffffffffffffffffff811681146146cf57600080fd5b808252506020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b60006020828403121561472157600080fd5b5051919050565b60006020828403121561473a57600080fd5b8151801515811461055457600080fd5b8060005b6002811015611d5657815184526020938401939091019060010161474e565b60a08101818560005b6002811015614795578154835260209092019160019182019101614776565b5050506147a5604083018561474a565b826080830152949350505050565b6000604082840312156147c557600080fd5b82601f8301126147d457600080fd5b6040516040810181811067ffffffffffffffff821117156147f7576147f7614644565b806040525080604084018581111561480e57600080fd5b845b81811015614828578051835260209283019201614810565b509195945050505050565b600f85810b825284900b60208201526040810183905260a0810161485a606083018461474a565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156148ad578181015183820152602001614895565b50506000910152565b600082516148c8818460208701614892565b9190910192915050565b60208152600082518060208401526148f1816040850160208701614892565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212203fcf9c6d30867d1d7fef65b6edbbe7e7a2c8da135f2658e51e06be753715fe0f64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50614959806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806396908b5211610081578063aadc68a51161005b578063aadc68a514610182578063c5d1cb631461018a578063e2bbb1581461019d57600080fd5b806396908b52146101545780639d7de6b314610167578063aa1ec70a1461017a57600080fd5b806352159150116100b2578063521591501461011b5780636970d4731461012e5780637cc6bd411461014157600080fd5b80632f72589e146100d9578063422f1043146100ee5780634d8c28c414610101575b600080fd5b6100ec6100e7366004614507565b6101b0565b005b6100ec6100fc366004614520565b610251565b6101096102ce565b60405190815260200160405180910390f35b610109610129366004614507565b6102dd565b6100ec61013c366004614507565b6102ee565b6100ec61014f366004614507565b610387565b6100ec610162366004614507565b610420565b6100ec61017536600461454c565b6104b9565b610109610534565b61010961053e565b61010961019836600461454c565b610548565b6101096101ab36600461454c565b61055b565b6101da7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e6167657200000000000000000000000000000000000000000060448201526064015b60405180910390fd5b61024e816105fd565b50565b60155460ff16156102be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6102c9838383610641565b505050565b60006102d8610864565b905090565b60006102e882610874565b92915050565b6103187fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b61037e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610b7f565b6103b17fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610bb9565b61044a7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b6104b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610eba565b60155460ff1615610526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b61053082826110a1565b5050565b60006102d8611455565b60006102d8611468565b60006105548383611526565b9392505050565b600061056960155460ff1690565b156105d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6105548383611573565b6000610554826105e86116dc565b6000868152602091909152604090209061170a565b80610606611739565b600101556040518181527f3a1c0b7d3cdecbab83b82697d51cbcdb308b3bbae63e597cbc958deb9c830e50906020015b60405180910390a150565b60008061064d84611767565b8151919350915061065c611a05565b600061066c828460600151611526565b9050808360a001818151610680919061459d565b905250600061068d611739565b9050818160030160008282546106a391906145b0565b909155506106d6905033308a6106b7611c4c565b5473ffffffffffffffffffffffffffffffffffffffff16929190611c7a565b878460a0018181516106e8919061459d565b9052506106f6338489611d5c565b600061070b8560a00151888460000154611ede565b905061071833828a612033565b600182015461072790886145c3565b610731904361459d565b608086015261073e611a05565b64e8d4a5100082600201546107528a612155565b5161075d91906145c3565b6107679190614609565b606086015260006005015460a0860151606087015160808801516040517fe8b7c95e000000000000000000000000000000000000000000000000000000008152600481018d905260248101939093526044830191909152606482015273ffffffffffffffffffffffffffffffffffffffff9091169063e8b7c95e90608401600060405180830381600087803b1580156107ff57600080fd5b505af1158015610813573d6000803e3d6000fd5b50505060a086015160408051918252602082018490528a925033917f1e549269c96dd4bec3d648753e4995f8e57512249145959d6e7555136709bd48910160405180910390a3505050505050505050565b600061086e611739565b54919050565b60008061087f611739565b9050600080600501546040517fce325bf80000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff90911691508190600090829063ce325bf89060240160c060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190614673565b9050600061092d87612155565b90506000610939611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c9919061470f565b905085600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061470f565b610a49919061459d565b8110610b7157600086600401548573ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac5919061470f565b610acf919061459d565b610ad990836145b0565b6002880154600389015491925090821115610b36576000886003015483610b0091906145b0565b9050610b0a6121a9565b610b198264e8d4a510006145c3565b610b239190614609565b8960020154610b32919061459d565b9150505b6060850151845164e8d4a5100090610b4f9084906145c3565b610b599190614609565b610b6391906145b0565b9a9950505050505050505050565b506000979650505050505050565b80610b88611739565b556040518181527f33275dedaeefb2dabe4935e816773f7ed2c6400002b0c87595e05bde196b33a890602001610636565b6000610bc3611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311610c2c5750505091909252505081516040517f1a4d01d200000000000000000000000000000000000000000000000000000000815260048101869052600160248201526000604482018190529394509092915073ffffffffffffffffffffffffffffffffffffffff831690631a4d01d2906064016020604051808303816000875af1158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf2919061470f565b9050610cfc6121bc565b60208301516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d91919061470f565b9050836020015173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610dbb600090565b6009015460405160e083901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490526044016020604051808303816000875af1158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e559190614728565b506020808501516040805173ffffffffffffffffffffffffffffffffffffffff90921682529181018490529081018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a15050505050565b6000610ec4611c4c565b546040517f1a4d01d2000000000000000000000000000000000000000000000000000000008152600481018490526000602482018190526044820181905273ffffffffffffffffffffffffffffffffffffffff90921692508290631a4d01d2906064016020604051808303816000875af1158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a919061470f565b9050610f746121bc565b60008060018101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925073ffffffffffffffffffffffffffffffffffffffff169060009082906370a0823190602401602060405180830381865afa158015610fed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611011919061470f565b600984015490915061103d9073ffffffffffffffffffffffffffffffffffffffff8481169116836123f9565b60018301546040805173ffffffffffffffffffffffffffffffffffffffff90921682526020820186905281018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a1505050505050565b6000806110ad83611767565b91509150838160a00151101561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5374616b696e673a20616d6f756e7420746f6f20626967000000000000000000604482015260640161023c565b600061112c82848761244f565b9050611136611a05565b8251606083015160009161114991611526565b9050611156338387611d5c565b6000611160611c4c565b5473ffffffffffffffffffffffffffffffffffffffff1690506000611183611739565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff909116916000916112c591849163132c4feb9160048083019260209291908290030181865afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611222919061470f565b60038501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa158015611291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b5919061470f565b6112bf91906145b0565b8c6124bd565b9050848360030160008282546112db91906145b0565b92505081905550898760a0018181516112f491906145b0565b905250600283015464e8d4a510009061130c8b612155565b5161131791906145c3565b6113219190614609565b6060880181905260a088015160808901516040517fe8b7c95e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169363e8b7c95e9361139d938f9391929160040193845260208401929092526040830152606082015260800190565b600060405180830381600087803b1580156113b757600080fd5b505af11580156113cb573d6000803e3d6000fd5b505050506113fd3386836113df919061459d565b73ffffffffffffffffffffffffffffffffffffffff871691906123f9565b604080518b81526020810183905290810186905260608101879052899033907fc41873b026655739c834ac0fc390e515f2dcb3cf19938507067c2e31714b04959060800160405180910390a350505050505050505050565b600061145f611739565b60010154905090565b6000806114736121a9565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff9091169161151f91839163132c4feb916004808201926020929091908290030181865afa1580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611510919061470f565b83670de0b6b3a76400006124fe565b9250505090565b600080611531611739565b60028101549091501561156c578264e8d4a5100082600201548661155591906145c3565b61155f9190614609565b61156991906145b0565b91505b5092915050565b600081600111158015611587575060d08211155b611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f5374616b696e673a206475726174696f6e206d7573742062652062657477656560448201527f6e203120616e6420323038207765656b73000000000000000000000000000000606482015260840161023c565b61161b6121bc565b611623611a05565b6116313330856106b7611c4c565b600061163b611739565b9050600061164e85858460000154611ede565b9050600082600101548561166291906145c3565b61166c904361459d565b905061167a3387848461259a565b9350611687338386612033565b604080518781526020810184905290810186905260608101829052849033907ff943cf10ef4d1e3239f4716ddecdf546e8ba8ab0e41deafd9a71a99936827e459060800160405180910390a350505092915050565b6000806102e860017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776145b0565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610554565b6000806102e860017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea1276145b0565b61176f614496565b6117be6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810186905273ffffffffffffffffffffffffffffffffffffffff9091169150819062fdd58e90604401602060405180830381865afa158015611838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185c919061470f565b6001146118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5374616b696e673a2063616c6c6572206973206e6f74206f776e657200000000604482015260640161023c565b6040517fce325bf800000000000000000000000000000000000000000000000000000000815260048101859052819073ffffffffffffffffffffffffffffffffffffffff82169063ce325bf89060240160c060405180830381865afa158015611932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119569190614673565b9250826080015143116119eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f5374616b696e673a2052656465656d206e6f7420616c6c6f776564206265666f60448201527f7265207374616b696e672074696d650000000000000000000000000000000000606482015260840161023c565b6119f36121bc565b6119fc85612155565b93505050915091565b60055473ffffffffffffffffffffffffffffffffffffffff166000611a28611739565b9050816000611a35611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015611aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac5919061470f565b90506000611ad16121a9565b905083600401548373ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b47919061470f565b611b51919061459d565b8210158015611b605750600081115b15611c4557600084600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdb919061470f565b611be5919061459d565b611bef90846145b0565b90508460030154811115611c435781856003015482611c0e91906145b0565b611c1d9064e8d4a510006145c3565b611c279190614609565b8560020154611c36919061459d565b6002860155600385018190555b505b5050505050565b6000806102e860017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e6286145b0565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611d569085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261271c565b50505050565b6000611d6661282b565b60008381526007820160205260409020805491925090841115611de5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4d433a20616d6f756e7420746f6f206869676800000000000000000000000000604482015260640161023c565b611ded612859565b6001810154600683015482546000929164e8d4a5100091611e0e91906145c3565b611e189190614609565b611e2291906145b0565b9050611e2e8682612a58565b84826000016000828254611e4291906145b0565b90915550506006830154825464e8d4a5100091611e5e916145c3565b611e689190614609565b826001018190555084836008016000828254611e8491906145b0565b9091555050604051858152849073ffffffffffffffffffffffffffffffffffffffff8816907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689060200160405180910390a3505050505050565b600080611ef2670de0b6b3a7640000612b45565b90506000611eff85612b45565b90506000611f85611f5e83611f367fffffffffffffffffffffffffffffffff00000000000000000000000000000000821682612bb3565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690612bb3565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613005565b90506000611f9288612b45565b905061202761200082611fd887611fb086611f3689611f368f612b45565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690613281565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906136a8565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613c68565b98975050505050505050565b600061203d61282b565b60008381526007820160205260409020909150612058612859565b8054156120a2576001810154600683015482546000929164e8d4a510009161208091906145c3565b61208a9190614609565b61209491906145b0565b90506120a08682612a58565b505b838160000160008282546120b6919061459d565b90915550506006820154815464e8d4a51000916120d2916145c3565b6120dc9190614609565b6001820155836120ea61282b565b60080160008282546120fc919061459d565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b61215d614496565b600061216761282b565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b60006121b361282b565b60080154905090565b60006121c6611c4c565b90506000806121d3613d26565b9150915060008360040154826121e991906145b0565b11156102c9578254600484015460009173ffffffffffffffffffffffffffffffffffffffff1690630f6ba8e3906005870190869061222790876145b0565b6040518463ffffffff1660e01b81526004016122459392919061476d565b6040805180830381865afa158015612261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228591906147b3565b84546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690637e42fc0c906122eb90600090600190670de0b6b3a7640000908790600401614833565b602060405180830381865afa158015612308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232c919061470f565b600285015583546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637e42fc0c9061239690600190600090670de0b6b3a7640000908790600401614833565b602060405180830381865afa1580156123b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d7919061470f565b60038501556123eb600585018460026144b4565b505060048301819055505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526102c99084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611cd4565b8151600090819061245f90612b45565b9050600061246c84612b45565b9050600061247d8760a00151612b45565b90506124b261200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000871686612bb3565b979650505050505050565b600083831080156124ce5750600083115b1561156c576124f76120006124e286612b45565b611fb06124ee87612b45565b611f3687612b45565b9050610554565b60008061250a85612b45565b9050600061251785612b45565b9050600085156125525761254d7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683613281565b61255c565b61255c6001612b45565b9050600061256986612b45565b90506120276120007fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683612bb3565b6000806125a5611468565b905080600003612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5374616b696e673a2073686172652076616c75652073686f756c64206e6f742060448201527f6265206e756c6c00000000000000000000000000000000000000000000000000606482015260840161023c565b600064e8d4a51000612647611739565b6002015461265590876145c3565b61265f9190614609565b90506000600501546040517fa647e8ec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820189905260448201849052606482018790529091169063a647e8ec906084016020604051808303816000875af11580156126eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270f919061470f565b925050505b949350505050565b600061277e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613e439092919063ffffffff16565b905080516000148061279f57508080602001905181019061279f9190614728565b6102c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161023c565b6000806102e860017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f186145b0565b600061286361282b565b600581018054919250904311612877575050565b61287f613e52565b81600801546000036128915743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006128bb613ecf565b90506000670de0b6b3a76400008660000154836128d891906145c3565b6128e29190614609565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f19848860040154846129989190614609565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015612a0357600080fd5b505af1158015612a17573d6000803e3d6000fd5b505050506008860154612a2f8264e8d4a510006145c3565b612a399190614609565b8560010154612a48919061459d565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af4919061470f565b905080831115612b2457612b1f73ffffffffffffffffffffffffffffffffffffffff831685836123f9565b611d56565b611d5673ffffffffffffffffffffffffffffffffffffffff831685856123f9565b600081600003612b5757506000919050565b816000612b6382613f05565b90506070811015612b7c578060700382901b9150612b8f565b6070811115612b8f576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c811690829003612d335780617fff03612cb1577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c30575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003612c86575050508181176102e8565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b80617fff03612dbe577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003612d9157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e8565b6dffffffffffffffffffffffffffff608086901c166000839003612de55760019250612df7565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003612e1e5760019250612e30565b6e010000000000000000000000000000175b808202915081600003612e9a577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e8565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015612eff577c0100000000000000000000000000000000000000000000000000000000831015612ef857612ef383613f05565b612f02565b60e0612f02565b60e15b90506140708186011015612f1d576000945060009250612fc1565b6140e08186011015612f6057614070851015612f4257846140700383901c9250612f57565b614070851115612f5757614070850383901b92505b60009450612fc1565b61c0dd8186011115612f7a57617fff945060009250612fc1565b6070811115612f91576070810383901c9250612fa4565b6070811015612fa4578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b60006f80000000000000000000000000000000608083901c111561304a57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c811690819003613063575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361308a576001915061309c565b6e010000000000000000000000000000175b806000036130ae575060009392505050565b613fff8201600190811c9216158015613129576e01000000000000000000000000000082106130e357607182901b915061318d565b60006130ee83613f05565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b915061318d565b6e010000000000000000000000000000821061314b57607082901b915061318d565b600061315683613f05565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c908184816131b6576131b66145da565b048201901c905060018184816131ce576131ce6145da565b048201901c905060018184816131e6576131e66145da565b048201901c905060018184816131fe576131fe6145da565b048201901c90506001818481613216576132166145da565b048201901c9050600181848161322e5761322e6145da565b048201901c90506000818481613246576132466145da565b04905081811015613255578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b50919050565b6000617fff60f084811c8216919084901c8116908290036132d05780617fff03612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b80617fff03613357577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561332a57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e8565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003613425577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036133d657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e8565b6dffffffffffffffffffffffffffff608085901c16600082900361344c576001915061345e565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036134c65780156134c157600061348d82613f05565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6134db565b6e0100000000000000000000000000001760721b5b8181816134ea576134ea6145da565b04905080600003613525577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b6d100000000000000000000000000081101561354357613543614863565b60006e0800000000000000000000000000008210156135a3576e040000000000000000000000000000821015613598576e02000000000000000000000000000082101561359157607061359b565b607161359b565b60725b60ff166135ac565b6135ac82613f05565b9050836140710181860111156135ca57617fff945060009150613664565b83818601613ffc0110156135e5576000945060009150613664565b83818601613f8c011015613632578385613ffc011115613610578385613ffc010382901b9150613629565b8385613ffc01101561362957613ffc8585030382901c91505b60009450613664565b6070811115613645576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b6000617fff60f084811c8216919084901c81169082900361370c5780617fff03613702577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c865784925050506102e8565b84925050506102e8565b80617fff0361371f5783925050506102e8565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361375c576001935061376e565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036137ab57600194506137bd565b6e010000000000000000000000000000175b82600003613824577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146138145787613817565b60005b96505050505050506102e8565b8060000361387b577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146138145788613817565b84860382151585151503613a075760708113156138a157899750505050505050506102e8565b60008113156138b35790811c90613900565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156138ea57889750505050505050506102e8565b6000811215613900578060000384901c93508596505b928101926e0200000000000000000000000000008410613926576001968701969390931c925b86617fff0361398a578461395a577f7fff00000000000000000000000000000000000000000000000000000000000061397c565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e8565b6e0100000000000000000000000000008410156139aa57600096506139be565b6dffffffffffffffffffffffffffff841693505b83607088901b866139d05760006139e2565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e8565b6000811315613a2257600184901b9350600187039650613a39565b6000811215613a3957600182901b91506001860396505b6070811315613a4b5760019150613ad4565b6001811315613a68576001810360018303901c6001019150613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613a995760019350613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613ad4576001816000030360018503901c60010193505b818410613ae5578184039350613aee565b83820393508294505b83600003613b075750600096506102e895505050505050565b6000613b1285613f05565b905080607103613b3e57600185901c6dffffffffffffffffffffffffffff169450600188019750613bb9565b6070811015613ba557607081900380891115613b74578086901b6dffffffffffffffffffffffffffff1695508089039850613b9f565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613bb9565b6dffffffffffffffffffffffffffff851694505b87617fff03613c1e5785613bed577f7fff000000000000000000000000000000000000000000000000000000000000613c0f565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e8565b84607089901b87613c30576000613c42565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e8565b6000617fff60f083901c16613fff811015613c865750600092915050565b6f80000000000000000000000000000000608084901c10613ca657600080fd5b6140fe811115613cb557600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015613cf15761406f8290031c610554565b61406f821115610554577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b613d2e614496565b600080613d39611c4c565b54604080517f4469e30e000000000000000000000000000000000000000000000000000000008152815173ffffffffffffffffffffffffffffffffffffffff90931693508392634469e30e926004808401939192918290030181865afa158015613da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dcb91906147b3565b92508073ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3c919061470f565b9150509091565b60606127148484600085613fb5565b6000613e5c61282b565b90506000613e686140c3565b905060008260030154821115613e945760028301546003840154613e8c90846145b0565b119050613ead565b8260020154828460030154613ea991906145b0565b1190505b80156102c957613ec18360010154836140e8565b600184015550600390910155565b600080613eda61282b565b6005015490506000613eea61282b565b60010154905080613efb83436145b0565b61151f91906145c3565b6000808211613f1357600080fd5b60007001000000000000000000000000000000008310613f3557608092831c92015b680100000000000000008310613f4d57604092831c92015b6401000000008310613f6157602092831c92015b620100008310613f7357601092831c92015b6101008310613f8457600892831c92015b60108310613f9457600492831c92015b60048310613fa457600292831c92015b600283106102e85760010192915050565b606082471015614047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161023c565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161407091906148b6565b60006040518083038185875af1925050503d80600081146140ad576040519150601f19603f3d011682016040523d82523d6000602084013e6140b2565b606091505b509150915061270f87838387614217565b60006102d8816001015473ffffffffffffffffffffffffffffffffffffffff166142b7565b6000806140f484612b45565b9050600061410184612b45565b90506000614116670e92596fd6290000612b45565b9050600061412b670de0b6b3a7640000612b45565b905060006141af6141866141617fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687614424565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906136a8565b90506141e461200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687612bb3565b9550674563918244f4000086118061420357506702c68af0bb14000086105b1561420c578795505b505050505092915050565b606083156142ad5782516000036142a65773ffffffffffffffffffffffffffffffffffffffff85163b6142a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161023c565b5081612714565b6127148383614452565b6000806142c2611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161432b575050505050815250509050614351600090565b6001015473ffffffffffffffffffffffffffffffffffffffff90811690841603614381578060400151915061327b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461441a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e00000000000000604482015260640161023c565b6060015192915050565b6000610554837f800000000000000000000000000000000000000000000000000000000000000084186136a8565b8151156144625781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023c91906148d2565b60405180604001604052806002906020820280368337509192915050565b82600281019282156144e2579160200282015b828111156144e25782518255916020019190600101906144c7565b506144ee9291506144f2565b5090565b5b808211156144ee57600081556001016144f3565b60006020828403121561451957600080fd5b5035919050565b60008060006060848603121561453557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561455f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e8576102e861456e565b818103818111156102e8576102e861456e565b80820281158282048414176102e8576102e861456e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261463f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060c0828403121561468557600080fd5b60405160c0810181811067ffffffffffffffff821117156146a8576146a8614644565b604052825173ffffffffffffffffffffffffffffffffffffffff811681146146cf57600080fd5b808252506020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b60006020828403121561472157600080fd5b5051919050565b60006020828403121561473a57600080fd5b8151801515811461055457600080fd5b8060005b6002811015611d5657815184526020938401939091019060010161474e565b60a08101818560005b6002811015614795578154835260209092019160019182019101614776565b5050506147a5604083018561474a565b826080830152949350505050565b6000604082840312156147c557600080fd5b82601f8301126147d457600080fd5b6040516040810181811067ffffffffffffffff821117156147f7576147f7614644565b806040525080604084018581111561480e57600080fd5b845b81811015614828578051835260209283019201614810565b509195945050505050565b600f85810b825284900b60208201526040810183905260a0810161485a606083018461474a565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156148ad578181015183820152602001614895565b50506000910152565b600082516148c8818460208701614892565b9190910192915050565b60208152600082518060208401526148f1816040850160208701614892565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220cc0627f88619f84cf69854613f1ab5b9103b4afb0f88fe5674d35c9b72e8548264736f6c63430008130033", "nonce": "0x9", "accessList": [] }, @@ -190,7 +190,7 @@ "isFixedGasLimit": false }, { - "hash": "0x000355529c4f90bba8ada03704faef6a7823e6334651c99c0eccba10c240baf3", + "hash": "0x38d1483dbf166d48f1de8ee830b0c7ac561adb8004a5a459594f627ec8e84aea", "transactionType": "CREATE", "contractName": "StakingFormulasFacet", "contractAddress": "0x6169444aE7A834646f31f2179dbe9153C2Cfe79D", @@ -201,7 +201,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x1ad02e", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506117cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063a609d91211610050578063a609d912146100a4578063a64154f0146100b7578063d5a8cf64146100b757600080fd5b80635b374a401461006c578063629056cb14610091575b600080fd5b61007f61007a36600461159b565b6100ca565b60405190815260200160405180910390f35b61007f61009f36600461168f565b6100e1565b61007f6100b236600461159b565b6100ee565b61007f6100c536600461168f565b6100fb565b60006100d7848484610103565b90505b9392505050565b60006100d7848484610258565b60006100d78484846102c6565b6000816100d7565b600080610117670de0b6b3a764000061030e565b905060006101248561030e565b905060006101aa6101838361015b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082168261037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166107d0565b905060006101b78861030e565b905061024c610225826101fd876101d58661015b8961015b8f61030e565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610a46565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610e6d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001661142d565b98975050505050505050565b815160009081906102689061030e565b905060006102758461030e565b905060006102868760a0015161030e565b90506102bb610225826101d57fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168661037c565b979650505050505050565b600083831080156102d75750600083115b15610307576103006102256102eb8661030e565b6101d56102f78761030e565b61015b8761030e565b90506100da565b5092915050565b60008160000361032057506000919050565b81600061032c826114eb565b90506070811015610345578060700382901b9150610358565b6070811115610358576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036104fc5780617fff0361047a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036103f9575050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f80000000000000000000000000000000000000000000000000000000000000000361044f575050508181176107ca565b507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b80617fff03610587577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361055a57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186107ca565b6dffffffffffffffffffffffffffff608086901c1660008390036105ae57600192506105c0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c1660008390036105e757600192506105f9565b6e010000000000000000000000000000175b808202915081600003610663577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506107ca565b9282019260007c02000000000000000000000000000000000000000000000000000000008310156106c8577c01000000000000000000000000000000000000000000000000000000008310156106c1576106bc836114eb565b6106cb565b60e06106cb565b60e15b905061407081860110156106e657600094506000925061078a565b6140e081860110156107295761407085101561070b57846140700383901c9250610720565b61407085111561072057614070850383901b92505b6000945061078a565b61c0dd818601111561074357617fff94506000925061078a565b607081111561075a576070810383901c925061076d565b607081101561076d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b60006f80000000000000000000000000000000608083901c111561081557507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c81169081900361082e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036108555760019150610867565b6e010000000000000000000000000000175b80600003610879575060009392505050565b613fff8201600190811c92161580156108f4576e01000000000000000000000000000082106108ae57607182901b9150610958565b60006108b9836114eb565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b9150610958565b6e010000000000000000000000000000821061091657607082901b9150610958565b6000610921836114eb565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c9081848161098157610981611739565b048201901c9050600181848161099957610999611739565b048201901c905060018184816109b1576109b1611739565b048201901c905060018184816109c9576109c9611739565b048201901c905060018184816109e1576109e1611739565b048201901c905060018184816109f9576109f9611739565b048201901c90506000818481610a1157610a11611739565b04905081811015610a20578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b6000617fff60f084811c8216919084901c811690829003610a955780617fff036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b80617fff03610b1c577dffffffffffffffffffffffffffff00000000000000000000000000000000841615610aef57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166107ca565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610bea577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b9b57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176107ca565b6dffffffffffffffffffffffffffff608085901c166000829003610c115760019150610c23565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003610c8b578015610c86576000610c52826114eb565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b610ca0565b6e0100000000000000000000000000001760721b5b818181610caf57610caf611739565b04905080600003610cea577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b6d1000000000000000000000000000811015610d0857610d08611768565b60006e080000000000000000000000000000821015610d68576e040000000000000000000000000000821015610d5d576e020000000000000000000000000000821015610d56576070610d60565b6071610d60565b60725b60ff16610d71565b610d71826114eb565b905083614071018186011115610d8f57617fff945060009150610e29565b83818601613ffc011015610daa576000945060009150610e29565b83818601613f8c011015610df7578385613ffc011115610dd5578385613ffc010382901b9150610dee565b8385613ffc011015610dee57613ffc8585030382901c91505b60009450610e29565b6070811115610e0a576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506107ca565b6000617fff60f084811c8216919084901c811690829003610ed15780617fff03610ec7577fffffffffffffffffffffffffffffffff000000000000000000000000000000008085169086160361044f5784925050506107ca565b84925050506107ca565b80617fff03610ee45783925050506107ca565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f215760019350610f33565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610f705760019450610f82565b6e010000000000000000000000000000175b82600003610fe9577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014610fd95787610fdc565b60005b96505050505050506107ca565b80600003611040577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014610fd95788610fdc565b848603821515851515036111cc57607081131561106657899750505050505050506107ca565b60008113156110785790811c906110c5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156110af57889750505050505050506107ca565b60008112156110c5578060000384901c93508596505b928101926e02000000000000000000000000000084106110eb576001968701969390931c925b86617fff0361114f578461111f577f7fff000000000000000000000000000000000000000000000000000000000000611141565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506107ca565b6e01000000000000000000000000000084101561116f5760009650611183565b6dffffffffffffffffffffffffffff841693505b83607088901b866111955760006111a7565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506107ca565b60008113156111e757600184901b93506001870396506111fe565b60008112156111fe57600182901b91506001860396505b60708113156112105760019150611299565b600181131561122d576001810360018303901c6001019150611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561125e5760019350611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611299576001816000030360018503901c60010193505b8184106112aa5781840393506112b3565b83820393508294505b836000036112cc5750600096506107ca95505050505050565b60006112d7856114eb565b90508060710361130357600185901c6dffffffffffffffffffffffffffff16945060018801975061137e565b607081101561136a57607081900380891115611339578086901b6dffffffffffffffffffffffffffff1695508089039850611364565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b5061137e565b6dffffffffffffffffffffffffffff851694505b87617fff036113e357856113b2577f7fff0000000000000000000000000000000000000000000000000000000000006113d4565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506107ca565b84607089901b876113f5576000611407565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506107ca565b6000617fff60f083901c16613fff81101561144b5750600092915050565b6f80000000000000000000000000000000608084901c1061146b57600080fd5b6140fe81111561147a57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156114b65761406f8290031c6100da565b61406f8211156100da577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60008082116114f957600080fd5b6000700100000000000000000000000000000000831061151b57608092831c92015b68010000000000000000831061153357604092831c92015b640100000000831061154757602092831c92015b62010000831061155957601092831c92015b610100831061156a57600892831c92015b6010831061157a57600492831c92015b6004831061158a57600292831c92015b600283106107ca5760010192915050565b6000806000606084860312156115b057600080fd5b505081359360208301359350604090920135919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611619576116196115c7565b60405290565b600082601f83011261163057600080fd5b6040516040810181811067ffffffffffffffff82111715611653576116536115c7565b806040525080604084018581111561166a57600080fd5b845b8181101561168457803583526020928301920161166c565b509195945050505050565b60008060008385036101208112156116a657600080fd5b60c08112156116b457600080fd5b506116bd6115f6565b843573ffffffffffffffffffffffffffffffffffffffff811681146116e157600080fd5b808252506020850135602082015260408501356040820152606085013560608201526080850135608082015260a085013560a0820152809350506117288560c0860161161f565b915061010084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220f0f588118bfc2b150e274ec38c4b314340292c22b57473c2624ac868e3025a4a64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b506117cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063a609d91211610050578063a609d912146100a4578063a64154f0146100b7578063d5a8cf64146100b757600080fd5b80635b374a401461006c578063629056cb14610091575b600080fd5b61007f61007a36600461159b565b6100ca565b60405190815260200160405180910390f35b61007f61009f36600461168f565b6100e1565b61007f6100b236600461159b565b6100ee565b61007f6100c536600461168f565b6100fb565b60006100d7848484610103565b90505b9392505050565b60006100d7848484610258565b60006100d78484846102c6565b6000816100d7565b600080610117670de0b6b3a764000061030e565b905060006101248561030e565b905060006101aa6101838361015b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082168261037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166107d0565b905060006101b78861030e565b905061024c610225826101fd876101d58661015b8961015b8f61030e565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610a46565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610e6d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001661142d565b98975050505050505050565b815160009081906102689061030e565b905060006102758461030e565b905060006102868760a0015161030e565b90506102bb610225826101d57fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168661037c565b979650505050505050565b600083831080156102d75750600083115b15610307576103006102256102eb8661030e565b6101d56102f78761030e565b61015b8761030e565b90506100da565b5092915050565b60008160000361032057506000919050565b81600061032c826114eb565b90506070811015610345578060700382901b9150610358565b6070811115610358576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036104fc5780617fff0361047a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036103f9575050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f80000000000000000000000000000000000000000000000000000000000000000361044f575050508181176107ca565b507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b80617fff03610587577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361055a57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186107ca565b6dffffffffffffffffffffffffffff608086901c1660008390036105ae57600192506105c0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c1660008390036105e757600192506105f9565b6e010000000000000000000000000000175b808202915081600003610663577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506107ca565b9282019260007c02000000000000000000000000000000000000000000000000000000008310156106c8577c01000000000000000000000000000000000000000000000000000000008310156106c1576106bc836114eb565b6106cb565b60e06106cb565b60e15b905061407081860110156106e657600094506000925061078a565b6140e081860110156107295761407085101561070b57846140700383901c9250610720565b61407085111561072057614070850383901b92505b6000945061078a565b61c0dd818601111561074357617fff94506000925061078a565b607081111561075a576070810383901c925061076d565b607081101561076d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b60006f80000000000000000000000000000000608083901c111561081557507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c81169081900361082e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036108555760019150610867565b6e010000000000000000000000000000175b80600003610879575060009392505050565b613fff8201600190811c92161580156108f4576e01000000000000000000000000000082106108ae57607182901b9150610958565b60006108b9836114eb565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b9150610958565b6e010000000000000000000000000000821061091657607082901b9150610958565b6000610921836114eb565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c9081848161098157610981611739565b048201901c9050600181848161099957610999611739565b048201901c905060018184816109b1576109b1611739565b048201901c905060018184816109c9576109c9611739565b048201901c905060018184816109e1576109e1611739565b048201901c905060018184816109f9576109f9611739565b048201901c90506000818481610a1157610a11611739565b04905081811015610a20578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b6000617fff60f084811c8216919084901c811690829003610a955780617fff036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b80617fff03610b1c577dffffffffffffffffffffffffffff00000000000000000000000000000000841615610aef57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166107ca565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610bea577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b9b57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176107ca565b6dffffffffffffffffffffffffffff608085901c166000829003610c115760019150610c23565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003610c8b578015610c86576000610c52826114eb565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b610ca0565b6e0100000000000000000000000000001760721b5b818181610caf57610caf611739565b04905080600003610cea577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b6d1000000000000000000000000000811015610d0857610d08611768565b60006e080000000000000000000000000000821015610d68576e040000000000000000000000000000821015610d5d576e020000000000000000000000000000821015610d56576070610d60565b6071610d60565b60725b60ff16610d71565b610d71826114eb565b905083614071018186011115610d8f57617fff945060009150610e29565b83818601613ffc011015610daa576000945060009150610e29565b83818601613f8c011015610df7578385613ffc011115610dd5578385613ffc010382901b9150610dee565b8385613ffc011015610dee57613ffc8585030382901c91505b60009450610e29565b6070811115610e0a576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506107ca565b6000617fff60f084811c8216919084901c811690829003610ed15780617fff03610ec7577fffffffffffffffffffffffffffffffff000000000000000000000000000000008085169086160361044f5784925050506107ca565b84925050506107ca565b80617fff03610ee45783925050506107ca565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f215760019350610f33565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610f705760019450610f82565b6e010000000000000000000000000000175b82600003610fe9577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014610fd95787610fdc565b60005b96505050505050506107ca565b80600003611040577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014610fd95788610fdc565b848603821515851515036111cc57607081131561106657899750505050505050506107ca565b60008113156110785790811c906110c5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156110af57889750505050505050506107ca565b60008112156110c5578060000384901c93508596505b928101926e02000000000000000000000000000084106110eb576001968701969390931c925b86617fff0361114f578461111f577f7fff000000000000000000000000000000000000000000000000000000000000611141565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506107ca565b6e01000000000000000000000000000084101561116f5760009650611183565b6dffffffffffffffffffffffffffff841693505b83607088901b866111955760006111a7565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506107ca565b60008113156111e757600184901b93506001870396506111fe565b60008112156111fe57600182901b91506001860396505b60708113156112105760019150611299565b600181131561122d576001810360018303901c6001019150611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561125e5760019350611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611299576001816000030360018503901c60010193505b8184106112aa5781840393506112b3565b83820393508294505b836000036112cc5750600096506107ca95505050505050565b60006112d7856114eb565b90508060710361130357600185901c6dffffffffffffffffffffffffffff16945060018801975061137e565b607081101561136a57607081900380891115611339578086901b6dffffffffffffffffffffffffffff1695508089039850611364565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b5061137e565b6dffffffffffffffffffffffffffff851694505b87617fff036113e357856113b2577f7fff0000000000000000000000000000000000000000000000000000000000006113d4565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506107ca565b84607089901b876113f5576000611407565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506107ca565b6000617fff60f083901c16613fff81101561144b5750600092915050565b6f80000000000000000000000000000000608084901c1061146b57600080fd5b6140fe81111561147a57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156114b65761406f8290031c6100da565b61406f8211156100da577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60008082116114f957600080fd5b6000700100000000000000000000000000000000831061151b57608092831c92015b68010000000000000000831061153357604092831c92015b640100000000831061154757602092831c92015b62010000831061155957601092831c92015b610100831061156a57600892831c92015b6010831061157a57600492831c92015b6004831061158a57600292831c92015b600283106107ca5760010192915050565b6000806000606084860312156115b057600080fd5b505081359360208301359350604090920135919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611619576116196115c7565b60405290565b600082601f83011261163057600080fd5b6040516040810181811067ffffffffffffffff82111715611653576116536115c7565b806040525080604084018581111561166a57600080fd5b845b8181101561168457803583526020928301920161166c565b509195945050505050565b60008060008385036101208112156116a657600080fd5b60c08112156116b457600080fd5b506116bd6115f6565b843573ffffffffffffffffffffffffffffffffffffffff811681146116e157600080fd5b808252506020850135602082015260408501356040820152606085013560608201526080850135608082015260a085013560a0820152809350506117288560c0860161161f565b915061010084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122088c9d30227f4141ba328be80dd8b5906831708d309c476ca06560fbc6945809e64736f6c63430008130033", "nonce": "0xa", "accessList": [] }, @@ -209,7 +209,7 @@ "isFixedGasLimit": false }, { - "hash": "0xba61e30c4931af6515ea897eddf6276317cab1024e61182b468d1e69c9582773", + "hash": "0x29019680ed947c568686b9f3f72d39ca5e92073742080509a5fedee30446bf2b", "transactionType": "CREATE", "contractName": "CreditNftManagerFacet", "contractAddress": "0x38963B77678eb09f9EcC19F42f0371ec3C3c9b79", @@ -220,7 +220,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x496c0a", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506142e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063b5a3ff8711610097578063d2bdc9e011610066578063d2bdc9e014610204578063d3918c1d14610217578063efa0982f1461021f578063f23a6e611461023257600080fd5b8063b5a3ff8714610189578063b6170dcc1461019c578063bc197c81146101a4578063be5c6872146101f157600080fd5b80635469bff1116100d35780635469bff11461013d578063585765081461015057806371fc117114610163578063a35e50bc1461017657600080fd5b80630d65f47f146100fa5780632565aa42146101205780634e7c028d1461012a575b600080fd5b61010d610108366004613fc7565b610245565b6040519081526020015b60405180910390f35b6101286102e6565b005b610128610138366004613fe9565b610344565b61010d61014b366004613fc7565b61040b565b61010d61015e366004613fe9565b610466565b610128610171366004613fe9565b610471565b61010d610184366004613fe9565b610530565b61010d610197366004613fc7565b61053b565b61010d610596565b6101c06101b23660046140b4565b600098975050505050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610117565b61010d6101ff366004613fe9565b6105a5565b61010d610212366004613fe9565b6105b0565b61010d6105bb565b61010d61022d366004613fe9565b6105c5565b6101c061024036600461416f565b610655565b6040517f0d65f47f0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90630d65f47f906044015b602060405180830381865af41580156102b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102dd91906141e7565b90505b92915050565b735d00797f4d5a2eed04d75a8d3cff1721e859b35d632565aa426040518163ffffffff1660e01b815260040160006040518083038186803b15801561032a57600080fd5b505af415801561033e573d6000803e3d6000fd5b50505050565b61036e7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b6103ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61040881610695565b50565b6040517f5469bff10000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90635469bff19060440161029c565b60006102e0826106eb565b61049b7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b610527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b610408816109a9565b60006102e0826109ff565b6040517fb5a3ff870000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063b5a3ff879060440161029c565b60006105a0610cc2565b905090565b60006102e082610cd5565b60006102e082610ce3565b60006105a0610cee565b6040517fefa0982f00000000000000000000000000000000000000000000000000000000815260048101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063efa0982f90602401602060405180830381865af4158015610631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e091906141e7565b6000610665878787878787610d01565b90505b9695505050505050565b60006102dd82610680610d61565b60008681526020919091526040902090610d8f565b7f495d4b828a3c7e7928af095e028963932f9b19f26d4ff33cc8e066e7b350fa1b816106bf610dbe565b600301546040805192835260208301919091520160405180910390a1806106e4610dbe565b6003015550565b6000806106f6610dec565b9050670de0b6b3a7640000811061078e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f656469740000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b1580156107fc57600080fd5b505af1158015610810573d6000803e3d6000fd5b5050505061081c610dbe565b6004015460ff1661086c576000610831610dbe565b6004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155439082015560009055505b60006108838661087a610dbe565b60010154610e11565b60018401546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810189905291925073ffffffffffffffffffffffffffffffffffffffff16906379cc679090604401600060405180830381600087803b1580156108f857600080fd5b505af115801561090c573d6000803e3d6000fd5b50505050600e8301546040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b50939998505050505050505050565b7f628c688556988d19256692ff656a1966f574832b813a2d20382b5cf38f839b5e816109d3610dbe565b600201546040805192835260208301919091520160405180910390a1806109f8610dbe565b6002015550565b600080610a0a610dec565b9050670de0b6b3a76400008110610aa3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f65646974204e465400000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff90921691829163f7ffe84a91600480830192600092919082900301818387803b158015610b1057600080fd5b505af1158015610b24573d6000803e3d6000fd5b505050506000610b32610dbe565b600481015490915060ff16610b7b576004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091554390820155600081555b6000610b86866110ee565b90506000600101546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810188905273ffffffffffffffffffffffffffffffffffffffff909116906379cc679090604401600060405180830381600087803b158015610bfd57600080fd5b505af1158015610c11573d6000803e3d6000fd5b505050506000826002015443610c27919061422f565b6040517f91623d49000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906391623d4990606401600060405180830381600087803b158015610c9f57600080fd5b505af1158015610cb3573d6000803e3d6000fd5b50929998505050505050505050565b6000610ccc610dbe565b60020154905090565b60006102e08261087a610dbe565b60006102e0826110ee565b6000610cf8610dbe565b60030154905090565b6000610d2d7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b88610672565b15610d5957507ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97610668565b506000610668565b6000806102e060017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77614242565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156102dd565b6000806102e060017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297614242565b60006105a0816001015473ffffffffffffffffffffffffffffffffffffffff1661148d565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa158015610e90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb491906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2391906141e7565b10610f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f484947480060448201526064016103f6565b6000610fd9610fa0670de0b6b3a76400006115fe565b610fb1610fab611671565b546115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061169f565b90506000610fe6436115fe565b90506000610ff782610fb18a6115fe565b9050600061107c61105561102c7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516611b20565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000871690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f48565b905060006110df6110b8836110908e6115fe565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f7c565b9b9a5050505050505050505050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119191906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120091906141e7565b1061128d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f474800000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600061129960016115fe565b905060006113148373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130f91906141e7565b6115fe565b905060006113b661138d8760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061169f565b905060006114156113e97fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168461203b565b6110907fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168561203b565b905060006114457fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168361169f565b905061147f6110b86114568c6115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611b50565b9a9950505050505050505050565b600080611498612069565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311611501575050505050815250509050611527600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361155757806040015191506115f8565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146115f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016103f6565b806060015191505b50919050565b60008160000361161057506000919050565b81600061161c82612097565b90506070811015611635578060700382901b9150611648565b6070811115611648576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b6000806102e060017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665614242565b6000617fff60f084811c8216919084901c81169082900361171b5780617fff036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b80617fff036117a2577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561177557507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e0565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611870577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361182157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e0565b6dffffffffffffffffffffffffffff608085901c16600082900361189757600191506118a9565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361191157801561190c5760006118d882612097565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611926565b6e0100000000000000000000000000001760721b5b81818161193557611935614255565b0490508060000361199d577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e0565b6d10000000000000000000000000008110156119bb576119bb614284565b60006e080000000000000000000000000000821015611a1b576e040000000000000000000000000000821015611a10576e020000000000000000000000000000821015611a09576070611a13565b6071611a13565b60725b60ff16611a24565b611a2482612097565b905083614071018186011115611a4257617fff945060009150611adc565b83818601613ffc011015611a5d576000945060009150611adc565b83818601613f8c011015611aaa578385613ffc011115611a88578385613ffc010382901b9150611aa1565b8385613ffc011015611aa157613ffc8585030382901c91505b60009450611adc565b6070811115611abd576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611b2e83612147565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003611ca35780617fff03611c4e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611bcd575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611c23575050508181176102e0565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b80617fff03611d2e577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d0157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e0565b6dffffffffffffffffffffffffffff608086901c166000839003611d555760019250611d67565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611d8e5760019250611da0565b6e010000000000000000000000000000175b808202915081600003611ddd577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611e42577c0100000000000000000000000000000000000000000000000000000000831015611e3b57611e3683612097565b611e45565b60e0611e45565b60e15b90506140708186011015611e60576000945060009250611f04565b6140e08186011015611ea357614070851015611e8557846140700383901c9250611e9a565b614070851115611e9a57614070850383901b92505b60009450611f04565b61c0dd8186011115611ebd57617fff945060009250611f04565b6070811115611ed4576070810383901c9250611ee7565b6070811015611ee7578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611f77837f3fff71547652b82fe1777d0ffda0d23a00000000000000000000000000000000611b50565b6123fc565b6000617fff60f083901c16613fff811015611f9a5750600092915050565b6f80000000000000000000000000000000608084901c10611fba57600080fd5b6140fe811115611fc957600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120055761406f8290031c612034565b61406f821115612034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60006102dd837f80000000000000000000000000000000000000000000000000000000000000008418613a07565b6000806102e060017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628614242565b60008082116120a557600080fd5b600070010000000000000000000000000000000083106120c757608092831c92015b6801000000000000000083106120df57604092831c92015b64010000000083106120f357602092831c92015b62010000831061210557601092831c92015b610100831061211657600892831c92015b6010831061212657600492831c92015b6004831061213657600292831c92015b600283106102e05760010192915050565b60006f80000000000000000000000000000000608083901c111561218c57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff000000000000000000000000000000000000000000000000000000000000036121dd57506000919050565b617fff60f083901c8116908190036121f6575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361221d576001915061222f565b6e010000000000000000000000000000175b8060000361226057507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff85106122a35750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00184016122ed565b600192506e01000000000000000000000000000084106122d05784613ffe039050600f84901b93506122ed565b60006122db85612097565b607f8190039590951b9461406d039150505b836f800000000000000000000000000000000361232f57821561230e576001015b600061231982612097565b60700390508082901b91508083039250506123a6565b60008361233d576000612340565b60015b60ff1690505b6e0100000000000000000000000000008210156123a45793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b9082180190612346565b505b806dffffffffffffffffffffffffffff16607083901b846123c85760006123da565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff16908214801561244157508015155b1561247057507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d8211156124b157826124a5577f7fff0000000000000000000000000000000000000000000000000000000000006124a8565b60005b95945050505050565b613f7f8210156124e557507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b816000036124f65760019150612508565b6e010000000000000000000000000000175b613fef82111561253b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b61254d565b613fef82101561254d57613fef8290031c5b82801561256b575071406e0000000000000000000000000000000081115b1561257b57506000949350505050565b8215801561259a5750713fffffffffffffffffffffffffffffffffff81115b156125c957507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c8380156125ec57508115155b156125f8579019906001015b6f80000000000000000000000000000000828116156126285770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f40000000000000000000000000000000831615612657577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f20000000000000000000000000000000831615612686577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f100000000000000000000000000000008316156126b55770010b5586cf9890f6298b92b71842a983630260801c5b6f080000000000000000000000000000008316156126e4577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561271357700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156127425770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f0100000000000000000000000000000083161561277157700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e80000000000000000000000000000083161561279f5770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e4000000000000000000000000000008316156127cd577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e2000000000000000000000000000008316156127fb57700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615612829577001000b175effdc76ba38e31671ca9397250260801c5b6e08000000000000000000000000000083161561285757700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156128855770010002c5cc37da9491d0985c348c68e7b30260801c5b6e0200000000000000000000000000008316156128b3577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156128e15770010000b17255775c040618bf4a4ade83fc0260801c5b6d800000000000000000000000000083161561290e577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d400000000000000000000000000083161561293b57700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156129685770010000162e43f4f831060e02d839a9d16d0260801c5b6d100000000000000000000000000083161561299557700100000b1721bcfc99d9f890ea069117630260801c5b6d08000000000000000000000000008316156129c25770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d04000000000000000000000000008316156129ef577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d0200000000000000000000000000831615612a1c57700100000162e430e5a18f6119e3c02282a50260801c5b6d0100000000000000000000000000831615612a49577001000000b1721835514b86e6d96efd1bfe0260801c5b6c80000000000000000000000000831615612a7557700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c40000000000000000000000000831615612aa15770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615612acd577001000000162e42fff037df38aa2b219f060260801c5b6c10000000000000000000000000831615612af95770010000000b17217fba9c739aa5819f44f90260801c5b6c08000000000000000000000000831615612b25577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c04000000000000000000000000831615612b5157700100000002c5c85fe31f35a6a30da1be500260801c5b6c02000000000000000000000000831615612b7d5770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615612ba957700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615612bd45770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615612bff577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615612c2a57700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615612c55577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615612c8057700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615612cab5770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615612cd6577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615612d015770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615612d2b577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615612d5557700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615612d7f5770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615612da957700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615612dd35770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615612dfd577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615612e2757700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615612e51577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615612e7a57700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615612ea35770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615612ecc577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615612ef55770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615612f1e577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615612f4757700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615612f705770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615612f9957700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615612fc15770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615612fe9577001000000000000002c5c85fdf473de6eca0260801c5b6820000000000000000083161561301157700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615613039577001000000000000000b17217f7d1cf79afa0260801c5b6808000000000000000083161561306157700100000000000000058b90bfbe8e7bcd6d0260801c5b680400000000000000008316156130895770010000000000000002c5c85fdf473de6b20260801c5b680200000000000000008316156130b1577001000000000000000162e42fefa39ef3580260801c5b680100000000000000008316156130d95770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615613100577001000000000000000058b90bfbe8e7bcd50260801c5b67400000000000000083161561312757700100000000000000002c5c85fdf473de6a0260801c5b67200000000000000083161561314e5770010000000000000000162e42fefa39ef340260801c5b67100000000000000083161561317557700100000000000000000b17217f7d1cf7990260801c5b67080000000000000083161561319c5770010000000000000000058b90bfbe8e7bcc0260801c5b6704000000000000008316156131c3577001000000000000000002c5c85fdf473de50260801c5b6702000000000000008316156131ea57700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615613211577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561323757700100000000000000000058b90bfbe8e7bb0260801c5b664000000000000083161561325d5770010000000000000000002c5c85fdf473dd0260801c5b6620000000000000831615613283577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156132a95770010000000000000000000b17217f7d1cf60260801c5b66080000000000008316156132cf577001000000000000000000058b90bfbe8e7a0260801c5b66040000000000008316156132f557700100000000000000000002c5c85fdf473c0260801c5b660200000000000083161561331b5770010000000000000000000162e42fefa39d0260801c5b660100000000000083161561334157700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156133665770010000000000000000000058b90bfbe8e60260801c5b6540000000000083161561338b577001000000000000000000002c5c85fdf4720260801c5b652000000000008316156133b057700100000000000000000000162e42fefa380260801c5b651000000000008316156133d5577001000000000000000000000b17217f7d1b0260801c5b650800000000008316156133fa57700100000000000000000000058b90bfbe8d0260801c5b6504000000000083161561341f5770010000000000000000000002c5c85fdf460260801c5b65020000000000831615613444577001000000000000000000000162e42fefa20260801c5b650100000000008316156134695770010000000000000000000000b17217f7d00260801c5b64800000000083161561348d577001000000000000000000000058b90bfbe70260801c5b6440000000008316156134b157700100000000000000000000002c5c85fdf30260801c5b6420000000008316156134d55770010000000000000000000000162e42fef90260801c5b6410000000008316156134f957700100000000000000000000000b17217f7c0260801c5b64080000000083161561351d5770010000000000000000000000058b90bfbd0260801c5b640400000000831615613541577001000000000000000000000002c5c85fde0260801c5b64020000000083161561356557700100000000000000000000000162e42fee0260801c5b640100000000831615613589577001000000000000000000000000b17217f60260801c5b63800000008316156135ac57700100000000000000000000000058b90bfa0260801c5b63400000008316156135cf5770010000000000000000000000002c5c85fc0260801c5b63200000008316156135f2577001000000000000000000000000162e42fd0260801c5b63100000008316156136155770010000000000000000000000000b17217e0260801c5b6308000000831615613638577001000000000000000000000000058b90be0260801c5b630400000083161561365b57700100000000000000000000000002c5c85e0260801c5b630200000083161561367e5770010000000000000000000000000162e42e0260801c5b63010000008316156136a157700100000000000000000000000000b172160260801c5b628000008316156136c35770010000000000000000000000000058b90a0260801c5b624000008316156136e5577001000000000000000000000000002c5c840260801c5b6220000083161561370757700100000000000000000000000000162e410260801c5b62100000831615613729577001000000000000000000000000000b17200260801c5b6208000083161561374b57700100000000000000000000000000058b8f0260801c5b6204000083161561376d5770010000000000000000000000000002c5c70260801c5b6202000083161561378f577001000000000000000000000000000162e30260801c5b620100008316156137b15770010000000000000000000000000000b1710260801c5b6180008316156137d2577001000000000000000000000000000058b80260801c5b6140008316156137f357700100000000000000000000000000002c5b0260801c5b6120008316156138145770010000000000000000000000000000162d0260801c5b61100083161561383557700100000000000000000000000000000b160260801c5b6108008316156138565770010000000000000000000000000000058a0260801c5b610400831615613877577001000000000000000000000000000002c40260801c5b610200831615613898577001000000000000000000000000000001610260801c5b6101008316156138b9577001000000000000000000000000000000b00260801c5b60808316156138d9577001000000000000000000000000000000570260801c5b60408316156138f95770010000000000000000000000000000002b0260801c5b6020831615613919577001000000000000000000000000000000150260801c5b60108316156139395770010000000000000000000000000000000a0260801c5b6008831615613959577001000000000000000000000000000000040260801c5b6004831615613979577001000000000000000000000000000000010260801c5b846139a157600f81901c6dffffffffffffffffffffffffffff169050613fff820191506139f4565b613ffe82116139cd57600f81901c6dffffffffffffffffffffffffffff16905081613fff0391506139f4565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000617fff60f084811c8216919084901c811690829003613a6b5780617fff03613a61577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611c235784925050506102e0565b84925050506102e0565b80617fff03613a7e5783925050506102e0565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003613abb5760019350613acd565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003613b0a5760019450613b1c565b6e010000000000000000000000000000175b82600003613b83577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014613b735787613b76565b60005b96505050505050506102e0565b80600003613bda577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014613b735788613b76565b84860382151585151503613d66576070811315613c0057899750505050505050506102e0565b6000811315613c125790811c90613c5f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613c4957889750505050505050506102e0565b6000811215613c5f578060000384901c93508596505b928101926e0200000000000000000000000000008410613c85576001968701969390931c925b86617fff03613ce95784613cb9577f7fff000000000000000000000000000000000000000000000000000000000000613cdb565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e0565b6e010000000000000000000000000000841015613d095760009650613d1d565b6dffffffffffffffffffffffffffff841693505b83607088901b86613d2f576000613d41565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e0565b6000811315613d8157600184901b9350600187039650613d98565b6000811215613d9857600182901b91506001860396505b6070811315613daa5760019150613e33565b6001811315613dc7576001810360018303901c6001019150613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613df85760019350613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613e33576001816000030360018503901c60010193505b818410613e44578184039350613e4d565b83820393508294505b83600003613e665750600096506102e095505050505050565b6000613e7185612097565b905080607103613e9d57600185901c6dffffffffffffffffffffffffffff169450600188019750613f18565b6070811015613f0457607081900380891115613ed3578086901b6dffffffffffffffffffffffffffff1695508089039850613efe565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613f18565b6dffffffffffffffffffffffffffff851694505b87617fff03613f7d5785613f4c577f7fff000000000000000000000000000000000000000000000000000000000000613f6e565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e0565b84607089901b87613f8f576000613fa1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e0565b60008060408385031215613fda57600080fd5b50508035926020909101359150565b600060208284031215613ffb57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461166c57600080fd5b60008083601f84011261403857600080fd5b50813567ffffffffffffffff81111561405057600080fd5b6020830191508360208260051b850101111561406b57600080fd5b9250929050565b60008083601f84011261408457600080fd5b50813567ffffffffffffffff81111561409c57600080fd5b60208301915083602082850101111561406b57600080fd5b60008060008060008060008060a0898b0312156140d057600080fd5b6140d989614002565b97506140e760208a01614002565b9650604089013567ffffffffffffffff8082111561410457600080fd5b6141108c838d01614026565b909850965060608b013591508082111561412957600080fd5b6141358c838d01614026565b909650945060808b013591508082111561414e57600080fd5b5061415b8b828c01614072565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561418857600080fd5b61419187614002565b955061419f60208801614002565b94506040870135935060608701359250608087013567ffffffffffffffff8111156141c957600080fd5b6141d589828a01614072565b979a9699509497509295939492505050565b6000602082840312156141f957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e0576102e0614200565b818103818111156102e0576102e0614200565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220d7f959ce91cd7cd8e7c872fcd8855944175c618fe52511a45b5f60b4297de0d564736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b506142e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063b5a3ff8711610097578063d2bdc9e011610066578063d2bdc9e014610204578063d3918c1d14610217578063efa0982f1461021f578063f23a6e611461023257600080fd5b8063b5a3ff8714610189578063b6170dcc1461019c578063bc197c81146101a4578063be5c6872146101f157600080fd5b80635469bff1116100d35780635469bff11461013d578063585765081461015057806371fc117114610163578063a35e50bc1461017657600080fd5b80630d65f47f146100fa5780632565aa42146101205780634e7c028d1461012a575b600080fd5b61010d610108366004613fc7565b610245565b6040519081526020015b60405180910390f35b6101286102e6565b005b610128610138366004613fe9565b610344565b61010d61014b366004613fc7565b61040b565b61010d61015e366004613fe9565b610466565b610128610171366004613fe9565b610471565b61010d610184366004613fe9565b610530565b61010d610197366004613fc7565b61053b565b61010d610596565b6101c06101b23660046140b4565b600098975050505050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610117565b61010d6101ff366004613fe9565b6105a5565b61010d610212366004613fe9565b6105b0565b61010d6105bb565b61010d61022d366004613fe9565b6105c5565b6101c061024036600461416f565b610655565b6040517f0d65f47f0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90630d65f47f906044015b602060405180830381865af41580156102b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102dd91906141e7565b90505b92915050565b735d00797f4d5a2eed04d75a8d3cff1721e859b35d632565aa426040518163ffffffff1660e01b815260040160006040518083038186803b15801561032a57600080fd5b505af415801561033e573d6000803e3d6000fd5b50505050565b61036e7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b6103ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61040881610695565b50565b6040517f5469bff10000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90635469bff19060440161029c565b60006102e0826106eb565b61049b7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b610527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b610408816109a9565b60006102e0826109ff565b6040517fb5a3ff870000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063b5a3ff879060440161029c565b60006105a0610cc2565b905090565b60006102e082610cd5565b60006102e082610ce3565b60006105a0610cee565b6040517fefa0982f00000000000000000000000000000000000000000000000000000000815260048101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063efa0982f90602401602060405180830381865af4158015610631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e091906141e7565b6000610665878787878787610d01565b90505b9695505050505050565b60006102dd82610680610d61565b60008681526020919091526040902090610d8f565b7f495d4b828a3c7e7928af095e028963932f9b19f26d4ff33cc8e066e7b350fa1b816106bf610dbe565b600301546040805192835260208301919091520160405180910390a1806106e4610dbe565b6003015550565b6000806106f6610dec565b9050670de0b6b3a7640000811061078e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f656469740000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b1580156107fc57600080fd5b505af1158015610810573d6000803e3d6000fd5b5050505061081c610dbe565b6004015460ff1661086c576000610831610dbe565b6004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155439082015560009055505b60006108838661087a610dbe565b60010154610e11565b60018401546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810189905291925073ffffffffffffffffffffffffffffffffffffffff16906379cc679090604401600060405180830381600087803b1580156108f857600080fd5b505af115801561090c573d6000803e3d6000fd5b50505050600e8301546040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b50939998505050505050505050565b7f628c688556988d19256692ff656a1966f574832b813a2d20382b5cf38f839b5e816109d3610dbe565b600201546040805192835260208301919091520160405180910390a1806109f8610dbe565b6002015550565b600080610a0a610dec565b9050670de0b6b3a76400008110610aa3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f65646974204e465400000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff90921691829163f7ffe84a91600480830192600092919082900301818387803b158015610b1057600080fd5b505af1158015610b24573d6000803e3d6000fd5b505050506000610b32610dbe565b600481015490915060ff16610b7b576004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091554390820155600081555b6000610b86866110ee565b90506000600101546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810188905273ffffffffffffffffffffffffffffffffffffffff909116906379cc679090604401600060405180830381600087803b158015610bfd57600080fd5b505af1158015610c11573d6000803e3d6000fd5b505050506000826002015443610c27919061422f565b6040517f91623d49000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906391623d4990606401600060405180830381600087803b158015610c9f57600080fd5b505af1158015610cb3573d6000803e3d6000fd5b50929998505050505050505050565b6000610ccc610dbe565b60020154905090565b60006102e08261087a610dbe565b60006102e0826110ee565b6000610cf8610dbe565b60030154905090565b6000610d2d7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b88610672565b15610d5957507ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97610668565b506000610668565b6000806102e060017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77614242565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156102dd565b6000806102e060017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297614242565b60006105a0816001015473ffffffffffffffffffffffffffffffffffffffff1661148d565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa158015610e90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb491906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2391906141e7565b10610f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f484947480060448201526064016103f6565b6000610fd9610fa0670de0b6b3a76400006115fe565b610fb1610fab611671565b546115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061169f565b90506000610fe6436115fe565b90506000610ff782610fb18a6115fe565b9050600061107c61105561102c7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516611b20565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000871690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f48565b905060006110df6110b8836110908e6115fe565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f7c565b9b9a5050505050505050505050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119191906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120091906141e7565b1061128d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f474800000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600061129960016115fe565b905060006113148373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130f91906141e7565b6115fe565b905060006113b661138d8760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061169f565b905060006114156113e97fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168461203b565b6110907fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168561203b565b905060006114457fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168361169f565b905061147f6110b86114568c6115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611b50565b9a9950505050505050505050565b600080611498612069565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311611501575050505050815250509050611527600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361155757806040015191506115f8565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146115f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016103f6565b806060015191505b50919050565b60008160000361161057506000919050565b81600061161c82612097565b90506070811015611635578060700382901b9150611648565b6070811115611648576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b6000806102e060017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665614242565b6000617fff60f084811c8216919084901c81169082900361171b5780617fff036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b80617fff036117a2577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561177557507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e0565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611870577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361182157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e0565b6dffffffffffffffffffffffffffff608085901c16600082900361189757600191506118a9565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361191157801561190c5760006118d882612097565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611926565b6e0100000000000000000000000000001760721b5b81818161193557611935614255565b0490508060000361199d577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e0565b6d10000000000000000000000000008110156119bb576119bb614284565b60006e080000000000000000000000000000821015611a1b576e040000000000000000000000000000821015611a10576e020000000000000000000000000000821015611a09576070611a13565b6071611a13565b60725b60ff16611a24565b611a2482612097565b905083614071018186011115611a4257617fff945060009150611adc565b83818601613ffc011015611a5d576000945060009150611adc565b83818601613f8c011015611aaa578385613ffc011115611a88578385613ffc010382901b9150611aa1565b8385613ffc011015611aa157613ffc8585030382901c91505b60009450611adc565b6070811115611abd576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611b2e83612147565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003611ca35780617fff03611c4e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611bcd575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611c23575050508181176102e0565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b80617fff03611d2e577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d0157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e0565b6dffffffffffffffffffffffffffff608086901c166000839003611d555760019250611d67565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611d8e5760019250611da0565b6e010000000000000000000000000000175b808202915081600003611ddd577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611e42577c0100000000000000000000000000000000000000000000000000000000831015611e3b57611e3683612097565b611e45565b60e0611e45565b60e15b90506140708186011015611e60576000945060009250611f04565b6140e08186011015611ea357614070851015611e8557846140700383901c9250611e9a565b614070851115611e9a57614070850383901b92505b60009450611f04565b61c0dd8186011115611ebd57617fff945060009250611f04565b6070811115611ed4576070810383901c9250611ee7565b6070811015611ee7578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611f77837f3fff71547652b82fe1777d0ffda0d23a00000000000000000000000000000000611b50565b6123fc565b6000617fff60f083901c16613fff811015611f9a5750600092915050565b6f80000000000000000000000000000000608084901c10611fba57600080fd5b6140fe811115611fc957600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120055761406f8290031c612034565b61406f821115612034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60006102dd837f80000000000000000000000000000000000000000000000000000000000000008418613a07565b6000806102e060017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628614242565b60008082116120a557600080fd5b600070010000000000000000000000000000000083106120c757608092831c92015b6801000000000000000083106120df57604092831c92015b64010000000083106120f357602092831c92015b62010000831061210557601092831c92015b610100831061211657600892831c92015b6010831061212657600492831c92015b6004831061213657600292831c92015b600283106102e05760010192915050565b60006f80000000000000000000000000000000608083901c111561218c57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff000000000000000000000000000000000000000000000000000000000000036121dd57506000919050565b617fff60f083901c8116908190036121f6575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361221d576001915061222f565b6e010000000000000000000000000000175b8060000361226057507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff85106122a35750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00184016122ed565b600192506e01000000000000000000000000000084106122d05784613ffe039050600f84901b93506122ed565b60006122db85612097565b607f8190039590951b9461406d039150505b836f800000000000000000000000000000000361232f57821561230e576001015b600061231982612097565b60700390508082901b91508083039250506123a6565b60008361233d576000612340565b60015b60ff1690505b6e0100000000000000000000000000008210156123a45793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b9082180190612346565b505b806dffffffffffffffffffffffffffff16607083901b846123c85760006123da565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff16908214801561244157508015155b1561247057507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d8211156124b157826124a5577f7fff0000000000000000000000000000000000000000000000000000000000006124a8565b60005b95945050505050565b613f7f8210156124e557507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b816000036124f65760019150612508565b6e010000000000000000000000000000175b613fef82111561253b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b61254d565b613fef82101561254d57613fef8290031c5b82801561256b575071406e0000000000000000000000000000000081115b1561257b57506000949350505050565b8215801561259a5750713fffffffffffffffffffffffffffffffffff81115b156125c957507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c8380156125ec57508115155b156125f8579019906001015b6f80000000000000000000000000000000828116156126285770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f40000000000000000000000000000000831615612657577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f20000000000000000000000000000000831615612686577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f100000000000000000000000000000008316156126b55770010b5586cf9890f6298b92b71842a983630260801c5b6f080000000000000000000000000000008316156126e4577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561271357700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156127425770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f0100000000000000000000000000000083161561277157700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e80000000000000000000000000000083161561279f5770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e4000000000000000000000000000008316156127cd577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e2000000000000000000000000000008316156127fb57700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615612829577001000b175effdc76ba38e31671ca9397250260801c5b6e08000000000000000000000000000083161561285757700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156128855770010002c5cc37da9491d0985c348c68e7b30260801c5b6e0200000000000000000000000000008316156128b3577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156128e15770010000b17255775c040618bf4a4ade83fc0260801c5b6d800000000000000000000000000083161561290e577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d400000000000000000000000000083161561293b57700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156129685770010000162e43f4f831060e02d839a9d16d0260801c5b6d100000000000000000000000000083161561299557700100000b1721bcfc99d9f890ea069117630260801c5b6d08000000000000000000000000008316156129c25770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d04000000000000000000000000008316156129ef577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d0200000000000000000000000000831615612a1c57700100000162e430e5a18f6119e3c02282a50260801c5b6d0100000000000000000000000000831615612a49577001000000b1721835514b86e6d96efd1bfe0260801c5b6c80000000000000000000000000831615612a7557700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c40000000000000000000000000831615612aa15770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615612acd577001000000162e42fff037df38aa2b219f060260801c5b6c10000000000000000000000000831615612af95770010000000b17217fba9c739aa5819f44f90260801c5b6c08000000000000000000000000831615612b25577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c04000000000000000000000000831615612b5157700100000002c5c85fe31f35a6a30da1be500260801c5b6c02000000000000000000000000831615612b7d5770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615612ba957700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615612bd45770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615612bff577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615612c2a57700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615612c55577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615612c8057700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615612cab5770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615612cd6577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615612d015770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615612d2b577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615612d5557700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615612d7f5770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615612da957700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615612dd35770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615612dfd577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615612e2757700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615612e51577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615612e7a57700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615612ea35770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615612ecc577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615612ef55770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615612f1e577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615612f4757700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615612f705770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615612f9957700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615612fc15770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615612fe9577001000000000000002c5c85fdf473de6eca0260801c5b6820000000000000000083161561301157700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615613039577001000000000000000b17217f7d1cf79afa0260801c5b6808000000000000000083161561306157700100000000000000058b90bfbe8e7bcd6d0260801c5b680400000000000000008316156130895770010000000000000002c5c85fdf473de6b20260801c5b680200000000000000008316156130b1577001000000000000000162e42fefa39ef3580260801c5b680100000000000000008316156130d95770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615613100577001000000000000000058b90bfbe8e7bcd50260801c5b67400000000000000083161561312757700100000000000000002c5c85fdf473de6a0260801c5b67200000000000000083161561314e5770010000000000000000162e42fefa39ef340260801c5b67100000000000000083161561317557700100000000000000000b17217f7d1cf7990260801c5b67080000000000000083161561319c5770010000000000000000058b90bfbe8e7bcc0260801c5b6704000000000000008316156131c3577001000000000000000002c5c85fdf473de50260801c5b6702000000000000008316156131ea57700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615613211577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561323757700100000000000000000058b90bfbe8e7bb0260801c5b664000000000000083161561325d5770010000000000000000002c5c85fdf473dd0260801c5b6620000000000000831615613283577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156132a95770010000000000000000000b17217f7d1cf60260801c5b66080000000000008316156132cf577001000000000000000000058b90bfbe8e7a0260801c5b66040000000000008316156132f557700100000000000000000002c5c85fdf473c0260801c5b660200000000000083161561331b5770010000000000000000000162e42fefa39d0260801c5b660100000000000083161561334157700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156133665770010000000000000000000058b90bfbe8e60260801c5b6540000000000083161561338b577001000000000000000000002c5c85fdf4720260801c5b652000000000008316156133b057700100000000000000000000162e42fefa380260801c5b651000000000008316156133d5577001000000000000000000000b17217f7d1b0260801c5b650800000000008316156133fa57700100000000000000000000058b90bfbe8d0260801c5b6504000000000083161561341f5770010000000000000000000002c5c85fdf460260801c5b65020000000000831615613444577001000000000000000000000162e42fefa20260801c5b650100000000008316156134695770010000000000000000000000b17217f7d00260801c5b64800000000083161561348d577001000000000000000000000058b90bfbe70260801c5b6440000000008316156134b157700100000000000000000000002c5c85fdf30260801c5b6420000000008316156134d55770010000000000000000000000162e42fef90260801c5b6410000000008316156134f957700100000000000000000000000b17217f7c0260801c5b64080000000083161561351d5770010000000000000000000000058b90bfbd0260801c5b640400000000831615613541577001000000000000000000000002c5c85fde0260801c5b64020000000083161561356557700100000000000000000000000162e42fee0260801c5b640100000000831615613589577001000000000000000000000000b17217f60260801c5b63800000008316156135ac57700100000000000000000000000058b90bfa0260801c5b63400000008316156135cf5770010000000000000000000000002c5c85fc0260801c5b63200000008316156135f2577001000000000000000000000000162e42fd0260801c5b63100000008316156136155770010000000000000000000000000b17217e0260801c5b6308000000831615613638577001000000000000000000000000058b90be0260801c5b630400000083161561365b57700100000000000000000000000002c5c85e0260801c5b630200000083161561367e5770010000000000000000000000000162e42e0260801c5b63010000008316156136a157700100000000000000000000000000b172160260801c5b628000008316156136c35770010000000000000000000000000058b90a0260801c5b624000008316156136e5577001000000000000000000000000002c5c840260801c5b6220000083161561370757700100000000000000000000000000162e410260801c5b62100000831615613729577001000000000000000000000000000b17200260801c5b6208000083161561374b57700100000000000000000000000000058b8f0260801c5b6204000083161561376d5770010000000000000000000000000002c5c70260801c5b6202000083161561378f577001000000000000000000000000000162e30260801c5b620100008316156137b15770010000000000000000000000000000b1710260801c5b6180008316156137d2577001000000000000000000000000000058b80260801c5b6140008316156137f357700100000000000000000000000000002c5b0260801c5b6120008316156138145770010000000000000000000000000000162d0260801c5b61100083161561383557700100000000000000000000000000000b160260801c5b6108008316156138565770010000000000000000000000000000058a0260801c5b610400831615613877577001000000000000000000000000000002c40260801c5b610200831615613898577001000000000000000000000000000001610260801c5b6101008316156138b9577001000000000000000000000000000000b00260801c5b60808316156138d9577001000000000000000000000000000000570260801c5b60408316156138f95770010000000000000000000000000000002b0260801c5b6020831615613919577001000000000000000000000000000000150260801c5b60108316156139395770010000000000000000000000000000000a0260801c5b6008831615613959577001000000000000000000000000000000040260801c5b6004831615613979577001000000000000000000000000000000010260801c5b846139a157600f81901c6dffffffffffffffffffffffffffff169050613fff820191506139f4565b613ffe82116139cd57600f81901c6dffffffffffffffffffffffffffff16905081613fff0391506139f4565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000617fff60f084811c8216919084901c811690829003613a6b5780617fff03613a61577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611c235784925050506102e0565b84925050506102e0565b80617fff03613a7e5783925050506102e0565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003613abb5760019350613acd565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003613b0a5760019450613b1c565b6e010000000000000000000000000000175b82600003613b83577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014613b735787613b76565b60005b96505050505050506102e0565b80600003613bda577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014613b735788613b76565b84860382151585151503613d66576070811315613c0057899750505050505050506102e0565b6000811315613c125790811c90613c5f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613c4957889750505050505050506102e0565b6000811215613c5f578060000384901c93508596505b928101926e0200000000000000000000000000008410613c85576001968701969390931c925b86617fff03613ce95784613cb9577f7fff000000000000000000000000000000000000000000000000000000000000613cdb565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e0565b6e010000000000000000000000000000841015613d095760009650613d1d565b6dffffffffffffffffffffffffffff841693505b83607088901b86613d2f576000613d41565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e0565b6000811315613d8157600184901b9350600187039650613d98565b6000811215613d9857600182901b91506001860396505b6070811315613daa5760019150613e33565b6001811315613dc7576001810360018303901c6001019150613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613df85760019350613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613e33576001816000030360018503901c60010193505b818410613e44578184039350613e4d565b83820393508294505b83600003613e665750600096506102e095505050505050565b6000613e7185612097565b905080607103613e9d57600185901c6dffffffffffffffffffffffffffff169450600188019750613f18565b6070811015613f0457607081900380891115613ed3578086901b6dffffffffffffffffffffffffffff1695508089039850613efe565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613f18565b6dffffffffffffffffffffffffffff851694505b87617fff03613f7d5785613f4c577f7fff000000000000000000000000000000000000000000000000000000000000613f6e565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e0565b84607089901b87613f8f576000613fa1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e0565b60008060408385031215613fda57600080fd5b50508035926020909101359150565b600060208284031215613ffb57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461166c57600080fd5b60008083601f84011261403857600080fd5b50813567ffffffffffffffff81111561405057600080fd5b6020830191508360208260051b850101111561406b57600080fd5b9250929050565b60008083601f84011261408457600080fd5b50813567ffffffffffffffff81111561409c57600080fd5b60208301915083602082850101111561406b57600080fd5b60008060008060008060008060a0898b0312156140d057600080fd5b6140d989614002565b97506140e760208a01614002565b9650604089013567ffffffffffffffff8082111561410457600080fd5b6141108c838d01614026565b909850965060608b013591508082111561412957600080fd5b6141358c838d01614026565b909650945060808b013591508082111561414e57600080fd5b5061415b8b828c01614072565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561418857600080fd5b61419187614002565b955061419f60208801614002565b94506040870135935060608701359250608087013567ffffffffffffffff8111156141c957600080fd5b6141d589828a01614072565b979a9699509497509295939492505050565b6000602082840312156141f957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e0576102e0614200565b818103818111156102e0576102e0614200565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122018f2ff9ff2360a5162ea9415877b9199bb56e8e9043b58507219f0788fc01ab764736f6c63430008130033", "nonce": "0xb", "accessList": [] }, @@ -228,7 +228,7 @@ "isFixedGasLimit": false }, { - "hash": "0xbf8597cf1e825f27f5392bc5173fd8562c57c0fdd21aa52a38bdfd0b38f6aedc", + "hash": "0xbc08ef7499ba6ff72862cbea8abf1a62977a016fb2efe432b24a816f2bbac96f", "transactionType": "CREATE", "contractName": "CreditNftRedemptionCalculatorFacet", "contractAddress": "0x82aCf7DE62Ab6B0C240873339C19461A34260794", @@ -239,7 +239,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x182ffd", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50611568806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c4b4a9ff14610030575b600080fd5b61004361003e3660046114a2565b610055565b60405190815260200160405180910390f35b600061006082610066565b92915050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156100e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010991906114bb565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610154573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017891906114bb565b10610209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f4748000000000000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b60006102156001610458565b905060006102908373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028b91906114bb565b610458565b905060006103326103098760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906104c6565b905060006103b96103657fffffffffffffffffffffffffffffffff00000000000000000000000000000000861684610947565b6103917fffffffffffffffffffffffffffffffff00000000000000000000000000000000871685610947565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061097c565b905060006103e97fffffffffffffffffffffffffffffffff000000000000000000000000000000008616836104c6565b905061044a6104236103fa8c610458565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061097c565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610d74565b9a9950505050505050505050565b60008160000361046a57506000919050565b81600061047682610e32565b9050607081101561048f578060700382901b91506104a2565b60708111156104a2576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036105425780617fff0361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b80617fff036105c9577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561059c57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610060565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610697577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361064857507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610060565b6dffffffffffffffffffffffffffff608085901c1660008290036106be57600191506106d0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036107385780156107335760006106ff82610e32565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61074d565b6e0100000000000000000000000000001760721b5b81818161075c5761075c6114d4565b049050806000036107c4577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610060565b6d10000000000000000000000000008110156107e2576107e2611503565b60006e080000000000000000000000000000821015610842576e040000000000000000000000000000821015610837576e02000000000000000000000000000082101561083057607061083a565b607161083a565b60725b60ff1661084b565b61084b82610e32565b90508361407101818601111561086957617fff945060009150610903565b83818601613ffc011015610884576000945060009150610903565b83818601613f8c0110156108d1578385613ffc0111156108af578385613ffc010382901b91506108c8565b8385613ffc0110156108c857613ffc8585030382901c91505b60009450610903565b60708111156108e4576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000610975837f80000000000000000000000000000000000000000000000000000000000000008418610ee2565b9392505050565b6000617fff60f084811c8216919084901c811690829003610acf5780617fff03610a7a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036109f9575050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a4f57505050818117610060565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b80617fff03610b5a577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b2d57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610060565b6dffffffffffffffffffffffffffff608086901c166000839003610b815760019250610b93565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bba5760019250610bcc565b6e010000000000000000000000000000175b808202915081600003610c09577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610c6e577c0100000000000000000000000000000000000000000000000000000000831015610c6757610c6283610e32565b610c71565b60e0610c71565b60e15b90506140708186011015610c8c576000945060009250610d30565b6140e08186011015610ccf57614070851015610cb157846140700383901c9250610cc6565b614070851115610cc657614070850383901b92505b60009450610d30565b61c0dd8186011115610ce957617fff945060009250610d30565b6070811115610d00576070810383901c9250610d13565b6070811015610d13578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000617fff60f083901c16613fff811015610d925750600092915050565b6f80000000000000000000000000000000608084901c10610db257600080fd5b6140fe811115610dc157600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610dfd5761406f8290031c610975565b61406f821115610975577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b6000808211610e4057600080fd5b60007001000000000000000000000000000000008310610e6257608092831c92015b680100000000000000008310610e7a57604092831c92015b6401000000008310610e8e57602092831c92015b620100008310610ea057601092831c92015b6101008310610eb157600892831c92015b60108310610ec157600492831c92015b60048310610ed157600292831c92015b600283106100605760010192915050565b6000617fff60f084811c8216919084901c811690829003610f465780617fff03610f3c577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a4f578492505050610060565b8492505050610060565b80617fff03610f59578392505050610060565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f965760019350610fa8565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610fe55760019450610ff7565b6e010000000000000000000000000000175b8260000361105e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f80000000000000000000000000000000000000000000000000000000000000001461104e5787611051565b60005b9650505050505050610060565b806000036110b5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f80000000000000000000000000000000000000000000000000000000000000001461104e5788611051565b848603821515851515036112415760708113156110db5789975050505050505050610060565b60008113156110ed5790811c9061113a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156111245788975050505050505050610060565b600081121561113a578060000384901c93508596505b928101926e0200000000000000000000000000008410611160576001968701969390931c925b86617fff036111c45784611194577f7fff0000000000000000000000000000000000000000000000000000000000006111b6565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610060565b6e0100000000000000000000000000008410156111e457600096506111f8565b6dffffffffffffffffffffffffffff841693505b83607088901b8661120a57600061121c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610060565b600081131561125c57600184901b9350600187039650611273565b600081121561127357600182901b91506001860396505b6070811315611285576001915061130e565b60018113156112a2576001810360018303901c600101915061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156112d3576001935061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81121561130e576001816000030360018503901c60010193505b81841061131f578184039350611328565b83820393508294505b8360000361134157506000965061006095505050505050565b600061134c85610e32565b90508060710361137857600185901c6dffffffffffffffffffffffffffff1694506001880197506113f3565b60708110156113df576070819003808911156113ae578086901b6dffffffffffffffffffffffffffff16955080890398506113d9565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b506113f3565b6dffffffffffffffffffffffffffff851694505b87617fff036114585785611427577f7fff000000000000000000000000000000000000000000000000000000000000611449565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610060565b84607089901b8761146a57600061147c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610060565b6000602082840312156114b457600080fd5b5035919050565b6000602082840312156114cd57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122017b4fa26717c68c23d591d482d03db5abee87e3605e7f52f357806876ae2221364736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50611568806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c4b4a9ff14610030575b600080fd5b61004361003e3660046114a2565b610055565b60405190815260200160405180910390f35b600061006082610066565b92915050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156100e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010991906114bb565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610154573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017891906114bb565b10610209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f4748000000000000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b60006102156001610458565b905060006102908373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028b91906114bb565b610458565b905060006103326103098760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906104c6565b905060006103b96103657fffffffffffffffffffffffffffffffff00000000000000000000000000000000861684610947565b6103917fffffffffffffffffffffffffffffffff00000000000000000000000000000000871685610947565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061097c565b905060006103e97fffffffffffffffffffffffffffffffff000000000000000000000000000000008616836104c6565b905061044a6104236103fa8c610458565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061097c565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610d74565b9a9950505050505050505050565b60008160000361046a57506000919050565b81600061047682610e32565b9050607081101561048f578060700382901b91506104a2565b60708111156104a2576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036105425780617fff0361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b80617fff036105c9577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561059c57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610060565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610697577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361064857507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610060565b6dffffffffffffffffffffffffffff608085901c1660008290036106be57600191506106d0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036107385780156107335760006106ff82610e32565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61074d565b6e0100000000000000000000000000001760721b5b81818161075c5761075c6114d4565b049050806000036107c4577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610060565b6d10000000000000000000000000008110156107e2576107e2611503565b60006e080000000000000000000000000000821015610842576e040000000000000000000000000000821015610837576e02000000000000000000000000000082101561083057607061083a565b607161083a565b60725b60ff1661084b565b61084b82610e32565b90508361407101818601111561086957617fff945060009150610903565b83818601613ffc011015610884576000945060009150610903565b83818601613f8c0110156108d1578385613ffc0111156108af578385613ffc010382901b91506108c8565b8385613ffc0110156108c857613ffc8585030382901c91505b60009450610903565b60708111156108e4576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000610975837f80000000000000000000000000000000000000000000000000000000000000008418610ee2565b9392505050565b6000617fff60f084811c8216919084901c811690829003610acf5780617fff03610a7a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036109f9575050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a4f57505050818117610060565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b80617fff03610b5a577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b2d57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610060565b6dffffffffffffffffffffffffffff608086901c166000839003610b815760019250610b93565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bba5760019250610bcc565b6e010000000000000000000000000000175b808202915081600003610c09577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610c6e577c0100000000000000000000000000000000000000000000000000000000831015610c6757610c6283610e32565b610c71565b60e0610c71565b60e15b90506140708186011015610c8c576000945060009250610d30565b6140e08186011015610ccf57614070851015610cb157846140700383901c9250610cc6565b614070851115610cc657614070850383901b92505b60009450610d30565b61c0dd8186011115610ce957617fff945060009250610d30565b6070811115610d00576070810383901c9250610d13565b6070811015610d13578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000617fff60f083901c16613fff811015610d925750600092915050565b6f80000000000000000000000000000000608084901c10610db257600080fd5b6140fe811115610dc157600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610dfd5761406f8290031c610975565b61406f821115610975577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b6000808211610e4057600080fd5b60007001000000000000000000000000000000008310610e6257608092831c92015b680100000000000000008310610e7a57604092831c92015b6401000000008310610e8e57602092831c92015b620100008310610ea057601092831c92015b6101008310610eb157600892831c92015b60108310610ec157600492831c92015b60048310610ed157600292831c92015b600283106100605760010192915050565b6000617fff60f084811c8216919084901c811690829003610f465780617fff03610f3c577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a4f578492505050610060565b8492505050610060565b80617fff03610f59578392505050610060565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f965760019350610fa8565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610fe55760019450610ff7565b6e010000000000000000000000000000175b8260000361105e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f80000000000000000000000000000000000000000000000000000000000000001461104e5787611051565b60005b9650505050505050610060565b806000036110b5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f80000000000000000000000000000000000000000000000000000000000000001461104e5788611051565b848603821515851515036112415760708113156110db5789975050505050505050610060565b60008113156110ed5790811c9061113a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156111245788975050505050505050610060565b600081121561113a578060000384901c93508596505b928101926e0200000000000000000000000000008410611160576001968701969390931c925b86617fff036111c45784611194577f7fff0000000000000000000000000000000000000000000000000000000000006111b6565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610060565b6e0100000000000000000000000000008410156111e457600096506111f8565b6dffffffffffffffffffffffffffff841693505b83607088901b8661120a57600061121c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610060565b600081131561125c57600184901b9350600187039650611273565b600081121561127357600182901b91506001860396505b6070811315611285576001915061130e565b60018113156112a2576001810360018303901c600101915061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156112d3576001935061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81121561130e576001816000030360018503901c60010193505b81841061131f578184039350611328565b83820393508294505b8360000361134157506000965061006095505050505050565b600061134c85610e32565b90508060710361137857600185901c6dffffffffffffffffffffffffffff1694506001880197506113f3565b60708110156113df576070819003808911156113ae578086901b6dffffffffffffffffffffffffffff16955080890398506113d9565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b506113f3565b6dffffffffffffffffffffffffffff851694505b87617fff036114585785611427577f7fff000000000000000000000000000000000000000000000000000000000000611449565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610060565b84607089901b8761146a57600061147c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610060565b6000602082840312156114b457600080fd5b5035919050565b6000602082840312156114cd57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212203df2328eaf6ad907d225f6de17ef835592c65a8a3fb40f47a3f91b8057c047fe64736f6c63430008130033", "nonce": "0xc", "accessList": [] }, @@ -247,7 +247,7 @@ "isFixedGasLimit": false }, { - "hash": "0xf5013ee313f8fab49a35d56630bb491e06a2320cc74608f91f80a9f4b8cb8272", + "hash": "0x5967fcdc5333398259e46dd202c69df488f1083d0d9e54d173a25e17357f6811", "transactionType": "CREATE", "contractName": "CreditRedemptionCalculatorFacet", "contractAddress": "0xb66709Aa65AaC2b8a6294062d0a0531207481036", @@ -258,7 +258,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x2dddaa", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50612991806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063993fba5c14610046578063ac5068061461006b578063f13a38a614610080575b600080fd5b61005961005436600461286f565b610088565b60405190815260200160405180910390f35b61007e610079366004612891565b61009d565b005b61005961013e565b6000610094838361014d565b90505b92915050565b6100c77faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d3361042a565b610132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f43726564697443616c633a206e6f742061646d696e000000000000000000000060448201526064015b60405180910390fd5b61013b8161044d565b50565b600061014861045a565b905090565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156101cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f091906128aa565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561023b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025f91906128aa565b106102c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f48494748006044820152606401610129565b60006103156102dc670de0b6b3a764000061046a565b6102ed6102e76104d8565b5461046a565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610506565b905060006103224361046a565b90506000610333826102ed8a61046a565b905060006103b86103916103687fffffffffffffffffffffffffffffffff000000000000000000000000000000008516610987565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008716906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610daf565b9050600061041b6103f4836103cc8e61046a565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610de3565b9b9a5050505050505050505050565b600061009482610438610ea2565b60008681526020919091526040902090610ed0565b806104566104d8565b5550565b60006104646104d8565b54919050565b60008160000361047c57506000919050565b81600061048882610eff565b905060708110156104a1578060700382901b91506104b4565b60708111156104b4576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60008061009760017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace6656128c3565b6000617fff60f084811c8216919084901c8116908290036105825780617fff0361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b80617fff03610609577dffffffffffffffffffffffffffff000000000000000000000000000000008416156105dc57507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610097565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036106d7577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361068857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610097565b6dffffffffffffffffffffffffffff608085901c1660008290036106fe5760019150610710565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361077857801561077357600061073f82610eff565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61078d565b6e0100000000000000000000000000001760721b5b81818161079c5761079c6128fd565b04905080600003610804577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610097565b6d10000000000000000000000000008110156108225761082261292c565b60006e080000000000000000000000000000821015610882576e040000000000000000000000000000821015610877576e02000000000000000000000000000082101561087057607061087a565b607161087a565b60725b60ff1661088b565b61088b82610eff565b9050836140710181860111156108a957617fff945060009150610943565b83818601613ffc0110156108c4576000945060009150610943565b83818601613f8c011015610911578385613ffc0111156108ef578385613ffc010382901b9150610908565b8385613ffc01101561090857613ffc8585030382901c91505b60009450610943565b6070811115610924576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b600061009761099583610faf565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003610b0a5780617fff03610ab5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a34575050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a8a57505050818117610097565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b80617fff03610b95577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b6857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610097565b6dffffffffffffffffffffffffffff608086901c166000839003610bbc5760019250610bce565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bf55760019250610c07565b6e010000000000000000000000000000175b808202915081600003610c44577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610ca9577c0100000000000000000000000000000000000000000000000000000000831015610ca257610c9d83610eff565b610cac565b60e0610cac565b60e15b90506140708186011015610cc7576000945060009250610d6b565b6140e08186011015610d0a57614070851015610cec57846140700383901c9250610d01565b614070851115610d0157614070850383901b92505b60009450610d6b565b61c0dd8186011115610d2457617fff945060009250610d6b565b6070811115610d3b576070810383901c9250610d4e565b6070811015610d4e578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b6000610097610dde837f3fff71547652b82fe1777d0ffda0d23a000000000000000000000000000000006109b7565b611264565b6000617fff60f083901c16613fff811015610e015750600092915050565b6f80000000000000000000000000000000608084901c10610e2157600080fd5b6140fe811115610e3057600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610e6c5761406f8290031c610e9b565b61406f821115610e9b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60008061009760017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776128c3565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610094565b6000808211610f0d57600080fd5b60007001000000000000000000000000000000008310610f2f57608092831c92015b680100000000000000008310610f4757604092831c92015b6401000000008310610f5b57602092831c92015b620100008310610f6d57601092831c92015b6101008310610f7e57600892831c92015b60108310610f8e57600492831c92015b60048310610f9e57600292831c92015b600283106100975760010192915050565b60006f80000000000000000000000000000000608083901c1115610ff457507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff0000000000000000000000000000000000000000000000000000000000000361104557506000919050565b617fff60f083901c81169081900361105e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036110855760019150611097565b6e010000000000000000000000000000175b806000036110c857507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff851061110b5750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018401611155565b600192506e01000000000000000000000000000084106111385784613ffe039050600f84901b9350611155565b600061114385610eff565b607f8190039590951b9461406d039150505b836f8000000000000000000000000000000003611197578215611176576001015b600061118182610eff565b60700390508082901b915080830392505061120e565b6000836111a55760006111a8565b60015b60ff1690505b6e01000000000000000000000000000082101561120c5793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b90821801906111ae565b505b806dffffffffffffffffffffffffffff16607083901b84611230576000611242565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff1690821480156112a957508015155b156112d857507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d821115611319578261130d577f7fff000000000000000000000000000000000000000000000000000000000000611310565b60005b95945050505050565b613f7f82101561134d57507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b8160000361135e5760019150611370565b6e010000000000000000000000000000175b613fef8211156113a3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b6113b5565b613fef8210156113b557613fef8290031c5b8280156113d3575071406e0000000000000000000000000000000081115b156113e357506000949350505050565b821580156114025750713fffffffffffffffffffffffffffffffffff81115b1561143157507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c83801561145457508115155b15611460579019906001015b6f80000000000000000000000000000000828116156114905770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f400000000000000000000000000000008316156114bf577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f200000000000000000000000000000008316156114ee577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f1000000000000000000000000000000083161561151d5770010b5586cf9890f6298b92b71842a983630260801c5b6f0800000000000000000000000000000083161561154c577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561157b57700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156115aa5770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f010000000000000000000000000000008316156115d957700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e8000000000000000000000000000008316156116075770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e400000000000000000000000000000831615611635577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e20000000000000000000000000000083161561166357700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615611691577001000b175effdc76ba38e31671ca9397250260801c5b6e0800000000000000000000000000008316156116bf57700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156116ed5770010002c5cc37da9491d0985c348c68e7b30260801c5b6e02000000000000000000000000000083161561171b577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156117495770010000b17255775c040618bf4a4ade83fc0260801c5b6d8000000000000000000000000000831615611776577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d40000000000000000000000000008316156117a357700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156117d05770010000162e43f4f831060e02d839a9d16d0260801c5b6d10000000000000000000000000008316156117fd57700100000b1721bcfc99d9f890ea069117630260801c5b6d080000000000000000000000000083161561182a5770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d0400000000000000000000000000831615611857577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d020000000000000000000000000083161561188457700100000162e430e5a18f6119e3c02282a50260801c5b6d01000000000000000000000000008316156118b1577001000000b1721835514b86e6d96efd1bfe0260801c5b6c800000000000000000000000008316156118dd57700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c400000000000000000000000008316156119095770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615611935577001000000162e42fff037df38aa2b219f060260801c5b6c100000000000000000000000008316156119615770010000000b17217fba9c739aa5819f44f90260801c5b6c0800000000000000000000000083161561198d577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c040000000000000000000000008316156119b957700100000002c5c85fe31f35a6a30da1be500260801c5b6c020000000000000000000000008316156119e55770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615611a1157700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615611a3c5770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615611a67577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615611a9257700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615611abd577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615611ae857700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615611b135770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615611b3e577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615611b695770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615611b93577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615611bbd57700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615611be75770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615611c1157700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615611c3b5770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615611c65577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615611c8f57700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615611cb9577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615611ce257700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615611d0b5770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615611d34577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615611d5d5770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615611d86577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615611daf57700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615611dd85770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615611e0157700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615611e295770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615611e51577001000000000000002c5c85fdf473de6eca0260801c5b68200000000000000000831615611e7957700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615611ea1577001000000000000000b17217f7d1cf79afa0260801c5b68080000000000000000831615611ec957700100000000000000058b90bfbe8e7bcd6d0260801c5b68040000000000000000831615611ef15770010000000000000002c5c85fdf473de6b20260801c5b68020000000000000000831615611f19577001000000000000000162e42fefa39ef3580260801c5b68010000000000000000831615611f415770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615611f68577001000000000000000058b90bfbe8e7bcd50260801c5b674000000000000000831615611f8f57700100000000000000002c5c85fdf473de6a0260801c5b672000000000000000831615611fb65770010000000000000000162e42fefa39ef340260801c5b671000000000000000831615611fdd57700100000000000000000b17217f7d1cf7990260801c5b6708000000000000008316156120045770010000000000000000058b90bfbe8e7bcc0260801c5b67040000000000000083161561202b577001000000000000000002c5c85fdf473de50260801c5b67020000000000000083161561205257700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615612079577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561209f57700100000000000000000058b90bfbe8e7bb0260801c5b66400000000000008316156120c55770010000000000000000002c5c85fdf473dd0260801c5b66200000000000008316156120eb577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156121115770010000000000000000000b17217f7d1cf60260801c5b6608000000000000831615612137577001000000000000000000058b90bfbe8e7a0260801c5b660400000000000083161561215d57700100000000000000000002c5c85fdf473c0260801c5b66020000000000008316156121835770010000000000000000000162e42fefa39d0260801c5b66010000000000008316156121a957700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156121ce5770010000000000000000000058b90bfbe8e60260801c5b654000000000008316156121f3577001000000000000000000002c5c85fdf4720260801c5b6520000000000083161561221857700100000000000000000000162e42fefa380260801c5b6510000000000083161561223d577001000000000000000000000b17217f7d1b0260801c5b6508000000000083161561226257700100000000000000000000058b90bfbe8d0260801c5b650400000000008316156122875770010000000000000000000002c5c85fdf460260801c5b650200000000008316156122ac577001000000000000000000000162e42fefa20260801c5b650100000000008316156122d15770010000000000000000000000b17217f7d00260801c5b6480000000008316156122f5577001000000000000000000000058b90bfbe70260801c5b64400000000083161561231957700100000000000000000000002c5c85fdf30260801c5b64200000000083161561233d5770010000000000000000000000162e42fef90260801c5b64100000000083161561236157700100000000000000000000000b17217f7c0260801c5b6408000000008316156123855770010000000000000000000000058b90bfbd0260801c5b6404000000008316156123a9577001000000000000000000000002c5c85fde0260801c5b6402000000008316156123cd57700100000000000000000000000162e42fee0260801c5b6401000000008316156123f1577001000000000000000000000000b17217f60260801c5b638000000083161561241457700100000000000000000000000058b90bfa0260801c5b63400000008316156124375770010000000000000000000000002c5c85fc0260801c5b632000000083161561245a577001000000000000000000000000162e42fd0260801c5b631000000083161561247d5770010000000000000000000000000b17217e0260801c5b63080000008316156124a0577001000000000000000000000000058b90be0260801c5b63040000008316156124c357700100000000000000000000000002c5c85e0260801c5b63020000008316156124e65770010000000000000000000000000162e42e0260801c5b630100000083161561250957700100000000000000000000000000b172160260801c5b6280000083161561252b5770010000000000000000000000000058b90a0260801c5b6240000083161561254d577001000000000000000000000000002c5c840260801c5b6220000083161561256f57700100000000000000000000000000162e410260801c5b62100000831615612591577001000000000000000000000000000b17200260801c5b620800008316156125b357700100000000000000000000000000058b8f0260801c5b620400008316156125d55770010000000000000000000000000002c5c70260801c5b620200008316156125f7577001000000000000000000000000000162e30260801c5b620100008316156126195770010000000000000000000000000000b1710260801c5b61800083161561263a577001000000000000000000000000000058b80260801c5b61400083161561265b57700100000000000000000000000000002c5b0260801c5b61200083161561267c5770010000000000000000000000000000162d0260801c5b61100083161561269d57700100000000000000000000000000000b160260801c5b6108008316156126be5770010000000000000000000000000000058a0260801c5b6104008316156126df577001000000000000000000000000000002c40260801c5b610200831615612700577001000000000000000000000000000001610260801c5b610100831615612721577001000000000000000000000000000000b00260801c5b6080831615612741577001000000000000000000000000000000570260801c5b60408316156127615770010000000000000000000000000000002b0260801c5b6020831615612781577001000000000000000000000000000000150260801c5b60108316156127a15770010000000000000000000000000000000a0260801c5b60088316156127c1577001000000000000000000000000000000040260801c5b60048316156127e1577001000000000000000000000000000000010260801c5b8461280957600f81901c6dffffffffffffffffffffffffffff169050613fff8201915061285c565b613ffe821161283557600f81901c6dffffffffffffffffffffffffffff16905081613fff03915061285c565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000806040838503121561288257600080fd5b50508035926020909101359150565b6000602082840312156128a357600080fd5b5035919050565b6000602082840312156128bc57600080fd5b5051919050565b81810381811115610097577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220b29319f72d7942ac4477b414470864b661f0d6c0dac1583410f566d77cb44a0764736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50612991806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063993fba5c14610046578063ac5068061461006b578063f13a38a614610080575b600080fd5b61005961005436600461286f565b610088565b60405190815260200160405180910390f35b61007e610079366004612891565b61009d565b005b61005961013e565b6000610094838361014d565b90505b92915050565b6100c77faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d3361042a565b610132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f43726564697443616c633a206e6f742061646d696e000000000000000000000060448201526064015b60405180910390fd5b61013b8161044d565b50565b600061014861045a565b905090565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156101cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f091906128aa565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561023b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025f91906128aa565b106102c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f48494748006044820152606401610129565b60006103156102dc670de0b6b3a764000061046a565b6102ed6102e76104d8565b5461046a565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610506565b905060006103224361046a565b90506000610333826102ed8a61046a565b905060006103b86103916103687fffffffffffffffffffffffffffffffff000000000000000000000000000000008516610987565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008716906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610daf565b9050600061041b6103f4836103cc8e61046a565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610de3565b9b9a5050505050505050505050565b600061009482610438610ea2565b60008681526020919091526040902090610ed0565b806104566104d8565b5550565b60006104646104d8565b54919050565b60008160000361047c57506000919050565b81600061048882610eff565b905060708110156104a1578060700382901b91506104b4565b60708111156104b4576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60008061009760017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace6656128c3565b6000617fff60f084811c8216919084901c8116908290036105825780617fff0361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b80617fff03610609577dffffffffffffffffffffffffffff000000000000000000000000000000008416156105dc57507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610097565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036106d7577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361068857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610097565b6dffffffffffffffffffffffffffff608085901c1660008290036106fe5760019150610710565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361077857801561077357600061073f82610eff565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61078d565b6e0100000000000000000000000000001760721b5b81818161079c5761079c6128fd565b04905080600003610804577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610097565b6d10000000000000000000000000008110156108225761082261292c565b60006e080000000000000000000000000000821015610882576e040000000000000000000000000000821015610877576e02000000000000000000000000000082101561087057607061087a565b607161087a565b60725b60ff1661088b565b61088b82610eff565b9050836140710181860111156108a957617fff945060009150610943565b83818601613ffc0110156108c4576000945060009150610943565b83818601613f8c011015610911578385613ffc0111156108ef578385613ffc010382901b9150610908565b8385613ffc01101561090857613ffc8585030382901c91505b60009450610943565b6070811115610924576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b600061009761099583610faf565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003610b0a5780617fff03610ab5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a34575050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a8a57505050818117610097565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b80617fff03610b95577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b6857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610097565b6dffffffffffffffffffffffffffff608086901c166000839003610bbc5760019250610bce565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bf55760019250610c07565b6e010000000000000000000000000000175b808202915081600003610c44577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610ca9577c0100000000000000000000000000000000000000000000000000000000831015610ca257610c9d83610eff565b610cac565b60e0610cac565b60e15b90506140708186011015610cc7576000945060009250610d6b565b6140e08186011015610d0a57614070851015610cec57846140700383901c9250610d01565b614070851115610d0157614070850383901b92505b60009450610d6b565b61c0dd8186011115610d2457617fff945060009250610d6b565b6070811115610d3b576070810383901c9250610d4e565b6070811015610d4e578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b6000610097610dde837f3fff71547652b82fe1777d0ffda0d23a000000000000000000000000000000006109b7565b611264565b6000617fff60f083901c16613fff811015610e015750600092915050565b6f80000000000000000000000000000000608084901c10610e2157600080fd5b6140fe811115610e3057600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610e6c5761406f8290031c610e9b565b61406f821115610e9b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60008061009760017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776128c3565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610094565b6000808211610f0d57600080fd5b60007001000000000000000000000000000000008310610f2f57608092831c92015b680100000000000000008310610f4757604092831c92015b6401000000008310610f5b57602092831c92015b620100008310610f6d57601092831c92015b6101008310610f7e57600892831c92015b60108310610f8e57600492831c92015b60048310610f9e57600292831c92015b600283106100975760010192915050565b60006f80000000000000000000000000000000608083901c1115610ff457507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff0000000000000000000000000000000000000000000000000000000000000361104557506000919050565b617fff60f083901c81169081900361105e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036110855760019150611097565b6e010000000000000000000000000000175b806000036110c857507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff851061110b5750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018401611155565b600192506e01000000000000000000000000000084106111385784613ffe039050600f84901b9350611155565b600061114385610eff565b607f8190039590951b9461406d039150505b836f8000000000000000000000000000000003611197578215611176576001015b600061118182610eff565b60700390508082901b915080830392505061120e565b6000836111a55760006111a8565b60015b60ff1690505b6e01000000000000000000000000000082101561120c5793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b90821801906111ae565b505b806dffffffffffffffffffffffffffff16607083901b84611230576000611242565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff1690821480156112a957508015155b156112d857507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d821115611319578261130d577f7fff000000000000000000000000000000000000000000000000000000000000611310565b60005b95945050505050565b613f7f82101561134d57507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b8160000361135e5760019150611370565b6e010000000000000000000000000000175b613fef8211156113a3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b6113b5565b613fef8210156113b557613fef8290031c5b8280156113d3575071406e0000000000000000000000000000000081115b156113e357506000949350505050565b821580156114025750713fffffffffffffffffffffffffffffffffff81115b1561143157507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c83801561145457508115155b15611460579019906001015b6f80000000000000000000000000000000828116156114905770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f400000000000000000000000000000008316156114bf577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f200000000000000000000000000000008316156114ee577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f1000000000000000000000000000000083161561151d5770010b5586cf9890f6298b92b71842a983630260801c5b6f0800000000000000000000000000000083161561154c577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561157b57700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156115aa5770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f010000000000000000000000000000008316156115d957700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e8000000000000000000000000000008316156116075770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e400000000000000000000000000000831615611635577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e20000000000000000000000000000083161561166357700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615611691577001000b175effdc76ba38e31671ca9397250260801c5b6e0800000000000000000000000000008316156116bf57700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156116ed5770010002c5cc37da9491d0985c348c68e7b30260801c5b6e02000000000000000000000000000083161561171b577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156117495770010000b17255775c040618bf4a4ade83fc0260801c5b6d8000000000000000000000000000831615611776577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d40000000000000000000000000008316156117a357700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156117d05770010000162e43f4f831060e02d839a9d16d0260801c5b6d10000000000000000000000000008316156117fd57700100000b1721bcfc99d9f890ea069117630260801c5b6d080000000000000000000000000083161561182a5770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d0400000000000000000000000000831615611857577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d020000000000000000000000000083161561188457700100000162e430e5a18f6119e3c02282a50260801c5b6d01000000000000000000000000008316156118b1577001000000b1721835514b86e6d96efd1bfe0260801c5b6c800000000000000000000000008316156118dd57700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c400000000000000000000000008316156119095770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615611935577001000000162e42fff037df38aa2b219f060260801c5b6c100000000000000000000000008316156119615770010000000b17217fba9c739aa5819f44f90260801c5b6c0800000000000000000000000083161561198d577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c040000000000000000000000008316156119b957700100000002c5c85fe31f35a6a30da1be500260801c5b6c020000000000000000000000008316156119e55770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615611a1157700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615611a3c5770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615611a67577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615611a9257700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615611abd577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615611ae857700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615611b135770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615611b3e577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615611b695770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615611b93577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615611bbd57700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615611be75770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615611c1157700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615611c3b5770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615611c65577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615611c8f57700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615611cb9577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615611ce257700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615611d0b5770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615611d34577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615611d5d5770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615611d86577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615611daf57700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615611dd85770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615611e0157700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615611e295770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615611e51577001000000000000002c5c85fdf473de6eca0260801c5b68200000000000000000831615611e7957700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615611ea1577001000000000000000b17217f7d1cf79afa0260801c5b68080000000000000000831615611ec957700100000000000000058b90bfbe8e7bcd6d0260801c5b68040000000000000000831615611ef15770010000000000000002c5c85fdf473de6b20260801c5b68020000000000000000831615611f19577001000000000000000162e42fefa39ef3580260801c5b68010000000000000000831615611f415770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615611f68577001000000000000000058b90bfbe8e7bcd50260801c5b674000000000000000831615611f8f57700100000000000000002c5c85fdf473de6a0260801c5b672000000000000000831615611fb65770010000000000000000162e42fefa39ef340260801c5b671000000000000000831615611fdd57700100000000000000000b17217f7d1cf7990260801c5b6708000000000000008316156120045770010000000000000000058b90bfbe8e7bcc0260801c5b67040000000000000083161561202b577001000000000000000002c5c85fdf473de50260801c5b67020000000000000083161561205257700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615612079577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561209f57700100000000000000000058b90bfbe8e7bb0260801c5b66400000000000008316156120c55770010000000000000000002c5c85fdf473dd0260801c5b66200000000000008316156120eb577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156121115770010000000000000000000b17217f7d1cf60260801c5b6608000000000000831615612137577001000000000000000000058b90bfbe8e7a0260801c5b660400000000000083161561215d57700100000000000000000002c5c85fdf473c0260801c5b66020000000000008316156121835770010000000000000000000162e42fefa39d0260801c5b66010000000000008316156121a957700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156121ce5770010000000000000000000058b90bfbe8e60260801c5b654000000000008316156121f3577001000000000000000000002c5c85fdf4720260801c5b6520000000000083161561221857700100000000000000000000162e42fefa380260801c5b6510000000000083161561223d577001000000000000000000000b17217f7d1b0260801c5b6508000000000083161561226257700100000000000000000000058b90bfbe8d0260801c5b650400000000008316156122875770010000000000000000000002c5c85fdf460260801c5b650200000000008316156122ac577001000000000000000000000162e42fefa20260801c5b650100000000008316156122d15770010000000000000000000000b17217f7d00260801c5b6480000000008316156122f5577001000000000000000000000058b90bfbe70260801c5b64400000000083161561231957700100000000000000000000002c5c85fdf30260801c5b64200000000083161561233d5770010000000000000000000000162e42fef90260801c5b64100000000083161561236157700100000000000000000000000b17217f7c0260801c5b6408000000008316156123855770010000000000000000000000058b90bfbd0260801c5b6404000000008316156123a9577001000000000000000000000002c5c85fde0260801c5b6402000000008316156123cd57700100000000000000000000000162e42fee0260801c5b6401000000008316156123f1577001000000000000000000000000b17217f60260801c5b638000000083161561241457700100000000000000000000000058b90bfa0260801c5b63400000008316156124375770010000000000000000000000002c5c85fc0260801c5b632000000083161561245a577001000000000000000000000000162e42fd0260801c5b631000000083161561247d5770010000000000000000000000000b17217e0260801c5b63080000008316156124a0577001000000000000000000000000058b90be0260801c5b63040000008316156124c357700100000000000000000000000002c5c85e0260801c5b63020000008316156124e65770010000000000000000000000000162e42e0260801c5b630100000083161561250957700100000000000000000000000000b172160260801c5b6280000083161561252b5770010000000000000000000000000058b90a0260801c5b6240000083161561254d577001000000000000000000000000002c5c840260801c5b6220000083161561256f57700100000000000000000000000000162e410260801c5b62100000831615612591577001000000000000000000000000000b17200260801c5b620800008316156125b357700100000000000000000000000000058b8f0260801c5b620400008316156125d55770010000000000000000000000000002c5c70260801c5b620200008316156125f7577001000000000000000000000000000162e30260801c5b620100008316156126195770010000000000000000000000000000b1710260801c5b61800083161561263a577001000000000000000000000000000058b80260801c5b61400083161561265b57700100000000000000000000000000002c5b0260801c5b61200083161561267c5770010000000000000000000000000000162d0260801c5b61100083161561269d57700100000000000000000000000000000b160260801c5b6108008316156126be5770010000000000000000000000000000058a0260801c5b6104008316156126df577001000000000000000000000000000002c40260801c5b610200831615612700577001000000000000000000000000000001610260801c5b610100831615612721577001000000000000000000000000000000b00260801c5b6080831615612741577001000000000000000000000000000000570260801c5b60408316156127615770010000000000000000000000000000002b0260801c5b6020831615612781577001000000000000000000000000000000150260801c5b60108316156127a15770010000000000000000000000000000000a0260801c5b60088316156127c1577001000000000000000000000000000000040260801c5b60048316156127e1577001000000000000000000000000000000010260801c5b8461280957600f81901c6dffffffffffffffffffffffffffff169050613fff8201915061285c565b613ffe821161283557600f81901c6dffffffffffffffffffffffffffff16905081613fff03915061285c565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000806040838503121561288257600080fd5b50508035926020909101359150565b6000602082840312156128a357600080fd5b5035919050565b6000602082840312156128bc57600080fd5b5051919050565b81810381811115610097577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212207d98fe4e1d9c5ada681437d5dd47b7ad633295e4ed7da97be912be411eb96e0664736f6c63430008130033", "nonce": "0xd", "accessList": [] }, @@ -266,7 +266,7 @@ "isFixedGasLimit": false }, { - "hash": "0xaefa169233a6b53f74db07cae44446ff947e1bd0952a14eac9ec38a81eb5dbfe", + "hash": "0x5e6f0d0f412c1b5a113bc811ee673a3172da6d13e22dd2f424f85fb83c61def4", "transactionType": "CREATE", "contractName": "DollarMintCalculatorFacet", "contractAddress": "0x5D4905664E98A76cf56EBBd023D38C420d465770", @@ -277,7 +277,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x180197", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b5061153a806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063764263cf14610030575b600080fd5b61003861004a565b60405190815260200160405180910390f35b6000610054610059565b905090565b600154600090819081906100829073ffffffffffffffffffffffffffffffffffffffff16610268565b9050670de0b6b3a764000081116100fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f446f6c6c61724d696e7443616c63756c61746f723a206e6f74203e203100000060448201526064015b60405180910390fd5b600061010d670de0b6b3a76400006103d9565b90506102606102396101dc836101b48760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af9190611453565b6103d9565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610447565b610211846101e9876103d9565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906108ca565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906108ff565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610cf7565b935050505090565b600080610273610db5565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116102dc575050505050815250509050610302600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361033257806040015191506103d3565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146103cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016100f1565b806060015191505b50919050565b6000816000036103eb57506000919050565b8160006103f782610de3565b90506070811015610410578060700382901b9150610423565b6070811115610423576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036104c35780617fff0361049657507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186108c4565b80617fff0361054a577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561051d57507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166108c4565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610618577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036105c957507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176108c4565b6dffffffffffffffffffffffffffff608085901c16600082900361063f5760019150610651565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036106b95780156106b457600061068082610de3565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6106ce565b6e0100000000000000000000000000001760721b5b8181816106dd576106dd61146c565b04905080600003610745577f80000000000000000000000000000000000000000000000000000000000000008787181661071857600061073a565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506108c4565b6d10000000000000000000000000008110156107635761076361149b565b60006e0800000000000000000000000000008210156107c3576e0400000000000000000000000000008210156107b8576e0200000000000000000000000000008210156107b15760706107bb565b60716107bb565b60725b60ff166107cc565b6107cc82610de3565b9050836140710181860111156107ea57617fff945060009150610884565b83818601613ffc011015610805576000945060009150610884565b83818601613f8c011015610852578385613ffc011115610830578385613ffc010382901b9150610849565b8385613ffc01101561084957613ffc8585030382901c91505b60009450610884565b6070811115610865576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b60006108f8837f80000000000000000000000000000000000000000000000000000000000000008418610e93565b9392505050565b6000617fff60f084811c8216919084901c811690829003610a525780617fff036109fd577fffffffffffffffffffffffffffffffff000000000000000000000000000000008085169086160361097c575050507f8000000000000000000000000000000000000000000000000000000000000000811682186108c4565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f8000000000000000000000000000000000000000000000000000000000000000036109d2575050508181176108c4565b507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361049657507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b80617fff03610add577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610ab057507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186108c4565b6dffffffffffffffffffffffffffff608086901c166000839003610b045760019250610b16565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610b3d5760019250610b4f565b6e010000000000000000000000000000175b808202915081600003610b8c577f80000000000000000000000000000000000000000000000000000000000000008787181661071857600061073a565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610bf1577c0100000000000000000000000000000000000000000000000000000000831015610bea57610be583610de3565b610bf4565b60e0610bf4565b60e15b90506140708186011015610c0f576000945060009250610cb3565b6140e08186011015610c5257614070851015610c3457846140700383901c9250610c49565b614070851115610c4957614070850383901b92505b60009450610cb3565b61c0dd8186011115610c6c57617fff945060009250610cb3565b6070811115610c83576070810383901c9250610c96565b6070811015610c96578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506108c4565b6000617fff60f083901c16613fff811015610d155750600092915050565b6f80000000000000000000000000000000608084901c10610d3557600080fd5b6140fe811115610d4457600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610d805761406f8290031c6108f8565b61406f8211156108f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b6000806108c460017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e6286114ca565b6000808211610df157600080fd5b60007001000000000000000000000000000000008310610e1357608092831c92015b680100000000000000008310610e2b57604092831c92015b6401000000008310610e3f57602092831c92015b620100008310610e5157601092831c92015b6101008310610e6257600892831c92015b60108310610e7257600492831c92015b60048310610e8257600292831c92015b600283106108c45760010192915050565b6000617fff60f084811c8216919084901c811690829003610ef75780617fff03610eed577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036109d25784925050506108c4565b84925050506108c4565b80617fff03610f0a5783925050506108c4565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f475760019350610f59565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610f965760019450610fa8565b6e010000000000000000000000000000175b8260000361100f577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014610fff5787611002565b60005b96505050505050506108c4565b80600003611066577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014610fff5788611002565b848603821515851515036111f257607081131561108c57899750505050505050506108c4565b600081131561109e5790811c906110eb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156110d557889750505050505050506108c4565b60008112156110eb578060000384901c93508596505b928101926e0200000000000000000000000000008410611111576001968701969390931c925b86617fff036111755784611145577f7fff000000000000000000000000000000000000000000000000000000000000611167565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506108c4565b6e01000000000000000000000000000084101561119557600096506111a9565b6dffffffffffffffffffffffffffff841693505b83607088901b866111bb5760006111cd565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506108c4565b600081131561120d57600184901b9350600187039650611224565b600081121561122457600182901b91506001860396505b607081131561123657600191506112bf565b6001811315611253576001810360018303901c60010191506112bf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561128457600193506112bf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8112156112bf576001816000030360018503901c60010193505b8184106112d05781840393506112d9565b83820393508294505b836000036112f25750600096506108c495505050505050565b60006112fd85610de3565b90508060710361132957600185901c6dffffffffffffffffffffffffffff1694506001880197506113a4565b60708110156113905760708190038089111561135f578086901b6dffffffffffffffffffffffffffff169550808903985061138a565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b506113a4565b6dffffffffffffffffffffffffffff851694505b87617fff0361140957856113d8577f7fff0000000000000000000000000000000000000000000000000000000000006113fa565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506108c4565b84607089901b8761141b57600061142d565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506108c4565b60006020828403121561146557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b818103818111156108c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220f576efb0ffa53359cd22eb0a61401c512fe03f0a65a5d5ffa792e2379dc88bc764736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b5061153a806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063764263cf14610030575b600080fd5b61003861004a565b60405190815260200160405180910390f35b6000610054610059565b905090565b600154600090819081906100829073ffffffffffffffffffffffffffffffffffffffff16610268565b9050670de0b6b3a764000081116100fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f446f6c6c61724d696e7443616c63756c61746f723a206e6f74203e203100000060448201526064015b60405180910390fd5b600061010d670de0b6b3a76400006103d9565b90506102606102396101dc836101b48760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af9190611453565b6103d9565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610447565b610211846101e9876103d9565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906108ca565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906108ff565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610cf7565b935050505090565b600080610273610db5565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116102dc575050505050815250509050610302600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361033257806040015191506103d3565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146103cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016100f1565b806060015191505b50919050565b6000816000036103eb57506000919050565b8160006103f782610de3565b90506070811015610410578060700382901b9150610423565b6070811115610423576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036104c35780617fff0361049657507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186108c4565b80617fff0361054a577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561051d57507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166108c4565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610618577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036105c957507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176108c4565b6dffffffffffffffffffffffffffff608085901c16600082900361063f5760019150610651565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036106b95780156106b457600061068082610de3565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6106ce565b6e0100000000000000000000000000001760721b5b8181816106dd576106dd61146c565b04905080600003610745577f80000000000000000000000000000000000000000000000000000000000000008787181661071857600061073a565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506108c4565b6d10000000000000000000000000008110156107635761076361149b565b60006e0800000000000000000000000000008210156107c3576e0400000000000000000000000000008210156107b8576e0200000000000000000000000000008210156107b15760706107bb565b60716107bb565b60725b60ff166107cc565b6107cc82610de3565b9050836140710181860111156107ea57617fff945060009150610884565b83818601613ffc011015610805576000945060009150610884565b83818601613f8c011015610852578385613ffc011115610830578385613ffc010382901b9150610849565b8385613ffc01101561084957613ffc8585030382901c91505b60009450610884565b6070811115610865576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b60006108f8837f80000000000000000000000000000000000000000000000000000000000000008418610e93565b9392505050565b6000617fff60f084811c8216919084901c811690829003610a525780617fff036109fd577fffffffffffffffffffffffffffffffff000000000000000000000000000000008085169086160361097c575050507f8000000000000000000000000000000000000000000000000000000000000000811682186108c4565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f8000000000000000000000000000000000000000000000000000000000000000036109d2575050508181176108c4565b507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361049657507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b80617fff03610add577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610ab057507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186108c4565b6dffffffffffffffffffffffffffff608086901c166000839003610b045760019250610b16565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610b3d5760019250610b4f565b6e010000000000000000000000000000175b808202915081600003610b8c577f80000000000000000000000000000000000000000000000000000000000000008787181661071857600061073a565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610bf1577c0100000000000000000000000000000000000000000000000000000000831015610bea57610be583610de3565b610bf4565b60e0610bf4565b60e15b90506140708186011015610c0f576000945060009250610cb3565b6140e08186011015610c5257614070851015610c3457846140700383901c9250610c49565b614070851115610c4957614070850383901b92505b60009450610cb3565b61c0dd8186011115610c6c57617fff945060009250610cb3565b6070811115610c83576070810383901c9250610c96565b6070811015610c96578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506108c4565b6000617fff60f083901c16613fff811015610d155750600092915050565b6f80000000000000000000000000000000608084901c10610d3557600080fd5b6140fe811115610d4457600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610d805761406f8290031c6108f8565b61406f8211156108f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b6000806108c460017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e6286114ca565b6000808211610df157600080fd5b60007001000000000000000000000000000000008310610e1357608092831c92015b680100000000000000008310610e2b57604092831c92015b6401000000008310610e3f57602092831c92015b620100008310610e5157601092831c92015b6101008310610e6257600892831c92015b60108310610e7257600492831c92015b60048310610e8257600292831c92015b600283106108c45760010192915050565b6000617fff60f084811c8216919084901c811690829003610ef75780617fff03610eed577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036109d25784925050506108c4565b84925050506108c4565b80617fff03610f0a5783925050506108c4565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f475760019350610f59565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610f965760019450610fa8565b6e010000000000000000000000000000175b8260000361100f577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014610fff5787611002565b60005b96505050505050506108c4565b80600003611066577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014610fff5788611002565b848603821515851515036111f257607081131561108c57899750505050505050506108c4565b600081131561109e5790811c906110eb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156110d557889750505050505050506108c4565b60008112156110eb578060000384901c93508596505b928101926e0200000000000000000000000000008410611111576001968701969390931c925b86617fff036111755784611145577f7fff000000000000000000000000000000000000000000000000000000000000611167565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506108c4565b6e01000000000000000000000000000084101561119557600096506111a9565b6dffffffffffffffffffffffffffff841693505b83607088901b866111bb5760006111cd565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506108c4565b600081131561120d57600184901b9350600187039650611224565b600081121561122457600182901b91506001860396505b607081131561123657600191506112bf565b6001811315611253576001810360018303901c60010191506112bf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561128457600193506112bf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8112156112bf576001816000030360018503901c60010193505b8184106112d05781840393506112d9565b83820393508294505b836000036112f25750600096506108c495505050505050565b60006112fd85610de3565b90508060710361132957600185901c6dffffffffffffffffffffffffffff1694506001880197506113a4565b60708110156113905760708190038089111561135f578086901b6dffffffffffffffffffffffffffff169550808903985061138a565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b506113a4565b6dffffffffffffffffffffffffffff851694505b87617fff0361140957856113d8577f7fff0000000000000000000000000000000000000000000000000000000000006113fa565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506108c4565b84607089901b8761141b57600061142d565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506108c4565b60006020828403121561146557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b818103818111156108c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212205f7ff5eb4e7bf07c1e83c19b27362f7311c93f91383143a9467c5b3922eabcd464736f6c63430008130033", "nonce": "0xe", "accessList": [] }, @@ -285,7 +285,7 @@ "isFixedGasLimit": false }, { - "hash": "0x71cc2dd49a4d5bd0e24418cb9f06b5d051839b659a6e04c360bf1dd78804d3a5", + "hash": "0xabff4fd50c31131a2d9f1f83b0009dde69a88ba7a4f9f7a8fda816edbc67609c", "transactionType": "CREATE", "contractName": "DollarMintExcessFacet", "contractAddress": "0xD64465FC4c7d3BAbaBA5d0E4AfF6DffC278bfd18", @@ -296,7 +296,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x1ca8a9", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b5061196c806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063651156bc14610030575b600080fd5b61003861003a565b005b610042610044565b565b60008060018101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925073ffffffffffffffffffffffffffffffffffffffff169060009082906370a0823190602401602060405180830381865afa1580156100bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e1919061157b565b905068056bc75e2d631000008111156101e457600983015473ffffffffffffffffffffffffffffffffffffffff166000610179610152610121600a6101e9565b61012a866101e9565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610257565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166106da565b9050600061019661015261018d60026101e9565b61012a876101e9565b90506101b973ffffffffffffffffffffffffffffffffffffffff86168483610799565b6101c28261086d565b6101df826101d083876115c3565b6101da91906115c3565b610a66565b505050505b505050565b6000816000036101fb57506000919050565b81600061020782610e69565b90506070811015610220578060700382901b9150610233565b6070811115610233576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036102d35780617fff036102a657507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186106d4565b80617fff0361035a577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561032d57507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166106d4565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610428577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036103d957507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176106d4565b6dffffffffffffffffffffffffffff608085901c16600082900361044f5760019150610461565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036104c95780156104c457600061049082610e69565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6104de565b6e0100000000000000000000000000001760721b5b8181816104ed576104ed6115d6565b04905080600003610555577f80000000000000000000000000000000000000000000000000000000000000008787181661052857600061054a565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506106d4565b6d100000000000000000000000000081101561057357610573611605565b60006e0800000000000000000000000000008210156105d3576e0400000000000000000000000000008210156105c8576e0200000000000000000000000000008210156105c15760706105cb565b60716105cb565b60725b60ff166105dc565b6105dc82610e69565b9050836140710181860111156105fa57617fff945060009150610694565b83818601613ffc011015610615576000945060009150610694565b83818601613f8c011015610662578385613ffc011115610640578385613ffc010382901b9150610659565b8385613ffc01101561065957613ffc8585030382901c91505b60009450610694565b6070811115610675576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b6000617fff60f083901c16613fff8110156106f85750600092915050565b6f80000000000000000000000000000000608084901c1061071857600080fd5b6140fe81111561072757600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156107635761406f8290031c610792565b61406f821115610792577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526101e49084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610f19565b600061088561087c60026101e9565b61012a846101e9565b600154600a5491925073ffffffffffffffffffffffffffffffffffffffff90811691166108c88273d9e1ce17f2641f24ae83637ab66a2cca9c378b9f600061102d565b60006108d3846111af565b905061090b73ffffffffffffffffffffffffffffffffffffffff831673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f600061102d565b61094073ffffffffffffffffffffffffffffffffffffffff831673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f8361102d565b73d9e1ce17f2641f24ae83637ab66a2cca9c378b9f63e8e3370084846109877fffffffffffffffffffffffffffffffff0000000000000000000000000000000089166106da565b8560008080610997426064611634565b60405160e08a901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9889166004820152968816602488015260448701959095526064860193909352608485019190915260a484015290921660c482015260e4810191909152610104016060604051808303816000875af1158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c9190611647565b5050505050505050565b600080806007810154600882015491925073ffffffffffffffffffffffffffffffffffffffff9081169116600080600101546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529091169150819063095ea7b3906044016020604051808303816000875af1158015610b11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b359190611675565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820188905282169063095ea7b3906044016020604051808303816000875af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190611675565b506040517f3df021240000000000000000000000000000000000000000000000000000000081526000600482018190526001602483015260448201889052606482018190529073ffffffffffffffffffffffffffffffffffffffff851690633df02124906084016020604051808303816000875af1158015610c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c79919061157b565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152600060248301529192509084169063095ea7b3906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190611675565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af1158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db09190611675565b5060408051808201825260008082526020820184905291517f0c3e4b5400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871691630c3e4b5491610e1a919085903090600401611697565b6020604051808303816000875af1158015610e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5d919061157b565b98975050505050505050565b6000808211610e7757600080fd5b60007001000000000000000000000000000000008310610e9957608092831c92015b680100000000000000008310610eb157604092831c92015b6401000000008310610ec557602092831c92015b620100008310610ed757601092831c92015b6101008310610ee857600892831c92015b60108310610ef857600492831c92015b60048310610f0857600292831c92015b600283106106d45760010192915050565b6000610f7b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661136c9092919063ffffffff16565b9050805160001480610f9c575080806020019051810190610f9c9190611675565b6101e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b8015806110cd57506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156110a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cb919061157b565b155b611159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401611024565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526101e49084907f095ea7b300000000000000000000000000000000000000000000000000000000906064016107eb565b604080516002808252606082018352600092839291906020830190803683375050600154825192935060009273ffffffffffffffffffffffffffffffffffffffff9091169150839083906112055761120561171b565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600a8201548351911690839060019081106112455761124561171b565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600073d9e1ce17f2641f24ae83637ab66a2cca9c378b9f6338ed17396112b17fffffffffffffffffffffffffffffffff0000000000000000000000000000000088166106da565b600086306112c0426064611634565b6040518663ffffffff1660e01b81526004016112e095949392919061174a565b6000604051808303816000875af11580156112ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261134591908101906117d5565b90508060018151811061135a5761135a61171b565b60200260200101519350505050919050565b606061137b8484600085611383565b949350505050565b606082471015611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611024565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161143e91906118c9565b60006040518083038185875af1925050503d806000811461147b576040519150601f19603f3d011682016040523d82523d6000602084013e611480565b606091505b50915091506114918783838761149c565b979650505050505050565b6060831561153257825160000361152b5773ffffffffffffffffffffffffffffffffffffffff85163b61152b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611024565b508161137b565b61137b83838151156115475781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102491906118e5565b60006020828403121561158d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156106d4576106d4611594565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b808201808211156106d4576106d4611594565b60008060006060848603121561165c57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561168757600080fd5b8151801515811461079257600080fd5b60808101818560005b60028110156116bf5781518352602092830192909101906001016116a0565b50505083604083015273ffffffffffffffffffffffffffffffffffffffff83166060830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117a757845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101611775565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b600060208083850312156117e857600080fd5b825167ffffffffffffffff8082111561180057600080fd5b818501915085601f83011261181457600080fd5b815181811115611826576118266116ec565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715611869576118696116ec565b60405291825284820192508381018501918883111561188757600080fd5b938501935b82851015610e5d5784518452938501939285019261188c565b60005b838110156118c05781810151838201526020016118a8565b50506000910152565b600082516118db8184602087016118a5565b9190910192915050565b60208152600082518060208401526119048160408501602087016118a5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212209c0ba527f8e3f2872d3d5d51d0861ca95ab6883e46625c31d3371c67873eb40264736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b5061196c806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063651156bc14610030575b600080fd5b61003861003a565b005b610042610044565b565b60008060018101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925073ffffffffffffffffffffffffffffffffffffffff169060009082906370a0823190602401602060405180830381865afa1580156100bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e1919061157b565b905068056bc75e2d631000008111156101e457600983015473ffffffffffffffffffffffffffffffffffffffff166000610179610152610121600a6101e9565b61012a866101e9565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610257565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166106da565b9050600061019661015261018d60026101e9565b61012a876101e9565b90506101b973ffffffffffffffffffffffffffffffffffffffff86168483610799565b6101c28261086d565b6101df826101d083876115c3565b6101da91906115c3565b610a66565b505050505b505050565b6000816000036101fb57506000919050565b81600061020782610e69565b90506070811015610220578060700382901b9150610233565b6070811115610233576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036102d35780617fff036102a657507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186106d4565b80617fff0361035a577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561032d57507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166106d4565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610428577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036103d957507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176106d4565b6dffffffffffffffffffffffffffff608085901c16600082900361044f5760019150610461565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036104c95780156104c457600061049082610e69565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6104de565b6e0100000000000000000000000000001760721b5b8181816104ed576104ed6115d6565b04905080600003610555577f80000000000000000000000000000000000000000000000000000000000000008787181661052857600061054a565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506106d4565b6d100000000000000000000000000081101561057357610573611605565b60006e0800000000000000000000000000008210156105d3576e0400000000000000000000000000008210156105c8576e0200000000000000000000000000008210156105c15760706105cb565b60716105cb565b60725b60ff166105dc565b6105dc82610e69565b9050836140710181860111156105fa57617fff945060009150610694565b83818601613ffc011015610615576000945060009150610694565b83818601613f8c011015610662578385613ffc011115610640578385613ffc010382901b9150610659565b8385613ffc01101561065957613ffc8585030382901c91505b60009450610694565b6070811115610675576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b6000617fff60f083901c16613fff8110156106f85750600092915050565b6f80000000000000000000000000000000608084901c1061071857600080fd5b6140fe81111561072757600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156107635761406f8290031c610792565b61406f821115610792577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526101e49084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610f19565b600061088561087c60026101e9565b61012a846101e9565b600154600a5491925073ffffffffffffffffffffffffffffffffffffffff90811691166108c88273d9e1ce17f2641f24ae83637ab66a2cca9c378b9f600061102d565b60006108d3846111af565b905061090b73ffffffffffffffffffffffffffffffffffffffff831673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f600061102d565b61094073ffffffffffffffffffffffffffffffffffffffff831673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f8361102d565b73d9e1ce17f2641f24ae83637ab66a2cca9c378b9f63e8e3370084846109877fffffffffffffffffffffffffffffffff0000000000000000000000000000000089166106da565b8560008080610997426064611634565b60405160e08a901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9889166004820152968816602488015260448701959095526064860193909352608485019190915260a484015290921660c482015260e4810191909152610104016060604051808303816000875af1158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c9190611647565b5050505050505050565b600080806007810154600882015491925073ffffffffffffffffffffffffffffffffffffffff9081169116600080600101546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529091169150819063095ea7b3906044016020604051808303816000875af1158015610b11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b359190611675565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820188905282169063095ea7b3906044016020604051808303816000875af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190611675565b506040517f3df021240000000000000000000000000000000000000000000000000000000081526000600482018190526001602483015260448201889052606482018190529073ffffffffffffffffffffffffffffffffffffffff851690633df02124906084016020604051808303816000875af1158015610c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c79919061157b565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152600060248301529192509084169063095ea7b3906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190611675565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af1158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db09190611675565b5060408051808201825260008082526020820184905291517f0c3e4b5400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871691630c3e4b5491610e1a919085903090600401611697565b6020604051808303816000875af1158015610e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5d919061157b565b98975050505050505050565b6000808211610e7757600080fd5b60007001000000000000000000000000000000008310610e9957608092831c92015b680100000000000000008310610eb157604092831c92015b6401000000008310610ec557602092831c92015b620100008310610ed757601092831c92015b6101008310610ee857600892831c92015b60108310610ef857600492831c92015b60048310610f0857600292831c92015b600283106106d45760010192915050565b6000610f7b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661136c9092919063ffffffff16565b9050805160001480610f9c575080806020019051810190610f9c9190611675565b6101e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b8015806110cd57506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156110a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cb919061157b565b155b611159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401611024565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526101e49084907f095ea7b300000000000000000000000000000000000000000000000000000000906064016107eb565b604080516002808252606082018352600092839291906020830190803683375050600154825192935060009273ffffffffffffffffffffffffffffffffffffffff9091169150839083906112055761120561171b565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600a8201548351911690839060019081106112455761124561171b565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600073d9e1ce17f2641f24ae83637ab66a2cca9c378b9f6338ed17396112b17fffffffffffffffffffffffffffffffff0000000000000000000000000000000088166106da565b600086306112c0426064611634565b6040518663ffffffff1660e01b81526004016112e095949392919061174a565b6000604051808303816000875af11580156112ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261134591908101906117d5565b90508060018151811061135a5761135a61171b565b60200260200101519350505050919050565b606061137b8484600085611383565b949350505050565b606082471015611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611024565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161143e91906118c9565b60006040518083038185875af1925050503d806000811461147b576040519150601f19603f3d011682016040523d82523d6000602084013e611480565b606091505b50915091506114918783838761149c565b979650505050505050565b6060831561153257825160000361152b5773ffffffffffffffffffffffffffffffffffffffff85163b61152b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611024565b508161137b565b61137b83838151156115475781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102491906118e5565b60006020828403121561158d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156106d4576106d4611594565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b808201808211156106d4576106d4611594565b60008060006060848603121561165c57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561168757600080fd5b8151801515811461079257600080fd5b60808101818560005b60028110156116bf5781518352602092830192909101906001016116a0565b50505083604083015273ffffffffffffffffffffffffffffffffffffffff83166060830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117a757845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101611775565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b600060208083850312156117e857600080fd5b825167ffffffffffffffff8082111561180057600080fd5b818501915085601f83011261181457600080fd5b815181811115611826576118266116ec565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715611869576118696116ec565b60405291825284820192508381018501918883111561188757600080fd5b938501935b82851015610e5d5784518452938501939285019261188c565b60005b838110156118c05781810151838201526020016118a8565b50506000910152565b600082516118db8184602087016118a5565b9190910192915050565b60208152600082518060208401526119048160408501602087016118a5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220330a8e15f048a7c4edfc7141015064b035be083c810be175b46edd66acde7e2c64736f6c63430008130033", "nonce": "0xf", "accessList": [] }, @@ -304,7 +304,7 @@ "isFixedGasLimit": false }, { - "hash": "0xba1d87adaf75c90f6505dee0c852fdfd29aa64a87f45e189572e9bdc98141cde", + "hash": "0xc31639b620ed938a863a4659d663139aec70098d58020cac1d269fb765de608a", "transactionType": "CREATE", "contractName": "DiamondInit", "contractAddress": "0x7f7A6fA77E3De3e90be433834f23E24214bbe3C8", @@ -313,9 +313,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x2ddcd6", + "gas": "0x2ddcc7", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50612947806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806311567a5714610030575b600080fd5b61004361003e3660046125fc565b610045565b005b600061004f610455565b7f01ffc9a7000000000000000000000000000000000000000000000000000000006000908152600382016020526040808220805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681179092557f1f931c1c00000000000000000000000000000000000000000000000000000000845282842080548216831790557f48e2b09300000000000000000000000000000000000000000000000000000000845282842080548216831790557f7f5828d00000000000000000000000000000000000000000000000000000000084529183208054909216179055835191925061014691610489565b6101747fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe188360000151610489565b6101a27fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab3548360000151610489565b6101d07ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b99199228360000151610489565b6101fe7fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e28360000151610489565b61022c7f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd8360000151610489565b61025a7fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a08360000151610489565b6102887f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8360000151610489565b6102b67f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b8360000151610489565b6102e47fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b8360000151610489565b6103127faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d8360000151610489565b6103407f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb8360000151610489565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690558151600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556000806103b96104f4565b66038d7ea4c68000815561b131600182015590506103d76001600055565b6103f38460200151856040015186606001518760800151610522565b8360a001516104006106e6565b6002018190555060026104116106e6565b60030155670de0b6b3a7640000610426610714565b556000610431610742565b6000600682018190556007820155670de0b6b3a7640000600e909101555050505050565b60008061048360017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c612708565b92915050565b6104aa81610495610770565b6000858152602091909152604090209061079e565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008061048360017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea127612708565b600061052c6107c7565b4360058083019190915560006006830155600482015566038d7ea4c680006002820155670de0b6b3a7640000600382018190556001820155828155855185519192509081146105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5f616d6f756e7473206172726179206e6f742073616d65206c656e677468000060448201526064015b60405180910390fd5b8351811461066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f5f7374616b696e675368617265494473206172726179206e6f742073616d652060448201527f6c656e677468000000000000000000000000000000000000000000000000000060648201526084016105d3565b60005b818110156106dd576106cd87828151811061068c5761068c61271b565b60200260200101518783815181106106a6576106a661271b565b60200260200101518784815181106106c0576106c061271b565b60200260200101516107f5565b6106d68161274a565b905061066f565b50505050505050565b60008061048360017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297612708565b60008061048360017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665612708565b60008061048360017f2a1c4d9e43cc908458204ba8dd637dd73ede6adc739c3209ac617ae953246cc1612708565b60008061048360017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612708565b60006107c08373ffffffffffffffffffffffffffffffffffffffff8416610917565b9392505050565b60008061048360017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612708565b60006107ff6107c7565b6000838152600782016020526040902090915061081a61095a565b805415610864576001810154600683015482546000929164e8d4a51000916108429190612782565b61084c91906127c8565b6108569190612708565b90506108628682610b59565b505b838160000160008282546108789190612803565b90915550506006820154815464e8d4a510009161089491612782565b61089e91906127c8565b6001820155836108ac6107c7565b60080160008282546108be9190612803565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b6000818152600183016020526040812054610483575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b60006109646107c7565b600581018054919250904311610978575050565b610980610c4c565b81600801546000036109925743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109bc610ccd565b90506000670de0b6b3a76400008660000154836109d99190612782565b6109e391906127c8565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a9991906127c8565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610b0457600080fd5b505af1158015610b18573d6000803e3d6000fd5b505050506008860154610b308264e8d4a51000612782565b610b3a91906127c8565b8560010154610b499190612803565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf59190612816565b905080831115610c2557610c2073ffffffffffffffffffffffffffffffffffffffff83168583610d0a565b610c46565b610c4673ffffffffffffffffffffffffffffffffffffffff83168585610d0a565b50505050565b6000610c566107c7565b90506000610c62610d97565b905060008260030154821115610c8e5760028301546003840154610c869084612708565b119050610ca7565b8260020154828460030154610ca39190612708565b1190505b8015610cc857610cbb836001015483610dc1565b6001840155600383018290555b505050565b600080610cd86107c7565b6005015490506000610ce86107c7565b60010154905080610cf98343612708565b610d039190612782565b9250505090565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cc8908490610f3f565b6000610dbc816001015473ffffffffffffffffffffffffffffffffffffffff1661104e565b905090565b600080610dcd846111bf565b90506000610dda846111bf565b90506000610def670e92596fd62900006111bf565b90506000610e04670de0b6b3a76400006111bf565b90506000610e88610e5f610e3a7fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687611232565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061125c565b9050610f0c610ee582610ebd7fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687611847565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c6e565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612095565b9550674563918244f40000861180610f2b57506702c68af0bb14000086105b15610f34578795505b505050505092915050565b6000610fa1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121539092919063ffffffff16565b9050805160001480610fc2575080806020019051810190610fc2919061282f565b610cc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016105d3565b60008061105961216a565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116110c25750505050508152505090506110e8600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361111857806040015191506111b9565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146111b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016105d3565b806060015191505b50919050565b6000816000036111d157506000919050565b8160006111dd82612198565b905060708110156111f6578060700382901b9150611209565b6070811115611209576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b60006107c0837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112eb5780617fff036112e1577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112b6578492505050610483565b507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b8492505050610483565b80617fff036112fe578392505050610483565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361133b576001935061134d565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff16600085900361138a576001945061139c565b6e010000000000000000000000000000175b82600003611403577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113f357876113f6565b60005b9650505050505050610483565b8060000361145a577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113f357886113f6565b848603821515851515036115e65760708113156114805789975050505050505050610483565b60008113156114925790811c906114df565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156114c95788975050505050505050610483565b60008112156114df578060000384901c93508596505b928101926e0200000000000000000000000000008410611505576001968701969390931c925b86617fff036115695784611539577f7fff00000000000000000000000000000000000000000000000000000000000061155b565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610483565b6e010000000000000000000000000000841015611589576000965061159d565b6dffffffffffffffffffffffffffff841693505b83607088901b866115af5760006115c1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610483565b600081131561160157600184901b9350600187039650611618565b600081121561161857600182901b91506001860396505b607081131561162a57600191506116b3565b6001811315611647576001810360018303901c60010191506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561167857600193506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8112156116b3576001816000030360018503901c60010193505b8184106116c45781840393506116cd565b83820393508294505b836000036116e657506000965061048395505050505050565b60006116f185612198565b90508060710361171d57600185901c6dffffffffffffffffffffffffffff169450600188019750611798565b607081101561178457607081900380891115611753578086901b6dffffffffffffffffffffffffffff169550808903985061177e565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611798565b6dffffffffffffffffffffffffffff851694505b87617fff036117fd57856117cc577f7fff0000000000000000000000000000000000000000000000000000000000006117ee565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610483565b84607089901b8761180f576000611821565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610483565b6000617fff60f084811c8216919084901c81169082900361199c5780617fff0361191a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036118c4575050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f8000000000000000000000000000000000000000000000000000000000000000036112b657505050818117610483565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b80617fff03611a27577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119fa57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610483565b6dffffffffffffffffffffffffffff608086901c166000839003611a4e5760019250611a60565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a875760019250611a99565b6e010000000000000000000000000000175b808202915081600003611b03577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610483565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b68577c0100000000000000000000000000000000000000000000000000000000831015611b6157611b5c83612198565b611b6b565b60e0611b6b565b60e15b90506140708186011015611b86576000945060009250611c2a565b6140e08186011015611bc957614070851015611bab57846140700383901c9250611bc0565b614070851115611bc057614070850383901b92505b60009450611c2a565b61c0dd8186011115611be357617fff945060009250611c2a565b6070811115611bfa576070810383901c9250611c0d565b6070811015611c0d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f084811c8216919084901c811690829003611cbd5780617fff0361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b80617fff03611d44577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611d1757507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610483565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611e12577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611dc357507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610483565b6dffffffffffffffffffffffffffff608085901c166000829003611e395760019150611e4b565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611eb3578015611eae576000611e7a82612198565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611ec8565b6e0100000000000000000000000000001760721b5b818181611ed757611ed7612799565b04905080600003611f12577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b6d1000000000000000000000000000811015611f3057611f30612851565b60006e080000000000000000000000000000821015611f90576e040000000000000000000000000000821015611f85576e020000000000000000000000000000821015611f7e576070611f88565b6071611f88565b60725b60ff16611f99565b611f9982612198565b905083614071018186011115611fb757617fff945060009150612051565b83818601613ffc011015611fd2576000945060009150612051565b83818601613f8c01101561201f578385613ffc011115611ffd578385613ffc010382901b9150612016565b8385613ffc01101561201657613ffc8585030382901c91505b60009450612051565b6070811115612032576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f083901c16613fff8110156120b35750600092915050565b6f80000000000000000000000000000000608084901c106120d357600080fd5b6140fe8111156120e257600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f82101561211e5761406f8290031c6107c0565b61406f8211156107c0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60606121628484600085612248565b949350505050565b60008061048360017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612708565b60008082116121a657600080fd5b600070010000000000000000000000000000000083106121c857608092831c92015b6801000000000000000083106121e057604092831c92015b64010000000083106121f457602092831c92015b62010000831061220657601092831c92015b610100831061221757600892831c92015b6010831061222757600492831c92015b6004831061223757600292831c92015b600283106104835760010192915050565b6060824710156122da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016105d3565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161230391906128a4565b60006040518083038185875af1925050503d8060008114612340576040519150601f19603f3d011682016040523d82523d6000602084013e612345565b606091505b509150915061235687838387612361565b979650505050505050565b606083156123f75782516000036123f05773ffffffffffffffffffffffffffffffffffffffff85163b6123f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105d3565b5081612162565b612162838381511561240c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d391906128c0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561249257612492612440565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156124df576124df612440565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461122d57600080fd5b600067ffffffffffffffff82111561252557612525612440565b5060051b60200190565b600082601f83011261254057600080fd5b813560206125556125508361250b565b612498565b82815260059290921b8401810191818101908684111561257457600080fd5b8286015b8481101561259657612589816124e7565b8352918301918301612578565b509695505050505050565b600082601f8301126125b257600080fd5b813560206125c26125508361250b565b82815260059290921b840181019181810190868411156125e157600080fd5b8286015b8481101561259657803583529183019183016125e5565b60006020828403121561260e57600080fd5b813567ffffffffffffffff8082111561262657600080fd5b9083019060c0828603121561263a57600080fd5b61264261246f565b61264b836124e7565b815260208301358281111561265f57600080fd5b61266b8782860161252f565b60208301525060408301358281111561268357600080fd5b61268f878286016125a1565b6040830152506060830135828111156126a757600080fd5b6126b3878286016125a1565b6060830152506080830135608082015260a083013560a082015280935050505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361277b5761277b6126d9565b5060010190565b8082028115828204841417610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826127fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610483576104836126d9565b60006020828403121561282857600080fd5b5051919050565b60006020828403121561284157600080fd5b815180151581146107c057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b8381101561289b578181015183820152602001612883565b50506000910152565b600082516128b6818460208701612880565b9190910192915050565b60208152600082518060208401526128df816040850160208701612880565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220cf69889e17c460c0839b37fb573ccb1cc59295ce04e5f1dd69830bb6862b2d9a64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50612947806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806311567a5714610030575b600080fd5b61004361003e3660046125fc565b610045565b005b600061004f610455565b7f01ffc9a7000000000000000000000000000000000000000000000000000000006000908152600382016020526040808220805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681179092557f1f931c1c00000000000000000000000000000000000000000000000000000000845282842080548216831790557f48e2b09300000000000000000000000000000000000000000000000000000000845282842080548216831790557f7f5828d00000000000000000000000000000000000000000000000000000000084529183208054909216179055835191925061014691610489565b6101747fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe188360000151610489565b6101a27fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab3548360000151610489565b6101d07ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b99199228360000151610489565b6101fe7fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e28360000151610489565b61022c7f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd8360000151610489565b61025a7fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a08360000151610489565b6102887f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8360000151610489565b6102b67f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b8360000151610489565b6102e47fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b8360000151610489565b6103127faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d8360000151610489565b6103407f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb8360000151610489565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690558151600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556000806103b96104f4565b66038d7ea4c68000815561b131600182015590506103d76001600055565b6103f38460200151856040015186606001518760800151610522565b8360a001516104006106e6565b6002018190555060026104116106e6565b60030155670de0b6b3a7640000610426610714565b556000610431610742565b6000600682018190556007820155670de0b6b3a7640000600e909101555050505050565b60008061048360017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c612708565b92915050565b6104aa81610495610770565b6000858152602091909152604090209061079e565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008061048360017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea127612708565b600061052c6107c7565b4360058083019190915560006006830155600482015566038d7ea4c680006002820155670de0b6b3a7640000600382018190556001820155828155855185519192509081146105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5f616d6f756e7473206172726179206e6f742073616d65206c656e677468000060448201526064015b60405180910390fd5b8351811461066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f5f7374616b696e675368617265494473206172726179206e6f742073616d652060448201527f6c656e677468000000000000000000000000000000000000000000000000000060648201526084016105d3565b60005b818110156106dd576106cd87828151811061068c5761068c61271b565b60200260200101518783815181106106a6576106a661271b565b60200260200101518784815181106106c0576106c061271b565b60200260200101516107f5565b6106d68161274a565b905061066f565b50505050505050565b60008061048360017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297612708565b60008061048360017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665612708565b60008061048360017f2a1c4d9e43cc908458204ba8dd637dd73ede6adc739c3209ac617ae953246cc1612708565b60008061048360017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612708565b60006107c08373ffffffffffffffffffffffffffffffffffffffff8416610917565b9392505050565b60008061048360017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612708565b60006107ff6107c7565b6000838152600782016020526040902090915061081a61095a565b805415610864576001810154600683015482546000929164e8d4a51000916108429190612782565b61084c91906127c8565b6108569190612708565b90506108628682610b59565b505b838160000160008282546108789190612803565b90915550506006820154815464e8d4a510009161089491612782565b61089e91906127c8565b6001820155836108ac6107c7565b60080160008282546108be9190612803565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b6000818152600183016020526040812054610483575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b60006109646107c7565b600581018054919250904311610978575050565b610980610c4c565b81600801546000036109925743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109bc610ccd565b90506000670de0b6b3a76400008660000154836109d99190612782565b6109e391906127c8565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a9991906127c8565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610b0457600080fd5b505af1158015610b18573d6000803e3d6000fd5b505050506008860154610b308264e8d4a51000612782565b610b3a91906127c8565b8560010154610b499190612803565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf59190612816565b905080831115610c2557610c2073ffffffffffffffffffffffffffffffffffffffff83168583610d0a565b610c46565b610c4673ffffffffffffffffffffffffffffffffffffffff83168585610d0a565b50505050565b6000610c566107c7565b90506000610c62610d97565b905060008260030154821115610c8e5760028301546003840154610c869084612708565b119050610ca7565b8260020154828460030154610ca39190612708565b1190505b8015610cc857610cbb836001015483610dc1565b6001840155600383018290555b505050565b600080610cd86107c7565b6005015490506000610ce86107c7565b60010154905080610cf98343612708565b610d039190612782565b9250505090565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cc8908490610f3f565b6000610dbc816001015473ffffffffffffffffffffffffffffffffffffffff1661104e565b905090565b600080610dcd846111bf565b90506000610dda846111bf565b90506000610def670e92596fd62900006111bf565b90506000610e04670de0b6b3a76400006111bf565b90506000610e88610e5f610e3a7fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687611232565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061125c565b9050610f0c610ee582610ebd7fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687611847565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c6e565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612095565b9550674563918244f40000861180610f2b57506702c68af0bb14000086105b15610f34578795505b505050505092915050565b6000610fa1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121539092919063ffffffff16565b9050805160001480610fc2575080806020019051810190610fc2919061282f565b610cc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016105d3565b60008061105961216a565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116110c25750505050508152505090506110e8600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361111857806040015191506111b9565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146111b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016105d3565b806060015191505b50919050565b6000816000036111d157506000919050565b8160006111dd82612198565b905060708110156111f6578060700382901b9150611209565b6070811115611209576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b60006107c0837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112eb5780617fff036112e1577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112b6578492505050610483565b507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b8492505050610483565b80617fff036112fe578392505050610483565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361133b576001935061134d565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff16600085900361138a576001945061139c565b6e010000000000000000000000000000175b82600003611403577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113f357876113f6565b60005b9650505050505050610483565b8060000361145a577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113f357886113f6565b848603821515851515036115e65760708113156114805789975050505050505050610483565b60008113156114925790811c906114df565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156114c95788975050505050505050610483565b60008112156114df578060000384901c93508596505b928101926e0200000000000000000000000000008410611505576001968701969390931c925b86617fff036115695784611539577f7fff00000000000000000000000000000000000000000000000000000000000061155b565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610483565b6e010000000000000000000000000000841015611589576000965061159d565b6dffffffffffffffffffffffffffff841693505b83607088901b866115af5760006115c1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610483565b600081131561160157600184901b9350600187039650611618565b600081121561161857600182901b91506001860396505b607081131561162a57600191506116b3565b6001811315611647576001810360018303901c60010191506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561167857600193506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8112156116b3576001816000030360018503901c60010193505b8184106116c45781840393506116cd565b83820393508294505b836000036116e657506000965061048395505050505050565b60006116f185612198565b90508060710361171d57600185901c6dffffffffffffffffffffffffffff169450600188019750611798565b607081101561178457607081900380891115611753578086901b6dffffffffffffffffffffffffffff169550808903985061177e565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611798565b6dffffffffffffffffffffffffffff851694505b87617fff036117fd57856117cc577f7fff0000000000000000000000000000000000000000000000000000000000006117ee565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610483565b84607089901b8761180f576000611821565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610483565b6000617fff60f084811c8216919084901c81169082900361199c5780617fff0361191a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036118c4575050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f8000000000000000000000000000000000000000000000000000000000000000036112b657505050818117610483565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b80617fff03611a27577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119fa57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610483565b6dffffffffffffffffffffffffffff608086901c166000839003611a4e5760019250611a60565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a875760019250611a99565b6e010000000000000000000000000000175b808202915081600003611b03577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610483565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b68577c0100000000000000000000000000000000000000000000000000000000831015611b6157611b5c83612198565b611b6b565b60e0611b6b565b60e15b90506140708186011015611b86576000945060009250611c2a565b6140e08186011015611bc957614070851015611bab57846140700383901c9250611bc0565b614070851115611bc057614070850383901b92505b60009450611c2a565b61c0dd8186011115611be357617fff945060009250611c2a565b6070811115611bfa576070810383901c9250611c0d565b6070811015611c0d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f084811c8216919084901c811690829003611cbd5780617fff0361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b80617fff03611d44577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611d1757507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610483565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611e12577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611dc357507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610483565b6dffffffffffffffffffffffffffff608085901c166000829003611e395760019150611e4b565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611eb3578015611eae576000611e7a82612198565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611ec8565b6e0100000000000000000000000000001760721b5b818181611ed757611ed7612799565b04905080600003611f12577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b6d1000000000000000000000000000811015611f3057611f30612851565b60006e080000000000000000000000000000821015611f90576e040000000000000000000000000000821015611f85576e020000000000000000000000000000821015611f7e576070611f88565b6071611f88565b60725b60ff16611f99565b611f9982612198565b905083614071018186011115611fb757617fff945060009150612051565b83818601613ffc011015611fd2576000945060009150612051565b83818601613f8c01101561201f578385613ffc011115611ffd578385613ffc010382901b9150612016565b8385613ffc01101561201657613ffc8585030382901c91505b60009450612051565b6070811115612032576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f083901c16613fff8110156120b35750600092915050565b6f80000000000000000000000000000000608084901c106120d357600080fd5b6140fe8111156120e257600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f82101561211e5761406f8290031c6107c0565b61406f8211156107c0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60606121628484600085612248565b949350505050565b60008061048360017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612708565b60008082116121a657600080fd5b600070010000000000000000000000000000000083106121c857608092831c92015b6801000000000000000083106121e057604092831c92015b64010000000083106121f457602092831c92015b62010000831061220657601092831c92015b610100831061221757600892831c92015b6010831061222757600492831c92015b6004831061223757600292831c92015b600283106104835760010192915050565b6060824710156122da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016105d3565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161230391906128a4565b60006040518083038185875af1925050503d8060008114612340576040519150601f19603f3d011682016040523d82523d6000602084013e612345565b606091505b509150915061235687838387612361565b979650505050505050565b606083156123f75782516000036123f05773ffffffffffffffffffffffffffffffffffffffff85163b6123f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105d3565b5081612162565b612162838381511561240c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d391906128c0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561249257612492612440565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156124df576124df612440565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461122d57600080fd5b600067ffffffffffffffff82111561252557612525612440565b5060051b60200190565b600082601f83011261254057600080fd5b813560206125556125508361250b565b612498565b82815260059290921b8401810191818101908684111561257457600080fd5b8286015b8481101561259657612589816124e7565b8352918301918301612578565b509695505050505050565b600082601f8301126125b257600080fd5b813560206125c26125508361250b565b82815260059290921b840181019181810190868411156125e157600080fd5b8286015b8481101561259657803583529183019183016125e5565b60006020828403121561260e57600080fd5b813567ffffffffffffffff8082111561262657600080fd5b9083019060c0828603121561263a57600080fd5b61264261246f565b61264b836124e7565b815260208301358281111561265f57600080fd5b61266b8782860161252f565b60208301525060408301358281111561268357600080fd5b61268f878286016125a1565b6040830152506060830135828111156126a757600080fd5b6126b3878286016125a1565b6060830152506080830135608082015260a083013560a082015280935050505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361277b5761277b6126d9565b5060010190565b8082028115828204841417610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826127fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610483576104836126d9565b60006020828403121561282857600080fd5b5051919050565b60006020828403121561284157600080fd5b815180151581146107c057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b8381101561289b578181015183820152602001612883565b50506000910152565b600082516128b6818460208701612880565b9190910192915050565b60208152600082518060208401526128df816040850160208701612880565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220d90da5977573d632d16d3734102b8ff53fa2dce8bcf7b7fe402200fb382780cc64736f6c63430008130033", "nonce": "0x10", "accessList": [] }, @@ -323,7 +323,7 @@ "isFixedGasLimit": false }, { - "hash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", + "hash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", "transactionType": "CREATE", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -337,7 +337,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x6f2fa5", "value": "0x0", - "data": "0x60806040523480156200001157600080fd5b506040516200170538038062001705833981016040819052620000349162001174565b8151620000419062000064565b6200005c8183602001518460400151620000c660201b60201c565b5050620014e4565b60006200007062000321565b6004810180546001600160a01b038581166001600160a01b031983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b8351811015620002d2576000848281518110620000ea57620000ea6200128c565b6020026020010151602001519050600060028111156200010e576200010e620012a2565b816002811115620001235762000123620012a2565b0362000181576200017b8583815181106200014257620001426200128c565b6020026020010151600001518684815181106200016357620001636200128c565b6020026020010151604001516200035760201b60201c565b620002bc565b6001816002811115620001985762000198620012a2565b03620001f0576200017b858381518110620001b757620001b76200128c565b602002602001015160000151868481518110620001d857620001d86200128c565b602002602001015160400151620005e260201b60201c565b6002816002811115620002075762000207620012a2565b036200025f576200017b8583815181106200022657620002266200128c565b6020026020010151600001518684815181106200024757620002476200128c565b6020026020010151604001516200087860201b60201c565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b60648201526084015b60405180910390fd5b5080620002c981620012ce565b915050620000c9565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051620003089392919062001318565b60405180910390a16200031c8282620009dc565b505050565b6000806200035160017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6200141f565b92915050565b6000815111620003ad5760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b6000620003b962000321565b90506001600160a01b038316620004175760405162461bcd60e51b815260206004820152602c6024820152600080516020620016a183398151915260448201526b65206164647265737328302960a01b6064820152608401620002b3565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620004505762000450828562000aae565b60005b8351811015620005db5760008482815181106200047457620004746200128c565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156200051c5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608401620002b3565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b03191617905583620005c08162001435565b94505050508080620005d290620012ce565b91505062000453565b5050505050565b6000815111620006385760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b60006200064462000321565b90506001600160a01b038316620006a25760405162461bcd60e51b815260206004820152602c6024820152600080516020620016a183398151915260448201526b65206164647265737328302960a01b6064820152608401620002b3565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620006db57620006db828562000aae565b60005b8351811015620005db576000848281518110620006ff57620006ff6200128c565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b039081169087168103620007ac5760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401620002b3565b620007b985828462000b1b565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b031916179055836200085d8162001435565b945050505080806200086f90620012ce565b915050620006de565b6000815111620008ce5760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b6000620008da62000321565b90506001600160a01b038316156200095b5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608401620002b3565b60005b8251811015620009d65760008382815181106200097f576200097f6200128c565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b0316620009be84828462000b1b565b50508080620009cd90620012ce565b9150506200095e565b50505050565b6001600160a01b038216620009ef575050565b62000a1482604051806060016040528060288152602001620016796028913962000efb565b600080836001600160a01b03168360405162000a31919062001466565b600060405180830381855af49150503d806000811462000a6e576040519150601f19603f3d011682016040523d82523d6000602084013e62000a73565b606091505b509150915081620009d65780511562000a8f5780518082602001fd5b838360405163192105d760e01b8152600401620002b392919062001484565b62000ad381604051806060016040528060248152602001620016c16024913962000efb565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160a01b03821662000b995760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401620002b3565b306001600160a01b0383160362000c0a5760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401620002b3565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b0316929162000c5b916200141f565b905080821462000d54576001600160a01b0384166000908152600186016020526040812080548390811062000c945762000c946200128c565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b92508291908590811062000ce85762000ce86200128c565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b0384166000908152600186016020526040902080548062000d805762000d80620014b2565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b03198516825286905260408120819055819003620005db57600285015460009062000de6906001906200141f565b6001600160a01b038616600090815260018089016020526040909120015490915080821462000e9c57600087600201838154811062000e295762000e296200128c565b6000918252602090912001546002890180546001600160a01b03909216925082918490811062000e5d5762000e5d6200128c565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b8660020180548062000eb25762000eb2620014b2565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b8181620009d65760405162461bcd60e51b8152600401620002b39190620014c8565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171562000f5a5762000f5a62000f1f565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000f8b5762000f8b62000f1f565b604052919050565b80516001600160a01b038116811462000fab57600080fd5b919050565b60005b8381101562000fcd57818101518382015260200162000fb3565b50506000910152565b60006001600160401b0382111562000ff25762000ff262000f1f565b5060051b60200190565b600082601f8301126200100e57600080fd5b8151602062001027620010218362000fd6565b62000f60565b828152600592831b85018201928282019190878511156200104757600080fd5b8387015b85811015620011675780516001600160401b03808211156200106d5760008081fd5b908901906060828c03601f1901811315620010885760008081fd5b6200109262000f35565b6200109f89850162000f93565b815260408085015160038110620010b65760008081fd5b828b0152918401519183831115620010ce5760008081fd5b82850194508d603f860112620010e657600093508384fd5b898501519350620010fb620010218562000fd6565b84815293871b85018101938a810193508e8511156200111a5760008081fd5b948101945b84861015620011525785516001600160e01b031981168114620011425760008081fd5b8452948a0194928a01926200111f565b9082015287525050509284019284016200104b565b5090979650505050505050565b600080604083850312156200118857600080fd5b82516001600160401b0380821115620011a057600080fd5b9084019060608287031215620011b557600080fd5b620011bf62000f35565b620011ca8362000f93565b81526020620011db81850162000f93565b81830152604084015183811115620011f257600080fd5b80850194505087601f8501126200120857600080fd5b8351838111156200121d576200121d62000f1f565b62001231601f8201601f1916830162000f60565b81815289838388010111156200124657600080fd5b620012578284830185890162000fb0565b6040840152508601519094509150808211156200127357600080fd5b50620012828582860162000ffc565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620012e357620012e3620012b8565b5060010190565b600081518084526200130481602086016020860162000fb0565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015620013ed57898403607f19018652815180516001600160a01b031685528381015189860190600381106200138957634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015620013d75783516001600160e01b0319168252928601926001929092019190860190620013ab565b5097850197955050509082019060010162001341565b50506001600160a01b038a16908801528681036040880152620014118189620012ea565b9a9950505050505050505050565b81810381811115620003515762000351620012b8565b60006001600160601b038281166002600160601b031981016200145c576200145c620012b8565b6001019392505050565b600082516200147a81846020870162000fb0565b9190910192915050565b6001600160a01b0383168152604060208201819052600090620014aa90830184620012ea565b949350505050565b634e487b7160e01b600052603160045260246000fd5b602081526000620014dd6020830184620012ea565b9392505050565b61018580620014f46000396000f3fe608060405260008061003260017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61010f565b600080357fffffffff000000000000000000000000000000000000000000000000000000001681526020829052604090205490925082915073ffffffffffffffffffffffffffffffffffffffff16806100eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374604482015260640160405180910390fd5b3660008037600080366000845af43d6000803e80801561010a573d6000f35b3d6000fd5b81810381811115610149577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea2646970667358221220ed85de30eb5da48fce50658ba00a28a9fc6b06cac608c1b73f75e8cf8acd57fb64736f6c634300081300334c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204164642066616365742063616e277420624c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f64654c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc0000000000000000000000007f7a6fa77e3de3e90be433834f23e24214bbe3c80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014411567a570000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000008e00000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000013a00000000000000000000000000000000000000000000000000000000000001440000000000000000000000000000000000000000000000000000000000000152000000000000000000000000000000000000000000000000000000000000015c0000000000000000000000000d20b46190da9b273a12e59895cf8a750c25541cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c000000000000000000000000000000000000000000000000000000000000000000000000000000001f0bfd4230e54c8089a7fc59c9090fcb40c1cbdc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000057a0ed62700000000000000000000000000000000000000000000000000000000adfca15e0000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000cdffacc60000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000000000000000000000000000001289805419dc74bcdee5d4a06606444e9f1474ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002f2fde38b000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000000000000000000000000000004e037b9a8ce977462da4e10fc164363c827abfc6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020ba2d8cdd00000000000000000000000000000000000000000000000000000000dd390ea000000000000000000000000000000000000000000000000000000000e2d443bd00000000000000000000000000000000000000000000000000000000f986cd5700000000000000000000000000000000000000000000000000000000147f1b96000000000000000000000000000000000000000000000000000000001a867af500000000000000000000000000000000000000000000000000000000f6f172cb00000000000000000000000000000000000000000000000000000000be1d86e10000000000000000000000000000000000000000000000000000000015f97398000000000000000000000000000000000000000000000000000000000083faee0000000000000000000000000000000000000000000000000000000092324611000000000000000000000000000000000000000000000000000000001c1f8aa3000000000000000000000000000000000000000000000000000000006605bfda00000000000000000000000000000000000000000000000000000000016afee700000000000000000000000000000000000000000000000000000000fbff3a41000000000000000000000000000000000000000000000000000000008fe6368300000000000000000000000000000000000000000000000000000000bc3ea01800000000000000000000000000000000000000000000000000000000ebef28a700000000000000000000000000000000000000000000000000000000b0bd67b400000000000000000000000000000000000000000000000000000000017df32700000000000000000000000000000000000000000000000000000000b42165d00000000000000000000000000000000000000000000000000000000036c3df240000000000000000000000000000000000000000000000000000000091df16d3000000000000000000000000000000000000000000000000000000008b38ebb300000000000000000000000000000000000000000000000000000000e0ee685500000000000000000000000000000000000000000000000000000000a9b8b79600000000000000000000000000000000000000000000000000000000221e2e6000000000000000000000000000000000000000000000000000000000214f788200000000000000000000000000000000000000000000000000000000ad3401ed00000000000000000000000000000000000000000000000000000000d3815fb9000000000000000000000000000000000000000000000000000000003535f48b00000000000000000000000000000000000000000000000000000000c5f956af0000000000000000000000000000000000000000000000000000000000000000000000000000000058de01a211b2477ce1393c5512bf6089efc59c250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000082f2ff15d0000000000000000000000000000000000000000000000000000000091d14854000000000000000000000000000000000000000000000000000000008bb9c5bf00000000000000000000000000000000000000000000000000000000248a9ca300000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000003f4ba83a000000000000000000000000000000000000000000000000000000005c975abb00000000000000000000000000000000000000000000000000000000000000000000000000000000d7d3e9c9bc05aba6b9ae47b27ad18d83e441bf320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000034e847fc700000000000000000000000000000000000000000000000000000000a2e6204500000000000000000000000000000000000000000000000000000000283583c600000000000000000000000000000000000000000000000000000000000000000000000000000000635cab41ff7b3b2fa5ebe9518129947a563719b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003fa3305c900000000000000000000000000000000000000000000000000000000bf0d68e4000000000000000000000000000000000000000000000000000000002db8c12900000000000000000000000000000000000000000000000000000000000000000000000000000000119e315502b87e67f1bc98577c735a3518ea47da00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c5f3acd8e0000000000000000000000000000000000000000000000000000000045889bd700000000000000000000000000000000000000000000000000000000776a3bb500000000000000000000000000000000000000000000000000000000ed7662ee000000000000000000000000000000000000000000000000000000002193393300000000000000000000000000000000000000000000000000000000537bb5dc0000000000000000000000000000000000000000000000000000000078b3139b00000000000000000000000000000000000000000000000000000000c0d8012c000000000000000000000000000000000000000000000000000000003cf7857400000000000000000000000000000000000000000000000000000000702f01ee000000000000000000000000000000000000000000000000000000003a98ef390000000000000000000000000000000000000000000000000000000016f0115b000000000000000000000000000000000000000000000000000000000000000000000000000000009f0259fe34bfc22d9cbeeb340cd8d53f35cdeb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c96908b52000000000000000000000000000000000000000000000000000000007cc6bd41000000000000000000000000000000000000000000000000000000006970d473000000000000000000000000000000000000000000000000000000004d8c28c4000000000000000000000000000000000000000000000000000000002f72589e00000000000000000000000000000000000000000000000000000000aa1ec70a00000000000000000000000000000000000000000000000000000000e2bbb15800000000000000000000000000000000000000000000000000000000422f1043000000000000000000000000000000000000000000000000000000009d7de6b3000000000000000000000000000000000000000000000000000000005215915000000000000000000000000000000000000000000000000000000000c5d1cb6300000000000000000000000000000000000000000000000000000000aadc68a5000000000000000000000000000000000000000000000000000000000000000000000000000000006169444ae7a834646f31f2179dbe9153c2cfe79d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005629056cb00000000000000000000000000000000000000000000000000000000a64154f000000000000000000000000000000000000000000000000000000000d5a8cf6400000000000000000000000000000000000000000000000000000000a609d912000000000000000000000000000000000000000000000000000000005b374a400000000000000000000000000000000000000000000000000000000000000000000000000000000038963b77678eb09f9ecc19f42f0371ec3c3c9b7900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000fb6170dcc00000000000000000000000000000000000000000000000000000000d3918c1d000000000000000000000000000000000000000000000000000000004e7c028d0000000000000000000000000000000000000000000000000000000071fc117100000000000000000000000000000000000000000000000000000000a35e50bc000000000000000000000000000000000000000000000000000000005857650800000000000000000000000000000000000000000000000000000000d2bdc9e000000000000000000000000000000000000000000000000000000000be5c687200000000000000000000000000000000000000000000000000000000f23a6e6100000000000000000000000000000000000000000000000000000000bc197c81000000000000000000000000000000000000000000000000000000005469bff100000000000000000000000000000000000000000000000000000000b5a3ff8700000000000000000000000000000000000000000000000000000000efa0982f000000000000000000000000000000000000000000000000000000000d65f47f000000000000000000000000000000000000000000000000000000002565aa420000000000000000000000000000000000000000000000000000000000000000000000000000000082acf7de62ab6b0c240873339c19461a34260794000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001c4b4a9ff00000000000000000000000000000000000000000000000000000000000000000000000000000000b66709aa65aac2b8a6294062d0a0531207481036000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003ac50680600000000000000000000000000000000000000000000000000000000f13a38a600000000000000000000000000000000000000000000000000000000993fba5c000000000000000000000000000000000000000000000000000000000000000000000000000000005d4905664e98a76cf56ebbd023d38c420d465770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001764263cf00000000000000000000000000000000000000000000000000000000000000000000000000000000d64465fc4c7d3bababa5d0e4aff6dffc278bfd18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001651156bc00000000000000000000000000000000000000000000000000000000", + "data": "0x60806040523480156200001157600080fd5b506040516200170538038062001705833981016040819052620000349162001174565b8151620000419062000064565b6200005c8183602001518460400151620000c660201b60201c565b5050620014e4565b60006200007062000321565b6004810180546001600160a01b038581166001600160a01b031983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b8351811015620002d2576000848281518110620000ea57620000ea6200128c565b6020026020010151602001519050600060028111156200010e576200010e620012a2565b816002811115620001235762000123620012a2565b0362000181576200017b8583815181106200014257620001426200128c565b6020026020010151600001518684815181106200016357620001636200128c565b6020026020010151604001516200035760201b60201c565b620002bc565b6001816002811115620001985762000198620012a2565b03620001f0576200017b858381518110620001b757620001b76200128c565b602002602001015160000151868481518110620001d857620001d86200128c565b602002602001015160400151620005e260201b60201c565b6002816002811115620002075762000207620012a2565b036200025f576200017b8583815181106200022657620002266200128c565b6020026020010151600001518684815181106200024757620002476200128c565b6020026020010151604001516200087860201b60201c565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b60648201526084015b60405180910390fd5b5080620002c981620012ce565b915050620000c9565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051620003089392919062001318565b60405180910390a16200031c8282620009dc565b505050565b6000806200035160017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6200141f565b92915050565b6000815111620003ad5760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b6000620003b962000321565b90506001600160a01b038316620004175760405162461bcd60e51b815260206004820152602c6024820152600080516020620016a183398151915260448201526b65206164647265737328302960a01b6064820152608401620002b3565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620004505762000450828562000aae565b60005b8351811015620005db5760008482815181106200047457620004746200128c565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156200051c5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608401620002b3565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b03191617905583620005c08162001435565b94505050508080620005d290620012ce565b91505062000453565b5050505050565b6000815111620006385760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b60006200064462000321565b90506001600160a01b038316620006a25760405162461bcd60e51b815260206004820152602c6024820152600080516020620016a183398151915260448201526b65206164647265737328302960a01b6064820152608401620002b3565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620006db57620006db828562000aae565b60005b8351811015620005db576000848281518110620006ff57620006ff6200128c565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b039081169087168103620007ac5760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401620002b3565b620007b985828462000b1b565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b031916179055836200085d8162001435565b945050505080806200086f90620012ce565b915050620006de565b6000815111620008ce5760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b6000620008da62000321565b90506001600160a01b038316156200095b5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608401620002b3565b60005b8251811015620009d65760008382815181106200097f576200097f6200128c565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b0316620009be84828462000b1b565b50508080620009cd90620012ce565b9150506200095e565b50505050565b6001600160a01b038216620009ef575050565b62000a1482604051806060016040528060288152602001620016796028913962000efb565b600080836001600160a01b03168360405162000a31919062001466565b600060405180830381855af49150503d806000811462000a6e576040519150601f19603f3d011682016040523d82523d6000602084013e62000a73565b606091505b509150915081620009d65780511562000a8f5780518082602001fd5b838360405163192105d760e01b8152600401620002b392919062001484565b62000ad381604051806060016040528060248152602001620016c16024913962000efb565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160a01b03821662000b995760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401620002b3565b306001600160a01b0383160362000c0a5760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401620002b3565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b0316929162000c5b916200141f565b905080821462000d54576001600160a01b0384166000908152600186016020526040812080548390811062000c945762000c946200128c565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b92508291908590811062000ce85762000ce86200128c565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b0384166000908152600186016020526040902080548062000d805762000d80620014b2565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b03198516825286905260408120819055819003620005db57600285015460009062000de6906001906200141f565b6001600160a01b038616600090815260018089016020526040909120015490915080821462000e9c57600087600201838154811062000e295762000e296200128c565b6000918252602090912001546002890180546001600160a01b03909216925082918490811062000e5d5762000e5d6200128c565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b8660020180548062000eb25762000eb2620014b2565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b8181620009d65760405162461bcd60e51b8152600401620002b39190620014c8565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171562000f5a5762000f5a62000f1f565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000f8b5762000f8b62000f1f565b604052919050565b80516001600160a01b038116811462000fab57600080fd5b919050565b60005b8381101562000fcd57818101518382015260200162000fb3565b50506000910152565b60006001600160401b0382111562000ff25762000ff262000f1f565b5060051b60200190565b600082601f8301126200100e57600080fd5b8151602062001027620010218362000fd6565b62000f60565b828152600592831b85018201928282019190878511156200104757600080fd5b8387015b85811015620011675780516001600160401b03808211156200106d5760008081fd5b908901906060828c03601f1901811315620010885760008081fd5b6200109262000f35565b6200109f89850162000f93565b815260408085015160038110620010b65760008081fd5b828b0152918401519183831115620010ce5760008081fd5b82850194508d603f860112620010e657600093508384fd5b898501519350620010fb620010218562000fd6565b84815293871b85018101938a810193508e8511156200111a5760008081fd5b948101945b84861015620011525785516001600160e01b031981168114620011425760008081fd5b8452948a0194928a01926200111f565b9082015287525050509284019284016200104b565b5090979650505050505050565b600080604083850312156200118857600080fd5b82516001600160401b0380821115620011a057600080fd5b9084019060608287031215620011b557600080fd5b620011bf62000f35565b620011ca8362000f93565b81526020620011db81850162000f93565b81830152604084015183811115620011f257600080fd5b80850194505087601f8501126200120857600080fd5b8351838111156200121d576200121d62000f1f565b62001231601f8201601f1916830162000f60565b81815289838388010111156200124657600080fd5b620012578284830185890162000fb0565b6040840152508601519094509150808211156200127357600080fd5b50620012828582860162000ffc565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620012e357620012e3620012b8565b5060010190565b600081518084526200130481602086016020860162000fb0565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015620013ed57898403607f19018652815180516001600160a01b031685528381015189860190600381106200138957634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015620013d75783516001600160e01b0319168252928601926001929092019190860190620013ab565b5097850197955050509082019060010162001341565b50506001600160a01b038a16908801528681036040880152620014118189620012ea565b9a9950505050505050505050565b81810381811115620003515762000351620012b8565b60006001600160601b038281166002600160601b031981016200145c576200145c620012b8565b6001019392505050565b600082516200147a81846020870162000fb0565b9190910192915050565b6001600160a01b0383168152604060208201819052600090620014aa90830184620012ea565b949350505050565b634e487b7160e01b600052603160045260246000fd5b602081526000620014dd6020830184620012ea565b9392505050565b61018580620014f46000396000f3fe608060405260008061003260017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61010f565b600080357fffffffff000000000000000000000000000000000000000000000000000000001681526020829052604090205490925082915073ffffffffffffffffffffffffffffffffffffffff16806100eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374604482015260640160405180910390fd5b3660008037600080366000845af43d6000803e80801561010a573d6000f35b3d6000fd5b81810381811115610149577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea2646970667358221220e216c34f71150a56863c11c7e892a83c49317bfd2bdaa4cf7807e8dbca2d7d1b64736f6c634300081300334c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204164642066616365742063616e277420624c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f64654c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc0000000000000000000000007f7a6fa77e3de3e90be433834f23e24214bbe3c80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014411567a570000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000008e00000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000013a00000000000000000000000000000000000000000000000000000000000001440000000000000000000000000000000000000000000000000000000000000152000000000000000000000000000000000000000000000000000000000000015c0000000000000000000000000d20b46190da9b273a12e59895cf8a750c25541cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c000000000000000000000000000000000000000000000000000000000000000000000000000000001f0bfd4230e54c8089a7fc59c9090fcb40c1cbdc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000057a0ed62700000000000000000000000000000000000000000000000000000000adfca15e0000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000cdffacc60000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000000000000000000000000000001289805419dc74bcdee5d4a06606444e9f1474ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002f2fde38b000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000000000000000000000000000004e037b9a8ce977462da4e10fc164363c827abfc6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020ba2d8cdd00000000000000000000000000000000000000000000000000000000dd390ea000000000000000000000000000000000000000000000000000000000e2d443bd00000000000000000000000000000000000000000000000000000000f986cd5700000000000000000000000000000000000000000000000000000000147f1b96000000000000000000000000000000000000000000000000000000001a867af500000000000000000000000000000000000000000000000000000000f6f172cb00000000000000000000000000000000000000000000000000000000be1d86e10000000000000000000000000000000000000000000000000000000015f97398000000000000000000000000000000000000000000000000000000000083faee0000000000000000000000000000000000000000000000000000000092324611000000000000000000000000000000000000000000000000000000001c1f8aa3000000000000000000000000000000000000000000000000000000006605bfda00000000000000000000000000000000000000000000000000000000016afee700000000000000000000000000000000000000000000000000000000fbff3a41000000000000000000000000000000000000000000000000000000008fe6368300000000000000000000000000000000000000000000000000000000bc3ea01800000000000000000000000000000000000000000000000000000000ebef28a700000000000000000000000000000000000000000000000000000000b0bd67b400000000000000000000000000000000000000000000000000000000017df32700000000000000000000000000000000000000000000000000000000b42165d00000000000000000000000000000000000000000000000000000000036c3df240000000000000000000000000000000000000000000000000000000091df16d3000000000000000000000000000000000000000000000000000000008b38ebb300000000000000000000000000000000000000000000000000000000e0ee685500000000000000000000000000000000000000000000000000000000a9b8b79600000000000000000000000000000000000000000000000000000000221e2e6000000000000000000000000000000000000000000000000000000000214f788200000000000000000000000000000000000000000000000000000000ad3401ed00000000000000000000000000000000000000000000000000000000d3815fb9000000000000000000000000000000000000000000000000000000003535f48b00000000000000000000000000000000000000000000000000000000c5f956af0000000000000000000000000000000000000000000000000000000000000000000000000000000058de01a211b2477ce1393c5512bf6089efc59c250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000082f2ff15d0000000000000000000000000000000000000000000000000000000091d14854000000000000000000000000000000000000000000000000000000008bb9c5bf00000000000000000000000000000000000000000000000000000000248a9ca300000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000003f4ba83a000000000000000000000000000000000000000000000000000000005c975abb00000000000000000000000000000000000000000000000000000000000000000000000000000000d7d3e9c9bc05aba6b9ae47b27ad18d83e441bf320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000034e847fc700000000000000000000000000000000000000000000000000000000a2e6204500000000000000000000000000000000000000000000000000000000283583c600000000000000000000000000000000000000000000000000000000000000000000000000000000635cab41ff7b3b2fa5ebe9518129947a563719b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003fa3305c900000000000000000000000000000000000000000000000000000000bf0d68e4000000000000000000000000000000000000000000000000000000002db8c12900000000000000000000000000000000000000000000000000000000000000000000000000000000119e315502b87e67f1bc98577c735a3518ea47da00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c5f3acd8e0000000000000000000000000000000000000000000000000000000045889bd700000000000000000000000000000000000000000000000000000000776a3bb500000000000000000000000000000000000000000000000000000000ed7662ee000000000000000000000000000000000000000000000000000000002193393300000000000000000000000000000000000000000000000000000000537bb5dc0000000000000000000000000000000000000000000000000000000078b3139b00000000000000000000000000000000000000000000000000000000c0d8012c000000000000000000000000000000000000000000000000000000003cf7857400000000000000000000000000000000000000000000000000000000702f01ee000000000000000000000000000000000000000000000000000000003a98ef390000000000000000000000000000000000000000000000000000000016f0115b000000000000000000000000000000000000000000000000000000000000000000000000000000009f0259fe34bfc22d9cbeeb340cd8d53f35cdeb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c96908b52000000000000000000000000000000000000000000000000000000007cc6bd41000000000000000000000000000000000000000000000000000000006970d473000000000000000000000000000000000000000000000000000000004d8c28c4000000000000000000000000000000000000000000000000000000002f72589e00000000000000000000000000000000000000000000000000000000aa1ec70a00000000000000000000000000000000000000000000000000000000e2bbb15800000000000000000000000000000000000000000000000000000000422f1043000000000000000000000000000000000000000000000000000000009d7de6b3000000000000000000000000000000000000000000000000000000005215915000000000000000000000000000000000000000000000000000000000c5d1cb6300000000000000000000000000000000000000000000000000000000aadc68a5000000000000000000000000000000000000000000000000000000000000000000000000000000006169444ae7a834646f31f2179dbe9153c2cfe79d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005629056cb00000000000000000000000000000000000000000000000000000000a64154f000000000000000000000000000000000000000000000000000000000d5a8cf6400000000000000000000000000000000000000000000000000000000a609d912000000000000000000000000000000000000000000000000000000005b374a400000000000000000000000000000000000000000000000000000000000000000000000000000000038963b77678eb09f9ecc19f42f0371ec3c3c9b7900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000fb6170dcc00000000000000000000000000000000000000000000000000000000d3918c1d000000000000000000000000000000000000000000000000000000004e7c028d0000000000000000000000000000000000000000000000000000000071fc117100000000000000000000000000000000000000000000000000000000a35e50bc000000000000000000000000000000000000000000000000000000005857650800000000000000000000000000000000000000000000000000000000d2bdc9e000000000000000000000000000000000000000000000000000000000be5c687200000000000000000000000000000000000000000000000000000000f23a6e6100000000000000000000000000000000000000000000000000000000bc197c81000000000000000000000000000000000000000000000000000000005469bff100000000000000000000000000000000000000000000000000000000b5a3ff8700000000000000000000000000000000000000000000000000000000efa0982f000000000000000000000000000000000000000000000000000000000d65f47f000000000000000000000000000000000000000000000000000000002565aa420000000000000000000000000000000000000000000000000000000000000000000000000000000082acf7de62ab6b0c240873339c19461a34260794000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001c4b4a9ff00000000000000000000000000000000000000000000000000000000000000000000000000000000b66709aa65aac2b8a6294062d0a0531207481036000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003ac50680600000000000000000000000000000000000000000000000000000000f13a38a600000000000000000000000000000000000000000000000000000000993fba5c000000000000000000000000000000000000000000000000000000000000000000000000000000005d4905664e98a76cf56ebbd023d38c420d465770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001764263cf00000000000000000000000000000000000000000000000000000000000000000000000000000000d64465fc4c7d3bababa5d0e4aff6dffc278bfd18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001651156bc00000000000000000000000000000000000000000000000000000000", "nonce": "0x11", "accessList": [] }, @@ -345,7 +345,7 @@ "isFixedGasLimit": false }, { - "hash": "0xd814720de5e1b2d8ab0e12470e0a67bff726a1651ea840112286603f2d07e686", + "hash": "0xe1bbb6628e433b3f7688b4eb84c3a0a3fdeaa4f48b4e69eee01bf607df2a3152", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -365,18 +365,18 @@ "isFixedGasLimit": false }, { - "hash": "0x6251b1175692833647f4ddc922a915095f7d59b4d263877a6c22088c9b14bf75", + "hash": "0x2867c4b986563a096d7cdb9b69bffb814c89a18738e1bc0b6831ffbe0186a79c", "transactionType": "CREATE", "contractName": "UbiquityDollarToken", "contractAddress": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", "function": null, - "arguments": ["0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb"], + "arguments": null, "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x30b0d1", + "gas": "0x446b09", "value": "0x0", - "data": "0x6101606040523480156200001257600080fd5b5060405162002e5438038062002e5483398101604081905262000035916200023c565b806040518060400160405280600f81526020016e2ab134b8bab4ba3c902237b63630b960891b815250604051806040016040528060038152602001621d505160ea1b8152508180604051806040016040528060018152602001603160f81b81525084848160039081620000a9919062000313565b506004620000b8828262000313565b50620000ca91508390506005620001b7565b61012052620000db816006620001b7565b61014052815160208084019190912060e052815190820120610100524660a0526200016960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506009805460ff19169055600a6200018b828262000313565b5050600b80546001600160a01b0319166001600160a01b03939093169290921790915550620004549050565b6000602083511015620001d757620001cf83620001f0565b9050620001ea565b81620001e4848262000313565b5060ff90505b92915050565b600080829050601f8151111562000227578260405163305a27a960e01b81526004016200021e9190620003df565b60405180910390fd5b805162000234826200042f565b179392505050565b6000602082840312156200024f57600080fd5b81516001600160a01b03811681146200026757600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200029957607f821691505b602082108103620002ba57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030e57600081815260208120601f850160051c81016020861015620002e95750805b601f850160051c820191505b818110156200030a57828155600101620002f5565b5050505b505050565b81516001600160401b038111156200032f576200032f6200026e565b620003478162000340845462000284565b84620002c0565b602080601f8311600181146200037f5760008415620003665750858301515b600019600386901b1c1916600185901b1785556200030a565b600085815260208120601f198616915b82811015620003b0578886015182559484019460019091019084016200038f565b5085821015620003cf5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083528351808285015260005b818110156200040e57858101830151858201604001528201620003f0565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620002ba5760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516129a5620004af6000396000610b2a01526000610aff015260006114d4015260006114ac01526000611407015260006114310152600061145b01526129a56000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c806379cc6790116100f9578063b6232c9911610097578063d0ebdbe711610071578063d0ebdbe7146103d7578063d5009584146103ea578063d505accf14610408578063dd62ed3e1461041b57600080fd5b8063b6232c991461037b578063b84c82461461038e578063bc701e75146103a157600080fd5b806384b0196e116100d357806384b0196e1461033257806395d89b411461034d578063a457c2d714610355578063a9059cbb1461036857600080fd5b806379cc6790146103045780637ecebe00146103175780638456cb591461032a57600080fd5b80633644e5151161016657806340c10f191161014057806340c10f191461029d57806342966c68146102b05780635c975abb146102c357806370a08231146102ce57600080fd5b80633644e5151461027857806339509351146102805780633f4ba83a1461029357600080fd5b806318160ddd1161019757806318160ddd1461024457806323b872dd14610256578063313ce5671461026957600080fd5b806306fdde03146101be578063095ea7b3146101dc57806313007d55146101ff575b600080fd5b6101c6610461565b6040516101d391906123ef565b60405180910390f35b6101ef6101ea366004612432565b6104f3565b60405190151581526020016101d3565b600b5461021f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d3565b6002545b6040519081526020016101d3565b6101ef61026436600461245c565b61050d565b604051601281526020016101d3565b610248610531565b6101ef61028e366004612432565b610540565b61029b61058c565b005b61029b6102ab366004612432565b61069f565b61029b6102be366004612498565b610806565b60095460ff166101ef565b6102486102dc3660046124b1565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61029b610312366004612432565b610850565b6102486103253660046124b1565b6109ba565b61029b6109e5565b61033a610af1565b6040516101d397969594939291906124cc565b6101c6610b96565b6101ef610363366004612432565b610ba5565b6101ef610376366004612432565b610c5c565b61029b61038936600461258b565b610c6a565b61029b61039c3660046125ed565b610dea565b61021f6103af3660046124b1565b600c6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61029b6103e53660046124b1565b610edf565b600b5473ffffffffffffffffffffffffffffffffffffffff1661021f565b61029b6104163660046126bc565b61100b565b61024861042936600461258b565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6060600380546104709061272f565b80601f016020809104026020016040519081016040528092919081815260200182805461049c9061272f565b80156104e95780601f106104be576101008083540402835291602001916104e9565b820191906000526020600020905b8154815290600101906020018083116104cc57829003601f168201915b5050505050905090565b600033610501818585611196565b60019150505b92915050565b60003361051b858285611315565b6105268585856113d2565b506001949350505050565b600061053b6113ed565b905090565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190610501908290869061058790879061277c565b611196565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610620573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064491906127b6565b6106955760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f74207061757365720000000000000060448201526064015b60405180910390fd5b61069d611525565b565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075791906127b6565b6107a35760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206d696e7465720000000000000000604482015260640161068c565b6107ab6115a2565b6107b582826115f5565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b61080e6115a2565b61081833826116da565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a0600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156108e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090891906127b6565b6109545760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206275726e65720000000000000000604482015260640161068c565b61095c6115a2565b61096682826116da565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe47826040516109ae91815260200190565b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812054610507565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9d91906127b6565b610ae95760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f742070617573657200000000000000604482015260640161068c565b61069d611876565b600060608082808083610b257f000000000000000000000000000000000000000000000000000000000000000060056118d1565b610b507f000000000000000000000000000000000000000000000000000000000000000060066118d1565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600a80546104709061272f565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610c4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161068c565b6105268286868403611196565b6000336105018185856113d2565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2291906127b6565b610d6e5760405162461bcd60e51b815260206004820152601c60248201527f446f6c6c61723a206d75737420686176652061646d696e20726f6c6500000000604482015260640161068c565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152600c602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f88bb9e877881758e827c849b8a0e38421bd5ff916f4ef79ed65aec74cc04a5da9190a35050565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610e5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8391906127b6565b610ecf5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161068c565b600a610edb8282612826565b5050565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7891906127b6565b610fc45760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161068c565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8342111561105b5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161068c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861108a8c61197c565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006110f2826119b1565b90506000611102828787876119f9565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461117f5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161068c565b61118a8a8a8a611196565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661121e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161068c565b73ffffffffffffffffffffffffffffffffffffffff82166112a75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161068c565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113cc57818110156113bf5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161068c565b6113cc8484848403611196565b50505050565b6113dd838383611a21565b6113e8838383611a34565b505050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561145357507f000000000000000000000000000000000000000000000000000000000000000046145b1561147d57507f000000000000000000000000000000000000000000000000000000000000000090565b61053b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b61152d611db2565b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60095460ff161561069d5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161068c565b73ffffffffffffffffffffffffffffffffffffffff82166116585760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161068c565b61166460008383611e04565b8060026000828254611676919061277c565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff82166117635760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161068c565b61176f82600083611e04565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020548181101561180b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161068c565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b61187e6115a2565b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586115783390565b606060ff83146118eb576118e483611e0f565b9050610507565b8180546118f79061272f565b80601f01602080910402602001604051908101604052809291908181526020018280546119239061272f565b80156119705780601f1061194557610100808354040283529160200191611970565b820191906000526020600020905b81548152906001019060200180831161195357829003601f168201915b50505050509050610507565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090208054600181018255905b50919050565b60006105076119be6113ed565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611a0a87878787611e4e565b91509150611a1781611f3d565b5095945050505050565b611a296115a2565b6113e88383836120a5565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600c6020526040902054168015611af9576040517f6e22230d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152848116602483015233604483015260648201849052821690636e22230d90608401600060405180830381600087803b158015611ae057600080fd5b505af1158015611af4573d6000803e3d6000fd5b505050505b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600c6020526040902054168015611bbe576040517f6e22230d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152858116602483015233604483015260648201859052821690636e22230d90608401600060405180830381600087803b158015611ba557600080fd5b505af1158015611bb9573d6000803e3d6000fd5b505050505b336000818152600c602052604090205473ffffffffffffffffffffffffffffffffffffffff9081169190871614801590611c0e57503373ffffffffffffffffffffffffffffffffffffffff861614155b8015611c2f575073ffffffffffffffffffffffffffffffffffffffff811615155b15611ccb576040517f6e22230d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152868116602483015233604483015260648201869052821690636e22230d90608401600060405180830381600087803b158015611cb257600080fd5b505af1158015611cc6573d6000803e3d6000fd5b505050505b60008052600c6020527f13649b2456f1b42fef0f0040b3aaeabcd21a76a0f3f5defd4f583839455116e85473ffffffffffffffffffffffffffffffffffffffff168015611da9576040517f6e22230d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152878116602483015233604483015260648201879052821690636e22230d90608401600060405180830381600087803b158015611d9057600080fd5b505af1158015611da4573d6000803e3d6000fd5b505050505b50505050505050565b60095460ff1661069d5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161068c565b6113e88383836122d1565b60606000611e1c8361234a565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611e855750600090506003611f34565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611ed9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611f2d57600060019250925050611f34565b9150600090505b94509492505050565b6000816004811115611f5157611f51612940565b03611f595750565b6001816004811115611f6d57611f6d612940565b03611fba5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161068c565b6002816004811115611fce57611fce612940565b0361201b5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161068c565b600381600481111561202f5761202f612940565b036120a25760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161068c565b50565b73ffffffffffffffffffffffffffffffffffffffff831661212e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161068c565b73ffffffffffffffffffffffffffffffffffffffff82166121b75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161068c565b6121c2838383611e04565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020548181101561225e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161068c565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36113cc565b60095460ff16156113e85760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c652070617573656400000000000000000000000000000000000000000000606482015260840161068c565b600060ff8216601f811115610507576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b818110156123b157602081850181015186830182015201612395565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000612402602083018461238b565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461242d57600080fd5b919050565b6000806040838503121561244557600080fd5b61244e83612409565b946020939093013593505050565b60008060006060848603121561247157600080fd5b61247a84612409565b925061248860208501612409565b9150604084013590509250925092565b6000602082840312156124aa57600080fd5b5035919050565b6000602082840312156124c357600080fd5b61240282612409565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261250860e084018a61238b565b838103604085015261251a818a61238b565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156125795783518352928401929184019160010161255d565b50909c9b505050505050505050505050565b6000806040838503121561259e57600080fd5b6125a783612409565b91506125b560208401612409565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156125ff57600080fd5b813567ffffffffffffffff8082111561261757600080fd5b818401915084601f83011261262b57600080fd5b81358181111561263d5761263d6125be565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612683576126836125be565b8160405282815287602084870101111561269c57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080600080600080600060e0888a0312156126d757600080fd5b6126e088612409565b96506126ee60208901612409565b95506040880135945060608801359350608088013560ff8116811461271257600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600181811c9082168061274357607f821691505b6020821081036119ab577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b80820180821115610507577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000602082840312156127c857600080fd5b8151801515811461240257600080fd5b601f8211156113e857600081815260208120601f850160051c810160208610156127ff5750805b601f850160051c820191505b8181101561281e5782815560010161280b565b505050505050565b815167ffffffffffffffff811115612840576128406125be565b6128548161284e845461272f565b846127d8565b602080601f8311600181146128a757600084156128715750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561281e565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156128f4578886015182559484019460019091019084016128d5565b508582101561293057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220fe0e17f30a914a12eaf75ed07f9480f92e0a0fd18b56e97ee41904635be7488a64736f6c63430008130033000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613d3862000129600039600081816108070152818161089d01528181610cc001528181610d560152610e850152613d386000f3fe6080604052600436106101e35760003560e01c806370a0823111610102578063b6232c9911610095578063d0ebdbe711610064578063d0ebdbe714610598578063d5009584146105b8578063d505accf146105e4578063dd62ed3e1461060457600080fd5b8063b6232c99146104f4578063b84c824614610514578063bc701e7514610534578063c4d66de81461057857600080fd5b806384b0196e116100d157806384b0196e1461047757806395d89b411461049f578063a457c2d7146104b4578063a9059cbb146104d457600080fd5b806370a082311461040257806379cc6790146104225780637ecebe00146104425780638456cb591461046257600080fd5b80633659cfe61161017a57806342966c681161014957806342966c68146103a15780634f1ef286146103c157806352d1902d146103d45780635c975abb146103e957600080fd5b80633659cfe61461032c578063395093511461034c5780633f4ba83a1461036c57806340c10f191461038157600080fd5b806320713877116101b657806320713877146102b957806323b872dd146102db578063313ce567146102fb5780633644e5151461031757600080fd5b806306fdde03146101e8578063095ea7b31461021357806313007d551461024357806318160ddd14610296575b600080fd5b3480156101f457600080fd5b506101fd610624565b60405161020a9190613636565b60405180910390f35b34801561021f57600080fd5b5061023361022e366004613672565b6106b6565b604051901515815260200161020a565b34801561024f57600080fd5b50610195546102719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161020a565b3480156102a257600080fd5b506102ab6106cb565b60405190815260200161020a565b3480156102c557600080fd5b506102d96102d436600461377f565b6106db565b005b3480156102e757600080fd5b506102336102f63660046137f3565b6107d1565b34801561030757600080fd5b506040516012815260200161020a565b34801561032357600080fd5b506102ab6107e6565b34801561033857600080fd5b506102d961034736600461382f565b6107f0565b34801561035857600080fd5b50610233610367366004613672565b6109c1565b34801561037857600080fd5b506102d96109cd565b34801561038d57600080fd5b506102d961039c366004613672565b610adc565b3480156103ad57600080fd5b506102d96103bc36600461384a565b610c5f565b6102d96103cf366004613863565b610ca9565b3480156103e057600080fd5b506102ab610e6b565b3480156103f557600080fd5b506101305460ff16610233565b34801561040e57600080fd5b506102ab61041d36600461382f565b610f3d565b34801561042e57600080fd5b506102d961043d366004613672565b610f68565b34801561044e57600080fd5b506102ab61045d36600461382f565b6110ee565b34801561046e57600080fd5b506102d96110f9565b34801561048357600080fd5b5061048c611206565b60405161020a97969594939291906138c5565b3480156104ab57600080fd5b506101fd6112c8565b3480156104c057600080fd5b506102336104cf366004613672565b6112d8565b3480156104e057600080fd5b506102336104ef366004613672565b6112e4565b34801561050057600080fd5b506102d961050f366004613984565b6112f0565b34801561052057600080fd5b506102d961052f3660046139b7565b61148d565b34801561054057600080fd5b5061027161054f36600461382f565b6101966020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561058457600080fd5b506102d961059336600461382f565b611580565b3480156105a457600080fd5b506102d96105b336600461382f565b611765565b3480156105c457600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff16610271565b3480156105f057600080fd5b506102d96105ff3660046139ec565b611893565b34801561061057600080fd5b506102ab61061f366004613984565b6118ab565b6060609a805461063390613a5f565b80601f016020809104026020016040519081016040528092919081815260200182805461065f90613a5f565b80156106ac5780601f10610681576101008083540402835291602001916106ac565b820191906000526020600020905b81548152906001019060200180831161068f57829003601f168201915b5050505050905090565b60006106c283836118e5565b90505b92915050565b60006106d660995490565b905090565b600054610100900460ff1661075d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61076782826118fd565b61077082611984565b610778611a40565b6101946107858282613afa565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b60006107de848484611ac5565b949350505050565b60006106d6611ae9565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361089b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610754565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109107f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109995760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610754565b6109a281611af3565b604080516000808252602082019092526109be91839190611bd9565b50565b60006106c28383611da9565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a869190613c14565b610ad25760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610754565b610ada611dcb565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb09190613c14565b610bfc5760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206d696e74657200000000000000006044820152606401610754565b610c04611e49565b610c0e8282611e9d565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610c67611e49565b610c713382611f84565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d545760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610754565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dc97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e525760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610754565b610e5b82611af3565b610e6782826001611bd9565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f185760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610754565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff81166000908152609760205260408120546106c5565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a0336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c9190613c14565b6110885760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206275726e657200000000000000006044820152606401610754565b611090611e49565b61109a8282611f84565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe47826040516110e291815260200190565b60405180910390a25050565b60006106c582612122565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561118e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b29190613c14565b6111fe5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610754565b610ada61214d565b60006060806000806000606060c9546000801b148015611226575060ca54155b6112725760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610754565b61127a6121a9565b6112826121b8565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060610194805461063390613a5f565b60006106c283836121c7565b60006106c2838361225a565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156113a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c49190613c14565b6114105760405162461bcd60e51b815260206004820152601c60248201527f446f6c6c61723a206d75737420686176652061646d696e20726f6c65000000006044820152606401610754565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152610196602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f88bb9e877881758e827c849b8a0e38421bd5ff916f4ef79ed65aec74cc04a5da9190a35050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115279190613c14565b6115735760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b610194610e678282613afa565b600054610100900460ff16158080156115a05750600054600160ff909116105b806115ba5750303b1580156115ba575060005460ff166001145b61162c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610754565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561168a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6116ff826040518060400160405280600f81526020017f556269717569747920446f6c6c617200000000000000000000000000000000008152506040518060400160405280600381526020017f75414400000000000000000000000000000000000000000000000000000000008152506106db565b8015610e6757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156117db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ff9190613c14565b61184b5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6118a287878787878787612268565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526098602090815260408083209385168352929052908120546106c2565b6000336118f38185856123f3565b5060019392505050565b600054610100900460ff1661197a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b610e678282612572565b600054610100900460ff16611a015760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b6109be816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250612608565b600054610100900460ff16611abd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b610ada6126ad565b600033611ad3858285612755565b611ade8585856127ed565b506001949350505050565b60006106d6612803565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8d9190613c14565b6109be5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611c1157611c0c83612877565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611c96575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611c9391810190613c3d565b60015b611d085760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610754565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611d9d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610754565b50611c0c838383612967565b6000336118f3818585611dbc83836118ab565b611dc69190613c56565b6123f3565b611dd361298c565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610ada5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610754565b73ffffffffffffffffffffffffffffffffffffffff8216611f005760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610754565b611f0c600083836129df565b8060996000828254611f1e9190613c56565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821661200d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610754565b612019826000836129df565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260976020526040902054818110156120b55760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd60205260408120546106c5565b612155611e49565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611e1f3390565b606060cb805461063390613a5f565b606060cc805461063390613a5f565b600033816121d582866118ab565b90508381101561224d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610754565b611ade82868684036123f3565b6000336118f38185856127ed565b834211156122b85760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610754565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886122e78c6129ea565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061234f82612a1f565b9050600061235f82878787612a67565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146123dc5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610754565b6123e78a8a8a6123f3565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661247b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff82166125045760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff166125ef5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b609a6125fb8382613afa565b50609b611c0c8282613afa565b600054610100900460ff166126855760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b60cb6126918382613afa565b5060cc61269e8282613afa565b5050600060c981905560ca5550565b600054610100900460ff1661272a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600061276184846118ab565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146127e757818110156127da5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610754565b6127e784848484036123f3565b50505050565b6127f8838383612a8f565b611c0c838383612aa2565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61282e612e9b565b612836612ef4565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b6129015760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610754565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61297083612f25565b60008251118061297d5750805b15611c0c576127e78383612f72565b6101305460ff16610ada5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610754565b611c0c838383612f97565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b60006106c5612a2c611ae9565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000612a7887878787613011565b91509150612a8581613100565b5095945050505050565b612a97611e49565b611c0c838383613265565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526101966020526040902054168015612b865773ffffffffffffffffffffffffffffffffffffffff8116636e22230d85853360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101859052608401600060405180830381600087803b158015612b6d57600080fd5b505af1158015612b81573d6000803e3d6000fd5b505050505b73ffffffffffffffffffffffffffffffffffffffff80841660009081526101966020526040902054168015612c6a5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d86863360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101869052608401600060405180830381600087803b158015612c5157600080fd5b505af1158015612c65573d6000803e3d6000fd5b505050505b336000818152610196602052604090205473ffffffffffffffffffffffffffffffffffffffff9081169190871614801590612cbb57503373ffffffffffffffffffffffffffffffffffffffff861614155b8015612cdc575073ffffffffffffffffffffffffffffffffffffffff811615155b15612d965773ffffffffffffffffffffffffffffffffffffffff8116636e22230d87873360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101879052608401600060405180830381600087803b158015612d7d57600080fd5b505af1158015612d91573d6000803e3d6000fd5b505050505b600080526101966020527f4ed60052c36c1f7549e23dd18b0e315d045aea00f4adf44a504f06f08fab3d1f5473ffffffffffffffffffffffffffffffffffffffff1680156118a25773ffffffffffffffffffffffffffffffffffffffff8116636e22230d88883360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101889052608401600060405180830381600087803b158015612e7a57600080fd5b505af1158015612e8e573d6000803e3d6000fd5b5050505050505050505050565b600080612ea66121a9565b805190915015612ebd578051602090910120919050565b60c9548015612ecc5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612eff6121b8565b805190915015612f16578051602090910120919050565b60ca548015612ecc5792915050565b612f2e81612877565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606106c28383604051806060016040528060278152602001613cdc60279139613498565b6101305460ff1615611c0c5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c6520706175736564000000000000000000000000000000000000000000006064820152608401610754565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561304857506000905060036130f7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561309c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166130f0576000600192509250506130f7565b9150600090505b94509492505050565b600081600481111561311457613114613c90565b0361311c5750565b600181600481111561313057613130613c90565b0361317d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610754565b600281600481111561319157613191613c90565b036131de5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610754565b60038160048111156131f2576131f2613c90565b036109be5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff83166132ee5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff82166133775760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610754565b6133828383836129df565b73ffffffffffffffffffffffffffffffffffffffff83166000908152609760205260409020548181101561341e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061348b9086815260200190565b60405180910390a36127e7565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516134c29190613cbf565b600060405180830381855af49150503d80600081146134fd576040519150601f19603f3d011682016040523d82523d6000602084013e613502565b606091505b50915091506135138683838761351d565b9695505050505050565b606083156135995782516000036135925773ffffffffffffffffffffffffffffffffffffffff85163b6135925760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610754565b50816107de565b6107de83838151156135ae5781518083602001fd5b8060405162461bcd60e51b81526004016107549190613636565b60005b838110156135e35781810151838201526020016135cb565b50506000910152565b600081518084526136048160208601602086016135c8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106c260208301846135ec565b803573ffffffffffffffffffffffffffffffffffffffff8116811461366d57600080fd5b919050565b6000806040838503121561368557600080fd5b61368e83613649565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156136e6576136e661369c565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561372c5761372c61369c565b8160405280935085815286868601111561374557600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261377057600080fd5b6106c2838335602085016136cb565b60008060006060848603121561379457600080fd5b61379d84613649565b9250602084013567ffffffffffffffff808211156137ba57600080fd5b6137c68783880161375f565b935060408601359150808211156137dc57600080fd5b506137e98682870161375f565b9150509250925092565b60008060006060848603121561380857600080fd5b61381184613649565b925061381f60208501613649565b9150604084013590509250925092565b60006020828403121561384157600080fd5b6106c282613649565b60006020828403121561385c57600080fd5b5035919050565b6000806040838503121561387657600080fd5b61387f83613649565b9150602083013567ffffffffffffffff81111561389b57600080fd5b8301601f810185136138ac57600080fd5b6138bb858235602084016136cb565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261390160e084018a6135ec565b8381036040850152613913818a6135ec565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561397257835183529284019291840191600101613956565b50909c9b505050505050505050505050565b6000806040838503121561399757600080fd5b6139a083613649565b91506139ae60208401613649565b90509250929050565b6000602082840312156139c957600080fd5b813567ffffffffffffffff8111156139e057600080fd5b6107de8482850161375f565b600080600080600080600060e0888a031215613a0757600080fd5b613a1088613649565b9650613a1e60208901613649565b95506040880135945060608801359350608088013560ff81168114613a4257600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600181811c90821680613a7357607f821691505b602082108103612a19577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611c0c57600081815260208120601f850160051c81016020861015613ad35750805b601f850160051c820191505b81811015613af257828155600101613adf565b505050505050565b815167ffffffffffffffff811115613b1457613b1461369c565b613b2881613b228454613a5f565b84613aac565b602080601f831160018114613b7b5760008415613b455750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613af2565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613bc857888601518255948401946001909101908401613ba9565b5085821015613c0457878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215613c2657600080fd5b81518015158114613c3657600080fd5b9392505050565b600060208284031215613c4f57600080fd5b5051919050565b808201808211156106c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251613cd18184602087016135c8565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220252602843f83a5811939eff891788da88df77e6837c7759349ad470cdcef27be64736f6c63430008130033", "nonce": "0x13", "accessList": [] }, @@ -384,7 +384,26 @@ "isFixedGasLimit": false }, { - "hash": "0xad1bed1c734806280dd9b4851c26e65efc0f8903adcc37c1a635231ad9469cd2", + "hash": "0x70b68551e431caa83a7f6ed5f624e8de095cc5dfe931b6a1a3d76548c1a88b0f", + "transactionType": "CREATE", + "contractName": "UupsProxy", + "contractAddress": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", + "function": null, + "arguments": ["0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", "0xc4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb"], + "transaction": { + "type": "0x02", + "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", + "gas": "0x6167c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506040516104ff3803806104ff83398101604081905261002f916102ef565b818161003d82826000610046565b5050505061040c565b61004f83610072565b60008251118061005c5750805b1561006d5761006b83836100b2565b505b505050565b61007b816100de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d783836040518060600160405280602781526020016104d860279139610191565b9392505050565b6001600160a01b0381163b6101505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516101ae91906103bd565b600060405180830381855af49150503d80600081146101e9576040519150601f19603f3d011682016040523d82523d6000602084013e6101ee565b606091505b5090925090506102008683838761020a565b9695505050505050565b60608315610279578251600003610272576001600160a01b0385163b6102725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610147565b5081610283565b610283838361028b565b949350505050565b81511561029b5781518083602001fd5b8060405162461bcd60e51b815260040161014791906103d9565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e65781810151838201526020016102ce565b50506000910152565b6000806040838503121561030257600080fd5b82516001600160a01b038116811461031957600080fd5b60208401519092506001600160401b038082111561033657600080fd5b818501915085601f83011261034a57600080fd5b81518181111561035c5761035c6102b5565b604051601f8201601f19908116603f01168101908382118183101715610384576103846102b5565b8160405282815288602084870101111561039d57600080fd5b6103ae8360208301602088016102cb565b80955050505050509250929050565b600082516103cf8184602087016102cb565b9190910192915050565b60208152600082518060208401526103f88160408501602087016102cb565b601f01601f19169190910160400192915050565b60be8061041a6000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220e441f365e67d1a963a862b4e5b34ef47a37e8981bee9932a7d0c5164dd3c9c0264736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000f98f9083a9226b200da8cbc4bfecdae58da5988900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x609de3a9f87f1148d9d8f3f83af8a7fdbc867ebdde9b6a76acbd57119516063c", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -394,17 +413,17 @@ "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "to": "0xbe0efabc83686a81903c1d4a2515f8111e53b5cb", - "gas": "0x11565", + "gas": "0x125a5", "value": "0x0", - "data": "0xf986cd57000000000000000000000000f98f9083a9226b200da8cbc4bfecdae58da59889", - "nonce": "0x14", + "data": "0xf986cd57000000000000000000000000988ba9496b04755e0dab7057c2c1e1f25f00ead3", + "nonce": "0x15", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xa439fa4a7f33e7d7dc6dc43915f3fb5421793c39e524deab73b4e8aa85be86c7", + "hash": "0x07d39d44e834f3e1fd7652d499846122c24ad9a10141469cfd668d62d981517b", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -417,14 +436,14 @@ "gas": "0x1c4c4", "value": "0x0", "data": "0x2f2ff15d2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "nonce": "0x15", + "nonce": "0x16", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x16eaf5f4cfe601fb8f0091ff5a1b0d979460fa6cb781c8cc788e7e94a1747ee3", + "hash": "0x8d2105c5e48f942f30de2762c33091459d45c06c6daa97cb77f6b811d860e4f7", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -437,34 +456,34 @@ "gas": "0x1c4c4", "value": "0x0", "data": "0x2f2ff15dd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a0000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "nonce": "0x16", + "nonce": "0x17", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xd215124d1a56b115d9c62674ab0434cfa44be1462728a0c26ff1ab0233bb0ae1", + "hash": "0xcfde9b08f92c8f98ecfb4dac33d8bea23c14ff3827ec8ce9330fddd72a41ab63", "transactionType": "CALL", - "contractName": "UbiquityDollarToken", - "contractAddress": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", - "function": "mint(address,uint256)", - "arguments": ["0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "10000000000000000000000"], + "contractName": "UupsProxy", + "contractAddress": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", + "function": null, + "arguments": null, "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "to": "0xf98f9083a9226b200da8cbc4bfecdae58da59889", - "gas": "0x1cc72", + "to": "0x988ba9496b04755e0dab7057c2c1e1f25f00ead3", + "gas": "0x203f3", "value": "0x0", "data": "0x40c10f19000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "nonce": "0x17", + "nonce": "0x18", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xc1f482e2a227c5496200fdf0eda69bf710b4c98b63934102df2fad6ea617d5cb", + "hash": "0x17b70d4b32f1684cd499b49d1682904c3b2cdd8dd55875faf09ad03c5bb9e434", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490", @@ -474,17 +493,17 @@ "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "to": "0x6c3f90f043a72fa612cbac8115ee7e52bde6e490", - "gas": "0xf9f3", + "gas": "0x113d9", "value": "0x0", "data": "0xa9059cbb000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "nonce": "0x18", + "nonce": "0x19", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", + "hash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -494,42 +513,61 @@ "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "to": "0xbe0efabc83686a81903c1d4a2515f8111e53b5cb", - "gas": "0x17a3cf", + "gas": "0x194041", "value": "0x0", "data": "0xfbff3a41000000000000000000000000b9fc157394af804a3578134a6585c0dc9cc990d4000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c70000000000000000000000006c3f90f043a72fa612cbac8115ee7e52bde6e490000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000004c4b40", - "nonce": "0x19", + "nonce": "0x1a", "accessList": [] }, "additionalContracts": [ { "transactionType": "CREATE", - "address": "0x2673099769201c08E9A5e63b25FBaF25541A6557", + "address": "0x80FB33FcE06F5E9d9E4bB7C90C7BC19B99a18827", "initCode": "602d3d8160093d39f3363d3d373d3d3d363d73213be373fdff327658139c7df330817dad2d5bbe5af43d82803e903d91602b57fd5bf3" } ], "isFixedGasLimit": false }, { - "hash": "0x3777a55badf766d65e0265e68ed58c325f6f4837b281fc131c31301f9606dd58", + "hash": "0xe9acf32f9270ff8402f2741d69278b2abe49198498adb2d04ef0ec6210844156", "transactionType": "CREATE", "contractName": "UbiquityGovernanceToken", - "contractAddress": "0x3c399C1a29C4dab8522Bf9c4dD405037280add6C", + "contractAddress": "0xEbCe0D06fE2a715c7eebbda0A9eB40f2Ba15BB05", "function": null, - "arguments": ["0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb"], + "arguments": null, "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x2ac03c", + "gas": "0x3db60c", "value": "0x0", - "data": "0x6101606040523480156200001257600080fd5b50604051620028da380380620028da833981016040819052620000359162000235565b8060405180604001604052806008815260200167556269717569747960c01b8152506040518060400160405280600381526020016255425160e81b8152508180604051806040016040528060018152602001603160f81b81525084848160039081620000a291906200030c565b506004620000b182826200030c565b50620000c391508390506005620001b0565b61012052620000d4816006620001b0565b61014052815160208084019190912060e052815190820120610100524660a0526200016260e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506009805460ff19169055600a6200018482826200030c565b5050600b80546001600160a01b0319166001600160a01b039390931692909217909155506200044d9050565b6000602083511015620001d057620001c883620001e9565b9050620001e3565b81620001dd84826200030c565b5060ff90505b92915050565b600080829050601f8151111562000220578260405163305a27a960e01b8152600401620002179190620003d8565b60405180910390fd5b80516200022d8262000428565b179392505050565b6000602082840312156200024857600080fd5b81516001600160a01b03811681146200026057600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200029257607f821691505b602082108103620002b357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030757600081815260208120601f850160051c81016020861015620002e25750805b601f850160051c820191505b818110156200030357828155600101620002ee565b5050505b505050565b81516001600160401b0381111562000328576200032862000267565b62000340816200033984546200027d565b84620002b9565b602080601f8311600181146200037857600084156200035f5750858301515b600019600386901b1c1916600185901b17855562000303565b600085815260208120601f198616915b82811015620003a95788860151825594840194600190910190840162000388565b5085821015620003c85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083528351808285015260005b818110156200040757858101830151858201604001528201620003e9565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620002b35760001960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051612432620004a86000396000610acb01526000610aa0015260006112f2015260006112ca015260006112250152600061124f0152600061127901526124326000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806370a08231116100ee578063a457c2d711610097578063d0ebdbe711610071578063d0ebdbe714610378578063d50095841461038b578063d505accf146103a9578063dd62ed3e146103bc57600080fd5b8063a457c2d71461033f578063a9059cbb14610352578063b84c82461461036557600080fd5b80638456cb59116100c85780638456cb591461031457806384b0196e1461031c57806395d89b411461033757600080fd5b806370a08231146102b857806379cc6790146102ee5780637ecebe001461030157600080fd5b80633644e5151161015057806340c10f191161012a57806340c10f191461028757806342966c681461029a5780635c975abb146102ad57600080fd5b80633644e51514610262578063395093511461026a5780633f4ba83a1461027d57600080fd5b806318160ddd1161018157806318160ddd1461022e57806323b872dd14610240578063313ce5671461025357600080fd5b806306fdde03146101a8578063095ea7b3146101c657806313007d55146101e9575b600080fd5b6101b0610402565b6040516101bd9190611e7c565b60405180910390f35b6101d96101d4366004611ebf565b610494565b60405190151581526020016101bd565b600b546102099073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bd565b6002545b6040519081526020016101bd565b6101d961024e366004611ee9565b6104ae565b604051601281526020016101bd565b6102326104d2565b6101d9610278366004611ebf565b6104e1565b61028561052d565b005b610285610295366004611ebf565b610640565b6102856102a8366004611f25565b6107a7565b60095460ff166101d9565b6102326102c6366004611f3e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102856102fc366004611ebf565b6107f1565b61023261030f366004611f3e565b61095b565b610285610986565b610324610a92565b6040516101bd9796959493929190611f59565b6101b0610b37565b6101d961034d366004611ebf565b610b46565b6101d9610360366004611ebf565b610bfd565b610285610373366004612047565b610c0b565b610285610386366004611f3e565b610d00565b600b5473ffffffffffffffffffffffffffffffffffffffff16610209565b6102856103b7366004612116565b610e2c565b6102326103ca366004612189565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b606060038054610411906121bc565b80601f016020809104026020016040519081016040528092919081815260200182805461043d906121bc565b801561048a5780601f1061045f5761010080835404028352916020019161048a565b820191906000526020600020905b81548152906001019060200180831161046d57829003601f168201915b5050505050905090565b6000336104a2818585610fb7565b60019150505b92915050565b6000336104bc858285611136565b6104c78585856111f3565b506001949350505050565b60006104dc61120b565b905090565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104a29082908690610528908790612209565b610fb7565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156105c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e59190612243565b6106365760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f74207061757365720000000000000060448201526064015b60405180910390fd5b61063e611343565b565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156106d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f89190612243565b6107445760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206d696e74657200000000604482015260640161062d565b61074c6113c0565b6107568282611413565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b6107af6113c0565b6107b933826114f8565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab354600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a99190612243565b6108f55760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206275726e657200000000604482015260640161062d565b6108fd6113c0565b61090782826114f8565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161094f91815260200190565b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260408120546104a8565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3e9190612243565b610a8a5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f742070617573657200000000000000604482015260640161062d565b61063e611694565b600060608082808083610ac67f000000000000000000000000000000000000000000000000000000000000000060056116ef565b610af17f000000000000000000000000000000000000000000000000000000000000000060066116ef565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600a8054610411906121bc565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610bf05760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161062d565b6104c78286868403610fb7565b6000336104a28185856111f3565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca49190612243565b610cf05760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161062d565b600a610cfc82826122b3565b5050565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610d75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d999190612243565b610de55760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161062d565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b83421115610e7c5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161062d565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610eab8c61179a565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610f13826117cf565b90506000610f2382878787611817565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fa05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161062d565b610fab8a8a8a610fb7565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661103f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161062d565b73ffffffffffffffffffffffffffffffffffffffff82166110c85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161062d565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111ed57818110156111e05760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161062d565b6111ed8484848403610fb7565b50505050565b6111fb6113c0565b61120683838361183f565b505050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561127157507f000000000000000000000000000000000000000000000000000000000000000046145b1561129b57507f000000000000000000000000000000000000000000000000000000000000000090565b6104dc604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b61134b611a6b565b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60095460ff161561063e5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161062d565b73ffffffffffffffffffffffffffffffffffffffff82166114765760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161062d565b61148260008383611abd565b80600260008282546114949190612209565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff82166115815760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161062d565b61158d82600083611abd565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040902054818110156116295760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161062d565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b61169c6113c0565b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586113963390565b606060ff83146117095761170283611ac8565b90506104a8565b818054611715906121bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611741906121bc565b801561178e5780601f106117635761010080835404028352916020019161178e565b820191906000526020600020905b81548152906001019060200180831161177157829003601f168201915b505050505090506104a8565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090208054600181018255905b50919050565b60006104a86117dc61120b565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600061182887878787611b07565b9150915061183581611bf6565b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83166118c85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161062d565b73ffffffffffffffffffffffffffffffffffffffff82166119515760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161062d565b61195c838383611abd565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156119f85760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161062d565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36111ed565b60095460ff1661063e5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161062d565b611206838383611d5e565b60606000611ad583611dd7565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611b3e5750600090506003611bed565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611b92573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611be657600060019250925050611bed565b9150600090505b94509492505050565b6000816004811115611c0a57611c0a6123cd565b03611c125750565b6001816004811115611c2657611c266123cd565b03611c735760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161062d565b6002816004811115611c8757611c876123cd565b03611cd45760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161062d565b6003816004811115611ce857611ce86123cd565b03611d5b5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161062d565b50565b60095460ff16156112065760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c652070617573656400000000000000000000000000000000000000000000606482015260840161062d565b600060ff8216601f8111156104a8576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611e3e57602081850181015186830182015201611e22565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000611e8f6020830184611e18565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611eba57600080fd5b919050565b60008060408385031215611ed257600080fd5b611edb83611e96565b946020939093013593505050565b600080600060608486031215611efe57600080fd5b611f0784611e96565b9250611f1560208501611e96565b9150604084013590509250925092565b600060208284031215611f3757600080fd5b5035919050565b600060208284031215611f5057600080fd5b611e8f82611e96565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152611f9560e084018a611e18565b8381036040850152611fa7818a611e18565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561200657835183529284019291840191600101611fea565b50909c9b505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561205957600080fd5b813567ffffffffffffffff8082111561207157600080fd5b818401915084601f83011261208557600080fd5b81358181111561209757612097612018565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156120dd576120dd612018565b816040528281528760208487010111156120f657600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080600080600080600060e0888a03121561213157600080fd5b61213a88611e96565b965061214860208901611e96565b95506040880135945060608801359350608088013560ff8116811461216c57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561219c57600080fd5b6121a583611e96565b91506121b360208401611e96565b90509250929050565b600181811c908216806121d057607f821691505b6020821081036117c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b808201808211156104a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006020828403121561225557600080fd5b81518015158114611e8f57600080fd5b601f82111561120657600081815260208120601f850160051c8101602086101561228c5750805b601f850160051c820191505b818110156122ab57828155600101612298565b505050505050565b815167ffffffffffffffff8111156122cd576122cd612018565b6122e1816122db84546121bc565b84612265565b602080601f83116001811461233457600084156122fe5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556122ab565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561238157888601518255948401946001909101908401612362565b50858210156123bd57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212207d47cc32921b079462ab32ad13dbe64f2e1948c91678a21a877539a3a16bd78c64736f6c63430008130033000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "nonce": "0x1a", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613712620001296000396000818161078d0152818161082301528181610c4601528181610cdc0152610e0b01526137126000f3fe6080604052600436106101cd5760003560e01c80635c975abb116100f7578063a457c2d711610095578063d0ebdbe711610064578063d0ebdbe71461051e578063d50095841461053e578063d505accf1461056a578063dd62ed3e1461058a57600080fd5b8063a457c2d71461049e578063a9059cbb146104be578063b84c8246146104de578063c4d66de8146104fe57600080fd5b80637ecebe00116100d15780637ecebe001461042c5780638456cb591461044c57806384b0196e1461046157806395d89b411461048957600080fd5b80635c975abb146103d357806370a08231146103ec57806379cc67901461040c57600080fd5b80633644e5151161016f57806340c10f191161013e57806340c10f191461036b57806342966c681461038b5780634f1ef286146103ab57806352d1902d146103be57600080fd5b80633644e515146103015780633659cfe61461031657806339509351146103365780633f4ba83a1461035657600080fd5b806318160ddd116101ab57806318160ddd1461028057806320713877146102a357806323b872dd146102c5578063313ce567146102e557600080fd5b806306fdde03146101d2578063095ea7b3146101fd57806313007d551461022d575b600080fd5b3480156101de57600080fd5b506101e76105aa565b6040516101f49190613010565b60405180910390f35b34801561020957600080fd5b5061021d61021836600461304c565b61063c565b60405190151581526020016101f4565b34801561023957600080fd5b506101955461025b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f4565b34801561028c57600080fd5b50610295610651565b6040519081526020016101f4565b3480156102af57600080fd5b506102c36102be366004613159565b610661565b005b3480156102d157600080fd5b5061021d6102e03660046131cd565b610757565b3480156102f157600080fd5b50604051601281526020016101f4565b34801561030d57600080fd5b5061029561076c565b34801561032257600080fd5b506102c3610331366004613209565b610776565b34801561034257600080fd5b5061021d61035136600461304c565b610947565b34801561036257600080fd5b506102c3610953565b34801561037757600080fd5b506102c361038636600461304c565b610a62565b34801561039757600080fd5b506102c36103a6366004613224565b610be5565b6102c36103b936600461323d565b610c2f565b3480156103ca57600080fd5b50610295610df1565b3480156103df57600080fd5b506101305460ff1661021d565b3480156103f857600080fd5b50610295610407366004613209565b610ec3565b34801561041857600080fd5b506102c361042736600461304c565b610eee565b34801561043857600080fd5b50610295610447366004613209565b611074565b34801561045857600080fd5b506102c361107f565b34801561046d57600080fd5b5061047661118c565b6040516101f4979695949392919061329f565b34801561049557600080fd5b506101e761124e565b3480156104aa57600080fd5b5061021d6104b936600461304c565b61125e565b3480156104ca57600080fd5b5061021d6104d936600461304c565b61126a565b3480156104ea57600080fd5b506102c36104f936600461335e565b611276565b34801561050a57600080fd5b506102c3610519366004613209565b611369565b34801561052a57600080fd5b506102c3610539366004613209565b61154e565b34801561054a57600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff1661025b565b34801561057657600080fd5b506102c3610585366004613393565b61167c565b34801561059657600080fd5b506102956105a5366004613406565b611694565b6060609a80546105b990613439565b80601f01602080910402602001604051908101604052809291908181526020018280546105e590613439565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050905090565b600061064883836116ce565b90505b92915050565b600061065c60995490565b905090565b600054610100900460ff166106e35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6106ed82826116e6565b6106f68261176d565b6106fe611829565b61019461070b82826134d4565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b60006107648484846118ae565b949350505050565b600061065c6118d2565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108215760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106da565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461091f5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106da565b610928816118dc565b60408051600080825260208201909252610944918391906119c2565b50565b60006106488383611b92565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156109e8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0c91906135ee565b610a585760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f74207061757365720000000000000060448201526064016106da565b610a60611bb4565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3691906135ee565b610b825760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206d696e7465720000000060448201526064016106da565b610b8a611c32565b610b948282611c86565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610bed611c32565b610bf73382611d6d565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610cda5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106da565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610d4f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610dd85760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106da565b610de1826118dc565b610ded828260016119c2565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e9e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106da565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff811660009081526097602052604081205461064b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab354336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc291906135ee565b61100e5760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206275726e65720000000060448201526064016106da565b611016611c32565b6110208282611d6d565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161106891815260200190565b60405180910390a25050565b600061064b82611f0b565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611114573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113891906135ee565b6111845760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f74207061757365720000000000000060448201526064016106da565b610a60611f36565b60006060806000806000606060c9546000801b1480156111ac575060ca54155b6111f85760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a6564000000000000000000000060448201526064016106da565b611200611f92565b611208611fa1565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b606061019480546105b990613439565b60006106488383611fb0565b60006106488383612043565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131091906135ee565b61135c5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b610194610ded82826134d4565b600054610100900460ff16158080156113895750600054600160ff909116105b806113a35750303b1580156113a3575060005460ff166001145b6114155760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106da565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561147357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6114e8826040518060400160405280600881526020017f55626971756974790000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f5542510000000000000000000000000000000000000000000000000000000000815250610661565b8015610ded57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156115c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e891906135ee565b6116345760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61168b87878787878787612051565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152609860209081526040808320938516835292905290812054610648565b6000336116dc8185856121dc565b5060019392505050565b600054610100900460ff166117635760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b610ded828261235b565b600054610100900460ff166117ea5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b610944816040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506123f1565b600054610100900460ff166118a65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b610a60612496565b6000336118bc85828561253e565b6118c78585856125d6565b506001949350505050565b600061065c6125e9565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611952573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197691906135ee565b6109445760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156119fa576119f58361265d565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611a7f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611a7c91810190613617565b60015b611af15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106da565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611b865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106da565b506119f583838361274d565b6000336116dc818585611ba58383611694565b611baf9190613630565b6121dc565b611bbc612772565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610a605760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106da565b73ffffffffffffffffffffffffffffffffffffffff8216611ce95760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106da565b611cf5600083836127c5565b8060996000828254611d079190613630565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611df65760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106da565b611e02826000836127c5565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205481811015611e9e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604081205461064b565b611f3e611c32565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c083390565b606060cb80546105b990613439565b606060cc80546105b990613439565b60003381611fbe8286611694565b9050838110156120365760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106da565b6118c782868684036121dc565b6000336116dc8185856125d6565b834211156120a15760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016106da565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886120d08c6127d0565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061213882612805565b905060006121488287878761284d565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146121c55760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016106da565b6121d08a8a8a6121dc565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166122645760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff82166122ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff166123d85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b609a6123e483826134d4565b50609b6119f582826134d4565b600054610100900460ff1661246e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b60cb61247a83826134d4565b5060cc61248782826134d4565b5050600060c981905560ca5550565b600054610100900460ff166125135760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600061254a8484611694565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146125d057818110156125c35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106da565b6125d084848484036121dc565b50505050565b6125de611c32565b6119f5838383612875565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612614612aa8565b61261c612b01565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b6126e75760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106da565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61275683612b32565b6000825111806127635750805b156119f5576125d08383612b7f565b6101305460ff16610a605760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016106da565b6119f5838383612ba4565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b600061064b6128126118d2565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600061285e87878787612c1e565b9150915061286b81612d0d565b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83166128fe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff82166129875760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106da565b6129928383836127c5565b73ffffffffffffffffffffffffffffffffffffffff831660009081526097602052604090205481811015612a2e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612a9b9086815260200190565b60405180910390a36125d0565b600080612ab3611f92565b805190915015612aca578051602090910120919050565b60c9548015612ad95792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612b0c611fa1565b805190915015612b23578051602090910120919050565b60ca548015612ad95792915050565b612b3b8161265d565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061064883836040518060600160405280602781526020016136b660279139612e72565b6101305460ff16156119f55760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c65207061757365640000000000000000000000000000000000000000000060648201526084016106da565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612c555750600090506003612d04565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612ca9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612cfd57600060019250925050612d04565b9150600090505b94509492505050565b6000816004811115612d2157612d2161366a565b03612d295750565b6001816004811115612d3d57612d3d61366a565b03612d8a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016106da565b6002816004811115612d9e57612d9e61366a565b03612deb5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106da565b6003816004811115612dff57612dff61366a565b036109445760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016106da565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612e9c9190613699565b600060405180830381855af49150503d8060008114612ed7576040519150601f19603f3d011682016040523d82523d6000602084013e612edc565b606091505b5091509150612eed86838387612ef7565b9695505050505050565b60608315612f73578251600003612f6c5773ffffffffffffffffffffffffffffffffffffffff85163b612f6c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106da565b5081610764565b6107648383815115612f885781518083602001fd5b8060405162461bcd60e51b81526004016106da9190613010565b60005b83811015612fbd578181015183820152602001612fa5565b50506000910152565b60008151808452612fde816020860160208601612fa2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106486020830184612fc6565b803573ffffffffffffffffffffffffffffffffffffffff8116811461304757600080fd5b919050565b6000806040838503121561305f57600080fd5b61306883613023565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156130c0576130c0613076565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561310657613106613076565b8160405280935085815286868601111561311f57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261314a57600080fd5b610648838335602085016130a5565b60008060006060848603121561316e57600080fd5b61317784613023565b9250602084013567ffffffffffffffff8082111561319457600080fd5b6131a087838801613139565b935060408601359150808211156131b657600080fd5b506131c386828701613139565b9150509250925092565b6000806000606084860312156131e257600080fd5b6131eb84613023565b92506131f960208501613023565b9150604084013590509250925092565b60006020828403121561321b57600080fd5b61064882613023565b60006020828403121561323657600080fd5b5035919050565b6000806040838503121561325057600080fd5b61325983613023565b9150602083013567ffffffffffffffff81111561327557600080fd5b8301601f8101851361328657600080fd5b613295858235602084016130a5565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0818401526132db60e084018a612fc6565b83810360408501526132ed818a612fc6565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561334c57835183529284019291840191600101613330565b50909c9b505050505050505050505050565b60006020828403121561337057600080fd5b813567ffffffffffffffff81111561338757600080fd5b61076484828501613139565b600080600080600080600060e0888a0312156133ae57600080fd5b6133b788613023565b96506133c560208901613023565b95506040880135945060608801359350608088013560ff811681146133e957600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561341957600080fd5b61342283613023565b915061343060208401613023565b90509250929050565b600181811c9082168061344d57607f821691505b6020821081036127ff577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f8211156119f557600081815260208120601f850160051c810160208610156134ad5750805b601f850160051c820191505b818110156134cc578281556001016134b9565b505050505050565b815167ffffffffffffffff8111156134ee576134ee613076565b613502816134fc8454613439565b84613486565b602080601f831160018114613555576000841561351f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556134cc565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156135a257888601518255948401946001909101908401613583565b50858210156135de57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561360057600080fd5b8151801515811461361057600080fd5b9392505050565b60006020828403121561362957600080fd5b5051919050565b8082018082111561064b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082516136ab818460208701612fa2565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209ae2417731f645bf0716e7806cc8e306535a362ca0d14e6f802aaf3ef4a9e50264736f6c63430008130033", + "nonce": "0x1b", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x320bac8583d20dddb1a8cdac8b3da6c126de8f92ab1992ed48c4e6fb8ce3c525", + "hash": "0xd849fe61edbef64a86fd012c6f44ce5b77a6a7733ed04b2f5000578f21bdc41a", + "transactionType": "CREATE", + "contractName": "UupsProxy", + "contractAddress": "0x975a29731b751d003dd63D37736fd5730acd94Be", + "function": null, + "arguments": ["0xEbCe0D06fE2a715c7eebbda0A9eB40f2Ba15BB05", "0xc4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb"], + "transaction": { + "type": "0x02", + "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", + "gas": "0x6167c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506040516104ff3803806104ff83398101604081905261002f916102ef565b818161003d82826000610046565b5050505061040c565b61004f83610072565b60008251118061005c5750805b1561006d5761006b83836100b2565b505b505050565b61007b816100de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d783836040518060600160405280602781526020016104d860279139610191565b9392505050565b6001600160a01b0381163b6101505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516101ae91906103bd565b600060405180830381855af49150503d80600081146101e9576040519150601f19603f3d011682016040523d82523d6000602084013e6101ee565b606091505b5090925090506102008683838761020a565b9695505050505050565b60608315610279578251600003610272576001600160a01b0385163b6102725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610147565b5081610283565b610283838361028b565b949350505050565b81511561029b5781518083602001fd5b8060405162461bcd60e51b815260040161014791906103d9565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e65781810151838201526020016102ce565b50506000910152565b6000806040838503121561030257600080fd5b82516001600160a01b038116811461031957600080fd5b60208401519092506001600160401b038082111561033657600080fd5b818501915085601f83011261034a57600080fd5b81518181111561035c5761035c6102b5565b604051601f8201601f19908116603f01168101908382118183101715610384576103846102b5565b8160405282815288602084870101111561039d57600080fd5b6103ae8360208301602088016102cb565b80955050505050509250929050565b600082516103cf8184602087016102cb565b9190910192915050565b60208152600082518060208401526103f88160408501602087016102cb565b601f01601f19169190910160400192915050565b60be8061041a6000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220e441f365e67d1a963a862b4e5b34ef47a37e8981bee9932a7d0c5164dd3c9c0264736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000ebce0d06fe2a715c7eebbda0a9eb40f2ba15bb0500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", + "nonce": "0x1c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa596179f95b98111e01a667646fcaf515caad341d6b0592ecaeb89908dfe7aa4", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -539,17 +577,17 @@ "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "to": "0xbe0efabc83686a81903c1d4a2515f8111e53b5cb", - "gas": "0x11585", + "gas": "0x11575", "value": "0x0", - "data": "0xe2d443bd0000000000000000000000003c399c1a29c4dab8522bf9c4dd405037280add6c", - "nonce": "0x1b", + "data": "0xe2d443bd000000000000000000000000975a29731b751d003dd63d37736fd5730acd94be", + "nonce": "0x1d", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x2b568ebfe4f18a154d661123268d295f519a00bce3e8a0474788166dd306ae18", + "hash": "0x51e82bbc383de644d11760cb5d937b8a7b4866477eee72b988dd9c7a14759415", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -562,14 +600,14 @@ "gas": "0x1c4c4", "value": "0x0", "data": "0x2f2ff15db82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "nonce": "0x1c", + "nonce": "0x1e", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x58368b00b384a47246415e56242b4743a799ff483fc680d57d0b41e99cbbe8d5", + "hash": "0xb1415c09a5ec3d1863fc06eddf9f6353a3f547db4a9faa03832d9614d84babc1", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -582,33 +620,52 @@ "gas": "0x1c4c4", "value": "0x0", "data": "0x2f2ff15ddaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab354000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "nonce": "0x1d", + "nonce": "0x1f", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x0befbecffe85edcc1c2c8bda2785d78aabd23d56c928db2ea34c410755cf223b", + "hash": "0xb77d7a7dcbf776903068d9572e760372f9ca381c0362f5ecd1053af13a4ec127", "transactionType": "CREATE", "contractName": "UbiquityCreditToken", - "contractAddress": "0x5Fec7d778c179200947B70D7b565023b8A856a73", + "contractAddress": "0x5318a766EBEd5157D18347637A306Fba6Bb2Fc12", "function": null, - "arguments": ["0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb"], + "arguments": null, "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x2bbc15", + "gas": "0x3ec56e", "value": "0x0", - "data": "0x6101606040523480156200001257600080fd5b50604051620029c8380380620029c883398101604081905262000035916200023c565b806040518060400160405280600f81526020016e15589a5c5d5a5d1e4810dc99591a5d608a1b815250604051806040016040528060038152602001623aa1a960e91b8152508180604051806040016040528060018152602001603160f81b81525084848160039081620000a9919062000313565b506004620000b8828262000313565b50620000ca91508390506005620001b7565b61012052620000db816006620001b7565b61014052815160208084019190912060e052815190820120610100524660a0526200016960e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506009805460ff19169055600a6200018b828262000313565b5050600b80546001600160a01b0319166001600160a01b03939093169290921790915550620004549050565b6000602083511015620001d757620001cf83620001f0565b9050620001ea565b81620001e4848262000313565b5060ff90505b92915050565b600080829050601f8151111562000227578260405163305a27a960e01b81526004016200021e9190620003df565b60405180910390fd5b805162000234826200042f565b179392505050565b6000602082840312156200024f57600080fd5b81516001600160a01b03811681146200026757600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200029957607f821691505b602082108103620002ba57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030e57600081815260208120601f850160051c81016020861015620002e95750805b601f850160051c820191505b818110156200030a57828155600101620002f5565b5050505b505050565b81516001600160401b038111156200032f576200032f6200026e565b620003478162000340845462000284565b84620002c0565b602080601f8311600181146200037f5760008415620003665750858301515b600019600386901b1c1916600185901b1785556200030a565b600085815260208120601f198616915b82811015620003b0578886015182559484019460019091019084016200038f565b5085821015620003cf5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083528351808285015260005b818110156200040e57858101830151858201604001528201620003f0565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620002ba5760001960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051612519620004af6000396000610ae901526000610abe015260006113b001526000611388015260006112e30152600061130d0152600061133701526125196000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379cc6790116100ee578063a9059cbb11610097578063d0ebdbe711610071578063d0ebdbe714610396578063d5009584146103a9578063d505accf146103c7578063dd62ed3e146103da57600080fd5b8063a9059cbb1461035d578063b84c824614610370578063c621bf8a1461038357600080fd5b806384b0196e116100c857806384b0196e1461032757806395d89b4114610342578063a457c2d71461034a57600080fd5b806379cc6790146102f95780637ecebe001461030c5780638456cb591461031f57600080fd5b80633644e5151161015b57806340c10f191161013557806340c10f191461029257806342966c68146102a55780635c975abb146102b857806370a08231146102c357600080fd5b80633644e5151461026d57806339509351146102755780633f4ba83a1461028857600080fd5b806318160ddd1161018c57806318160ddd1461023957806323b872dd1461024b578063313ce5671461025e57600080fd5b806306fdde03146101b3578063095ea7b3146101d157806313007d55146101f4575b600080fd5b6101bb610420565b6040516101c89190611f3a565b60405180910390f35b6101e46101df366004611f76565b6104b2565b60405190151581526020016101c8565b600b546102149073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c8565b6002545b6040519081526020016101c8565b6101e4610259366004611fa2565b6104cc565b604051601281526020016101c8565b61023d6104f0565b6101e4610283366004611f76565b6104ff565b61029061054b565b005b6102906102a0366004611f76565b61065e565b6102906102b3366004611fe3565b6107c5565b60095460ff166101e4565b61023d6102d1366004611ffc565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b610290610307366004611f76565b61080f565b61023d61031a366004611ffc565b610979565b6102906109a4565b61032f610ab0565b6040516101c89796959493929190612019565b6101bb610b55565b6101e4610358366004611f76565b610b64565b6101e461036b366004611f76565b610c1b565b61029061037e366004612107565b610c29565b610290610391366004611fe3565b610d1e565b6102906103a4366004611ffc565b610dbe565b600b5473ffffffffffffffffffffffffffffffffffffffff16610214565b6102906103d53660046121d6565b610eea565b61023d6103e836600461224d565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461042f90612286565b80601f016020809104026020016040519081016040528092919081815260200182805461045b90612286565b80156104a85780601f1061047d576101008083540402835291602001916104a8565b820191906000526020600020905b81548152906001019060200180831161048b57829003601f168201915b5050505050905090565b6000336104c0818585611075565b60019150505b92915050565b6000336104da8582856111f4565b6104e58585856112b1565b506001949350505050565b60006104fa6112c9565b905090565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104c090829086906105469087906122d3565b611075565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156105df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610603919061230d565b6106545760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f74207061757365720000000000000060448201526064015b60405180910390fd5b61065c611401565b565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b9919922600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156106f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610716919061230d565b6107625760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206d696e7465720000000000000000604482015260640161064b565b61076a61147e565b61077482826114d1565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b6107cd61147e565b6107d733826115b6565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e2600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156108a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c7919061230d565b6109135760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206275726e65720000000000000000604482015260640161064b565b61091b61147e565b61092582826115b6565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161096d91815260200190565b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260408120546104c6565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c919061230d565b610aa85760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f742070617573657200000000000000604482015260640161064b565b61065c611752565b600060608082808083610ae47f000000000000000000000000000000000000000000000000000000000000000060056117ad565b610b0f7f000000000000000000000000000000000000000000000000000000000000000060066117ad565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600a805461042f90612286565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610c0e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161064b565b6104e58286868403611075565b6000336104c08185856112b1565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc2919061230d565b610d0e5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161064b565b600a610d1a828261237d565b5050565b600b54604080517fc5f956af000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163c5f956af9160048083019260209291908290030181865afa158015610d8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db29190612497565b9050610d1a818361065e565b600b546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610e33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e57919061230d565b610ea35760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161064b565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b83421115610f3a5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161064b565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610f698c611858565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610fd18261188d565b90506000610fe1828787876118d5565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461105e5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161064b565b6110698a8a8a611075565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166110fd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161064b565b73ffffffffffffffffffffffffffffffffffffffff82166111865760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161064b565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112ab578181101561129e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161064b565b6112ab8484848403611075565b50505050565b6112b961147e565b6112c48383836118fd565b505050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561132f57507f000000000000000000000000000000000000000000000000000000000000000046145b1561135957507f000000000000000000000000000000000000000000000000000000000000000090565b6104fa604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b611409611b29565b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60095460ff161561065c5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161064b565b73ffffffffffffffffffffffffffffffffffffffff82166115345760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161064b565b61154060008383611b7b565b806002600082825461155291906122d3565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821661163f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161064b565b61164b82600083611b7b565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040902054818110156116e75760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161064b565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b61175a61147e565b600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586114543390565b606060ff83146117c7576117c083611b86565b90506104c6565b8180546117d390612286565b80601f01602080910402602001604051908101604052809291908181526020018280546117ff90612286565b801561184c5780601f106118215761010080835404028352916020019161184c565b820191906000526020600020905b81548152906001019060200180831161182f57829003601f168201915b505050505090506104c6565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090208054600181018255905b50919050565b60006104c661189a6112c9565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b60008060006118e687878787611bc5565b915091506118f381611cb4565b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83166119865760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161064b565b73ffffffffffffffffffffffffffffffffffffffff8216611a0f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161064b565b611a1a838383611b7b565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015611ab65760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161064b565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36112ab565b60095460ff1661065c5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161064b565b6112c4838383611e1c565b60606000611b9383611e95565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611bfc5750600090506003611cab565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611c50573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611ca457600060019250925050611cab565b9150600090505b94509492505050565b6000816004811115611cc857611cc86124b4565b03611cd05750565b6001816004811115611ce457611ce46124b4565b03611d315760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161064b565b6002816004811115611d4557611d456124b4565b03611d925760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161064b565b6003816004811115611da657611da66124b4565b03611e195760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161064b565b50565b60095460ff16156112c45760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c652070617573656400000000000000000000000000000000000000000000606482015260840161064b565b600060ff8216601f8111156104c6576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611efc57602081850181015186830182015201611ee0565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000611f4d6020830184611ed6565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611e1957600080fd5b60008060408385031215611f8957600080fd5b8235611f9481611f54565b946020939093013593505050565b600080600060608486031215611fb757600080fd5b8335611fc281611f54565b92506020840135611fd281611f54565b929592945050506040919091013590565b600060208284031215611ff557600080fd5b5035919050565b60006020828403121561200e57600080fd5b8135611f4d81611f54565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261205560e084018a611ed6565b8381036040850152612067818a611ed6565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156120c6578351835292840192918401916001016120aa565b50909c9b505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561211957600080fd5b813567ffffffffffffffff8082111561213157600080fd5b818401915084601f83011261214557600080fd5b813581811115612157576121576120d8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561219d5761219d6120d8565b816040528281528760208487010111156121b657600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080600080600080600060e0888a0312156121f157600080fd5b87356121fc81611f54565b9650602088013561220c81611f54565b95506040880135945060608801359350608088013560ff8116811461223057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561226057600080fd5b823561226b81611f54565b9150602083013561227b81611f54565b809150509250929050565b600181811c9082168061229a57607f821691505b602082108103611887577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b808201808211156104c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006020828403121561231f57600080fd5b81518015158114611f4d57600080fd5b601f8211156112c457600081815260208120601f850160051c810160208610156123565750805b601f850160051c820191505b8181101561237557828155600101612362565b505050505050565b815167ffffffffffffffff811115612397576123976120d8565b6123ab816123a58454612286565b8461232f565b602080601f8311600181146123fe57600084156123c85750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612375565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561244b5788860151825594840194600190910190840161242c565b508582101561248757878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156124a957600080fd5b8151611f4d81611f54565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220231d8df76f1a15079930b97f8ae00fe818e8e8b50c85b2cf6fdd48dfa8a5590564736f6c63430008130033000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "nonce": "0x1e", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161380b62000129600039600081816107b80152818161084e01528181610c7101528181610d070152610e36015261380b6000f3fe6080604052600436106101d85760003560e01c80635c975abb11610102578063a9059cbb11610095578063d0ebdbe711610064578063d0ebdbe714610549578063d500958414610569578063d505accf14610595578063dd62ed3e146105b557600080fd5b8063a9059cbb146104c9578063b84c8246146104e9578063c4d66de814610509578063c621bf8a1461052957600080fd5b80638456cb59116100d15780638456cb591461045757806384b0196e1461046c57806395d89b4114610494578063a457c2d7146104a957600080fd5b80635c975abb146103de57806370a08231146103f757806379cc6790146104175780637ecebe001461043757600080fd5b80633644e5151161017a57806340c10f191161014957806340c10f191461037657806342966c68146103965780634f1ef286146103b657806352d1902d146103c957600080fd5b80633644e5151461030c5780633659cfe61461032157806339509351146103415780633f4ba83a1461036157600080fd5b806318160ddd116101b657806318160ddd1461028b57806320713877146102ae57806323b872dd146102d0578063313ce567146102f057600080fd5b806306fdde03146101dd578063095ea7b31461020857806313007d5514610238575b600080fd5b3480156101e957600080fd5b506101f26105d5565b6040516101ff91906130dc565b60405180910390f35b34801561021457600080fd5b50610228610223366004613111565b610667565b60405190151581526020016101ff565b34801561024457600080fd5b50610195546102669073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101ff565b34801561029757600080fd5b506102a061067c565b6040519081526020016101ff565b3480156102ba57600080fd5b506102ce6102c9366004613220565b61068c565b005b3480156102dc57600080fd5b506102286102eb366004613296565b610782565b3480156102fc57600080fd5b50604051601281526020016101ff565b34801561031857600080fd5b506102a0610797565b34801561032d57600080fd5b506102ce61033c3660046132d7565b6107a1565b34801561034d57600080fd5b5061022861035c366004613111565b610972565b34801561036d57600080fd5b506102ce61097e565b34801561038257600080fd5b506102ce610391366004613111565b610a8d565b3480156103a257600080fd5b506102ce6103b13660046132fb565b610c10565b6102ce6103c4366004613314565b610c5a565b3480156103d557600080fd5b506102a0610e1c565b3480156103ea57600080fd5b506101305460ff16610228565b34801561040357600080fd5b506102a06104123660046132d7565b610eee565b34801561042357600080fd5b506102ce610432366004613111565b610f19565b34801561044357600080fd5b506102a06104523660046132d7565b61109f565b34801561046357600080fd5b506102ce6110aa565b34801561047857600080fd5b506104816111b7565b6040516101ff9796959493929190613378565b3480156104a057600080fd5b506101f2611279565b3480156104b557600080fd5b506102286104c4366004613111565b611289565b3480156104d557600080fd5b506102286104e4366004613111565b611295565b3480156104f557600080fd5b506102ce610504366004613437565b6112a1565b34801561051557600080fd5b506102ce6105243660046132d7565b611394565b34801561053557600080fd5b506102ce6105443660046132fb565b611579565b34801561055557600080fd5b506102ce6105643660046132d7565b61161a565b34801561057557600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff16610266565b3480156105a157600080fd5b506102ce6105b036600461346c565b611748565b3480156105c157600080fd5b506102a06105d03660046134e3565b611760565b6060609a80546105e49061351c565b80601f01602080910402602001604051908101604052809291908181526020018280546106109061351c565b801561065d5780601f106106325761010080835404028352916020019161065d565b820191906000526020600020905b81548152906001019060200180831161064057829003601f168201915b5050505050905090565b6000610673838361179a565b90505b92915050565b600061068760995490565b905090565b600054610100900460ff1661070e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61071882826117b2565b61072182611839565b6107296118f5565b61019461073682826135b7565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b600061078f84848461197a565b949350505050565b600061068761199e565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361084c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610705565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108c17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461094a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610705565b610953816119a8565b6040805160008082526020820190925261096f91839190611a8e565b50565b60006106738383611c5e565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3791906136d1565b610a835760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610705565b610a8b611c80565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b9919922336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6191906136d1565b610bad5760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206d696e74657200000000000000006044820152606401610705565b610bb5611cfe565b610bbf8282611d52565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610c18611cfe565b610c223382611e39565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d055760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610705565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610d7a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610705565b610e0c826119a8565b610e1882826001611a8e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ec95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610705565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260976020526040812054610676565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e2336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610fc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fed91906136d1565b6110395760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206275726e657200000000000000006044820152606401610705565b611041611cfe565b61104b8282611e39565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161109391815260200190565b60405180910390a25050565b600061067682611fd7565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561113f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116391906136d1565b6111af5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610705565b610a8b612002565b60006060806000806000606060c9546000801b1480156111d7575060ca54155b6112235760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610705565b61122b61205e565b61123361206d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b606061019480546105e49061351c565b6000610673838361207c565b6000610673838361210f565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906136d1565b6113875760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b610194610e1882826135b7565b600054610100900460ff16158080156113b45750600054600160ff909116105b806113ce5750303b1580156113ce575060005460ff166001145b6114405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610705565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561149e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611513826040518060400160405280600f81526020017f55626971756974792043726564697400000000000000000000000000000000008152506040518060400160405280600381526020017f754352000000000000000000000000000000000000000000000000000000000081525061068c565b8015610e1857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61019554604080517fc5f956af000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163c5f956af9160048083019260209291908290030181865afa1580156115ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160e91906136f3565b9050610e188183610a8d565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b491906136d1565b6117005760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6117578787878787878761211d565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152609860209081526040808320938516835292905290812054610673565b6000336117a88185856122a8565b5060019392505050565b600054610100900460ff1661182f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b610e188282612427565b600054610100900460ff166118b65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b61096f816040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506124bd565b600054610100900460ff166119725760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b610a8b612562565b60003361198885828561260a565b6119938585856126a2565b506001949350505050565b60006106876126b5565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611a1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4291906136d1565b61096f5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611ac657611ac183612729565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b4b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b4891810190613710565b60015b611bbd5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610705565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c525760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610705565b50611ac1838383612819565b6000336117a8818585611c718383611760565b611c7b9190613729565b6122a8565b611c8861283e565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610a8b5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610705565b73ffffffffffffffffffffffffffffffffffffffff8216611db55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610705565b611dc160008383612891565b8060996000828254611dd39190613729565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611ec25760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610705565b611ece82600083612891565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205481811015611f6a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd6020526040812054610676565b61200a611cfe565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611cd43390565b606060cb80546105e49061351c565b606060cc80546105e49061351c565b6000338161208a8286611760565b9050838110156121025760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610705565b61199382868684036122a8565b6000336117a88185856126a2565b8342111561216d5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610705565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861219c8c61289c565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000612204826128d1565b9050600061221482878787612919565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146122915760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610705565b61229c8a8a8a6122a8565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166123305760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff82166123b95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff166124a45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b609a6124b083826135b7565b50609b611ac182826135b7565b600054610100900460ff1661253a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b60cb61254683826135b7565b5060cc61255382826135b7565b5050600060c981905560ca5550565b600054610100900460ff166125df5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60006126168484611760565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461269c578181101561268f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610705565b61269c84848484036122a8565b50505050565b6126aa611cfe565b611ac1838383612941565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6126e0612b74565b6126e8612bcd565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b6127b35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610705565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61282283612bfe565b60008251118061282f5750805b15611ac15761269c8383612c4b565b6101305460ff16610a8b5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610705565b611ac1838383612c70565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b60006106766128de61199e565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600061292a87878787612cea565b9150915061293781612dd9565b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83166129ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff8216612a535760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610705565b612a5e838383612891565b73ffffffffffffffffffffffffffffffffffffffff831660009081526097602052604090205481811015612afa5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612b679086815260200190565b60405180910390a361269c565b600080612b7f61205e565b805190915015612b96578051602090910120919050565b60c9548015612ba55792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612bd861206d565b805190915015612bef578051602090910120919050565b60ca548015612ba55792915050565b612c0781612729565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061067383836040518060600160405280602781526020016137af60279139612f3e565b6101305460ff1615611ac15760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c6520706175736564000000000000000000000000000000000000000000006064820152608401610705565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612d215750600090506003612dd0565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612d75573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612dc957600060019250925050612dd0565b9150600090505b94509492505050565b6000816004811115612ded57612ded613763565b03612df55750565b6001816004811115612e0957612e09613763565b03612e565760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610705565b6002816004811115612e6a57612e6a613763565b03612eb75760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610705565b6003816004811115612ecb57612ecb613763565b0361096f5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610705565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612f689190613792565b600060405180830381855af49150503d8060008114612fa3576040519150601f19603f3d011682016040523d82523d6000602084013e612fa8565b606091505b5091509150612fb986838387612fc3565b9695505050505050565b6060831561303f5782516000036130385773ffffffffffffffffffffffffffffffffffffffff85163b6130385760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610705565b508161078f565b61078f83838151156130545781518083602001fd5b8060405162461bcd60e51b815260040161070591906130dc565b60005b83811015613089578181015183820152602001613071565b50506000910152565b600081518084526130aa81602086016020860161306e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106736020830184613092565b73ffffffffffffffffffffffffffffffffffffffff8116811461096f57600080fd5b6000806040838503121561312457600080fd5b823561312f816130ef565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156131875761318761313d565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156131cd576131cd61313d565b816040528093508581528686860111156131e657600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261321157600080fd5b6106738383356020850161316c565b60008060006060848603121561323557600080fd5b8335613240816130ef565b9250602084013567ffffffffffffffff8082111561325d57600080fd5b61326987838801613200565b9350604086013591508082111561327f57600080fd5b5061328c86828701613200565b9150509250925092565b6000806000606084860312156132ab57600080fd5b83356132b6816130ef565b925060208401356132c6816130ef565b929592945050506040919091013590565b6000602082840312156132e957600080fd5b81356132f4816130ef565b9392505050565b60006020828403121561330d57600080fd5b5035919050565b6000806040838503121561332757600080fd5b8235613332816130ef565b9150602083013567ffffffffffffffff81111561334e57600080fd5b8301601f8101851361335f57600080fd5b61336e8582356020840161316c565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0818401526133b460e084018a613092565b83810360408501526133c6818a613092565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561342557835183529284019291840191600101613409565b50909c9b505050505050505050505050565b60006020828403121561344957600080fd5b813567ffffffffffffffff81111561346057600080fd5b61078f84828501613200565b600080600080600080600060e0888a03121561348757600080fd5b8735613492816130ef565b965060208801356134a2816130ef565b95506040880135945060608801359350608088013560ff811681146134c657600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156134f657600080fd5b8235613501816130ef565b91506020830135613511816130ef565b809150509250929050565b600181811c9082168061353057607f821691505b6020821081036128cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611ac157600081815260208120601f850160051c810160208610156135905750805b601f850160051c820191505b818110156135af5782815560010161359c565b505050505050565b815167ffffffffffffffff8111156135d1576135d161313d565b6135e5816135df845461351c565b84613569565b602080601f83116001811461363857600084156136025750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556135af565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561368557888601518255948401946001909101908401613666565b50858210156136c157878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156136e357600080fd5b815180151581146132f457600080fd5b60006020828403121561370557600080fd5b81516132f4816130ef565b60006020828403121561372257600080fd5b5051919050565b80820180821115610676577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082516137a481846020870161306e565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c53c7c367bc225c778bae76187dbc32d0acd379a5fcfd41a782ca928cc52205664736f6c63430008130033", + "nonce": "0x20", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x1081ecc4e4bf068557842307313792634d43395f9086b05118100e3f1f52a726", + "hash": "0xb7005973c0dc14f11e1aa011f71a3196b51907ed6d03f03d72c9cdef33c87069", + "transactionType": "CREATE", + "contractName": "UupsProxy", + "contractAddress": "0x47f8F074c2C1eD281Aa6d69dB972FdeB4a0f9e14", + "function": null, + "arguments": ["0x5318a766EBEd5157D18347637A306Fba6Bb2Fc12", "0xc4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb"], + "transaction": { + "type": "0x02", + "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", + "gas": "0x61653", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506040516104ff3803806104ff83398101604081905261002f916102ef565b818161003d82826000610046565b5050505061040c565b61004f83610072565b60008251118061005c5750805b1561006d5761006b83836100b2565b505b505050565b61007b816100de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d783836040518060600160405280602781526020016104d860279139610191565b9392505050565b6001600160a01b0381163b6101505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516101ae91906103bd565b600060405180830381855af49150503d80600081146101e9576040519150601f19603f3d011682016040523d82523d6000602084013e6101ee565b606091505b5090925090506102008683838761020a565b9695505050505050565b60608315610279578251600003610272576001600160a01b0385163b6102725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610147565b5081610283565b610283838361028b565b949350505050565b81511561029b5781518083602001fd5b8060405162461bcd60e51b815260040161014791906103d9565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e65781810151838201526020016102ce565b50506000910152565b6000806040838503121561030257600080fd5b82516001600160a01b038116811461031957600080fd5b60208401519092506001600160401b038082111561033657600080fd5b818501915085601f83011261034a57600080fd5b81518181111561035c5761035c6102b5565b604051601f8201601f19908116603f01168101908382118183101715610384576103846102b5565b8160405282815288602084870101111561039d57600080fd5b6103ae8360208301602088016102cb565b80955050505050509250929050565b600082516103cf8184602087016102cb565b9190910192915050565b60208152600082518060208401526103f88160408501602087016102cb565b601f01601f19169190910160400192915050565b60be8061041a6000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220e441f365e67d1a963a862b4e5b34ef47a37e8981bee9932a7d0c5164dd3c9c0264736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000005318a766ebed5157d18347637a306fba6bb2fc1200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x81ffbf4cad8562d0e805069c6594352f23a9149200b83384b439c06681f451a1", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -618,17 +675,17 @@ "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "to": "0xbe0efabc83686a81903c1d4a2515f8111e53b5cb", - "gas": "0x125a8", + "gas": "0x11568", "value": "0x0", - "data": "0xba2d8cdd0000000000000000000000005fec7d778c179200947b70d7b565023b8a856a73", - "nonce": "0x1f", + "data": "0xba2d8cdd00000000000000000000000047f8f074c2c1ed281aa6d69db972fdeb4a0f9e14", + "nonce": "0x22", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xe1eff493ff0ea80e7e2c3057e3e9f72da826fe3297d13765df4dd8562a242a2a", + "hash": "0xf2788fe6073e3b4a5e6ffc7a567279773127200b5aa86c8699d48f6bef8b377f", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -641,14 +698,14 @@ "gas": "0x1c4c4", "value": "0x0", "data": "0x2f2ff15df77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b9919922000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "nonce": "0x20", + "nonce": "0x23", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xb4535144e16db1a96a7ac525b179374a4a71d64416135bcfbf712c7bcbf99f01", + "hash": "0xe717adcd28f4545b644128b4021eda57f19dbddc1e60b01c6e36a17cbd772d97", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -661,14 +718,14 @@ "gas": "0x1c4c4", "value": "0x0", "data": "0x2f2ff15dddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e2000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "nonce": "0x21", + "nonce": "0x24", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x4fc9df8bc0b8536d67533f0d11b8ee62ce19fc5ae26817f6d515fcc9dce17df6", + "hash": "0x349eb0b5cfc21cc0d51b201cc268616703c5ab8146d184399e6639b82c8d2011", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -681,33 +738,52 @@ "gas": "0x1c4c4", "value": "0x0", "data": "0x2f2ff15d25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "nonce": "0x22", + "nonce": "0x25", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x30573d6470849cc6d5aba92f915b1b5e962e8af6101cf9972139baadc2f0b49b", + "hash": "0x6a347e0caf8aaf453dae69d18f90816d49477813030b58a5fa60442104012171", "transactionType": "CREATE", "contractName": "CreditNft", - "contractAddress": "0xC39f62EC50748D6b05DC0dEf63943efF84E95f98", + "contractAddress": "0x773305308C2eDEE9Dbea7C0467953f165328B35D", "function": null, - "arguments": ["0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb"], + "arguments": null, "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x44eed3", + "gas": "0x5a15b5", "value": "0x0", - "data": "0x60806040523480156200001157600080fd5b5060405162003f7c38038062003f7c8339810160408190526200003491620000a1565b60408051808201909152600381526255524960e81b60208201528190806200005c816200008f565b5050600380546001600160a01b03909216610100026001600160a81b031990921691909117905550600060065562000244565b60026200009d828262000178565b5050565b600060208284031215620000b457600080fd5b81516001600160a01b0381168114620000cc57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000fe57607f821691505b6020821081036200011f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200017357600081815260208120601f850160051c810160208610156200014e5750805b601f850160051c820191505b818110156200016f578281556001016200015a565b5050505b505050565b81516001600160401b03811115620001945762000194620000d3565b620001ac81620001a58454620000e9565b8462000125565b602080601f831160018114620001e45760008415620001cb5750858301515b600019600386901b1c1916600185901b1785556200016f565b600085815260208120601f198616915b828110156200021557888601518255948401946001909101908401620001f4565b5085821015620002345787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b613d2880620002546000396000f3fe608060405234801561001057600080fd5b50600436106101ad5760003560e01c80637b48c3fd116100ee578063d500958411610097578063f242432a11610071578063f242432a146103dd578063f5298aca146103f0578063f7ffe84a14610403578063fd7fc1651461040b57600080fd5b8063d500958414610369578063db87b1ff1461038c578063e985e9c51461039457600080fd5b80639b642de1116100c85780639b642de114610330578063a22cb46514610343578063d0ebdbe71461035657600080fd5b80637b48c3fd146103025780638456cb591461031557806391623d491461031d57600080fd5b80632eb2c2d61161015b5780635c975abb116101355780635c975abb146102be5780636b20c454146102c9578063731133e9146102dc578063737035e8146102ef57600080fd5b80632eb2c2d6146102835780633f4ba83a146102965780634e1273f41461029e57600080fd5b806313007d551161018c57806313007d551461021b57806318160ddd146102655780631f7fdffa1461026e57600080fd5b8062fdd58e146101b257806301ffc9a7146101d85780630e89341c146101fb575b600080fd5b6101c56101c0366004613153565b61041e565b6040519081526020015b60405180910390f35b6101eb6101e63660046131ab565b6104e4565b60405190151581526020016101cf565b61020e6102093660046131c8565b6105c7565b6040516101cf9190613245565b60035461024090610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101cf565b6101c560055481565b61028161027c366004613403565b61065b565b005b61028161029136600461349c565b6107f9565b610281610835565b6102b16102ac366004613546565b610947565b6040516101cf919061364c565b60035460ff166101eb565b6102816102d736600461365f565b610a85565b6102816102ea3660046136d3565b610b30565b6101c56102fd366004613153565b610c90565b6102b1610310366004613728565b610cc1565b610281610d39565b61028161032b366004613743565b610e49565b61028161033e366004613776565b61103c565b6102816103513660046137cd565b611131565b610281610364366004613728565b611140565b600354610100900473ffffffffffffffffffffffffffffffffffffffff16610240565b6101c5611275565b6101eb6103a2366004613804565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6102816103eb366004613837565b6112e7565b6102816103fe366004613743565b611323565b6102816113c9565b610281610419366004613743565b611463565b600073ffffffffffffffffffffffffffffffffffffffff83166104ae5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b5060008181526020818152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061057757507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b806104de57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146104de565b6060600280546105d69061389c565b80601f01602080910402602001604051908101604052809291908181526020018280546106029061389c565b801561064f5780601f106106245761010080835404028352916020019161064f565b820191906000526020600020905b81548152906001019060200180831161063257829003601f168201915b50505050509050919050565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa1580156106f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071791906138ef565b6107635760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016104a5565b61076b6116a9565b610777848484846116fc565b60055460005b84518110156107bd578381815181106107985761079861390c565b6020026020010151826107ab919061396a565b91506107b68161397d565b905061077d565b50600581905573ffffffffffffffffffffffffffffffffffffffff851660009081526004602052604090206107f29085611950565b5050505050565b6108068585858585611a02565b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602052604090206107f29084611950565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa1580156108cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f191906138ef565b61093d5760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016104a5565b610945611aaa565b565b606081518351146109c05760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016104a5565b6000835167ffffffffffffffff8111156109dc576109dc613258565b604051908082528060200260200182016040528015610a05578160200160208202803683370190505b50905060005b8451811015610a7d57610a50858281518110610a2957610a2961390c565b6020026020010151858381518110610a4357610a4361390c565b602002602001015161041e565b828281518110610a6257610a6261390c565b6020908102919091010152610a768161397d565b9050610a0b565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff8316331480610aae5750610aae83336103a2565b610b205760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016104a5565b610b2b838383611b27565b505050565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015610bc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bec91906138ef565b610c385760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016104a5565b610c4484848484611b87565b8160056000828254610c56919061396a565b909155505073ffffffffffffffffffffffffffffffffffffffff84166000908152600460205260409020610c8a9084611ced565b50505050565b60046020528160005260406000208181548110610cac57600080fd5b90600052602060002001600091509150505481565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602090815260409182902080548351818402810184019094528084526060939283018282801561064f57602002820191906000526020600020905b815481526020019060010190808311610d1a5750505050509050919050565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015610dd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df591906138ef565b610e415760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016104a5565b610945611d4c565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015610ee1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0591906138ef565b610f775760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016104a5565b610f9283828460405180602001604052806000815250610b30565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f3d246cb2f560db6bfacef871241d243c87e2e329bfb7d254af02c5659d388cbe9060600160405180910390a1610ff4600882611da7565b610ffd57600080fd5b60008181526007602052604090205461101790839061396a565b60008281526007602052604090205560065461103490839061396a565b600655505050565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa1580156110b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d991906138ef565b6111255760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016104a5565b61112e81611dbc565b50565b61113c338383611dc8565b5050565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa1580156111b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111dd91906138ef565b6112295760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016104a5565b6003805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b6006546000908180611288600882611f01565b9150505b8115801561129957508015155b156112df57438111156112af57600191506112cb565b6000818152600760205260409020546112c890846139b5565b92505b6112d6600882611f01565b915061128c9050565b509092915050565b6112f48585858585611f1b565b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602052604090206107f29084611ced565b73ffffffffffffffffffffffffffffffffffffffff831633148061134c575061134c83336103a2565b6113be5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016104a5565b610b2b838383611fc3565b6000806113d66008611ff2565b6006549091505b821580156113ea57508115155b1561145c574382111561141457611402600883611fff565b61140b57600080fd5b6001925061144b565b60008281526007602052604090205461142d90826139b5565b600083815260076020526040812055905061144960088361200d565b505b6114556008611ff2565b91506113dd565b6006555050565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa1580156114fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151f91906138ef565b6115915760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016104a5565b8161159c848361041e565b10156116105760405162461bcd60e51b815260206004820152602560248201527f4372656469744e6674206f776e6572206e6f7420656e6f75676820437265646960448201527f744e66747300000000000000000000000000000000000000000000000000000060648201526084016104a5565b61161b838284611323565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f1785e849ef92c7429438ec45a69fccc0f39a044a18331bdb7e8ac9ab20db10b49060600160405180910390a160008181526007602052604090205461168c9083906139b5565b6000828152600760205260409020556006546110349083906139b5565b60035460ff16156109455760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016104a5565b73ffffffffffffffffffffffffffffffffffffffff84166117855760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104a5565b81518351146117fc5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016104a5565b3361180c816000878787876120a6565b60005b84518110156118c15783818151811061182a5761182a61390c565b60200260200101516000808784815181106118475761184761390c565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118a9919061396a565b909155508190506118b98161397d565b91505061180f565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516119399291906139c8565b60405180910390a46107f2816000878787876120bc565b60005b8151811015610b2b576000805b84548110156119c05783838151811061197b5761197b61390c565b60200260200101518582815481106119955761199561390c565b9060005260206000200154036119ae57600191506119c0565b806119b88161397d565b915050611960565b50806119f957838383815181106119d9576119d961390c565b602090810291909101810151825460018101845560009384529190922001555b50600101611953565b73ffffffffffffffffffffffffffffffffffffffff8516331480611a2b5750611a2b85336103a2565b611a9d5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016104a5565b6107f285858585856122f8565b611ab26125ea565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b611b2f6116a9565b611b3a83838361263c565b60005b8251811015610c8a57818181518110611b5857611b5861390c565b602002602001015160056000828254611b7191906139b5565b90915550611b8090508161397d565b9050611b3d565b73ffffffffffffffffffffffffffffffffffffffff8416611c105760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104a5565b336000611c1c85612927565b90506000611c2985612927565b9050611c3a836000898585896120a6565b60008681526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290611c7790849061396a565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611ce483600089898989612972565b50505050505050565b60005b8254811015611d335781838281548110611d0c57611d0c61390c565b906000526020600020015403611d2157505050565b80611d2b8161397d565b915050611cf0565b5081546001810183556000928352602090922090910155565b611d546116a9565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611afd3390565b6000611db583836000612b05565b9392505050565b600261113c8282613a3c565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e695760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016104a5565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080611f1084846001612b1c565b915091509250929050565b73ffffffffffffffffffffffffffffffffffffffff8516331480611f445750611f4485336103a2565b611fb65760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016104a5565b6107f28585858585612b63565b611fcb6116a9565b611fd6838383612d7b565b8060056000828254611fe891906139b5565b9091555050505050565b60006104de826001612f65565b6000611db583836001612b05565b600081158061202357506120218383612f82565b155b15612030575060006104de565b600082815260018481016020818152604080852085805280835281862080548688528388208054808a52878752858a208a80528752858a2083905591895295855283882087895285529287209290925590915283905582905584549091859161209a9084906139b5565b90915550919392505050565b6120b4868686868686613006565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b156120b4576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c81906121339089908990889088908890600401613b56565b6020604051808303816000875af192505050801561218c575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261218991810190613bc1565b60015b61224157612198613bde565b806308c379a0036121d157506121ac613bfa565b806121b757506121d3565b8060405162461bcd60e51b81526004016104a59190613245565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016104a5565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014611ce45760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016104a5565b815183511461236f5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016104a5565b73ffffffffffffffffffffffffffffffffffffffff84166123f85760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104a5565b336124078187878787876120a6565b60005b845181101561255d5760008582815181106124275761242761390c565b6020026020010151905060008583815181106124455761244561390c565b6020908102919091018101516000848152808352604080822073ffffffffffffffffffffffffffffffffffffffff8e1683529093529190912054909150818110156124f85760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016104a5565b60008381526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b1682528120805484929061254290849061396a565b92505081905550505050806125569061397d565b905061240a565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516125d49291906139c8565b60405180910390a46120b48187878787876120bc565b60035460ff166109455760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016104a5565b73ffffffffffffffffffffffffffffffffffffffff83166126c55760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104a5565b805182511461273c5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016104a5565b600033905061275f818560008686604051806020016040528060008152506120a6565b60005b835181101561289357600084828151811061277f5761277f61390c565b60200260200101519050600084838151811061279d5761279d61390c565b6020908102919091018101516000848152808352604080822073ffffffffffffffffffffffffffffffffffffffff8c16835290935291909120549091508181101561284f5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016104a5565b60009283526020838152604080852073ffffffffffffffffffffffffffffffffffffffff8b168652909152909220910390558061288b8161397d565b915050612762565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161290b9291906139c8565b60405180910390a4604080516020810190915260009052610c8a565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106129615761296161390c565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b156120b4576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e61906129e99089908990889088908890600401613ca2565b6020604051808303816000875af1925050508015612a42575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612a3f91810190613bc1565b60015b612a4e57612198613bde565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014611ce45760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016104a5565b6000612b14846000858561307f565b949350505050565b600080612b298585612f82565b612b3857506000905080612b5b565b505060008281526001848101602090815260408084208515158552909152909120545b935093915050565b73ffffffffffffffffffffffffffffffffffffffff8416612bec5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104a5565b336000612bf885612927565b90506000612c0585612927565b9050612c158389898585896120a6565b60008681526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8c16845290915290205485811015612cb95760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016104a5565b60008781526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a16825281208054889290612d0390849061396a565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612d70848a8a8a8a8a612972565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316612e045760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104a5565b336000612e1084612927565b90506000612e1d84612927565b9050612e3d838760008585604051806020016040528060008152506120a6565b60008581526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8a16845290915290205484811015612ee05760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016104a5565b60008681526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052611ce4565b600080612f7484600085612b1c565b9150612b149050848261200d565b60008181526001830160209081526040808320838052909152812054158015612fc557506000828152600180850160209081526040808420928452919052902054155b15612ffe576000808052600180850160209081526040808420928452919052902054829003612ff6575060016104de565b5060006104de565b5060016104de565b60035460ff16156120b45760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c6520706175736564000000000000000000000000000000000000000060648201526084016104a5565b600061308b8584612f82565b15801561309d575061309d8585612f82565b1561311f5760008481526001868101602081815260408085208715801580885291845282872080548b8952868652848920838a52808752858a208e9055918c90558089529585528388209188529084528287208a9055908652909152832081905587549092889161310f90849061396a565b9091555060019250612b14915050565b506000949350505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461314e57600080fd5b919050565b6000806040838503121561316657600080fd5b61316f8361312a565b946020939093013593505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461112e57600080fd5b6000602082840312156131bd57600080fd5b8135611db58161317d565b6000602082840312156131da57600080fd5b5035919050565b6000815180845260005b81811015613207576020818501810151868301820152016131eb565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000611db560208301846131e1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff821117156132cb576132cb613258565b6040525050565b600067ffffffffffffffff8211156132ec576132ec613258565b5060051b60200190565b600082601f83011261330757600080fd5b81356020613314826132d2565b6040516133218282613287565b83815260059390931b850182019282810191508684111561334157600080fd5b8286015b8481101561335c5780358352918301918301613345565b509695505050505050565b600067ffffffffffffffff83111561338157613381613258565b6040516133b660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8701160182613287565b8091508381528484840111156133cb57600080fd5b83836020830137600060208583010152509392505050565b600082601f8301126133f457600080fd5b611db583833560208501613367565b6000806000806080858703121561341957600080fd5b6134228561312a565b9350602085013567ffffffffffffffff8082111561343f57600080fd5b61344b888389016132f6565b9450604087013591508082111561346157600080fd5b61346d888389016132f6565b9350606087013591508082111561348357600080fd5b50613490878288016133e3565b91505092959194509250565b600080600080600060a086880312156134b457600080fd5b6134bd8661312a565b94506134cb6020870161312a565b9350604086013567ffffffffffffffff808211156134e857600080fd5b6134f489838a016132f6565b9450606088013591508082111561350a57600080fd5b61351689838a016132f6565b9350608088013591508082111561352c57600080fd5b50613539888289016133e3565b9150509295509295909350565b6000806040838503121561355957600080fd5b823567ffffffffffffffff8082111561357157600080fd5b818501915085601f83011261358557600080fd5b81356020613592826132d2565b60405161359f8282613287565b83815260059390931b85018201928281019150898411156135bf57600080fd5b948201945b838610156135e4576135d58661312a565b825294820194908201906135c4565b965050860135925050808211156135fa57600080fd5b50613607858286016132f6565b9150509250929050565b600081518084526020808501945080840160005b8381101561364157815187529582019590820190600101613625565b509495945050505050565b602081526000611db56020830184613611565b60008060006060848603121561367457600080fd5b61367d8461312a565b9250602084013567ffffffffffffffff8082111561369a57600080fd5b6136a6878388016132f6565b935060408601359150808211156136bc57600080fd5b506136c9868287016132f6565b9150509250925092565b600080600080608085870312156136e957600080fd5b6136f28561312a565b93506020850135925060408501359150606085013567ffffffffffffffff81111561371c57600080fd5b613490878288016133e3565b60006020828403121561373a57600080fd5b611db58261312a565b60008060006060848603121561375857600080fd5b6137618461312a565b95602085013595506040909401359392505050565b60006020828403121561378857600080fd5b813567ffffffffffffffff81111561379f57600080fd5b8201601f810184136137b057600080fd5b612b1484823560208401613367565b801515811461112e57600080fd5b600080604083850312156137e057600080fd5b6137e98361312a565b915060208301356137f9816137bf565b809150509250929050565b6000806040838503121561381757600080fd5b6138208361312a565b915061382e6020840161312a565b90509250929050565b600080600080600060a0868803121561384f57600080fd5b6138588661312a565b94506138666020870161312a565b93506040860135925060608601359150608086013567ffffffffffffffff81111561389057600080fd5b613539888289016133e3565b600181811c908216806138b057607f821691505b6020821081036138e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60006020828403121561390157600080fd5b8151611db5816137bf565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156104de576104de61393b565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139ae576139ae61393b565b5060010190565b818103818111156104de576104de61393b565b6040815260006139db6040830185613611565b82810360208401526139ed8185613611565b95945050505050565b601f821115610b2b57600081815260208120601f850160051c81016020861015613a1d5750805b601f850160051c820191505b818110156120b457828155600101613a29565b815167ffffffffffffffff811115613a5657613a56613258565b613a6a81613a64845461389c565b846139f6565b602080601f831160018114613abd5760008415613a875750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556120b4565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613b0a57888601518255948401946001909101908401613aeb565b5085821015613b4657878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613b8f60a0830186613611565b8281036060840152613ba18186613611565b90508281036080840152613bb581856131e1565b98975050505050505050565b600060208284031215613bd357600080fd5b8151611db58161317d565b600060033d1115613bf75760046000803e5060005160e01c5b90565b600060443d1015613c085790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff8160248401118184111715613c5657505050505090565b8285019150815181811115613c6e5750505050505090565b843d8701016020828501011115613c885750505050505090565b613c9760208286010187613287565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a06080830152613ce760a08301846131e1565b97965050505050505056fea264697066735822122054367dd9749eac45ae90af1331f88c46134091912f1cf108d05ceec15364177164736f6c63430008130033000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "nonce": "0x23", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161510f6200012960003960008181610a6701528181610afd01528181610ea001528181610f360152611065015261510f6000f3fe6080604052600436106101d75760003560e01c8063737035e811610102578063d500958411610095578063f242432a11610064578063f242432a146105a6578063f5298aca146105c6578063f7ffe84a146105e6578063fd7fc165146105fb57600080fd5b8063d5009584146104ef578063db87b1ff1461051b578063e1f862e114610530578063e985e9c51461055057600080fd5b80639b642de1116100d15780639b642de11461046f578063a22cb4651461048f578063c4d66de8146104af578063d0ebdbe7146104cf57600080fd5b8063737035e8146103fa5780637b48c3fd1461041a5780638456cb591461043a57806391623d491461044f57600080fd5b80633659cfe61161017a57806352d1902d1161014957806352d1902d1461038d5780635c975abb146103a25780636b20c454146103ba578063731133e9146103da57600080fd5b80633659cfe6146103185780633f4ba83a146103385780634e1273f41461034d5780634f1ef2861461037a57600080fd5b806313007d55116101b657806313007d551461026c57806318160ddd146102bf5780631f7fdffa146102d65780632eb2c2d6146102f857600080fd5b8062fdd58e146101dc57806301ffc9a71461020f5780630e89341c1461023f575b600080fd5b3480156101e857600080fd5b506101fc6101f73660046144af565b61061b565b6040519081526020015b60405180910390f35b34801561021b57600080fd5b5061022f61022a366004614507565b6106e3565b6040519015158152602001610206565b34801561024b57600080fd5b5061025f61025a366004614524565b6107c6565b60405161020691906145ab565b34801561027857600080fd5b506101915461029a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610206565b3480156102cb57600080fd5b506101fc6101935481565b3480156102e257600080fd5b506102f66102f136600461475f565b61085a565b005b34801561030457600080fd5b506102f66103133660046147f8565b610a13565b34801561032457600080fd5b506102f66103333660046148a2565b610a50565b34801561034457600080fd5b506102f6610c21565b34801561035957600080fd5b5061036d6103683660046148bd565b610d4b565b60405161020691906149c3565b6102f66103883660046149d6565b610e89565b34801561039957600080fd5b506101fc61104b565b3480156103ae57600080fd5b5060c95460ff1661022f565b3480156103c657600080fd5b506102f66103d5366004614a1a565b61111e565b3480156103e657600080fd5b506102f66103f5366004614a8e565b6111c9565b34801561040657600080fd5b506101fc6104153660046144af565b611343565b34801561042657600080fd5b5061036d6104353660046148a2565b611375565b34801561044657600080fd5b506102f66113ee565b34801561045b57600080fd5b506102f661046a366004614ae3565b611516565b34801561047b57600080fd5b506102f661048a366004614b16565b611726565b34801561049b57600080fd5b506102f66104aa366004614b59565b611830565b3480156104bb57600080fd5b506102f66104ca3660046148a2565b61183b565b3480156104db57600080fd5b506102f66104ea3660046148a2565b611a00565b3480156104fb57600080fd5b506101915473ffffffffffffffffffffffffffffffffffffffff1661029a565b34801561052757600080fd5b506101fc611b49565b34801561053c57600080fd5b506102f661054b3660046149d6565b611bbf565b34801561055c57600080fd5b5061022f61056b366004614b90565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156105b257600080fd5b506102f66105c1366004614bc3565b611df7565b3480156105d257600080fd5b506102f66105e1366004614ae3565b611e34565b3480156105f257600080fd5b506102f6611eda565b34801561060757600080fd5b506102f6610616366004614ae3565b611f7c565b600073ffffffffffffffffffffffffffffffffffffffff83166106ab5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b50600081815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061077657507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b806106dd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106dd565b6060606780546107d590614c28565b80601f016020809104026020016040519081016040528092919081815260200182805461080190614c28565b801561084e5780601f106108235761010080835404028352916020019161084e565b820191906000526020600020905b81548152906001019060200180831161083157829003601f168201915b50505050509050919050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561090a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092e9190614c7b565b61097a5760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016106a2565b6109826121dd565b61098e84848484612230565b6101935460005b84518110156109d5578381815181106109b0576109b0614c98565b6020026020010151826109c39190614cf6565b91506109ce81614d09565b9050610995565b5061019381905573ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020610a0c9085612485565b5050505050565b610a208585858585612537565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610a0c9084612485565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610afb5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106a2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610b707f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610bf95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106a2565b610c02816125df565b60408051600080825260208201909252610c1e918391906126e0565b50565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf59190614c7b565b610d415760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016106a2565b610d496128ab565b565b60608151835114610dc45760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016106a2565b6000835167ffffffffffffffff811115610de057610de06145be565b604051908082528060200260200182016040528015610e09578160200160208202803683370190505b50905060005b8451811015610e8157610e54858281518110610e2d57610e2d614c98565b6020026020010151858381518110610e4757610e47614c98565b602002602001015161061b565b828281518110610e6657610e66614c98565b6020908102919091010152610e7a81614d09565b9050610e0f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610f345760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106a2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610fa97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110325760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106a2565b61103b826125df565b611047828260016126e0565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146110f85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b73ffffffffffffffffffffffffffffffffffffffff83163314806111475750611147833361056b565b6111b95760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b6111c4838383612928565b505050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129d9190614c7b565b6112e95760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016106a2565b6112f584848484612989565b8161019360008282546113089190614cf6565b909155505073ffffffffffffffffffffffffffffffffffffffff841660009081526101926020526040902061133d9084612af1565b50505050565b610192602052816000526040600020818154811061136057600080fd5b90600052602060002001600091509150505481565b73ffffffffffffffffffffffffffffffffffffffff81166000908152610192602090815260409182902080548351818402810184019094528084526060939283018282801561084e57602002820191906000526020600020905b8154815260200190600101908083116113cf5750505050509050919050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190614c7b565b61150e5760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016106a2565b610d49612b50565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156115c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ea9190614c7b565b61165c5760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b611677838284604051806020016040528060008152506111c9565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f3d246cb2f560db6bfacef871241d243c87e2e329bfb7d254af02c5659d388cbe9060600160405180910390a16116da6101c882612bab565b6116e357600080fd5b60008181526101c760205260409020546116fe908390614cf6565b60008281526101c760205260409020556101c65461171d908390614cf6565b6101c655505050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156117b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117db9190614c7b565b6118275760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b610c1e81612bc0565b611047338383612bcc565b600054610100900460ff161580801561185b5750600054600160ff909116105b806118755750303b158015611875575060005460ff166001145b6118e75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561194557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611984826040518060400160405280600381526020017f5552490000000000000000000000000000000000000000000000000000000000815250611bbf565b61198c612d05565b611994612d82565b60006101c655801561104757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab59190614c7b565b611b015760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6101c6546000908180611b5e6101c882612e07565b9150505b81158015611b6f57508015155b15611bb75743811115611b855760019150611ba2565b60008181526101c76020526040902054611b9f9084614d41565b92505b611bae6101c882612e07565b9150611b629050565b509092915050565b600054610100900460ff1615808015611bdf5750600054600160ff909116105b80611bf95750303b158015611bf9575060005460ff166001145b611c6b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611cc957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600054610100900460ff16611d465760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b611d4f82612e21565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851617905580156111c457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b611e048585858585612ea7565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610a0c9084612af1565b73ffffffffffffffffffffffffffffffffffffffff8316331480611e5d5750611e5d833361056b565b611ecf5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b6111c4838383612f4f565b600080611ee86101c8612f7f565b6101c6549091505b82158015611efd57508115155b15611f745743821115611f2857611f166101c883612f8c565b611f1f57600080fd5b60019250611f62565b60008281526101c76020526040902054611f429082614d41565b60008381526101c760205260408120559050611f606101c883612f9a565b505b611f6d6101c8612f7f565b9150611ef0565b6101c6555050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561202c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120509190614c7b565b6120c25760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b816120cd848361061b565b10156121415760405162461bcd60e51b815260206004820152602560248201527f4372656469744e6674206f776e6572206e6f7420656e6f75676820437265646960448201527f744e66747300000000000000000000000000000000000000000000000000000060648201526084016106a2565b61214c838284611e34565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f1785e849ef92c7429438ec45a69fccc0f39a044a18331bdb7e8ac9ab20db10b49060600160405180910390a160008181526101c760205260409020546121be908390614d41565b60008281526101c760205260409020556101c65461171d908390614d41565b60c95460ff1615610d495760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106a2565b73ffffffffffffffffffffffffffffffffffffffff84166122b95760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b81518351146123305760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b3361234081600087878787613033565b60005b84518110156123f65783818151811061235e5761235e614c98565b60200260200101516065600087848151811061237c5761237c614c98565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123de9190614cf6565b909155508190506123ee81614d09565b915050612343565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161246e929190614d54565b60405180910390a4610a0c81600087878787613049565b60005b81518110156111c4576000805b84548110156124f5578383815181106124b0576124b0614c98565b60200260200101518582815481106124ca576124ca614c98565b9060005260206000200154036124e357600191506124f5565b806124ed81614d09565b915050612495565b508061252e578383838151811061250e5761250e614c98565b602090810291909101810151825460018101845560009384529190922001555b50600101612488565b73ffffffffffffffffffffffffffffffffffffffff85163314806125605750612560853361056b565b6125d25760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b610a0c8585858585613285565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015612670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126949190614c7b565b610c1e5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612713576111c48361357a565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612798575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261279591810190614d82565b60015b61280a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106a2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461289f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106a2565b506111c483838361366a565b6128b361368f565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6129306121dd565b61293b8383836136e1565b60005b825181101561133d5781818151811061295957612959614c98565b602002602001015161019360008282546129739190614d41565b90915550612982905081614d09565b905061293e565b73ffffffffffffffffffffffffffffffffffffffff8416612a125760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000612a1e856139cf565b90506000612a2b856139cf565b9050612a3c83600089858589613033565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290612a7b908490614cf6565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612ae883600089898989613a1a565b50505050505050565b60005b8254811015612b375781838281548110612b1057612b10614c98565b906000526020600020015403612b2557505050565b80612b2f81614d09565b915050612af4565b5081546001810183556000928352602090922090910155565b612b586121dd565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586128fe3390565b6000612bb983836000613bad565b9392505050565b60676110478282614de1565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c6d5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526066602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600054610100900460ff16610d495760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b600054610100900460ff16612dff5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b610d49613bc4565b600080612e1684846001613c6b565b915091509250929050565b600054610100900460ff16612e9e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b610c1e81613cb2565b73ffffffffffffffffffffffffffffffffffffffff8516331480612ed05750612ed0853361056b565b612f425760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b610a0c8585858585613d2f565b612f576121dd565b612f62838383613f4b565b806101936000828254612f759190614d41565b9091555050505050565b60006106dd826001614139565b6000612bb983836001613bad565b6000811580612fb05750612fae8383614156565b155b15612fbd575060006106dd565b600082815260018481016020818152604080852085805280835281862080548688528388208054808a52878752858a208a80528752858a20839055918952958552838820878952855292872092909255909152839055829055845490918591613027908490614d41565b90915550919392505050565b6130418686868686866141da565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b15613041576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c81906130c09089908990889088908890600401614efb565b6020604051808303816000875af1925050508015613119575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261311691810190614f66565b60015b6131ce57613125614f83565b806308c379a00361315e5750613139614f9e565b806131445750613160565b8060405162461bcd60e51b81526004016106a291906145ab565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016106a2565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014612ae85760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016106a2565b81518351146132fc5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff84166133855760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106a2565b33613394818787878787613033565b60005b84518110156134ed5760008582815181106133b4576133b4614c98565b6020026020010151905060008583815181106133d2576133d2614c98565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8e1683529093529190912054909150818110156134865760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016106a2565b600083815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b168252812080548492906134d2908490614cf6565b92505081905550505050806134e690614d09565b9050613397565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051613564929190614d54565b60405180910390a4613041818787878787613049565b73ffffffffffffffffffffffffffffffffffffffff81163b6136045760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106a2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61367383614253565b6000825111806136805750805b156111c45761133d83836142a0565b60c95460ff16610d495760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016106a2565b73ffffffffffffffffffffffffffffffffffffffff831661376a5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b80518251146137e15760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b600033905061380481856000868660405180602001604052806000815250613033565b60005b835181101561393b57600084828151811061382457613824614c98565b60200260200101519050600084838151811061384257613842614c98565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8c1683529093529190912054909150818110156138f55760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016106a2565b600092835260656020908152604080852073ffffffffffffffffffffffffffffffffffffffff8b168652909152909220910390558061393381614d09565b915050613807565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516139b3929190614d54565b60405180910390a460408051602081019091526000905261133d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613a0957613a09614c98565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b15613041576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e6190613a919089908990889088908890600401615046565b6020604051808303816000875af1925050508015613aea575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252613ae791810190614f66565b60015b613af657613125614f83565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014612ae85760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016106a2565b6000613bbc84600085856142c5565b949350505050565b600054610100900460ff16613c415760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600080613c788585614156565b613c8757506000905080613caa565b505060008281526001848101602090815260408084208515158552909152909120545b935093915050565b600054610100900460ff166118275760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff8416613db85760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000613dc4856139cf565b90506000613dd1856139cf565b9050613de1838989858589613033565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8c16845290915290205485811015613e875760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016106a2565b600087815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a16825281208054889290613ed3908490614cf6565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4613f40848a8a8a8a8a613a1a565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316613fd45760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000613fe0846139cf565b90506000613fed846139cf565b905061400d83876000858560405180602001604052806000815250613033565b600085815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a168452909152902054848110156140b25760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016106a2565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612ae8565b60008061414884600085613c6b565b9150613bbc90508482612f9a565b6000818152600183016020908152604080832083805290915281205415801561419957506000828152600180850160209081526040808420928452919052902054155b156141d25760008080526001808501602090815260408084209284529190529020548290036141ca575060016106dd565b5060006106dd565b5060016106dd565b60c95460ff16156130415760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c6520706175736564000000000000000000000000000000000000000060648201526084016106a2565b61425c8161357a565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612bb983836040518060600160405280602781526020016150b360279139614370565b60006142d18584614156565b1580156142e357506142e38585614156565b156143655760008481526001868101602081815260408085208715801580885291845282872080548b8952868652848920838a52808752858a208e9055918c90558089529585528388209188529084528287208a90559086529091528320819055875490928891614355908490614cf6565b9091555060019250613bbc915050565b506000949350505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161439a9190615096565b600060405180830381855af49150503d80600081146143d5576040519150601f19603f3d011682016040523d82523d6000602084013e6143da565b606091505b50915091506143eb868383876143f5565b9695505050505050565b6060831561447157825160000361446a5773ffffffffffffffffffffffffffffffffffffffff85163b61446a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a2565b5081613bbc565b613bbc83838151156131445781518083602001fd5b803573ffffffffffffffffffffffffffffffffffffffff811681146144aa57600080fd5b919050565b600080604083850312156144c257600080fd5b6144cb83614486565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c1e57600080fd5b60006020828403121561451957600080fd5b8135612bb9816144d9565b60006020828403121561453657600080fd5b5035919050565b60005b83811015614558578181015183820152602001614540565b50506000910152565b6000815180845261457981602086016020860161453d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612bb96020830184614561565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff82111715614631576146316145be565b6040525050565b600067ffffffffffffffff821115614652576146526145be565b5060051b60200190565b600082601f83011261466d57600080fd5b8135602061467a82614638565b60405161468782826145ed565b83815260059390931b85018201928281019150868411156146a757600080fd5b8286015b848110156146c257803583529183019183016146ab565b509695505050505050565b600082601f8301126146de57600080fd5b813567ffffffffffffffff8111156146f8576146f86145be565b60405161472d60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601826145ed565b81815284602083860101111561474257600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561477557600080fd5b61477e85614486565b9350602085013567ffffffffffffffff8082111561479b57600080fd5b6147a78883890161465c565b945060408701359150808211156147bd57600080fd5b6147c98883890161465c565b935060608701359150808211156147df57600080fd5b506147ec878288016146cd565b91505092959194509250565b600080600080600060a0868803121561481057600080fd5b61481986614486565b945061482760208701614486565b9350604086013567ffffffffffffffff8082111561484457600080fd5b61485089838a0161465c565b9450606088013591508082111561486657600080fd5b61487289838a0161465c565b9350608088013591508082111561488857600080fd5b50614895888289016146cd565b9150509295509295909350565b6000602082840312156148b457600080fd5b612bb982614486565b600080604083850312156148d057600080fd5b823567ffffffffffffffff808211156148e857600080fd5b818501915085601f8301126148fc57600080fd5b8135602061490982614638565b60405161491682826145ed565b83815260059390931b850182019282810191508984111561493657600080fd5b948201945b8386101561495b5761494c86614486565b8252948201949082019061493b565b9650508601359250508082111561497157600080fd5b5061497e8582860161465c565b9150509250929050565b600081518084526020808501945080840160005b838110156149b85781518752958201959082019060010161499c565b509495945050505050565b602081526000612bb96020830184614988565b600080604083850312156149e957600080fd5b6149f283614486565b9150602083013567ffffffffffffffff811115614a0e57600080fd5b61497e858286016146cd565b600080600060608486031215614a2f57600080fd5b614a3884614486565b9250602084013567ffffffffffffffff80821115614a5557600080fd5b614a618783880161465c565b93506040860135915080821115614a7757600080fd5b50614a848682870161465c565b9150509250925092565b60008060008060808587031215614aa457600080fd5b614aad85614486565b93506020850135925060408501359150606085013567ffffffffffffffff811115614ad757600080fd5b6147ec878288016146cd565b600080600060608486031215614af857600080fd5b614b0184614486565b95602085013595506040909401359392505050565b600060208284031215614b2857600080fd5b813567ffffffffffffffff811115614b3f57600080fd5b613bbc848285016146cd565b8015158114610c1e57600080fd5b60008060408385031215614b6c57600080fd5b614b7583614486565b91506020830135614b8581614b4b565b809150509250929050565b60008060408385031215614ba357600080fd5b614bac83614486565b9150614bba60208401614486565b90509250929050565b600080600080600060a08688031215614bdb57600080fd5b614be486614486565b9450614bf260208701614486565b93506040860135925060608601359150608086013567ffffffffffffffff811115614c1c57600080fd5b614895888289016146cd565b600181811c90821680614c3c57607f821691505b602082108103614c75577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614c8d57600080fd5b8151612bb981614b4b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106dd576106dd614cc7565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614d3a57614d3a614cc7565b5060010190565b818103818111156106dd576106dd614cc7565b604081526000614d676040830185614988565b8281036020840152614d798185614988565b95945050505050565b600060208284031215614d9457600080fd5b5051919050565b601f8211156111c457600081815260208120601f850160051c81016020861015614dc25750805b601f850160051c820191505b8181101561304157828155600101614dce565b815167ffffffffffffffff811115614dfb57614dfb6145be565b614e0f81614e098454614c28565b84614d9b565b602080601f831160018114614e625760008415614e2c5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613041565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015614eaf57888601518255948401946001909101908401614e90565b5085821015614eeb57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152614f3460a0830186614988565b8281036060840152614f468186614988565b90508281036080840152614f5a8185614561565b98975050505050505050565b600060208284031215614f7857600080fd5b8151612bb9816144d9565b600060033d111561111b5760046000803e5060005160e01c90565b600060443d1015614fac5790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff8160248401118184111715614ffa57505050505090565b82850191508151818111156150125750505050505090565b843d870101602082850101111561502c5750505050505090565b61503b602082860101876145ed565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261508b60a0830184614561565b979650505050505050565b600082516150a881846020870161453d565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b46366a4b8ee48b9b449e4acb300d8e34f825217bc4bdf18e7eccc37279c20a564736f6c63430008130033", + "nonce": "0x26", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xddda95c767f1d70021d9718520933b95d4a2574801e84df5c004dd927410cec5", + "hash": "0xd27c61b960e3a1291313786e3ef8d8a4abef6feb319e170c4a9bde554e17df91", + "transactionType": "CREATE", + "contractName": "UupsProxy", + "contractAddress": "0xeC32DEF9D46A88CEa86171B4aBfc055c23220163", + "function": null, + "arguments": ["0x773305308C2eDEE9Dbea7C0467953f165328B35D", "0xc4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb"], + "transaction": { + "type": "0x02", + "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", + "gas": "0x44469", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506040516104ff3803806104ff83398101604081905261002f916102ef565b818161003d82826000610046565b5050505061040c565b61004f83610072565b60008251118061005c5750805b1561006d5761006b83836100b2565b505b505050565b61007b816100de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d783836040518060600160405280602781526020016104d860279139610191565b9392505050565b6001600160a01b0381163b6101505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516101ae91906103bd565b600060405180830381855af49150503d80600081146101e9576040519150601f19603f3d011682016040523d82523d6000602084013e6101ee565b606091505b5090925090506102008683838761020a565b9695505050505050565b60608315610279578251600003610272576001600160a01b0385163b6102725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610147565b5081610283565b610283838361028b565b949350505050565b81511561029b5781518083602001fd5b8060405162461bcd60e51b815260040161014791906103d9565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e65781810151838201526020016102ce565b50506000910152565b6000806040838503121561030257600080fd5b82516001600160a01b038116811461031957600080fd5b60208401519092506001600160401b038082111561033657600080fd5b818501915085601f83011261034a57600080fd5b81518181111561035c5761035c6102b5565b604051601f8201601f19908116603f01168101908382118183101715610384576103846102b5565b8160405282815288602084870101111561039d57600080fd5b6103ae8360208301602088016102cb565b80955050505050509250929050565b600082516103cf8184602087016102cb565b9190910192915050565b60208152600082518060208401526103f88160408501602087016102cb565b601f01601f19169190910160400192915050565b60be8061041a6000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220e441f365e67d1a963a862b4e5b34ef47a37e8981bee9932a7d0c5164dd3c9c0264736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000773305308c2edee9dbea7c0467953f165328b35d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", + "nonce": "0x27", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc9fef419db5c4c20aaf9ba6247366fc53cbe9fa9b958fa5cc5853a9f05cd7df3", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -719,15 +795,15 @@ "to": "0xbe0efabc83686a81903c1d4a2515f8111e53b5cb", "gas": "0x11549", "value": "0x0", - "data": "0xdd390ea0000000000000000000000000c39f62ec50748d6b05dc0def63943eff84e95f98", - "nonce": "0x24", + "data": "0xdd390ea0000000000000000000000000ec32def9d46a88cea86171b4abfc055c23220163", + "nonce": "0x28", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x6f2ea05e588e753fca1ea3db0dda0ae6d9cd465670ef565a898a9b28fe29c4a5", + "hash": "0xbc7201360c1cbed21a3ad399bb23a58e1657d97248354a832f6dc7be69756109", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -740,33 +816,55 @@ "gas": "0x22107", "value": "0x0", "data": "0x2f2ff15d2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "nonce": "0x25", + "nonce": "0x29", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x83159efeb7b775f78def86f534fd877d57d7c5c391d0acde99bae78e16849bff", + "hash": "0xe3b99733f79dc0448602da216a8bcca09ee0402f599bdc8562a22ecf32ce5d92", "transactionType": "CREATE", "contractName": "StakingShare", - "contractAddress": "0x773305308C2eDEE9Dbea7C0467953f165328B35D", + "contractAddress": "0x4b9E41D9bE1A76E9160c73af782012b9868d0cE4", "function": null, - "arguments": ["0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"], + "arguments": null, "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x4a89aa", + "gas": "0x5d8d47", "value": "0x0", - "data": "0x60a0604052600060809081526006906200001a90826200015f565b50604080516020810190915260008152600a906200003990826200015f565b503480156200004757600080fd5b506040516200441c3803806200441c8339810160408190526200006a916200022b565b8181806200007881620000a8565b5050600380546001600160a01b03909216610100026001600160a81b031990921691909117905550620003219050565b6002620000b682826200015f565b5050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000e557607f821691505b6020821081036200010657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200015a57600081815260208120601f850160051c81016020861015620001355750805b601f850160051c820191505b81811015620001565782815560010162000141565b5050505b505050565b81516001600160401b038111156200017b576200017b620000ba565b62000193816200018c8454620000d0565b846200010c565b602080601f831160018114620001cb5760008415620001b25750858301515b600019600386901b1c1916600185901b17855562000156565b600085815260208120601f198616915b82811015620001fc57888601518255948401946001909101908401620001db565b50858210156200021b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080604083850312156200023f57600080fd5b82516001600160a01b03811681146200025757600080fd5b602084810151919350906001600160401b03808211156200027757600080fd5b818601915086601f8301126200028c57600080fd5b815181811115620002a157620002a1620000ba565b604051601f8201601f19908116603f01168101908382118183101715620002cc57620002cc620000ba565b816040528281528986848701011115620002e557600080fd5b600093505b82841015620003095784840186015181850187015292850192620002ea565b60008684830101528096505050505050509250929050565b6140eb80620003316000396000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c8063737035e811610104578063a647e8ec116100a2578063e8b7c95e11610071578063e8b7c95e14610458578063e985e9c51461046b578063f242432a146104b4578063f5298aca146104c757600080fd5b8063a647e8ec1461039a578063ce325bf8146103ad578063d0ebdbe714610422578063d50095841461043557600080fd5b80638456cb59116100de5780638456cb59146103595780639b642de114610361578063a0bcfc7f14610374578063a22cb4651461038757600080fd5b8063737035e814610320578063782f08ae146103335780637b48c3fd1461034657600080fd5b80631f7fdffa116101715780634e1273f41161014b5780634e1273f4146102cf5780635c975abb146102ef5780636b20c454146102fa578063731133e91461030d57600080fd5b80631f7fdffa1461029f5780632eb2c2d6146102b45780633f4ba83a146102c757600080fd5b80630e89341c116101ad5780630e89341c1461023157806313007d5514610244578063132c4feb1461028e57806318160ddd1461029657600080fd5b8062fdd58e146101d357806301ffc9a7146101f95780630cac36b21461021c575b600080fd5b6101e66101e13660046133d5565b6104da565b6040519081526020015b60405180910390f35b61020c61020736600461342d565b6105a0565b60405190151581526020016101f0565b610224610683565b6040516101f091906134b8565b61022461023f3660046134cb565b610715565b60035461026990610100900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f0565b6009546101e6565b6101e660055481565b6102b26102ad366004613685565b610720565b005b6102b26102c236600461371e565b6108be565b6102b26108d3565b6102e26102dd3660046137c8565b6109e5565b6040516101f091906138ce565b60035460ff1661020c565b6102b26103083660046138e1565b610b23565b6102b261031b366004613955565b610bce565b6101e661032e3660046133d5565b610d2e565b6102b26103413660046139aa565b610d5f565b6102e26103543660046139e7565b610e75565b6102b2610eee565b6102b261036f366004613a02565b610ffe565b6102b2610382366004613a02565b6110f3565b6102b2610395366004613a4d565b611210565b6101e66103a8366004613a84565b61121b565b6103c06103bb3660046134cb565b611430565b6040516101f09190600060c08201905073ffffffffffffffffffffffffffffffffffffffff83511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b6102b26104303660046139e7565b6114ee565b600354610100900473ffffffffffffffffffffffffffffffffffffffff16610269565b6102b2610466366004613abd565b611623565b61020c610479366004613aef565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b6102b26104c2366004613b22565b6117af565b6102b26104d5366004613b87565b6117c4565b600073ffffffffffffffffffffffffffffffffffffffff831661056a5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b5060008181526020818152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061063357507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b8061059a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461059a565b6060600a805461069290613bba565b80601f01602080910402602001604051908101604052809291908181526020018280546106be90613bba565b801561070b5780601f106106e05761010080835404028352916020019161070b565b820191906000526020600020905b8154815290600101906020018083116106ee57829003601f168201915b5050505050905090565b606061059a8261186a565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa1580156107b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dc9190613c0d565b6108285760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e746572000000000000006044820152606401610561565b61083061194a565b61083c8484848461199d565b60055460005b84518110156108825783818151811061085d5761085d613c2a565b6020026020010151826108709190613c88565b915061087b81613c9b565b9050610842565b50600581905573ffffffffffffffffffffffffffffffffffffffff851660009081526004602052604090206108b79085611bf1565b5050505050565b6108c661194a565b6108b78585858585611ca3565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f9190613c0d565b6109db5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f7420706175736572000000000000006044820152606401610561565b6109e3611cdf565b565b60608151835114610a5e5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d6174636800000000000000000000000000000000000000000000006064820152608401610561565b6000835167ffffffffffffffff811115610a7a57610a7a6134e4565b604051908082528060200260200182016040528015610aa3578160200160208202803683370190505b50905060005b8451811015610b1b57610aee858281518110610ac757610ac7613c2a565b6020026020010151858381518110610ae157610ae1613c2a565b60200260200101516104da565b828281518110610b0057610b00613c2a565b6020908102919091010152610b1481613c9b565b9050610aa9565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff8316331480610b4c5750610b4c8333610479565b610bbe5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f7665640000000000000000000000000000000000006064820152608401610561565b610bc9838383611d5c565b505050565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015610c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8a9190613c0d565b610cd65760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e746572000000000000006044820152606401610561565b610ce284848484611d6f565b8160056000828254610cf49190613c88565b909155505073ffffffffffffffffffffffffffffffffffffffff84166000908152600460205260409020610d289084611ed5565b50505050565b60046020528160005260406000208181548110610d4a57600080fd5b90600052602060002001600091509150505481565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015610df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1b9190613c0d565b610e675760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e746572000000000000006044820152606401610561565b610e718282611f34565b5050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260046020908152604091829020805483518184028101840190945280845260609392830182828015610ee257602002820191906000526020600020905b815481526020019060010190808311610ece575b50505050509050919050565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015610f86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faa9190613c0d565b610ff65760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f7420706175736572000000000000006044820152606401610561565b6109e3611f91565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015611077573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109b9190613c0d565b6110e75760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610561565b6110f081611fec565b50565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa15801561118b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111af9190613c0d565b6111fb5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e746572000000000000006044820152606401610561565b61120481611ff8565b600a610e718282613d19565b610e71338383612004565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d6004820152336024820152600091610100900473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa1580156112b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d99190613c0d565b6113255760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e746572000000000000006044820152606401610561565b61132d61194a565b60055461133b906001613c88565b90506113598582600160405180602001604052806000815250611d6f565b60016005600082825461136c9190613c88565b909155505073ffffffffffffffffffffffffffffffffffffffff851660009081526004602052604090206113a09082611ed5565b600081815260086020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816178155600181018690556005810186905560038101859055436002820155600481018490556009805491928792611421908490613c88565b90915550919695505050505050565b61147f6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b50600090815260086020908152604091829020825160c081018452815473ffffffffffffffffffffffffffffffffffffffff168152600182015492810192909252600281015492820192909252600382015460608201526004820154608082015260059091015460a082015290565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015611567573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158b9190613c0d565b6115d75760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610561565b6003805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b6003546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015261010090910473ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa1580156116bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116df9190613c0d565b61172b5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e746572000000000000006044820152606401610561565b61173361194a565b6000848152600860205260409020600581015484811115611774576117588582613e33565b600960008282546117699190613e33565b909155506117959050565b61177e8186613e33565b6009600082825461178f9190613c88565b90915550505b506005810193909355600383019190915560049091015550565b6117b761194a565b6108b7858585858561213d565b73ffffffffffffffffffffffffffffffffffffffff83163314806117ed57506117ed8333610479565b61185f5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f7665640000000000000000000000000000000000006064820152608401610561565b610bc9838383612179565b60008181526007602052604081208054606092919061188890613bba565b80601f01602080910402602001604051908101604052809291908181526020018280546118b490613bba565b80156119015780601f106118d657610100808354040283529160200191611901565b820191906000526020600020905b8154815290600101906020018083116118e457829003601f168201915b50505050509050600081511161191f5761191a8361225b565b611943565b600681604051602001611933929190613e46565b6040516020818303038152906040525b9392505050565b60035460ff16156109e35760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610561565b73ffffffffffffffffffffffffffffffffffffffff8416611a265760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610561565b8151835114611a9d5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152608401610561565b33611aad816000878787876122e5565b60005b8451811015611b6257838181518110611acb57611acb613c2a565b6020026020010151600080878481518110611ae857611ae8613c2a565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b4a9190613c88565b90915550819050611b5a81613c9b565b915050611ab0565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611bda929190613eeb565b60405180910390a46108b7816000878787876122fb565b60005b8151811015610bc9576000805b8454811015611c6157838381518110611c1c57611c1c613c2a565b6020026020010151858281548110611c3657611c36613c2a565b906000526020600020015403611c4f5760019150611c61565b80611c5981613c9b565b915050611c01565b5080611c9a5783838381518110611c7a57611c7a613c2a565b602090810291909101810151825460018101845560009384529190922001555b50600101611bf4565b611cb08585858585612537565b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602052604090206108b79084611bf1565b611ce76125df565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b611d6461194a565b610bc9838383612631565b73ffffffffffffffffffffffffffffffffffffffff8416611df85760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610561565b336000611e0485612691565b90506000611e1185612691565b9050611e22836000898585896122e5565b60008681526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290611e5f908490613c88565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611ecc836000898989896126dc565b50505050505050565b60005b8254811015611f1b5781838281548110611ef457611ef4613c2a565b906000526020600020015403611f0957505050565b80611f1381613c9b565b915050611ed8565b5081546001810183556000928352602090922090910155565b6000828152600760205260409020611f4c8282613d19565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b611f7884610715565b604051611f8591906134b8565b60405180910390a25050565b611f9961194a565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611d323390565b6002610e718282613d19565b6006610e718282613d19565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120a55760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c6600000000000000000000000000000000000000000000006064820152608401610561565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61214a858585858561286f565b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602052604090206108b79084611ed5565b61218161194a565b806001146121d15760405162461bcd60e51b815260206004820152600b60248201527f616d6f756e74203c3e20310000000000000000000000000000000000000000006044820152606401610561565b6121dd83836001612917565b600082815260086020526040902060058101541561223d5760405162461bcd60e51b815260206004820152600760248201527f4c50203c3e2030000000000000000000000000000000000000000000000000006044820152606401610561565b6001600560008282546122509190613e33565b909155505050505050565b60606002805461226a90613bba565b80601f016020809104026020016040519081016040528092919081815260200182805461229690613bba565b8015610ee25780601f106122b857610100808354040283529160200191610ee2565b820191906000526020600020905b8154815290600101906020018083116122c65750939695505050505050565b6122f3868686868686612946565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b156122f3576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c81906123729089908990889088908890600401613f19565b6020604051808303816000875af19250505080156123cb575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526123c891810190613f84565b60015b612480576123d7613fa1565b806308c379a00361241057506123eb613fbd565b806123f65750612412565b8060405162461bcd60e51b815260040161056191906134b8565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e7465720000000000000000000000006064820152608401610561565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014611ecc5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e730000000000000000000000000000000000000000000000006064820152608401610561565b73ffffffffffffffffffffffffffffffffffffffff851633148061256057506125608533610479565b6125d25760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f7665640000000000000000000000000000000000006064820152608401610561565b6108b78585858585612954565b60035460ff166109e35760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610561565b61263961194a565b612644838383612c46565b60005b8251811015610d285781818151811061266257612662613c2a565b60200260200101516005600082825461267b9190613e33565b9091555061268a905081613c9b565b9050612647565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126cb576126cb613c2a565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b156122f3576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e61906127539089908990889088908890600401614065565b6020604051808303816000875af19250505080156127ac575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526127a991810190613f84565b60015b6127b8576123d7613fa1565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014611ecc5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e730000000000000000000000000000000000000000000000006064820152608401610561565b73ffffffffffffffffffffffffffffffffffffffff851633148061289857506128988533610479565b61290a5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f7665640000000000000000000000000000000000006064820152608401610561565b6108b78585858585612f31565b61291f61194a565b61292a838383613149565b806005600082825461293c9190613e33565b9091555050505050565b6122f3868686868686613333565b81518351146129cb5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152608401610561565b73ffffffffffffffffffffffffffffffffffffffff8416612a545760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610561565b33612a638187878787876122e5565b60005b8451811015612bb9576000858281518110612a8357612a83613c2a565b602002602001015190506000858381518110612aa157612aa1613c2a565b6020908102919091018101516000848152808352604080822073ffffffffffffffffffffffffffffffffffffffff8e168352909352919091205490915081811015612b545760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e73666572000000000000000000000000000000000000000000006064820152608401610561565b60008381526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b16825281208054849290612b9e908490613c88565b9250508190555050505080612bb290613c9b565b9050612a66565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051612c30929190613eeb565b60405180910390a46122f38187878787876122fb565b73ffffffffffffffffffffffffffffffffffffffff8316612ccf5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610561565b8051825114612d465760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152608401610561565b6000339050612d69818560008686604051806020016040528060008152506122e5565b60005b8351811015612e9d576000848281518110612d8957612d89613c2a565b602002602001015190506000848381518110612da757612da7613c2a565b6020908102919091018101516000848152808352604080822073ffffffffffffffffffffffffffffffffffffffff8c168352909352919091205490915081811015612e595760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e6365000000000000000000000000000000000000000000000000000000006064820152608401610561565b60009283526020838152604080852073ffffffffffffffffffffffffffffffffffffffff8b1686529091529092209103905580612e9581613c9b565b915050612d6c565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612f15929190613eeb565b60405180910390a4604080516020810190915260009052610d28565b73ffffffffffffffffffffffffffffffffffffffff8416612fba5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610561565b336000612fc685612691565b90506000612fd385612691565b9050612fe38389898585896122e5565b60008681526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8c168452909152902054858110156130875760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e73666572000000000000000000000000000000000000000000006064820152608401610561565b60008781526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a168252812080548892906130d1908490613c88565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461313e848a8a8a8a8a6126dc565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166131d25760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610561565b3360006131de84612691565b905060006131eb84612691565b905061320b838760008585604051806020016040528060008152506122e5565b60008581526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8a168452909152902054848110156132ae5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e6365000000000000000000000000000000000000000000000000000000006064820152608401610561565b60008681526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052611ecc565b60035460ff16156122f35760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c652070617573656400000000000000000000000000000000000000006064820152608401610561565b803573ffffffffffffffffffffffffffffffffffffffff811681146133d057600080fd5b919050565b600080604083850312156133e857600080fd5b6133f1836133ac565b946020939093013593505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146110f057600080fd5b60006020828403121561343f57600080fd5b8135611943816133ff565b60005b8381101561346557818101518382015260200161344d565b50506000910152565b6000815180845261348681602086016020860161344a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611943602083018461346e565b6000602082840312156134dd57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff82111715613557576135576134e4565b6040525050565b600067ffffffffffffffff821115613578576135786134e4565b5060051b60200190565b600082601f83011261359357600080fd5b813560206135a08261355e565b6040516135ad8282613513565b83815260059390931b85018201928281019150868411156135cd57600080fd5b8286015b848110156135e857803583529183019183016135d1565b509695505050505050565b600082601f83011261360457600080fd5b813567ffffffffffffffff81111561361e5761361e6134e4565b60405161365360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160182613513565b81815284602083860101111561366857600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561369b57600080fd5b6136a4856133ac565b9350602085013567ffffffffffffffff808211156136c157600080fd5b6136cd88838901613582565b945060408701359150808211156136e357600080fd5b6136ef88838901613582565b9350606087013591508082111561370557600080fd5b50613712878288016135f3565b91505092959194509250565b600080600080600060a0868803121561373657600080fd5b61373f866133ac565b945061374d602087016133ac565b9350604086013567ffffffffffffffff8082111561376a57600080fd5b61377689838a01613582565b9450606088013591508082111561378c57600080fd5b61379889838a01613582565b935060808801359150808211156137ae57600080fd5b506137bb888289016135f3565b9150509295509295909350565b600080604083850312156137db57600080fd5b823567ffffffffffffffff808211156137f357600080fd5b818501915085601f83011261380757600080fd5b813560206138148261355e565b6040516138218282613513565b83815260059390931b850182019282810191508984111561384157600080fd5b948201945b8386101561386657613857866133ac565b82529482019490820190613846565b9650508601359250508082111561387c57600080fd5b5061388985828601613582565b9150509250929050565b600081518084526020808501945080840160005b838110156138c3578151875295820195908201906001016138a7565b509495945050505050565b6020815260006119436020830184613893565b6000806000606084860312156138f657600080fd5b6138ff846133ac565b9250602084013567ffffffffffffffff8082111561391c57600080fd5b61392887838801613582565b9350604086013591508082111561393e57600080fd5b5061394b86828701613582565b9150509250925092565b6000806000806080858703121561396b57600080fd5b613974856133ac565b93506020850135925060408501359150606085013567ffffffffffffffff81111561399e57600080fd5b613712878288016135f3565b600080604083850312156139bd57600080fd5b82359150602083013567ffffffffffffffff8111156139db57600080fd5b613889858286016135f3565b6000602082840312156139f957600080fd5b611943826133ac565b600060208284031215613a1457600080fd5b813567ffffffffffffffff811115613a2b57600080fd5b613a37848285016135f3565b949350505050565b80151581146110f057600080fd5b60008060408385031215613a6057600080fd5b613a69836133ac565b91506020830135613a7981613a3f565b809150509250929050565b60008060008060808587031215613a9a57600080fd5b613aa3856133ac565b966020860135965060408601359560600135945092505050565b60008060008060808587031215613ad357600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215613b0257600080fd5b613b0b836133ac565b9150613b19602084016133ac565b90509250929050565b600080600080600060a08688031215613b3a57600080fd5b613b43866133ac565b9450613b51602087016133ac565b93506040860135925060608601359150608086013567ffffffffffffffff811115613b7b57600080fd5b6137bb888289016135f3565b600080600060608486031215613b9c57600080fd5b613ba5846133ac565b95602085013595506040909401359392505050565b600181811c90821680613bce57607f821691505b602082108103613c07577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215613c1f57600080fd5b815161194381613a3f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561059a5761059a613c59565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613ccc57613ccc613c59565b5060010190565b601f821115610bc957600081815260208120601f850160051c81016020861015613cfa5750805b601f850160051c820191505b818110156122f357828155600101613d06565b815167ffffffffffffffff811115613d3357613d336134e4565b613d4781613d418454613bba565b84613cd3565b602080601f831160018114613d9a5760008415613d645750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556122f3565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613de757888601518255948401946001909101908401613dc8565b5085821015613e2357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561059a5761059a613c59565b6000808454613e5481613bba565b60018281168015613e6c5760018114613e9f57613ece565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450613ece565b8860005260208060002060005b85811015613ec55781548a820152908401908201613eac565b50505082870194505b505050508351613ee281836020880161344a565b01949350505050565b604081526000613efe6040830185613893565b8281036020840152613f108185613893565b95945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152613f5260a0830186613893565b8281036060840152613f648186613893565b90508281036080840152613f78818561346e565b98975050505050505050565b600060208284031215613f9657600080fd5b8151611943816133ff565b600060033d1115613fba5760046000803e5060005160e01c5b90565b600060443d1015613fcb5790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff816024840111818411171561401957505050505090565b82850191508151818111156140315750505050505090565b843d870101602082850101111561404b5750505050505090565b61405a60208286010187613513565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a060808301526140aa60a083018461346e565b97965050505050505056fea26469706673582212207c3cfbdce4981376cc710888916904ac79f0f764754aed7712a9062c20db0f0b64736f6c63430008130033000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005868747470733a2f2f626166796265696669627a3466686b3479616735726575706d6768356364626d326f6c61646b65347a6664376c6479773761766769706f63706d792e697066732e696e667572612d697066732e696f2f0000000000000000", - "nonce": "0x26", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161543a6200012960003960008181610b3201528181610bc801528181610f5001528181610fe60152611115015261543a6000f3fe6080604052600436106102185760003560e01c8063737035e81161011d578063ce325bf8116100b0578063e8b7c95e1161007f578063f242432a11610064578063f242432a146106bf578063f399e22e146106df578063f5298aca146106ff57600080fd5b8063e8b7c95e14610649578063e985e9c51461066957600080fd5b8063ce325bf81461055b578063d0ebdbe7146105dd578063d5009584146105fd578063e1f862e11461062957600080fd5b80639b642de1116100ec5780639b642de1146104db578063a0bcfc7f146104fb578063a22cb4651461051b578063a647e8ec1461053b57600080fd5b8063737035e814610466578063782f08ae146104865780637b48c3fd146104a65780638456cb59146104c657600080fd5b80632eb2c2d6116101b05780634f1ef2861161017f5780635c975abb116101645780635c975abb1461040e5780636b20c45414610426578063731133e91461044657600080fd5b80634f1ef286146103e657806352d1902d146103f957600080fd5b80632eb2c2d6146103645780633659cfe6146103845780633f4ba83a146103a45780634e1273f4146103b957600080fd5b806313007d55116101ec57806313007d55146102c2578063132c4feb1461031557806318160ddd1461032b5780631f7fdffa1461034257600080fd5b8062fdd58e1461021d57806301ffc9a7146102505780630cac36b2146102805780630e89341c146102a2575b600080fd5b34801561022957600080fd5b5061023d610238366004614699565b61071f565b6040519081526020015b60405180910390f35b34801561025c57600080fd5b5061027061026b3660046146f1565b6107e7565b6040519015158152602001610247565b34801561028c57600080fd5b506102956108ca565b604051610247919061477c565b3480156102ae57600080fd5b506102956102bd36600461478f565b61095d565b3480156102ce57600080fd5b50610191546102f09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610247565b34801561032157600080fd5b506101f95461023d565b34801561033757600080fd5b5061023d6101935481565b34801561034e57600080fd5b5061036261035d366004614949565b610968565b005b34801561037057600080fd5b5061036261037f3660046149e2565b610b06565b34801561039057600080fd5b5061036261039f366004614a8c565b610b1b565b3480156103b057600080fd5b50610362610cec565b3480156103c557600080fd5b506103d96103d4366004614aa7565b610dfb565b6040516102479190614bad565b6103626103f4366004614bc0565b610f39565b34801561040557600080fd5b5061023d6110fb565b34801561041a57600080fd5b5060c95460ff16610270565b34801561043257600080fd5b50610362610441366004614c04565b6111ce565b34801561045257600080fd5b50610362610461366004614c78565b611279565b34801561047257600080fd5b5061023d610481366004614699565b6113d8565b34801561049257600080fd5b506103626104a1366004614ccd565b61140a565b3480156104b257600080fd5b506103d96104c1366004614a8c565b611519565b3480156104d257600080fd5b50610362611593565b3480156104e757600080fd5b506103626104f6366004614cfe565b6116a0565b34801561050757600080fd5b50610362610516366004614cfe565b6117aa565b34801561052757600080fd5b50610362610536366004614d41565b6118c5565b34801561054757600080fd5b5061023d610556366004614d78565b6118d0565b34801561056757600080fd5b5061057b61057636600461478f565b611ae6565b6040516102479190600060c08201905073ffffffffffffffffffffffffffffffffffffffff83511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b3480156105e957600080fd5b506103626105f8366004614a8c565b611ba5565b34801561060957600080fd5b506101915473ffffffffffffffffffffffffffffffffffffffff166102f0565b34801561063557600080fd5b50610362610644366004614bc0565b611cee565b34801561065557600080fd5b50610362610664366004614db1565b611f27565b34801561067557600080fd5b50610270610684366004614de3565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156106cb57600080fd5b506103626106da366004614e16565b6120b3565b3480156106eb57600080fd5b506103626106fa366004614bc0565b6120c8565b34801561070b57600080fd5b5061036261071a366004614e7b565b61224b565b600073ffffffffffffffffffffffffffffffffffffffff83166107af5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b50600081815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061087a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b806107e157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146107e1565b60606101fa80546108da90614eae565b80601f016020809104026020016040519081016040528092919081815260200182805461090690614eae565b80156109535780601f1061092857610100808354040283529160200191610953565b820191906000526020600020905b81548152906001019060200180831161093657829003601f168201915b5050505050905090565b60606107e1826122f1565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190614f01565b610a6d5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b610a756123d3565b610a8184848484612426565b6101935460005b8451811015610ac857838181518110610aa357610aa3614f1e565b602002602001015182610ab69190614f7c565b9150610ac181614f8f565b9050610a88565b5061019381905573ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020610aff908561267b565b5050505050565b610b0e6123d3565b610aff858585858561272d565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610bc65760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107a6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c3b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610cc45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107a6565b610ccd8161276a565b60408051600080825260208201909252610ce99183919061286b565b50565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da59190614f01565b610df15760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74207061757365720000000000000060448201526064016107a6565b610df9612a36565b565b60608151835114610e745760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016107a6565b6000835167ffffffffffffffff811115610e9057610e906147a8565b604051908082528060200260200182016040528015610eb9578160200160208202803683370190505b50905060005b8451811015610f3157610f04858281518110610edd57610edd614f1e565b6020026020010151858381518110610ef757610ef7614f1e565b602002602001015161071f565b828281518110610f1657610f16614f1e565b6020908102919091010152610f2a81614f8f565b9050610ebf565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610fe45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107a6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110e25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107a6565b6110eb8261276a565b6110f78282600161286b565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146111a85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016107a6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b73ffffffffffffffffffffffffffffffffffffffff83163314806111f757506111f78333610684565b6112695760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b611274838383612ab3565b505050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561130e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113329190614f01565b61137e5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b61138a84848484612ac6565b81610193600082825461139d9190614f7c565b909155505073ffffffffffffffffffffffffffffffffffffffff84166000908152610192602052604090206113d29084612c2e565b50505050565b61019260205281600052604060002081815481106113f557600080fd5b90600052602060002001600091509150505481565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561149f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c39190614f01565b61150f5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6110f78282612c8d565b73ffffffffffffffffffffffffffffffffffffffff81166000908152610192602090815260409182902080548351818402810184019094528084526060939283018282801561158757602002820191906000526020600020905b815481526020019060010190808311611573575b50505050509050919050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164c9190614f01565b6116985760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74207061757365720000000000000060448201526064016107a6565b610df9612ceb565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117559190614f01565b6117a15760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b610ce981612d46565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561183f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118639190614f01565b6118af5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6118b881612d52565b6101fa6110f7828261500d565b6110f7338383612d5f565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015260009173ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015611966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198a9190614f01565b6119d65760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6119de6123d3565b610193546119ed906001614f7c565b9050611a0b8582600160405180602001604052806000815250612ac6565b60016101936000828254611a1f9190614f7c565b909155505073ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020611a549082612c2e565b60008181526101f86020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816178155600181018690556005810186905560038101859055436002820155600481018490556101f9805491928792611ad7908490614f7c565b90915550919695505050505050565b611b356040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b5060009081526101f86020908152604091829020825160c081018452815473ffffffffffffffffffffffffffffffffffffffff168152600182015492810192909252600281015492820192909252600382015460608201526004820154608082015260059091015460a082015290565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5a9190614f01565b611ca65760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff1615808015611d0e5750600054600160ff909116105b80611d285750303b158015611d28575060005460ff166001145b611d9a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107a6565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611df857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600054610100900460ff16611e755760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b611e7e82612e98565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055801561127457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a1505050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe09190614f01565b61202c5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6120346123d3565b60008481526101f8602052604090206005810154848111156120775761205a8582615127565b6101f9600082825461206c9190615127565b909155506120999050565b6120818186615127565b6101f960008282546120939190614f7c565b90915550505b506005810193909355600383019190915560049091015550565b6120bb6123d3565b610aff8585858585612f1e565b600054610100900460ff16158080156120e85750600054600160ff909116105b806121025750303b158015612102575060005460ff166001145b6121745760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107a6565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156121d257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6121dc8383611cee565b6121e4612f5b565b6121ec612fd8565b801561127457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611f1a565b73ffffffffffffffffffffffffffffffffffffffff831633148061227457506122748333610684565b6122e65760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b61127483838361305d565b60008181526101c7602052604081208054606092919061231090614eae565b80601f016020809104026020016040519081016040528092919081815260200182805461233c90614eae565b80156123895780601f1061235e57610100808354040283529160200191612389565b820191906000526020600020905b81548152906001019060200180831161236c57829003601f168201915b5050505050905060008151116123a7576123a283613141565b6123cc565b6101c6816040516020016123bc92919061513a565b6040516020818303038152906040525b9392505050565b60c95460ff1615610df95760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016107a6565b73ffffffffffffffffffffffffffffffffffffffff84166124af5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b81518351146125265760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b33612536816000878787876131cb565b60005b84518110156125ec5783818151811061255457612554614f1e565b60200260200101516065600087848151811061257257612572614f1e565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125d49190614f7c565b909155508190506125e481614f8f565b915050612539565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516126649291906151df565b60405180910390a4610aff816000878787876131e1565b60005b8151811015611274576000805b84548110156126eb578383815181106126a6576126a6614f1e565b60200260200101518582815481106126c0576126c0614f1e565b9060005260206000200154036126d957600191506126eb565b806126e381614f8f565b91505061268b565b5080612724578383838151811061270457612704614f1e565b602090810291909101810151825460018101845560009384529190922001555b5060010161267e565b61273a858585858561341d565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610aff908461267b565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156127fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061281f9190614f01565b610ce95760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561289e57611274836134c5565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612923575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526129209181019061520d565b60015b6129955760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016107a6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612a2a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016107a6565b506112748383836135b5565b612a3e6135da565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612abb6123d3565b61127483838361362c565b73ffffffffffffffffffffffffffffffffffffffff8416612b4f5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b336000612b5b8561368d565b90506000612b688561368d565b9050612b79836000898585896131cb565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290612bb8908490614f7c565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612c25836000898989896136d8565b50505050505050565b60005b8254811015612c745781838281548110612c4d57612c4d614f1e565b906000526020600020015403612c6257505050565b80612c6c81614f8f565b915050612c31565b5081546001810183556000928352602090922090910155565b60008281526101c760205260409020612ca6828261500d565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b612cd28461095d565b604051612cdf919061477c565b60405180910390a25050565b612cf36123d3565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a893390565b60676110f7828261500d565b6101c66110f7828261500d565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612e005760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526066602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600054610100900460ff16612f155760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b610ce98161386b565b612f2b85858585856138e8565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610aff9084612c2e565b600054610100900460ff16610df95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff166130555760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b610df9613990565b6130656123d3565b806001146130b55760405162461bcd60e51b815260206004820152600b60248201527f616d6f756e74203c3e203100000000000000000000000000000000000000000060448201526064016107a6565b6130c183836001613a37565b60008281526101f8602052604090206005810154156131225760405162461bcd60e51b815260206004820152600760248201527f4c50203c3e20300000000000000000000000000000000000000000000000000060448201526064016107a6565b600161019360008282546131369190615127565b909155505050505050565b60606067805461315090614eae565b80601f016020809104026020016040519081016040528092919081815260200182805461317c90614eae565b80156115875780601f1061319e57610100808354040283529160200191611587565b820191906000526020600020905b8154815290600101906020018083116131ac5750939695505050505050565b6131d9868686868686613a67565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b156131d9576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c81906132589089908990889088908890600401615226565b6020604051808303816000875af19250505080156132b1575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526132ae91810190615291565b60015b613366576132bd6152ae565b806308c379a0036132f657506132d16152c9565b806132dc57506132f8565b8060405162461bcd60e51b81526004016107a6919061477c565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016107a6565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014612c255760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff851633148061344657506134468533610684565b6134b85760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b610aff8585858585613a75565b73ffffffffffffffffffffffffffffffffffffffff81163b61354f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016107a6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6135be83613d6a565b6000825111806135cb5750805b15611274576113d28383613db7565b60c95460ff16610df95760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016107a6565b6136346123d3565b61363f838383613ddc565b60005b82518110156113d25781818151811061365d5761365d614f1e565b602002602001015161019360008282546136779190615127565b90915550613686905081614f8f565b9050613642565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106136c7576136c7614f1e565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b156131d9576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e619061374f9089908990889088908890600401615371565b6020604051808303816000875af19250505080156137a8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526137a591810190615291565b60015b6137b4576132bd6152ae565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014612c255760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff166117a15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff851633148061391157506139118533610684565b6139835760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b610aff85858585856140ca565b600054610100900460ff16613a0d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b613a3f6123d3565b613a4a8383836142e6565b806101936000828254613a5d9190615127565b9091555050505050565b6131d98686868686866144d4565b8151835114613aec5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff8416613b755760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107a6565b33613b848187878787876131cb565b60005b8451811015613cdd576000858281518110613ba457613ba4614f1e565b602002602001015190506000858381518110613bc257613bc2614f1e565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8e168352909352919091205490915081811015613c765760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016107a6565b600083815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b16825281208054849290613cc2908490614f7c565b9250508190555050505080613cd690614f8f565b9050613b87565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051613d549291906151df565b60405180910390a46131d98187878787876131e1565b613d73816134c5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606123cc83836040518060600160405280602781526020016153de6027913961454d565b73ffffffffffffffffffffffffffffffffffffffff8316613e655760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b8051825114613edc5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b6000339050613eff818560008686604051806020016040528060008152506131cb565b60005b8351811015614036576000848281518110613f1f57613f1f614f1e565b602002602001015190506000848381518110613f3d57613f3d614f1e565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8c168352909352919091205490915081811015613ff05760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016107a6565b600092835260656020908152604080852073ffffffffffffffffffffffffffffffffffffffff8b168652909152909220910390558061402e81614f8f565b915050613f02565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516140ae9291906151df565b60405180910390a46040805160208101909152600090526113d2565b73ffffffffffffffffffffffffffffffffffffffff84166141535760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107a6565b33600061415f8561368d565b9050600061416c8561368d565b905061417c8389898585896131cb565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8c168452909152902054858110156142225760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016107a6565b600087815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a1682528120805488929061426e908490614f7c565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46142db848a8a8a8a8a6136d8565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661436f5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b33600061437b8461368d565b905060006143888461368d565b90506143a8838760008585604051806020016040528060008152506131cb565b600085815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a1684529091529020548481101561444d5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016107a6565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612c25565b60c95460ff16156131d95760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c6520706175736564000000000000000000000000000000000000000060648201526084016107a6565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161457791906153c1565b600060405180830381855af49150503d80600081146145b2576040519150601f19603f3d011682016040523d82523d6000602084013e6145b7565b606091505b50915091506145c8868383876145d2565b9695505050505050565b6060831561464e5782516000036146475773ffffffffffffffffffffffffffffffffffffffff85163b6146475760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107a6565b5081614658565b6146588383614660565b949350505050565b8151156132dc5781518083602001fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461469457600080fd5b919050565b600080604083850312156146ac57600080fd5b6146b583614670565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610ce957600080fd5b60006020828403121561470357600080fd5b81356123cc816146c3565b60005b83811015614729578181015183820152602001614711565b50506000910152565b6000815180845261474a81602086016020860161470e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006123cc6020830184614732565b6000602082840312156147a157600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff8211171561481b5761481b6147a8565b6040525050565b600067ffffffffffffffff82111561483c5761483c6147a8565b5060051b60200190565b600082601f83011261485757600080fd5b8135602061486482614822565b60405161487182826147d7565b83815260059390931b850182019282810191508684111561489157600080fd5b8286015b848110156148ac5780358352918301918301614895565b509695505050505050565b600082601f8301126148c857600080fd5b813567ffffffffffffffff8111156148e2576148e26147a8565b60405161491760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601826147d7565b81815284602083860101111561492c57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561495f57600080fd5b61496885614670565b9350602085013567ffffffffffffffff8082111561498557600080fd5b61499188838901614846565b945060408701359150808211156149a757600080fd5b6149b388838901614846565b935060608701359150808211156149c957600080fd5b506149d6878288016148b7565b91505092959194509250565b600080600080600060a086880312156149fa57600080fd5b614a0386614670565b9450614a1160208701614670565b9350604086013567ffffffffffffffff80821115614a2e57600080fd5b614a3a89838a01614846565b94506060880135915080821115614a5057600080fd5b614a5c89838a01614846565b93506080880135915080821115614a7257600080fd5b50614a7f888289016148b7565b9150509295509295909350565b600060208284031215614a9e57600080fd5b6123cc82614670565b60008060408385031215614aba57600080fd5b823567ffffffffffffffff80821115614ad257600080fd5b818501915085601f830112614ae657600080fd5b81356020614af382614822565b604051614b0082826147d7565b83815260059390931b8501820192828101915089841115614b2057600080fd5b948201945b83861015614b4557614b3686614670565b82529482019490820190614b25565b96505086013592505080821115614b5b57600080fd5b50614b6885828601614846565b9150509250929050565b600081518084526020808501945080840160005b83811015614ba257815187529582019590820190600101614b86565b509495945050505050565b6020815260006123cc6020830184614b72565b60008060408385031215614bd357600080fd5b614bdc83614670565b9150602083013567ffffffffffffffff811115614bf857600080fd5b614b68858286016148b7565b600080600060608486031215614c1957600080fd5b614c2284614670565b9250602084013567ffffffffffffffff80821115614c3f57600080fd5b614c4b87838801614846565b93506040860135915080821115614c6157600080fd5b50614c6e86828701614846565b9150509250925092565b60008060008060808587031215614c8e57600080fd5b614c9785614670565b93506020850135925060408501359150606085013567ffffffffffffffff811115614cc157600080fd5b6149d6878288016148b7565b60008060408385031215614ce057600080fd5b82359150602083013567ffffffffffffffff811115614bf857600080fd5b600060208284031215614d1057600080fd5b813567ffffffffffffffff811115614d2757600080fd5b614658848285016148b7565b8015158114610ce957600080fd5b60008060408385031215614d5457600080fd5b614d5d83614670565b91506020830135614d6d81614d33565b809150509250929050565b60008060008060808587031215614d8e57600080fd5b614d9785614670565b966020860135965060408601359560600135945092505050565b60008060008060808587031215614dc757600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215614df657600080fd5b614dff83614670565b9150614e0d60208401614670565b90509250929050565b600080600080600060a08688031215614e2e57600080fd5b614e3786614670565b9450614e4560208701614670565b93506040860135925060608601359150608086013567ffffffffffffffff811115614e6f57600080fd5b614a7f888289016148b7565b600080600060608486031215614e9057600080fd5b614e9984614670565b95602085013595506040909401359392505050565b600181811c90821680614ec257607f821691505b602082108103614efb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614f1357600080fd5b81516123cc81614d33565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107e1576107e1614f4d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614fc057614fc0614f4d565b5060010190565b601f82111561127457600081815260208120601f850160051c81016020861015614fee5750805b601f850160051c820191505b818110156131d957828155600101614ffa565b815167ffffffffffffffff811115615027576150276147a8565b61503b816150358454614eae565b84614fc7565b602080601f83116001811461508e57600084156150585750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556131d9565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156150db578886015182559484019460019091019084016150bc565b508582101561511757878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156107e1576107e1614f4d565b600080845461514881614eae565b600182811680156151605760018114615193576151c2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528215158302870194506151c2565b8860005260208060002060005b858110156151b95781548a8201529084019082016151a0565b50505082870194505b5050505083516151d681836020880161470e565b01949350505050565b6040815260006151f26040830185614b72565b82810360208401526152048185614b72565b95945050505050565b60006020828403121561521f57600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261525f60a0830186614b72565b82810360608401526152718186614b72565b905082810360808401526152858185614732565b98975050505050505050565b6000602082840312156152a357600080fd5b81516123cc816146c3565b600060033d11156111cb5760046000803e5060005160e01c90565b600060443d10156152d75790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff816024840111818411171561532557505050505090565b828501915081518181111561533d5750505050505090565b843d87010160208285010111156153575750505050505090565b615366602082860101876147d7565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a060808301526153b660a0830184614732565b979650505050505050565b600082516153d381846020870161470e565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212202a8f0d3a733aeecf13627b58128d542c69ed5cf62142f7889d8c4ef32caa016064736f6c63430008130033", + "nonce": "0x2a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe9b665bd1ab80e28e6b5e9a276b019dc1adf95a5c5718f33b9bfe793cece2750", + "transactionType": "CREATE", + "contractName": "UupsProxy", + "contractAddress": "0x5aa6CA888B30105d9b5E42110850CA3Ba2FF7ABd", + "function": null, + "arguments": [ + "0x4b9E41D9bE1A76E9160c73af782012b9868d0cE4", + "0xf399e22e000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005868747470733a2f2f626166796265696669627a3466686b3479616735726575706d6768356364626d326f6c61646b65347a6664376c6479773761766769706f63706d792e697066732e696e667572612d697066732e696f2f0000000000000000" + ], + "transaction": { + "type": "0x02", + "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", + "gas": "0x5999d", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506040516104ff3803806104ff83398101604081905261002f916102ef565b818161003d82826000610046565b5050505061040c565b61004f83610072565b60008251118061005c5750805b1561006d5761006b83836100b2565b505b505050565b61007b816100de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d783836040518060600160405280602781526020016104d860279139610191565b9392505050565b6001600160a01b0381163b6101505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516101ae91906103bd565b600060405180830381855af49150503d80600081146101e9576040519150601f19603f3d011682016040523d82523d6000602084013e6101ee565b606091505b5090925090506102008683838761020a565b9695505050505050565b60608315610279578251600003610272576001600160a01b0385163b6102725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610147565b5081610283565b610283838361028b565b949350505050565b81511561029b5781518083602001fd5b8060405162461bcd60e51b815260040161014791906103d9565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e65781810151838201526020016102ce565b50506000910152565b6000806040838503121561030257600080fd5b82516001600160a01b038116811461031957600080fd5b60208401519092506001600160401b038082111561033657600080fd5b818501915085601f83011261034a57600080fd5b81518181111561035c5761035c6102b5565b604051601f8201601f19908116603f01168101908382118183101715610384576103846102b5565b8160405282815288602084870101111561039d57600080fd5b6103ae8360208301602088016102cb565b80955050505050509250929050565b600082516103cf8184602087016102cb565b9190910192915050565b60208152600082518060208401526103f88160408501602087016102cb565b601f01601f19169190910160400192915050565b60be8061041a6000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220e441f365e67d1a963a862b4e5b34ef47a37e8981bee9932a7d0c5164dd3c9c0264736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000004b9e41d9be1a76e9160c73af782012b9868d0ce4000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4f399e22e000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005868747470733a2f2f626166796265696669627a3466686b3479616735726575706d6768356364626d326f6c61646b65347a6664376c6479773761766769706f63706d792e697066732e696e667572612d697066732e696f2f000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x2b", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xb2ce62fe7eb9189267af4d13c0b34faae5e6c63c6dd32121859ef4ccb608ec78", + "hash": "0xb9a5353f824400738df31cc90da5dc403273a1ad75df50edab798eec91a89f1a", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -778,8 +876,8 @@ "to": "0xbe0efabc83686a81903c1d4a2515f8111e53b5cb", "gas": "0x1151d", "value": "0x0", - "data": "0x0083faee000000000000000000000000773305308c2edee9dbea7c0467953f165328b35d", - "nonce": "0x27", + "data": "0x0083faee0000000000000000000000005aa6ca888b30105d9b5e42110850ca3ba2ff7abd", + "nonce": "0x2c", "accessList": [] }, "additionalContracts": [], @@ -788,10 +886,10 @@ ], "receipts": [ { - "transactionHash": "0xd125e80676c21164ef8986afcc68a3141e20bab2e9a84b7d1e6a7ef39d43d0b0", + "transactionHash": "0x8d7ac90d92039a6ee99b202d609d94f3460ebe8730c606c90fb32f77c8d498ea", "transactionIndex": "0x0", - "blockHash": "0xde071c4542ae7dfa53323b6f72ca7d79b974a556cb10d438b503bc501811cde0", - "blockNumber": "0x1125937", + "blockHash": "0xa7d3080fcfc1c552ea66618103e9585c03c55f1e246f4b8f61f64e0c9116489d", + "blockNumber": "0x112ad60", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x17b3a4", @@ -801,13 +899,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xa2b675723" + "effectiveGasPrice": "0x33495dc7f" }, { - "transactionHash": "0x2460ab950bf14f244f2455036327bfea4ec373026a9941c34cad7d03051df402", + "transactionHash": "0xc7712623c9e0b7386ca338927a980e797a7e7a0ec23a9253fb66da5e582c4737", "transactionIndex": "0x0", - "blockHash": "0xffb60f5b74391ac740d9d2a55f47c645fee101278690391baa610c665e792eb4", - "blockNumber": "0x1125938", + "blockHash": "0x51d5bf69deaff10b4f699c03d563f4a7e348135be41fba646e6835e84ec803ac", + "blockNumber": "0x112ad61", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x17b707", @@ -817,45 +915,45 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x91bbec8c6" + "effectiveGasPrice": "0x2ecabd6be" }, { - "transactionHash": "0x5e53818b6933ebe749e42f3da787ee30cd44d9637c8cc200a60bde6d753920aa", + "transactionHash": "0xb51f68cdb993a5ab18e109a3bb608080f373ddf1a2a5811bd49a656f4d434bff", "transactionIndex": "0x0", - "blockHash": "0x1b46940a1f98b3cc92512f3fa99f31db65c1e4d6bee5af5c239a48211173e296", - "blockNumber": "0x1125939", + "blockHash": "0xa0da3965ea658d8c223637d02e1f443eea5cc7751b5227bfe202291e94945c76", + "blockNumber": "0x112ad62", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x74ec4", - "gasUsed": "0x74ec4", + "cumulativeGasUsed": "0x74eb8", + "gasUsed": "0x74eb8", "contractAddress": "0x1f0BFD4230e54c8089A7Fc59c9090Fcb40C1cBdC", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x82a8a32b6" + "effectiveGasPrice": "0x2acd1d17d" }, { - "transactionHash": "0xa4757818af3b1fdc40ddd2ba534c9500ace8264cc961238e9f95e93f85f45740", - "transactionIndex": "0x1", - "blockHash": "0x1b46940a1f98b3cc92512f3fa99f31db65c1e4d6bee5af5c239a48211173e296", - "blockNumber": "0x1125939", + "transactionHash": "0x233110775389f1929b9ba6c4c438100a1cabe43c064a7d0caa880540e2be8638", + "transactionIndex": "0x0", + "blockHash": "0x31cc2ef120dfe2a0c13825658bbea413e356929b985834a3ff1799ad6c01935f", + "blockNumber": "0x112ad63", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0xb1796", - "gasUsed": "0x3c8d2", + "cumulativeGasUsed": "0x3c8c6", + "gasUsed": "0x3c8c6", "contractAddress": "0x1289805419dc74bcdeE5D4a06606444E9f1474Ed", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x82a8a32b6" + "effectiveGasPrice": "0x26f969a87" }, { - "transactionHash": "0x69b971d9fa43541c8c2c7af5b3e79b709012cafa225bfdc0e5c80cba120825d2", + "transactionHash": "0xa4ba9888f9a3493123dab5a339c5455b4db751d37702dce73000233e53113444", "transactionIndex": "0x0", - "blockHash": "0x613a7ea0b1b6e5506e31926a31efa971c0d95313dd72f55a4efd083eaf949a25", - "blockNumber": "0x112593a", + "blockHash": "0x287156ac381babd83281ea4fa9313cf4d73330a0e15cab6b08fc2467464a90ff", + "blockNumber": "0x112ad64", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x1d64d3", @@ -865,61 +963,61 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x7472a8eb4" + "effectiveGasPrice": "0x238e92522" }, { - "transactionHash": "0x20237247388b7aa38ae14c9bdd581daf72d03698b64b65f2c4ccf63c5d6544a0", + "transactionHash": "0xf856befedd7f6a1fd6881f1f69e2191515cbb8f168e3a110ddc3e4ce9d60d6e4", "transactionIndex": "0x0", - "blockHash": "0xb65c5cea12da1c6e747420aab4f89d80230afb31ec0b34959bae688f45011f4d", - "blockNumber": "0x112593b", + "blockHash": "0x322554a7bac867487f61eebd99bb25cb9e3a009d6095aa0046c26f5dfdc87fae", + "blockNumber": "0x112ad65", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0xb5118", - "gasUsed": "0xb5118", + "cumulativeGasUsed": "0xb5124", + "gasUsed": "0xb5124", "contractAddress": "0x58de01A211b2477ce1393c5512bF6089eFc59c25", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x68faffdfd" + "effectiveGasPrice": "0x20e692c46" }, { - "transactionHash": "0x21d7da58ea9c41d255dfc3f45a1122f75ec7c74de0b65c35b4ac3b5697fa6848", - "transactionIndex": "0x1", - "blockHash": "0xb65c5cea12da1c6e747420aab4f89d80230afb31ec0b34959bae688f45011f4d", - "blockNumber": "0x112593b", + "transactionHash": "0xbbd0b7aaa0f84b2190897b58774b602d59dbbd177d39c2f6548255bb93c805e9", + "transactionIndex": "0x0", + "blockHash": "0xd9a9ccc7729fe6359f80ada8e839e37330cca38c7b93ad21b8ffc65b32bd427c", + "blockNumber": "0x112ad66", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x18ea0a", + "cumulativeGasUsed": "0xd98f2", "gasUsed": "0xd98f2", "contractAddress": "0xd7d3E9c9BC05aBA6B9AE47b27aD18d83e441BF32", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x68faffdfd" + "effectiveGasPrice": "0x1e51c0c7b" }, { - "transactionHash": "0x8d1b65ab0cbcf9a464d6a0da0c04c3819b5e09d3872532aec39dac7ac6bda1b9", - "transactionIndex": "0x2", - "blockHash": "0xb65c5cea12da1c6e747420aab4f89d80230afb31ec0b34959bae688f45011f4d", - "blockNumber": "0x112593b", + "transactionHash": "0x1f62a6d07635b705897675100cf72c97031afdb4f010f64c6aa089e2d5b5aca7", + "transactionIndex": "0x0", + "blockHash": "0xb2839ca044771faee2e9f1575aa284a9b7ec4e7c558ca9ba8a97a95ab6cfd425", + "blockNumber": "0x112ad67", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x262fa3", + "cumulativeGasUsed": "0xd4599", "gasUsed": "0xd4599", "contractAddress": "0x635caB41ff7b3b2FA5ebE9518129947a563719B6", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x68faffdfd" + "effectiveGasPrice": "0x1c118e001" }, { - "transactionHash": "0x81bdb365d5f3e21241f4ade7290b5a08b42f56d69d49479717cad779086bc780", + "transactionHash": "0x09b118c4247175ded7d642aa5ee8ae106e8a5bda71b65cd0922f70136c035f20", "transactionIndex": "0x0", - "blockHash": "0x04400e3c58f915284c18c3f6ad366f969a140a67b865426fee3c578a83bedd6c", - "blockNumber": "0x112593c", + "blockHash": "0xbcb28f483221b191361caa83849c1923ae2e925fe365b2265887d7d102668767", + "blockNumber": "0x112ad68", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x20d38d", @@ -929,45 +1027,45 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5f368bc9b" + "effectiveGasPrice": "0x1a1455550" }, { - "transactionHash": "0x8d3861f1ebb5f6818fc8bf2f360c18daec6a8505bb5288ffb7ad22401cfe046d", - "transactionIndex": "0x1", - "blockHash": "0x04400e3c58f915284c18c3f6ad366f969a140a67b865426fee3c578a83bedd6c", - "blockNumber": "0x112593c", + "transactionHash": "0xbcebeef556fd3346ac614b45b0b50a83304af99af0ad6bfd3cc88fc77dd293a2", + "transactionIndex": "0x0", + "blockHash": "0x66eca9369a74cf3422f0f32f1dd7fe9cd441879649bf580d38f27f5fc79b399d", + "blockNumber": "0x112ad69", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x5ef786", + "cumulativeGasUsed": "0x3e23f9", "gasUsed": "0x3e23f9", "contractAddress": "0x9F0259fe34BFC22d9cbEEb340Cd8d53F35CDEB80", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5f368bc9b" + "effectiveGasPrice": "0x187bd19c8" }, { - "transactionHash": "0x000355529c4f90bba8ada03704faef6a7823e6334651c99c0eccba10c240baf3", - "transactionIndex": "0x2", - "blockHash": "0x04400e3c58f915284c18c3f6ad366f969a140a67b865426fee3c578a83bedd6c", - "blockNumber": "0x112593c", + "transactionHash": "0x38d1483dbf166d48f1de8ee830b0c7ac561adb8004a5a459594f627ec8e84aea", + "transactionIndex": "0x0", + "blockHash": "0x26775ba9a7a96adc9532853b0d9a438034600eacbd22ce1ffe1b60fa3db0e1fb", + "blockNumber": "0x112ad6a", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x7397aa", + "cumulativeGasUsed": "0x14a024", "gasUsed": "0x14a024", "contractAddress": "0x6169444aE7A834646f31f2179dbe9153C2Cfe79D", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5f368bc9b" + "effectiveGasPrice": "0x174595f54" }, { - "transactionHash": "0xba61e30c4931af6515ea897eddf6276317cab1024e61182b468d1e69c9582773", + "transactionHash": "0x29019680ed947c568686b9f3f72d39ca5e92073742080509a5fedee30446bf2b", "transactionIndex": "0x0", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", + "blockHash": "0xfb735f0aba113d76ea5cd13e6e2c83daadac5fefb6707bc037141f681c6fc91c", + "blockNumber": "0x112ad6b", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x387a7e", @@ -977,96 +1075,96 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5a04ced28" + "effectiveGasPrice": "0x15e565627" }, { - "transactionHash": "0xbf8597cf1e825f27f5392bc5173fd8562c57c0fdd21aa52a38bdfd0b38f6aedc", - "transactionIndex": "0x1", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", + "transactionHash": "0xbc08ef7499ba6ff72862cbea8abf1a62977a016fb2efe432b24a816f2bbac96f", + "transactionIndex": "0x0", + "blockHash": "0x661479112c83028a5d709fc15db3b0f95f4e24e380ceab0ec6841c92af3e7535", + "blockNumber": "0x112ad6c", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x4b1590", + "cumulativeGasUsed": "0x129b12", "gasUsed": "0x129b12", "contractAddress": "0x82aCf7DE62Ab6B0C240873339C19461A34260794", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5a04ced28" + "effectiveGasPrice": "0x14e2ffbde" }, { - "transactionHash": "0xf5013ee313f8fab49a35d56630bb491e06a2320cc74608f91f80a9f4b8cb8272", - "transactionIndex": "0x2", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", + "transactionHash": "0x5967fcdc5333398259e46dd202c69df488f1083d0d9e54d173a25e17357f6811", + "transactionIndex": "0x0", + "blockHash": "0x531d23a16b5ec6faa75c2313b7b48bca9b1a87bdcb90305a41ef80e2d1212b65", + "blockNumber": "0x112ad6d", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x6e5d9d", + "cumulativeGasUsed": "0x23480d", "gasUsed": "0x23480d", "contractAddress": "0xb66709Aa65AaC2b8a6294062d0a0531207481036", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5a04ced28" + "effectiveGasPrice": "0x13c583350" }, { - "transactionHash": "0xaefa169233a6b53f74db07cae44446ff947e1bd0952a14eac9ec38a81eb5dbfe", - "transactionIndex": "0x3", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", + "transactionHash": "0x5e6f0d0f412c1b5a113bc811ee673a3172da6d13e22dd2f424f85fb83c61def4", + "transactionIndex": "0x0", + "blockHash": "0xf3dbd73f6d442ddb02c295482a781d9cdf18dd6da077567f752b5ec4e62e2c87", + "blockNumber": "0x112ad6e", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x80d4fe", + "cumulativeGasUsed": "0x127761", "gasUsed": "0x127761", "contractAddress": "0x5D4905664E98A76cf56EBBd023D38C420d465770", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5a04ced28" + "effectiveGasPrice": "0x12dcd9e78" }, { - "transactionHash": "0x71cc2dd49a4d5bd0e24418cb9f06b5d051839b659a6e04c360bf1dd78804d3a5", - "transactionIndex": "0x4", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", + "transactionHash": "0xabff4fd50c31131a2d9f1f83b0009dde69a88ba7a4f9f7a8fda816edbc67609c", + "transactionIndex": "0x0", + "blockHash": "0x7ffe1de3ee89892cfb13ce6bd5e9e9d7227de45affe34592bfdf05cc3285f614", + "blockNumber": "0x112ad6f", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x96e094", + "cumulativeGasUsed": "0x160b96", "gasUsed": "0x160b96", "contractAddress": "0xD64465FC4c7d3BAbaBA5d0E4AfF6DffC278bfd18", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5a04ced28" + "effectiveGasPrice": "0x11fab7e61" }, { - "transactionHash": "0xba1d87adaf75c90f6505dee0c852fdfd29aa64a87f45e189572e9bdc98141cde", - "transactionIndex": "0x5", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", + "transactionHash": "0xc31639b620ed938a863a4659d663139aec70098d58020cac1d269fb765de608a", + "transactionIndex": "0x0", + "blockHash": "0x9e6fde7d886a4035dd0d667bde9abc5d37ede3942d0fad540ce49b8d26b9960e", + "blockNumber": "0x112ad70", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0xba27fe", - "gasUsed": "0x23476a", + "cumulativeGasUsed": "0x23475e", + "gasUsed": "0x23475e", "contractAddress": "0x7f7A6fA77E3De3e90be433834f23E24214bbe3C8", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5a04ced28" + "effectiveGasPrice": "0x1135f9d02" }, { - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x10faf1b", + "cumulativeGasUsed": "0x55871d", "gasUsed": "0x55871d", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "logs": [ @@ -1078,11 +1176,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x54", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0x0", "transactionLogIndex": "0x0", "removed": false }, @@ -1090,11 +1188,11 @@ "address": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "topics": ["0x8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673"], "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000007f7a6fa77e3de3e90be433834f23e24214bbe3c800000000000000000000000000000000000000000000000000000000000016e0000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000008e00000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000013a00000000000000000000000000000000000000000000000000000000000001440000000000000000000000000000000000000000000000000000000000000152000000000000000000000000000000000000000000000000000000000000015c0000000000000000000000000d20b46190da9b273a12e59895cf8a750c25541cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c000000000000000000000000000000000000000000000000000000000000000000000000000000001f0bfd4230e54c8089a7fc59c9090fcb40c1cbdc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000057a0ed62700000000000000000000000000000000000000000000000000000000adfca15e0000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000cdffacc60000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000000000000000000000000000001289805419dc74bcdee5d4a06606444e9f1474ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002f2fde38b000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000000000000000000000000000004e037b9a8ce977462da4e10fc164363c827abfc6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020ba2d8cdd00000000000000000000000000000000000000000000000000000000dd390ea000000000000000000000000000000000000000000000000000000000e2d443bd00000000000000000000000000000000000000000000000000000000f986cd5700000000000000000000000000000000000000000000000000000000147f1b96000000000000000000000000000000000000000000000000000000001a867af500000000000000000000000000000000000000000000000000000000f6f172cb00000000000000000000000000000000000000000000000000000000be1d86e10000000000000000000000000000000000000000000000000000000015f97398000000000000000000000000000000000000000000000000000000000083faee0000000000000000000000000000000000000000000000000000000092324611000000000000000000000000000000000000000000000000000000001c1f8aa3000000000000000000000000000000000000000000000000000000006605bfda00000000000000000000000000000000000000000000000000000000016afee700000000000000000000000000000000000000000000000000000000fbff3a41000000000000000000000000000000000000000000000000000000008fe6368300000000000000000000000000000000000000000000000000000000bc3ea01800000000000000000000000000000000000000000000000000000000ebef28a700000000000000000000000000000000000000000000000000000000b0bd67b400000000000000000000000000000000000000000000000000000000017df32700000000000000000000000000000000000000000000000000000000b42165d00000000000000000000000000000000000000000000000000000000036c3df240000000000000000000000000000000000000000000000000000000091df16d3000000000000000000000000000000000000000000000000000000008b38ebb300000000000000000000000000000000000000000000000000000000e0ee685500000000000000000000000000000000000000000000000000000000a9b8b79600000000000000000000000000000000000000000000000000000000221e2e6000000000000000000000000000000000000000000000000000000000214f788200000000000000000000000000000000000000000000000000000000ad3401ed00000000000000000000000000000000000000000000000000000000d3815fb9000000000000000000000000000000000000000000000000000000003535f48b00000000000000000000000000000000000000000000000000000000c5f956af0000000000000000000000000000000000000000000000000000000000000000000000000000000058de01a211b2477ce1393c5512bf6089efc59c250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000082f2ff15d0000000000000000000000000000000000000000000000000000000091d14854000000000000000000000000000000000000000000000000000000008bb9c5bf00000000000000000000000000000000000000000000000000000000248a9ca300000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000003f4ba83a000000000000000000000000000000000000000000000000000000005c975abb00000000000000000000000000000000000000000000000000000000000000000000000000000000d7d3e9c9bc05aba6b9ae47b27ad18d83e441bf320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000034e847fc700000000000000000000000000000000000000000000000000000000a2e6204500000000000000000000000000000000000000000000000000000000283583c600000000000000000000000000000000000000000000000000000000000000000000000000000000635cab41ff7b3b2fa5ebe9518129947a563719b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003fa3305c900000000000000000000000000000000000000000000000000000000bf0d68e4000000000000000000000000000000000000000000000000000000002db8c12900000000000000000000000000000000000000000000000000000000000000000000000000000000119e315502b87e67f1bc98577c735a3518ea47da00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c5f3acd8e0000000000000000000000000000000000000000000000000000000045889bd700000000000000000000000000000000000000000000000000000000776a3bb500000000000000000000000000000000000000000000000000000000ed7662ee000000000000000000000000000000000000000000000000000000002193393300000000000000000000000000000000000000000000000000000000537bb5dc0000000000000000000000000000000000000000000000000000000078b3139b00000000000000000000000000000000000000000000000000000000c0d8012c000000000000000000000000000000000000000000000000000000003cf7857400000000000000000000000000000000000000000000000000000000702f01ee000000000000000000000000000000000000000000000000000000003a98ef390000000000000000000000000000000000000000000000000000000016f0115b000000000000000000000000000000000000000000000000000000000000000000000000000000009f0259fe34bfc22d9cbeeb340cd8d53f35cdeb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c96908b52000000000000000000000000000000000000000000000000000000007cc6bd41000000000000000000000000000000000000000000000000000000006970d473000000000000000000000000000000000000000000000000000000004d8c28c4000000000000000000000000000000000000000000000000000000002f72589e00000000000000000000000000000000000000000000000000000000aa1ec70a00000000000000000000000000000000000000000000000000000000e2bbb15800000000000000000000000000000000000000000000000000000000422f1043000000000000000000000000000000000000000000000000000000009d7de6b3000000000000000000000000000000000000000000000000000000005215915000000000000000000000000000000000000000000000000000000000c5d1cb6300000000000000000000000000000000000000000000000000000000aadc68a5000000000000000000000000000000000000000000000000000000000000000000000000000000006169444ae7a834646f31f2179dbe9153c2cfe79d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005629056cb00000000000000000000000000000000000000000000000000000000a64154f000000000000000000000000000000000000000000000000000000000d5a8cf6400000000000000000000000000000000000000000000000000000000a609d912000000000000000000000000000000000000000000000000000000005b374a400000000000000000000000000000000000000000000000000000000000000000000000000000000038963b77678eb09f9ecc19f42f0371ec3c3c9b7900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000fb6170dcc00000000000000000000000000000000000000000000000000000000d3918c1d000000000000000000000000000000000000000000000000000000004e7c028d0000000000000000000000000000000000000000000000000000000071fc117100000000000000000000000000000000000000000000000000000000a35e50bc000000000000000000000000000000000000000000000000000000005857650800000000000000000000000000000000000000000000000000000000d2bdc9e000000000000000000000000000000000000000000000000000000000be5c687200000000000000000000000000000000000000000000000000000000f23a6e6100000000000000000000000000000000000000000000000000000000bc197c81000000000000000000000000000000000000000000000000000000005469bff100000000000000000000000000000000000000000000000000000000b5a3ff8700000000000000000000000000000000000000000000000000000000efa0982f000000000000000000000000000000000000000000000000000000000d65f47f000000000000000000000000000000000000000000000000000000002565aa420000000000000000000000000000000000000000000000000000000000000000000000000000000082acf7de62ab6b0c240873339c19461a34260794000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001c4b4a9ff00000000000000000000000000000000000000000000000000000000000000000000000000000000b66709aa65aac2b8a6294062d0a0531207481036000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003ac50680600000000000000000000000000000000000000000000000000000000f13a38a600000000000000000000000000000000000000000000000000000000993fba5c000000000000000000000000000000000000000000000000000000000000000000000000000000005d4905664e98a76cf56ebbd023d38c420d465770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001764263cf00000000000000000000000000000000000000000000000000000000000000000000000000000000d64465fc4c7d3bababa5d0e4aff6dffc278bfd18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001651156bc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014411567a570000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x55", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0x1", "transactionLogIndex": "0x1", "removed": false }, @@ -1107,11 +1205,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x56", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0x2", "transactionLogIndex": "0x2", "removed": false }, @@ -1124,11 +1222,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x57", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0x3", "transactionLogIndex": "0x3", "removed": false }, @@ -1141,11 +1239,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x58", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0x4", "transactionLogIndex": "0x4", "removed": false }, @@ -1158,11 +1256,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x59", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0x5", "transactionLogIndex": "0x5", "removed": false }, @@ -1175,11 +1273,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x5a", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0x6", "transactionLogIndex": "0x6", "removed": false }, @@ -1192,11 +1290,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x5b", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0x7", "transactionLogIndex": "0x7", "removed": false }, @@ -1209,11 +1307,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x5c", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0x8", "transactionLogIndex": "0x8", "removed": false }, @@ -1226,11 +1324,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x5d", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0x9", "transactionLogIndex": "0x9", "removed": false }, @@ -1243,11 +1341,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x5e", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0xa", "transactionLogIndex": "0xa", "removed": false }, @@ -1260,11 +1358,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x5f", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0xb", "transactionLogIndex": "0xb", "removed": false }, @@ -1277,11 +1375,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x60", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0xc", "transactionLogIndex": "0xc", "removed": false }, @@ -1294,11 +1392,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4a022493d8a8b577cf11523fdc5e5c09ed492e25c84da6c34de5367425213c86", - "blockNumber": "0x112593d", - "transactionHash": "0xc9b92bc4b63dbdc12bd9f83491430e8724be68991972076568af89a82b5dadc0", - "transactionIndex": "0x6", - "logIndex": "0x61", + "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", + "blockNumber": "0x112ad71", + "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionIndex": "0x0", + "logIndex": "0xd", "transactionLogIndex": "0xd", "removed": false } @@ -1306,13 +1404,13 @@ "status": "0x1", "logsBloom": "0x00200004100000000400000000000000000000000000000000800000000000014000000000000004000000000000004000000000000000000000000000000000000000000001010088000000000000000801000081000000000800000000000000000004020000000080000000000800000010000000400000000000000000400020080000000000000000000000008000000010000000000000000000000000000000000000000000000000000000000000000000000000001002200080100080200000000200000820000000000000000800000000010100002000000020000000000000008000000000010000000000000400920000000000000200000000", "type": "0x2", - "effectiveGasPrice": "0x5a04ced28" + "effectiveGasPrice": "0x10929f8a1" }, { - "transactionHash": "0xd814720de5e1b2d8ab0e12470e0a67bff726a1651ea840112286603f2d07e686", + "transactionHash": "0xe1bbb6628e433b3f7688b4eb84c3a0a3fdeaa4f48b4e69eee01bf607df2a3152", "transactionIndex": "0x0", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", + "blockHash": "0xa0ff03a95b2ff4c958649751499d5217b3de2d8c58e8d676f7b26a5f5d095ff4", + "blockNumber": "0x112ad72", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x8954", @@ -1323,9 +1421,9 @@ "address": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "topics": ["0x3a1c0b7d3cdecbab83b82697d51cbcdb308b3bbae63e597cbc958deb9c830e50"], "data": "0x00000000000000000000000000000000000000000000000000000000000001a4", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xd814720de5e1b2d8ab0e12470e0a67bff726a1651ea840112286603f2d07e686", + "blockHash": "0xa0ff03a95b2ff4c958649751499d5217b3de2d8c58e8d676f7b26a5f5d095ff4", + "blockNumber": "0x112ad72", + "transactionHash": "0xe1bbb6628e433b3f7688b4eb84c3a0a3fdeaa4f48b4e69eee01bf607df2a3152", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1335,48 +1433,105 @@ "status": "0x1", "logsBloom": "0x00000000000000000400000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5bdf8b920" + "effectiveGasPrice": "0x102675068" }, { - "transactionHash": "0x6251b1175692833647f4ddc922a915095f7d59b4d263877a6c22088c9b14bf75", - "transactionIndex": "0x1", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", + "transactionHash": "0x2867c4b986563a096d7cdb9b69bffb814c89a18738e1bc0b6831ffbe0186a79c", + "transactionIndex": "0x0", + "blockHash": "0x250eee4f8e39d724d8c846ed7f00d43e85592cf2afecdf8c71de1f1e121b039c", + "blockNumber": "0x112ad73", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x25fda6", - "gasUsed": "0x257452", + "cumulativeGasUsed": "0x34a11b", + "gasUsed": "0x34a11b", "contractAddress": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", - "logs": [], + "logs": [ + { + "address": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", + "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x250eee4f8e39d724d8c846ed7f00d43e85592cf2afecdf8c71de1f1e121b039c", + "blockNumber": "0x112ad73", + "transactionHash": "0x2867c4b986563a096d7cdb9b69bffb814c89a18738e1bc0b6831ffbe0186a79c", + "transactionIndex": "0x0", + "logIndex": "0x0", + "transactionLogIndex": "0x0", + "removed": false + } + ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000080800000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf87a6a38" + }, + { + "transactionHash": "0x70b68551e431caa83a7f6ed5f624e8de095cc5dfe931b6a1a3d76548c1a88b0f", + "transactionIndex": "0x0", + "blockHash": "0x82a953f792ce962b780fbf23863b4d5cc83f552753f5455dee7a47d811886cab", + "blockNumber": "0x112ad74", + "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", + "to": null, + "cumulativeGasUsed": "0x4aed6", + "gasUsed": "0x4aed6", + "contractAddress": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", + "logs": [ + { + "address": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000f98f9083a9226b200da8cbc4bfecdae58da59889" + ], + "data": "0x", + "blockHash": "0x82a953f792ce962b780fbf23863b4d5cc83f552753f5455dee7a47d811886cab", + "blockNumber": "0x112ad74", + "transactionHash": "0x70b68551e431caa83a7f6ed5f624e8de095cc5dfe931b6a1a3d76548c1a88b0f", + "transactionIndex": "0x0", + "logIndex": "0x0", + "transactionLogIndex": "0x0", + "removed": false + }, + { + "address": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", + "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x82a953f792ce962b780fbf23863b4d5cc83f552753f5455dee7a47d811886cab", + "blockNumber": "0x112ad74", + "transactionHash": "0x70b68551e431caa83a7f6ed5f624e8de095cc5dfe931b6a1a3d76548c1a88b0f", + "transactionIndex": "0x0", + "logIndex": "0x1", + "transactionLogIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000020000002000002000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000001000000000000000000400000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5bdf8b920" + "effectiveGasPrice": "0xf1c5c19d" }, { - "transactionHash": "0xad1bed1c734806280dd9b4851c26e65efc0f8903adcc37c1a635231ad9469cd2", - "transactionIndex": "0x2", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", + "transactionHash": "0x609de3a9f87f1148d9d8f3f83af8a7fdbc867ebdde9b6a76acbd57119516063c", + "transactionIndex": "0x0", + "blockHash": "0xef46b3fa28a69deadecb101a60c969e0d40b7e24c338c5cb712bafe2d828b749", + "blockNumber": "0x112ad75", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x26c67b", - "gasUsed": "0xc8d5", + "cumulativeGasUsed": "0xc8c9", + "gasUsed": "0xc8c9", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5bdf8b920" + "effectiveGasPrice": "0xea104d9c" }, { - "transactionHash": "0xa439fa4a7f33e7d7dc6dc43915f3fb5421793c39e524deab73b4e8aa85be86c7", - "transactionIndex": "0x3", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", + "transactionHash": "0x07d39d44e834f3e1fd7652d499846122c24ad9a10141469cfd668d62d981517b", + "transactionIndex": "0x0", + "blockHash": "0x5069be563c5d1a88fbab643ee5f1229f35066067b8a0fba414dda3069becfae1", + "blockNumber": "0x112ad76", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x280e47", + "cumulativeGasUsed": "0x147cc", "gasUsed": "0x147cc", "contractAddress": null, "logs": [ @@ -1389,11 +1544,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xa439fa4a7f33e7d7dc6dc43915f3fb5421793c39e524deab73b4e8aa85be86c7", - "transactionIndex": "0x3", - "logIndex": "0x3", + "blockHash": "0x5069be563c5d1a88fbab643ee5f1229f35066067b8a0fba414dda3069becfae1", + "blockNumber": "0x112ad76", + "transactionHash": "0x07d39d44e834f3e1fd7652d499846122c24ad9a10141469cfd668d62d981517b", + "transactionIndex": "0x0", + "logIndex": "0x0", "transactionLogIndex": "0x0", "removed": false } @@ -1401,16 +1556,16 @@ "status": "0x1", "logsBloom": "0x00000004100100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5bdf8b920" + "effectiveGasPrice": "0xe32e5e9f" }, { - "transactionHash": "0x16eaf5f4cfe601fb8f0091ff5a1b0d979460fa6cb781c8cc788e7e94a1747ee3", - "transactionIndex": "0x4", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", + "transactionHash": "0x8d2105c5e48f942f30de2762c33091459d45c06c6daa97cb77f6b811d860e4f7", + "transactionIndex": "0x0", + "blockHash": "0xaae7d0b2acfe18870038db38ba9987c0e57a2391c6f90bb0907382044475d96f", + "blockNumber": "0x112ad77", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x295613", + "cumulativeGasUsed": "0x147cc", "gasUsed": "0x147cc", "contractAddress": null, "logs": [ @@ -1423,11 +1578,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0x16eaf5f4cfe601fb8f0091ff5a1b0d979460fa6cb781c8cc788e7e94a1747ee3", - "transactionIndex": "0x4", - "logIndex": "0x4", + "blockHash": "0xaae7d0b2acfe18870038db38ba9987c0e57a2391c6f90bb0907382044475d96f", + "blockNumber": "0x112ad77", + "transactionHash": "0x8d2105c5e48f942f30de2762c33091459d45c06c6daa97cb77f6b811d860e4f7", + "transactionIndex": "0x0", + "logIndex": "0x0", "transactionLogIndex": "0x0", "removed": false } @@ -1435,66 +1590,66 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000200000020000000000000000000000000000100000000000000000000000000008000000000000000000000000000820000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5bdf8b920" + "effectiveGasPrice": "0xdd2b472e" }, { - "transactionHash": "0xd215124d1a56b115d9c62674ab0434cfa44be1462728a0c26ff1ab0233bb0ae1", - "transactionIndex": "0x5", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", + "transactionHash": "0xcfde9b08f92c8f98ecfb4dac33d8bea23c14ff3827ec8ce9330fddd72a41ab63", + "transactionIndex": "0x0", + "blockHash": "0xa78b92b6e2113780401b3d013e199164c82ff0cc34c598ddb65a10616511373b", + "blockNumber": "0x112ad78", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", - "to": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", - "cumulativeGasUsed": "0x2aa36f", - "gasUsed": "0x14d5c", + "to": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", + "cumulativeGasUsed": "0x160ca", + "gasUsed": "0x160ca", "contractAddress": null, "logs": [ { - "address": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", + "address": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xd215124d1a56b115d9c62674ab0434cfa44be1462728a0c26ff1ab0233bb0ae1", - "transactionIndex": "0x5", - "logIndex": "0xa", + "blockHash": "0xa78b92b6e2113780401b3d013e199164c82ff0cc34c598ddb65a10616511373b", + "blockNumber": "0x112ad78", + "transactionHash": "0xcfde9b08f92c8f98ecfb4dac33d8bea23c14ff3827ec8ce9330fddd72a41ab63", + "transactionIndex": "0x0", + "logIndex": "0x0", "transactionLogIndex": "0x0", "removed": false }, { - "address": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", + "address": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "topics": [ "0xb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xd215124d1a56b115d9c62674ab0434cfa44be1462728a0c26ff1ab0233bb0ae1", - "transactionIndex": "0x5", - "logIndex": "0xb", + "blockHash": "0xa78b92b6e2113780401b3d013e199164c82ff0cc34c598ddb65a10616511373b", + "blockNumber": "0x112ad78", + "transactionHash": "0xcfde9b08f92c8f98ecfb4dac33d8bea23c14ff3827ec8ce9330fddd72a41ab63", + "transactionIndex": "0x0", + "logIndex": "0x1", "transactionLogIndex": "0x1", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000100000000000000000000000000000000001000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000030000000000000000000800000000000000000000000010000000000000000000000000000000000000010000000000000000800000000000000000000000000000000000000000000000000080000000000000000002000000000080000002000000000000000000000000000800000000000000000000200020000000000000000000000000000000000000000000020000000000000000000000", + "logsBloom": "0x0000000000010000000000000000000000000000000000100000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000002000000a000000000000000000000000000000000000000000000000030000000000000000000800000800000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000002000000000080000002000000000000000000000000000800000000000000000000000020000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5bdf8b920" + "effectiveGasPrice": "0xd7e77f24" }, { - "transactionHash": "0xc1f482e2a227c5496200fdf0eda69bf710b4c98b63934102df2fad6ea617d5cb", - "transactionIndex": "0x6", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", + "transactionHash": "0x17b70d4b32f1684cd499b49d1682904c3b2cdd8dd55875faf09ad03c5bb9e434", + "transactionIndex": "0x0", + "blockHash": "0x766a2b57164284ed8e5a1875711d31960b717bfb639db6b32e62e5d682899d2b", + "blockNumber": "0x112ad79", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490", - "cumulativeGasUsed": "0x2b5865", - "gasUsed": "0xb4f6", + "cumulativeGasUsed": "0xc7b6", + "gasUsed": "0xc7b6", "contractAddress": null, "logs": [ { @@ -1505,11 +1660,11 @@ "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xc1f482e2a227c5496200fdf0eda69bf710b4c98b63934102df2fad6ea617d5cb", - "transactionIndex": "0x6", - "logIndex": "0x6", + "blockHash": "0x766a2b57164284ed8e5a1875711d31960b717bfb639db6b32e62e5d682899d2b", + "blockNumber": "0x112ad79", + "transactionHash": "0x17b70d4b32f1684cd499b49d1682904c3b2cdd8dd55875faf09ad03c5bb9e434", + "transactionIndex": "0x0", + "logIndex": "0x0", "transactionLogIndex": "0x0", "removed": false } @@ -1517,32 +1672,32 @@ "status": "0x1", "logsBloom": "0x00000000000100000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000100000000000000000000000000000000000010000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000002000000000080000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x5bdf8b920" + "effectiveGasPrice": "0xd34bc06d" }, { - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x3c75cc", - "gasUsed": "0x111d67", + "cumulativeGasUsed": "0x114401", + "gasUsed": "0x114401", "contractAddress": null, "logs": [ { "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557", + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827", "0x000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x69", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0x0", "transactionLogIndex": "0x0", "removed": false }, @@ -1550,15 +1705,15 @@ "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557", + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827", "0x000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x6a", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0x1", "transactionLogIndex": "0x1", "removed": false }, @@ -1566,59 +1721,59 @@ "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557", + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827", "0x000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x6b", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0x2", "transactionLogIndex": "0x2", "removed": false }, { - "address": "0x2673099769201c08E9A5e63b25FBaF25541A6557", + "address": "0x80FB33FcE06F5E9d9E4bB7C90C7BC19B99a18827", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557" + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x6c", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0x3", "transactionLogIndex": "0x3", "removed": false }, { - "address": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", + "address": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000b9fc157394af804a3578134a6585c0dc9cc990d4", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557" + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x6d", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0x4", "transactionLogIndex": "0x4", "removed": false }, { "address": "0xB9fC157394Af804a3578134A6585C0dc9cc990d4", "topics": ["0x01f31cd2abdeb4e5e10ba500f2db0f937d9e8c735ab04681925441b4ea37eda5"], - "data": "0x000000000000000000000000f98f9083a9226b200da8cbc4bfecdae58da59889000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x6e", + "data": "0x000000000000000000000000988ba9496b04755e0dab7057c2c1e1f25f00ead3000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0x5", "transactionLogIndex": "0x5", "removed": false }, @@ -1627,14 +1782,14 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557" + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x6f", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0x6", "transactionLogIndex": "0x6", "removed": false }, @@ -1643,78 +1798,78 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557" + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x70", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0x7", "transactionLogIndex": "0x7", "removed": false }, { - "address": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", + "address": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557" + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x71", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0x8", "transactionLogIndex": "0x8", "removed": false }, { - "address": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", + "address": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557" + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x72", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0x9", "transactionLogIndex": "0x9", "removed": false }, { - "address": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", + "address": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557" + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x73", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0xa", "transactionLogIndex": "0xa", "removed": false }, { - "address": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", + "address": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557" + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x74", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0xb", "transactionLogIndex": "0xb", "removed": false }, @@ -1723,94 +1878,151 @@ "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x0000000000000000000000002673099769201c08e9a5e63b25fbaf25541a6557" + "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x75", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0xc", "transactionLogIndex": "0xc", "removed": false }, { - "address": "0x2673099769201c08E9A5e63b25FBaF25541A6557", + "address": "0x80FB33FcE06F5E9d9E4bB7C90C7BC19B99a18827", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], - "data": "0x00000000000000000000000000000000000000000000044ae77cb3b2d1eb579a", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x76", + "data": "0x00000000000000000000000000000000000000000000044aeb05afe380d5f8c8", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0xd", "transactionLogIndex": "0xd", "removed": false }, { - "address": "0x2673099769201c08E9A5e63b25FBaF25541A6557", + "address": "0x80FB33FcE06F5E9d9E4bB7C90C7BC19B99a18827", "topics": [ "0x26f55a85081d24974e85c6c00045d0f0453991e95873f52bff0d21af4079a768", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb" ], - "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044ae77cb3b2d1eb579a00000000000000000000000000000000000000000000044ae77cb3b2d1eb579a", - "blockHash": "0xae943d0ef1b2f04fd6f0b7d42080cfb8a8272124dffb82f34c5d25e2c739d963", - "blockNumber": "0x112593e", - "transactionHash": "0xda84e6947c3d16b58a2261a254e01afc969913d60d83708dc7e1074664b71257", - "transactionIndex": "0x7", - "logIndex": "0x77", + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044aeb05afe380d5f8c800000000000000000000000000000000000000000000044aeb05afe380d5f8c8", + "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", + "blockNumber": "0x112ad7a", + "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionIndex": "0x0", + "logIndex": "0xe", "transactionLogIndex": "0xe", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000200000100000000000000080000000000000000001000002000000000000010000000800000000000000000030000000040000000000000000000200000000000000000000108000008000000000000000000000000000000000000010110000000020000010002010000000800000010000000000400001010000000000000001000000000000000000000010000000000010000800000000000104000020000000000200000000080000000040080000000000000000002400000000080000002000400000000000000000000000002000000000000000000200020000010002000000000000000000000020000000000020000000000000000000080", + "logsBloom": "0x0000020000010000000000000008000000000000000000100000220000008000001000000080000000000000000003008000000000000000000000000020000001000000000000012800000a000000000000000000000000000000000000010110000000020000010000000000000800000810000000000400001010000000000000001008000000000000000000000000000000010000000000000000104000020000000000200000000080000000000080000000000000000002400000000080000002000000000000000000000000000002000000000000000000000020000010000000000000000000000004020000000000020000000000000000000080", "type": "0x2", - "effectiveGasPrice": "0x5bdf8b920" + "effectiveGasPrice": "0xcf3fdf13" }, { - "transactionHash": "0x3777a55badf766d65e0265e68ed58c325f6f4837b281fc131c31301f9606dd58", + "transactionHash": "0xe9acf32f9270ff8402f2741d69278b2abe49198498adb2d04ef0ec6210844156", "transactionIndex": "0x0", - "blockHash": "0xc3ada4d5fe0d9bead79cfb9f20c9cc4e593274a5686d9db54ea44e55d77ddd52", - "blockNumber": "0x112593f", + "blockHash": "0xb0dbb64f237664b46920152c6866ee9956c4385436be02f4aaa3c5ac51173713", + "blockNumber": "0x112ad7b", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x20e2a5", - "gasUsed": "0x20e2a5", - "contractAddress": "0x3c399C1a29C4dab8522Bf9c4dD405037280add6C", - "logs": [], + "cumulativeGasUsed": "0x2f7858", + "gasUsed": "0x2f7858", + "contractAddress": "0xEbCe0D06fE2a715c7eebbda0A9eB40f2Ba15BB05", + "logs": [ + { + "address": "0xEbCe0D06fE2a715c7eebbda0A9eB40f2Ba15BB05", + "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0xb0dbb64f237664b46920152c6866ee9956c4385436be02f4aaa3c5ac51173713", + "blockNumber": "0x112ad7b", + "transactionHash": "0xe9acf32f9270ff8402f2741d69278b2abe49198498adb2d04ef0ec6210844156", + "transactionIndex": "0x0", + "logIndex": "0x0", + "transactionLogIndex": "0x0", + "removed": false + } + ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000008008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000400000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x547406d17" + "effectiveGasPrice": "0xcbf69305" }, { - "transactionHash": "0x320bac8583d20dddb1a8cdac8b3da6c126de8f92ab1992ed48c4e6fb8ce3c525", - "transactionIndex": "0x1", - "blockHash": "0xc3ada4d5fe0d9bead79cfb9f20c9cc4e593274a5686d9db54ea44e55d77ddd52", - "blockNumber": "0x112593f", + "transactionHash": "0xd849fe61edbef64a86fd012c6f44ce5b77a6a7733ed04b2f5000578f21bdc41a", + "transactionIndex": "0x0", + "blockHash": "0x64a53425d72d351488562d66849d89c2381231e66f9abe1f669e92a7e62b9441", + "blockNumber": "0x112ad7c", + "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", + "to": null, + "cumulativeGasUsed": "0x4aed6", + "gasUsed": "0x4aed6", + "contractAddress": "0x975a29731b751d003dd63D37736fd5730acd94Be", + "logs": [ + { + "address": "0x975a29731b751d003dd63D37736fd5730acd94Be", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000ebce0d06fe2a715c7eebbda0a9eb40f2ba15bb05" + ], + "data": "0x", + "blockHash": "0x64a53425d72d351488562d66849d89c2381231e66f9abe1f669e92a7e62b9441", + "blockNumber": "0x112ad7c", + "transactionHash": "0xd849fe61edbef64a86fd012c6f44ce5b77a6a7733ed04b2f5000578f21bdc41a", + "transactionIndex": "0x0", + "logIndex": "0x0", + "transactionLogIndex": "0x0", + "removed": false + }, + { + "address": "0x975a29731b751d003dd63D37736fd5730acd94Be", + "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x64a53425d72d351488562d66849d89c2381231e66f9abe1f669e92a7e62b9441", + "blockNumber": "0x112ad7c", + "transactionHash": "0xd849fe61edbef64a86fd012c6f44ce5b77a6a7733ed04b2f5000578f21bdc41a", + "transactionIndex": "0x0", + "logIndex": "0x1", + "transactionLogIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000002000000000000000000000000200000000000000000000000000000000000000000000200002000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000440000000000000000000000000000000000000000020000000000000000000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xc978b57d" + }, + { + "transactionHash": "0xa596179f95b98111e01a667646fcaf515caad341d6b0592ecaeb89908dfe7aa4", + "transactionIndex": "0x0", + "blockHash": "0x65940f8a639b07c876e38175c495a71a8ada3c6c309294a2e4848f7f1d3a08cf", + "blockNumber": "0x112ad7d", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x21ab91", - "gasUsed": "0xc8ec", + "cumulativeGasUsed": "0xc8e0", + "gasUsed": "0xc8e0", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x547406d17" + "effectiveGasPrice": "0xc6b2802e" }, { - "transactionHash": "0x2b568ebfe4f18a154d661123268d295f519a00bce3e8a0474788166dd306ae18", - "transactionIndex": "0x2", - "blockHash": "0xc3ada4d5fe0d9bead79cfb9f20c9cc4e593274a5686d9db54ea44e55d77ddd52", - "blockNumber": "0x112593f", + "transactionHash": "0x51e82bbc383de644d11760cb5d937b8a7b4866477eee72b988dd9c7a14759415", + "transactionIndex": "0x0", + "blockHash": "0x6b5169690d08bfc73922dc4e9c4b605bc945f540c6b33d4c1e2de5c693f408b0", + "blockNumber": "0x112ad7e", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x22f35d", + "cumulativeGasUsed": "0x147cc", "gasUsed": "0x147cc", "contractAddress": null, "logs": [ @@ -1823,11 +2035,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xc3ada4d5fe0d9bead79cfb9f20c9cc4e593274a5686d9db54ea44e55d77ddd52", - "blockNumber": "0x112593f", - "transactionHash": "0x2b568ebfe4f18a154d661123268d295f519a00bce3e8a0474788166dd306ae18", - "transactionIndex": "0x2", - "logIndex": "0x2", + "blockHash": "0x6b5169690d08bfc73922dc4e9c4b605bc945f540c6b33d4c1e2de5c693f408b0", + "blockNumber": "0x112ad7e", + "transactionHash": "0x51e82bbc383de644d11760cb5d937b8a7b4866477eee72b988dd9c7a14759415", + "transactionIndex": "0x0", + "logIndex": "0x0", "transactionLogIndex": "0x0", "removed": false } @@ -1835,16 +2047,16 @@ "status": "0x1", "logsBloom": "0x00200004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000100080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x547406d17" + "effectiveGasPrice": "0xc4386a52" }, { - "transactionHash": "0x58368b00b384a47246415e56242b4743a799ff483fc680d57d0b41e99cbbe8d5", - "transactionIndex": "0x3", - "blockHash": "0xc3ada4d5fe0d9bead79cfb9f20c9cc4e593274a5686d9db54ea44e55d77ddd52", - "blockNumber": "0x112593f", + "transactionHash": "0xb1415c09a5ec3d1863fc06eddf9f6353a3f547db4a9faa03832d9614d84babc1", + "transactionIndex": "0x0", + "blockHash": "0x08f28b28018e9f4ac1c4e9e6cde7853511ae774a370101d95f243c256ab76776", + "blockNumber": "0x112ad7f", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x243b29", + "cumulativeGasUsed": "0x147cc", "gasUsed": "0x147cc", "contractAddress": null, "logs": [ @@ -1857,11 +2069,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xc3ada4d5fe0d9bead79cfb9f20c9cc4e593274a5686d9db54ea44e55d77ddd52", - "blockNumber": "0x112593f", - "transactionHash": "0x58368b00b384a47246415e56242b4743a799ff483fc680d57d0b41e99cbbe8d5", - "transactionIndex": "0x3", - "logIndex": "0x3", + "blockHash": "0x08f28b28018e9f4ac1c4e9e6cde7853511ae774a370101d95f243c256ab76776", + "blockNumber": "0x112ad7f", + "transactionHash": "0xb1415c09a5ec3d1863fc06eddf9f6353a3f547db4a9faa03832d9614d84babc1", + "transactionIndex": "0x0", + "logIndex": "0x0", "transactionLogIndex": "0x0", "removed": false } @@ -1869,48 +2081,105 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000010000000000000000020000000000000200000000", "type": "0x2", - "effectiveGasPrice": "0x547406d17" + "effectiveGasPrice": "0xc20e8682" }, { - "transactionHash": "0x0befbecffe85edcc1c2c8bda2785d78aabd23d56c928db2ea34c410755cf223b", - "transactionIndex": "0x4", - "blockHash": "0xc3ada4d5fe0d9bead79cfb9f20c9cc4e593274a5686d9db54ea44e55d77ddd52", - "blockNumber": "0x112593f", + "transactionHash": "0xb77d7a7dcbf776903068d9572e760372f9ca381c0362f5ecd1053af13a4ec127", + "transactionIndex": "0x0", + "blockHash": "0x594d84814972bf2cac864f41d39eac9180b3193517936049c966d121811cd0c5", + "blockNumber": "0x112ad80", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x45df88", - "gasUsed": "0x21a45f", - "contractAddress": "0x5Fec7d778c179200947B70D7b565023b8A856a73", - "logs": [], + "cumulativeGasUsed": "0x30491a", + "gasUsed": "0x30491a", + "contractAddress": "0x5318a766EBEd5157D18347637A306Fba6Bb2Fc12", + "logs": [ + { + "address": "0x5318a766EBEd5157D18347637A306Fba6Bb2Fc12", + "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x594d84814972bf2cac864f41d39eac9180b3193517936049c966d121811cd0c5", + "blockNumber": "0x112ad80", + "transactionHash": "0xb77d7a7dcbf776903068d9572e760372f9ca381c0362f5ecd1053af13a4ec127", + "transactionIndex": "0x0", + "logIndex": "0x0", + "transactionLogIndex": "0x0", + "removed": false + } + ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000200000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000004000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x547406d17" + "effectiveGasPrice": "0xc0297c04" }, { - "transactionHash": "0x1081ecc4e4bf068557842307313792634d43395f9086b05118100e3f1f52a726", - "transactionIndex": "0x5", - "blockHash": "0xc3ada4d5fe0d9bead79cfb9f20c9cc4e593274a5686d9db54ea44e55d77ddd52", - "blockNumber": "0x112593f", + "transactionHash": "0xb7005973c0dc14f11e1aa011f71a3196b51907ed6d03f03d72c9cdef33c87069", + "transactionIndex": "0x0", + "blockHash": "0xfcced4bd7cfaa28c482612f387e823d05b6dcf40fb4699aad863466a8c3d3d95", + "blockNumber": "0x112ad81", + "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", + "to": null, + "cumulativeGasUsed": "0x4aeb6", + "gasUsed": "0x4aeb6", + "contractAddress": "0x47f8F074c2C1eD281Aa6d69dB972FdeB4a0f9e14", + "logs": [ + { + "address": "0x47f8F074c2C1eD281Aa6d69dB972FdeB4a0f9e14", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000005318a766ebed5157d18347637a306fba6bb2fc12" + ], + "data": "0x", + "blockHash": "0xfcced4bd7cfaa28c482612f387e823d05b6dcf40fb4699aad863466a8c3d3d95", + "blockNumber": "0x112ad81", + "transactionHash": "0xb7005973c0dc14f11e1aa011f71a3196b51907ed6d03f03d72c9cdef33c87069", + "transactionIndex": "0x0", + "logIndex": "0x0", + "transactionLogIndex": "0x0", + "removed": false + }, + { + "address": "0x47f8F074c2C1eD281Aa6d69dB972FdeB4a0f9e14", + "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xfcced4bd7cfaa28c482612f387e823d05b6dcf40fb4699aad863466a8c3d3d95", + "blockNumber": "0x112ad81", + "transactionHash": "0xb7005973c0dc14f11e1aa011f71a3196b51907ed6d03f03d72c9cdef33c87069", + "transactionIndex": "0x0", + "logIndex": "0x1", + "transactionLogIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000008000000000000000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000400000000000000000000000000080000000000000000020000000000000000000000000000000000000080000000000000000040000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xbed87493" + }, + { + "transactionHash": "0x81ffbf4cad8562d0e805069c6594352f23a9149200b83384b439c06681f451a1", + "transactionIndex": "0x0", + "blockHash": "0xf6e99ebc2693136bc364693cee09d4ac4f547cdf4bdff94650c0154b9e1e853d", + "blockNumber": "0x112ad82", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x46a853", - "gasUsed": "0xc8cb", + "cumulativeGasUsed": "0xc8d7", + "gasUsed": "0xc8d7", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x547406d17" + "effectiveGasPrice": "0xbd5f5227" }, { - "transactionHash": "0xe1eff493ff0ea80e7e2c3057e3e9f72da826fe3297d13765df4dd8562a242a2a", - "transactionIndex": "0x6", - "blockHash": "0xc3ada4d5fe0d9bead79cfb9f20c9cc4e593274a5686d9db54ea44e55d77ddd52", - "blockNumber": "0x112593f", + "transactionHash": "0xf2788fe6073e3b4a5e6ffc7a567279773127200b5aa86c8699d48f6bef8b377f", + "transactionIndex": "0x0", + "blockHash": "0x527ce361e30393d706169886f4c279722c0f15f758ca673ccf8c846d7f7c5fcd", + "blockNumber": "0x112ad83", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x47f01f", + "cumulativeGasUsed": "0x147cc", "gasUsed": "0x147cc", "contractAddress": null, "logs": [ @@ -1923,11 +2192,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xc3ada4d5fe0d9bead79cfb9f20c9cc4e593274a5686d9db54ea44e55d77ddd52", - "blockNumber": "0x112593f", - "transactionHash": "0xe1eff493ff0ea80e7e2c3057e3e9f72da826fe3297d13765df4dd8562a242a2a", - "transactionIndex": "0x6", - "logIndex": "0x6", + "blockHash": "0x527ce361e30393d706169886f4c279722c0f15f758ca673ccf8c846d7f7c5fcd", + "blockNumber": "0x112ad83", + "transactionHash": "0xf2788fe6073e3b4a5e6ffc7a567279773127200b5aa86c8699d48f6bef8b377f", + "transactionIndex": "0x0", + "logIndex": "0x0", "transactionLogIndex": "0x0", "removed": false } @@ -1935,13 +2204,13 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000800000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x547406d17" + "effectiveGasPrice": "0xbc0e9c1c" }, { - "transactionHash": "0xb4535144e16db1a96a7ac525b179374a4a71d64416135bcfbf712c7bcbf99f01", + "transactionHash": "0xe717adcd28f4545b644128b4021eda57f19dbddc1e60b01c6e36a17cbd772d97", "transactionIndex": "0x0", - "blockHash": "0x8e2b92109625651d0055ce5c869b5d77f2673dc4f55d2c126f03a49645c4d579", - "blockNumber": "0x1125940", + "blockHash": "0xf05920c7b55a5b9140c58f8bf8cbe5a8254d9e588d83b561051a549800fa9146", + "blockNumber": "0x112ad84", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -1957,9 +2226,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x8e2b92109625651d0055ce5c869b5d77f2673dc4f55d2c126f03a49645c4d579", - "blockNumber": "0x1125940", - "transactionHash": "0xb4535144e16db1a96a7ac525b179374a4a71d64416135bcfbf712c7bcbf99f01", + "blockHash": "0xf05920c7b55a5b9140c58f8bf8cbe5a8254d9e588d83b561051a549800fa9146", + "blockNumber": "0x112ad84", + "transactionHash": "0xe717adcd28f4545b644128b4021eda57f19dbddc1e60b01c6e36a17cbd772d97", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1969,16 +2238,16 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080200000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x4e2cdec2b" + "effectiveGasPrice": "0xbae87bf4" }, { - "transactionHash": "0x4fc9df8bc0b8536d67533f0d11b8ee62ce19fc5ae26817f6d515fcc9dce17df6", - "transactionIndex": "0x1", - "blockHash": "0x8e2b92109625651d0055ce5c869b5d77f2673dc4f55d2c126f03a49645c4d579", - "blockNumber": "0x1125940", + "transactionHash": "0x349eb0b5cfc21cc0d51b201cc268616703c5ab8146d184399e6639b82c8d2011", + "transactionIndex": "0x0", + "blockHash": "0x9ad99bbef2732d85da99f3533930ee9ac2bbcff20310271921940122543603ff", + "blockNumber": "0x112ad85", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x28f98", + "cumulativeGasUsed": "0x147cc", "gasUsed": "0x147cc", "contractAddress": null, "logs": [ @@ -1991,11 +2260,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x8e2b92109625651d0055ce5c869b5d77f2673dc4f55d2c126f03a49645c4d579", - "blockNumber": "0x1125940", - "transactionHash": "0x4fc9df8bc0b8536d67533f0d11b8ee62ce19fc5ae26817f6d515fcc9dce17df6", - "transactionIndex": "0x1", - "logIndex": "0x1", + "blockHash": "0x9ad99bbef2732d85da99f3533930ee9ac2bbcff20310271921940122543603ff", + "blockNumber": "0x112ad85", + "transactionHash": "0x349eb0b5cfc21cc0d51b201cc268616703c5ab8146d184399e6639b82c8d2011", + "transactionIndex": "0x0", + "logIndex": "0x0", "transactionLogIndex": "0x0", "removed": false } @@ -2003,48 +2272,105 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000088000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x4e2cdec2b" + "effectiveGasPrice": "0xb9e6eb2a" }, { - "transactionHash": "0x30573d6470849cc6d5aba92f915b1b5e962e8af6101cf9972139baadc2f0b49b", + "transactionHash": "0x6a347e0caf8aaf453dae69d18f90816d49477813030b58a5fa60442104012171", "transactionIndex": "0x0", - "blockHash": "0x72da73b5ebdb898e29baa7b2925434808a227ca3b1f42dd6b3421525e90ac866", - "blockNumber": "0x1125941", + "blockHash": "0x7ec545f41a58dd9ff6fcd2ede8f205db393528c6c64c7ad401cd40e5b47be161", + "blockNumber": "0x112ad86", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x35067b", - "gasUsed": "0x35067b", - "contractAddress": "0xC39f62EC50748D6b05DC0dEf63943efF84E95f98", - "logs": [], + "cumulativeGasUsed": "0x454bc7", + "gasUsed": "0x454bc7", + "contractAddress": "0x773305308C2eDEE9Dbea7C0467953f165328B35D", + "logs": [ + { + "address": "0x773305308C2eDEE9Dbea7C0467953f165328B35D", + "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x7ec545f41a58dd9ff6fcd2ede8f205db393528c6c64c7ad401cd40e5b47be161", + "blockNumber": "0x112ad86", + "transactionHash": "0x6a347e0caf8aaf453dae69d18f90816d49477813030b58a5fa60442104012171", + "transactionIndex": "0x0", + "logIndex": "0x0", + "transactionLogIndex": "0x0", + "removed": false + } + ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000004000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb9055e5d" + }, + { + "transactionHash": "0xd27c61b960e3a1291313786e3ef8d8a4abef6feb319e170c4a9bde554e17df91", + "transactionIndex": "0x0", + "blockHash": "0x1991d860b05949da26f5b62eeee00b3aca8ef40eeeaa831b900f37387747a8ce", + "blockNumber": "0x112ad87", + "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", + "to": null, + "cumulativeGasUsed": "0x34851", + "gasUsed": "0x34851", + "contractAddress": "0xeC32DEF9D46A88CEa86171B4aBfc055c23220163", + "logs": [ + { + "address": "0xeC32DEF9D46A88CEa86171B4aBfc055c23220163", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x000000000000000000000000773305308c2edee9dbea7c0467953f165328b35d" + ], + "data": "0x", + "blockHash": "0x1991d860b05949da26f5b62eeee00b3aca8ef40eeeaa831b900f37387747a8ce", + "blockNumber": "0x112ad87", + "transactionHash": "0xd27c61b960e3a1291313786e3ef8d8a4abef6feb319e170c4a9bde554e17df91", + "transactionIndex": "0x0", + "logIndex": "0x0", + "transactionLogIndex": "0x0", + "removed": false + }, + { + "address": "0xeC32DEF9D46A88CEa86171B4aBfc055c23220163", + "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x1991d860b05949da26f5b62eeee00b3aca8ef40eeeaa831b900f37387747a8ce", + "blockNumber": "0x112ad87", + "transactionHash": "0xd27c61b960e3a1291313786e3ef8d8a4abef6feb319e170c4a9bde554e17df91", + "transactionIndex": "0x0", + "logIndex": "0x1", + "transactionLogIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000002000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080020000000000000100000000080000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x45e4e6ba4" + "effectiveGasPrice": "0xb87ae104" }, { - "transactionHash": "0xddda95c767f1d70021d9718520933b95d4a2574801e84df5c004dd927410cec5", - "transactionIndex": "0x1", - "blockHash": "0x72da73b5ebdb898e29baa7b2925434808a227ca3b1f42dd6b3421525e90ac866", - "blockNumber": "0x1125941", + "transactionHash": "0xc9fef419db5c4c20aaf9ba6247366fc53cbe9fa9b958fa5cc5853a9f05cd7df3", + "transactionIndex": "0x0", + "blockHash": "0xc31d5a1fe49e477bbd9b4474fe6784894538d05eb7daa137aa5313a4db1dbe40", + "blockNumber": "0x112ad88", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x35cf3b", + "cumulativeGasUsed": "0xc8c0", "gasUsed": "0xc8c0", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x45e4e6ba4" + "effectiveGasPrice": "0xb7c82a51" }, { - "transactionHash": "0x6f2ea05e588e753fca1ea3db0dda0ae6d9cd465670ef565a898a9b28fe29c4a5", - "transactionIndex": "0x2", - "blockHash": "0x72da73b5ebdb898e29baa7b2925434808a227ca3b1f42dd6b3421525e90ac866", - "blockNumber": "0x1125941", + "transactionHash": "0xbc7201360c1cbed21a3ad399bb23a58e1657d97248354a832f6dc7be69756109", + "transactionIndex": "0x0", + "blockHash": "0x1dc92ac15f89b58c4cd3f93993311f9948e29525c2f1caf844cfbe4b5e4ec50d", + "blockNumber": "0x112ad89", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x3759d3", + "cumulativeGasUsed": "0x18a98", "gasUsed": "0x18a98", "contractAddress": null, "logs": [ @@ -2057,11 +2383,11 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x72da73b5ebdb898e29baa7b2925434808a227ca3b1f42dd6b3421525e90ac866", - "blockNumber": "0x1125941", - "transactionHash": "0x6f2ea05e588e753fca1ea3db0dda0ae6d9cd465670ef565a898a9b28fe29c4a5", - "transactionIndex": "0x2", - "logIndex": "0x2", + "blockHash": "0x1dc92ac15f89b58c4cd3f93993311f9948e29525c2f1caf844cfbe4b5e4ec50d", + "blockNumber": "0x112ad89", + "transactionHash": "0xbc7201360c1cbed21a3ad399bb23a58e1657d97248354a832f6dc7be69756109", + "transactionIndex": "0x0", + "logIndex": "0x0", "transactionLogIndex": "0x0", "removed": false } @@ -2069,46 +2395,103 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x45e4e6ba4" + "effectiveGasPrice": "0xb729bc37" }, { - "transactionHash": "0x83159efeb7b775f78def86f534fd877d57d7c5c391d0acde99bae78e16849bff", + "transactionHash": "0xe3b99733f79dc0448602da216a8bcca09ee0402f599bdc8562a22ecf32ce5d92", "transactionIndex": "0x0", - "blockHash": "0x1682def530fb81af3e6c6de27502fa8860da1967fcacbee8b61e8fb04f9a0a1e", - "blockNumber": "0x1125942", + "blockHash": "0xaa5a7c37defa442e38b04d2293d1f827dcdd3fe99d5cf837fb421b175f70257c", + "blockNumber": "0x112ad8a", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x395634", - "gasUsed": "0x395634", - "contractAddress": "0x773305308C2eDEE9Dbea7C0467953f165328B35D", - "logs": [], + "cumulativeGasUsed": "0x47f686", + "gasUsed": "0x47f686", + "contractAddress": "0x4b9E41D9bE1A76E9160c73af782012b9868d0cE4", + "logs": [ + { + "address": "0x4b9E41D9bE1A76E9160c73af782012b9868d0cE4", + "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0xaa5a7c37defa442e38b04d2293d1f827dcdd3fe99d5cf837fb421b175f70257c", + "blockNumber": "0x112ad8a", + "transactionHash": "0xe3b99733f79dc0448602da216a8bcca09ee0402f599bdc8562a22ecf32ce5d92", + "transactionIndex": "0x0", + "logIndex": "0x0", + "transactionLogIndex": "0x0", + "removed": false + } + ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080800000010000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x4054c238f" + "effectiveGasPrice": "0xb69f805f" }, { - "transactionHash": "0xb2ce62fe7eb9189267af4d13c0b34faae5e6c63c6dd32121859ef4ccb608ec78", - "transactionIndex": "0x1", - "blockHash": "0x1682def530fb81af3e6c6de27502fa8860da1967fcacbee8b61e8fb04f9a0a1e", - "blockNumber": "0x1125942", + "transactionHash": "0xe9b665bd1ab80e28e6b5e9a276b019dc1adf95a5c5718f33b9bfe793cece2750", + "transactionIndex": "0x0", + "blockHash": "0x08761d447ea5bdef3b6eb5901688ca28d98c14b3244faa036a41f1b15c72e454", + "blockNumber": "0x112ad8b", + "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", + "to": null, + "cumulativeGasUsed": "0x44ec8", + "gasUsed": "0x44ec8", + "contractAddress": "0x5aa6CA888B30105d9b5E42110850CA3Ba2FF7ABd", + "logs": [ + { + "address": "0x5aa6CA888B30105d9b5E42110850CA3Ba2FF7ABd", + "topics": [ + "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "0x0000000000000000000000004b9e41d9be1a76e9160c73af782012b9868d0ce4" + ], + "data": "0x", + "blockHash": "0x08761d447ea5bdef3b6eb5901688ca28d98c14b3244faa036a41f1b15c72e454", + "blockNumber": "0x112ad8b", + "transactionHash": "0xe9b665bd1ab80e28e6b5e9a276b019dc1adf95a5c5718f33b9bfe793cece2750", + "transactionIndex": "0x0", + "logIndex": "0x0", + "transactionLogIndex": "0x0", + "removed": false + }, + { + "address": "0x5aa6CA888B30105d9b5E42110850CA3Ba2FF7ABd", + "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x08761d447ea5bdef3b6eb5901688ca28d98c14b3244faa036a41f1b15c72e454", + "blockNumber": "0x112ad8b", + "transactionHash": "0xe9b665bd1ab80e28e6b5e9a276b019dc1adf95a5c5718f33b9bfe793cece2750", + "transactionIndex": "0x0", + "logIndex": "0x1", + "transactionLogIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000020000000000000000000000000000000001000000400000000000000000000000000000004000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000", + "type": "0x2", + "effectiveGasPrice": "0xb64bef0e" + }, + { + "transactionHash": "0xb9a5353f824400738df31cc90da5dc403273a1ad75df50edab798eec91a89f1a", + "transactionIndex": "0x0", + "blockHash": "0xc9e79ab4cb47ce22d82907a7a3df63d18c25ba70ed28bf25903443172acd4309", + "blockNumber": "0x112ad8c", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x3a1ed4", + "cumulativeGasUsed": "0xc8a0", "gasUsed": "0xc8a0", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x4054c238f" + "effectiveGasPrice": "0xb5de95e2" } ], "libraries": ["src/dollar/libraries/LibCreditNftManager.sol:LibCreditNftManager:0x5d00797f4d5a2eed04d75a8d3cff1721e859b35d"], "pending": [], "returns": {}, - "timestamp": 1692821470, + "timestamp": 1693082257, "chain": 31337, "multi": false, - "commit": "b747d414" + "commit": "b4bcdc0d" } diff --git a/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol b/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol index b71aa0b0e..bb7379b65 100644 --- a/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol +++ b/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol @@ -24,7 +24,7 @@ contract StakingShareScript is CreditScript { ); IStakingShareToken = new StakingShare(); proxyStakingShare = new UupsProxy( - address(stakingShare), + address(IStakingShareToken), manAndUriPayload ); stakingShare = StakingShare(address(proxyStakingShare)); From dbad8e1523ab5dc6d74685b979ae583700ff7595 Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Mon, 4 Sep 2023 21:37:32 +0100 Subject: [PATCH 05/21] fix: ci and init fix fix types script string, excluded oz IAccessControl from types, added one test --- .../contracts/src/dollar/core/CreditNft.sol | 4 - .../src/dollar/core/ERC1155Ubiquity.sol | 3 + .../src/dollar/core/ERC20Ubiquity.sol | 3 + .../src/dollar/core/StakingShare.sol | 2 - .../interfaces/IUbiquityDollarManager.sol | 2 +- .../test/dollar/core/StakingShare.t.sol | 31 +++++ .../test/helpers/DiamondTestHelper.sol | 125 ++++++++++++++++- .../contracts/test/helpers/UupsTestHelper.sol | 126 ------------------ .../components/lib/contracts-shortcuts.ts | 4 +- packages/dapp/package.json | 2 +- 10 files changed, 165 insertions(+), 137 deletions(-) delete mode 100644 packages/contracts/test/helpers/UupsTestHelper.sol diff --git a/packages/contracts/src/dollar/core/CreditNft.sol b/packages/contracts/src/dollar/core/CreditNft.sol index 9bd8630c5..50a0ec9cc 100644 --- a/packages/contracts/src/dollar/core/CreditNft.sol +++ b/packages/contracts/src/dollar/core/CreditNft.sol @@ -67,8 +67,6 @@ contract CreditNft is ERC1155Ubiquity, ICreditNft { function initialize(address _manager) public initializer { __ERC1155Ubiquity_init(_manager, "URI"); - __ERC1155Burnable_init(); - __ERC1155Pausable_init(); _totalOutstandingDebt = 0; } @@ -176,6 +174,4 @@ contract CreditNft is ERC1155Ubiquity, ICreditNft { function _authorizeUpgrade( address newImplementation ) internal override(ERC1155Ubiquity) onlyAdmin {} - - uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol index 3cbd220af..4617ee9b8 100644 --- a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol @@ -91,6 +91,9 @@ contract ERC1155Ubiquity is string memory uri ) public initializer onlyInitializing { __ERC1155_init(uri); + __ERC1155Burnable_init(); + __ERC1155Pausable_init(); + __UUPSUpgradeable_init(); accessControl = IAccessControl(_manager); } diff --git a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol index 6e82c13e8..97301a29c 100644 --- a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol @@ -85,6 +85,7 @@ abstract contract ERC20Ubiquity is __ERC20_init(name_, symbol_); __ERC20Permit_init(name_); __ERC20Pausable_init(); + __UUPSUpgradeable_init(); _symbol = symbol_; accessControl = IAccessControl(_manager); } @@ -275,4 +276,6 @@ abstract contract ERC20Ubiquity is ) public override(ERC20Upgradeable) returns (bool) { return super.transferFrom(sender, recipient, amount); } + + uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/StakingShare.sol b/packages/contracts/src/dollar/core/StakingShare.sol index b143dbafa..fbb14ae0a 100644 --- a/packages/contracts/src/dollar/core/StakingShare.sol +++ b/packages/contracts/src/dollar/core/StakingShare.sol @@ -89,8 +89,6 @@ contract StakingShare is string memory _uri ) public initializer { __ERC1155Ubiquity_init(_manager, _uri); - __ERC1155Burnable_init(); - __ERC1155Pausable_init(); } /** diff --git a/packages/contracts/src/dollar/interfaces/IUbiquityDollarManager.sol b/packages/contracts/src/dollar/interfaces/IUbiquityDollarManager.sol index 92b5603c2..b1d73b95b 100644 --- a/packages/contracts/src/dollar/interfaces/IUbiquityDollarManager.sol +++ b/packages/contracts/src/dollar/interfaces/IUbiquityDollarManager.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: Apache-2.0 pragma solidity 0.8.19; -import "@openzeppelin/contracts/access/IAccessControl.sol"; +import "./IAccessControl.sol"; /** * @notice Interface for setting protocol parameters diff --git a/packages/contracts/test/dollar/core/StakingShare.t.sol b/packages/contracts/test/dollar/core/StakingShare.t.sol index 5e64321c9..7476b6227 100644 --- a/packages/contracts/test/dollar/core/StakingShare.t.sol +++ b/packages/contracts/test/dollar/core/StakingShare.t.sol @@ -7,6 +7,12 @@ import {IMetaPool} from "../../../src/dollar/interfaces/IMetaPool.sol"; import {StakingShare} from "../../../src/dollar/core/StakingShare.sol"; import "../../../src/dollar/libraries/Constants.sol"; +contract StakingShareOneChange is StakingShare { + function hasUpgraded() public pure returns (bool) { + return true; + } +} + contract DepositStakingShare is LocalTestHelper { address treasury = address(0x3); address secondAccount = address(0x4); @@ -382,4 +388,29 @@ contract StakingShareTest is DepositStakingShare { vm.prank(fifthAccount); stakingShare.setUri(1, stringTest); } + + function testUUPS_ShouldUpgradeAndCall() external { + StakingShareOneChange stakingShareOneChange = new StakingShareOneChange(); + + string + memory uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; + + vm.startPrank(admin); + bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); + + (bool success, ) = address(IStakingShareToken).call(hasUpgradedCall); + assertEq(success, false, "should not have upgraded yet"); + require(success == false, "should not have upgraded yet"); + + IStakingShareToken.upgradeTo(address(stakingShareOneChange)); + + (success, ) = address(IStakingShareToken).call(hasUpgradedCall); + assertEq(success, true, "should have upgraded"); + require(success == true, "should have upgraded"); + + vm.expectRevert(); + IStakingShareToken.initialize(address(diamond), uri); + + vm.stopPrank(); + } } diff --git a/packages/contracts/test/helpers/DiamondTestHelper.sol b/packages/contracts/test/helpers/DiamondTestHelper.sol index c67713ec7..5a5e7f603 100644 --- a/packages/contracts/test/helpers/DiamondTestHelper.sol +++ b/packages/contracts/test/helpers/DiamondTestHelper.sol @@ -1,11 +1,134 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; +import {UupsProxy} from "./UupsProxy.sol"; +import {UbiquityGovernanceToken} from "../../src/dollar/core/UbiquityGovernanceToken.sol"; +import {UbiquityDollarToken} from "../../src/dollar/core/UbiquityDollarToken.sol"; +import {UbiquityCreditToken} from "../../src/dollar/core/UbiquityCreditToken.sol"; +import {StakingShare} from "../../src/dollar/core/StakingShare.sol"; +import {CreditNft} from "../../src/dollar/core/CreditNft.sol"; +import {ManagerFacet} from "../../src/dollar/facets/ManagerFacet.sol"; +import {AccessControlFacet} from "../../src/dollar/facets/AccessControlFacet.sol"; +import {ERC1155Ubiquity} from "../../src/dollar/core/ERC1155Ubiquity.sol"; +import "../../src/dollar/libraries/Constants.sol"; +import "forge-std/Test.sol"; + import "forge-std/Test.sol"; import "forge-std/Vm.sol"; import "../../src/dollar/interfaces/IDiamondCut.sol"; import "../../src/dollar/interfaces/IDiamondLoupe.sol"; -import {UupsTestHelper} from "../helpers/UupstestHelper.sol"; + +contract UupsTestHelper { + CreditNft public creditNft; + StakingShare public stakingShare; + ERC1155Ubiquity public uStakingShareV1; + UbiquityCreditToken public uCreditToken; + UbiquityDollarToken public uDollarToken; + UbiquityGovernanceToken public uGovToken; + ERC1155Ubiquity public ubiquiStick; + + CreditNft public IUbiquityNft; + StakingShare public IStakingShareToken; + UbiquityCreditToken public creditToken; + UbiquityDollarToken public IDollar; + UbiquityGovernanceToken public IGovToken; + ERC1155Ubiquity public IUbiquiStick; + ERC1155Ubiquity public stakingShareV1; + + UupsProxy public proxyCreditNft; + UupsProxy public proxyStakingShare; + UupsProxy public proxyUCreditToken; + UupsProxy public proxyUDollarToken; + UupsProxy public proxyUGovToken; + UupsProxy public proxyUbiquiStick; + UupsProxy public proxyStakingShareV1; + + ManagerFacet iManager; + AccessControlFacet IAccessControl; + + function __setupUUPS(address manager) public { + iManager = ManagerFacet(manager); + IAccessControl = AccessControlFacet(manager); + string + memory uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; + + bytes memory managerPayload = abi.encodeWithSignature( + "initialize(address)", + manager + ); + bytes memory manAndUriPayload = abi.encodeWithSignature( + "initialize(address,string)", + manager, + uri + ); + + creditNft = new CreditNft(); + proxyCreditNft = new UupsProxy(address(creditNft), managerPayload); + IUbiquityNft = CreditNft(address(proxyCreditNft)); + + stakingShare = new StakingShare(); + proxyStakingShare = new UupsProxy( + address(stakingShare), + manAndUriPayload + ); + IStakingShareToken = StakingShare(address(proxyStakingShare)); + + uCreditToken = new UbiquityCreditToken(); + proxyUCreditToken = new UupsProxy( + address(uCreditToken), + managerPayload + ); + creditToken = UbiquityCreditToken(address(proxyUCreditToken)); + + uDollarToken = new UbiquityDollarToken(); + proxyUDollarToken = new UupsProxy( + address(uDollarToken), + managerPayload + ); + IDollar = UbiquityDollarToken(address(proxyUDollarToken)); + + uGovToken = new UbiquityGovernanceToken(); + proxyUGovToken = new UupsProxy(address(uGovToken), managerPayload); + IGovToken = UbiquityGovernanceToken(address(proxyUGovToken)); + + bytes memory ubq1155Payload = abi.encodeWithSignature( + "__ERC1155Ubiquity_init(address,string)", + manager, + uri + ); + + ubiquiStick = new ERC1155Ubiquity(); + proxyUbiquiStick = new UupsProxy(address(ubiquiStick), ubq1155Payload); + IUbiquiStick = ERC1155Ubiquity(address(proxyUbiquiStick)); + + uStakingShareV1 = new ERC1155Ubiquity(); + proxyStakingShareV1 = new UupsProxy( + address(uStakingShareV1), + ubq1155Payload + ); + stakingShareV1 = ERC1155Ubiquity(address(proxyStakingShareV1)); + + iManager.setUbiquistickAddress(address(IUbiquiStick)); + iManager.setStakingShareAddress(address(IStakingShareToken)); + iManager.setCreditTokenAddress(address(creditToken)); + iManager.setDollarTokenAddress(address(IDollar)); + iManager.setGovernanceTokenAddress(address(IGovToken)); + iManager.setCreditNftAddress(address(IUbiquityNft)); + // grant diamond dollar minting and burning rights + IAccessControl.grantRole(DOLLAR_TOKEN_MINTER_ROLE, address(manager)); + IAccessControl.grantRole(DOLLAR_TOKEN_BURNER_ROLE, address(manager)); + // grand diamond Credit token minting and burning rights + IAccessControl.grantRole(CREDIT_TOKEN_MINTER_ROLE, address(manager)); + IAccessControl.grantRole(CREDIT_TOKEN_BURNER_ROLE, address(manager)); + // grant diamond token admin rights + IAccessControl.grantRole( + GOVERNANCE_TOKEN_MANAGER_ROLE, + address(manager) + ); + // grant diamond token minter rights + IAccessControl.grantRole(STAKING_SHARE_MINTER_ROLE, address(manager)); + } +} contract DiamondTestHelper is IDiamondCut, IDiamondLoupe, UupsTestHelper, Test { uint256 private seed; diff --git a/packages/contracts/test/helpers/UupsTestHelper.sol b/packages/contracts/test/helpers/UupsTestHelper.sol deleted file mode 100644 index 6ab43ae65..000000000 --- a/packages/contracts/test/helpers/UupsTestHelper.sol +++ /dev/null @@ -1,126 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.19; - -import {UupsProxy} from "./UupsProxy.sol"; -import {UbiquityGovernanceToken} from "../../src/dollar/core/UbiquityGovernanceToken.sol"; -import {UbiquityDollarToken} from "../../src/dollar/core/UbiquityDollarToken.sol"; -import {UbiquityCreditToken} from "../../src/dollar/core/UbiquityCreditToken.sol"; -import {StakingShare} from "../../src/dollar/core/StakingShare.sol"; -import {CreditNft} from "../../src/dollar/core/CreditNft.sol"; -import {ManagerFacet} from "../../src/dollar/facets/ManagerFacet.sol"; -import {AccessControlFacet} from "../../src/dollar/facets/AccessControlFacet.sol"; -import {ERC1155Ubiquity} from "../../src/dollar/core/ERC1155Ubiquity.sol"; -import "../../src/dollar/libraries/Constants.sol"; -import "forge-std/Test.sol"; - -contract UupsTestHelper { - CreditNft public creditNft; - StakingShare public stakingShare; - ERC1155Ubiquity public uStakingShareV1; - UbiquityCreditToken public uCreditToken; - UbiquityDollarToken public uDollarToken; - UbiquityGovernanceToken public uGovToken; - ERC1155Ubiquity public ubiquiStick; - - CreditNft public IUbiquityNft; - StakingShare public IStakingShareToken; - UbiquityCreditToken public creditToken; - UbiquityDollarToken public IDollar; - UbiquityGovernanceToken public IGovToken; - ERC1155Ubiquity public IUbiquiStick; - ERC1155Ubiquity public stakingShareV1; - - UupsProxy public proxyCreditNft; - UupsProxy public proxyStakingShare; - UupsProxy public proxyUCreditToken; - UupsProxy public proxyUDollarToken; - UupsProxy public proxyUGovToken; - UupsProxy public proxyUbiquiStick; - UupsProxy public proxyStakingShareV1; - - ManagerFacet iManager; - AccessControlFacet IAccessControl; - - function __setupUUPS(address manager) public { - iManager = ManagerFacet(manager); - IAccessControl = AccessControlFacet(manager); - string - memory uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; - - bytes memory managerPayload = abi.encodeWithSignature( - "initialize(address)", - manager - ); - bytes memory manAndUriPayload = abi.encodeWithSignature( - "initialize(address,string)", - manager, - uri - ); - - creditNft = new CreditNft(); - proxyCreditNft = new UupsProxy(address(creditNft), managerPayload); - IUbiquityNft = CreditNft(address(proxyCreditNft)); - - stakingShare = new StakingShare(); - proxyStakingShare = new UupsProxy( - address(stakingShare), - manAndUriPayload - ); - IStakingShareToken = StakingShare(address(proxyStakingShare)); - - uCreditToken = new UbiquityCreditToken(); - proxyUCreditToken = new UupsProxy( - address(uCreditToken), - managerPayload - ); - creditToken = UbiquityCreditToken(address(proxyUCreditToken)); - - uDollarToken = new UbiquityDollarToken(); - proxyUDollarToken = new UupsProxy( - address(uDollarToken), - managerPayload - ); - IDollar = UbiquityDollarToken(address(proxyUDollarToken)); - - uGovToken = new UbiquityGovernanceToken(); - proxyUGovToken = new UupsProxy(address(uGovToken), managerPayload); - IGovToken = UbiquityGovernanceToken(address(proxyUGovToken)); - - bytes memory ubq1155Payload = abi.encodeWithSignature( - "__ERC1155Ubiquity_init(address,string)", - manager, - uri - ); - - ubiquiStick = new ERC1155Ubiquity(); - proxyUbiquiStick = new UupsProxy(address(ubiquiStick), ubq1155Payload); - IUbiquiStick = ERC1155Ubiquity(address(proxyUbiquiStick)); - - uStakingShareV1 = new ERC1155Ubiquity(); - proxyStakingShareV1 = new UupsProxy( - address(uStakingShareV1), - ubq1155Payload - ); - stakingShareV1 = ERC1155Ubiquity(address(proxyStakingShareV1)); - - iManager.setUbiquistickAddress(address(IUbiquiStick)); - iManager.setStakingShareAddress(address(IStakingShareToken)); - iManager.setCreditTokenAddress(address(creditToken)); - iManager.setDollarTokenAddress(address(IDollar)); - iManager.setGovernanceTokenAddress(address(IGovToken)); - iManager.setCreditNftAddress(address(IUbiquityNft)); - // grant diamond dollar minting and burning rights - IAccessControl.grantRole(DOLLAR_TOKEN_MINTER_ROLE, address(manager)); - IAccessControl.grantRole(DOLLAR_TOKEN_BURNER_ROLE, address(manager)); - // grand diamond Credit token minting and burning rights - IAccessControl.grantRole(CREDIT_TOKEN_MINTER_ROLE, address(manager)); - IAccessControl.grantRole(CREDIT_TOKEN_BURNER_ROLE, address(manager)); - // grant diamond token admin rights - IAccessControl.grantRole( - GOVERNANCE_TOKEN_MANAGER_ROLE, - address(manager) - ); - // grant diamond token minter rights - IAccessControl.grantRole(STAKING_SHARE_MINTER_ROLE, address(manager)); - } -} diff --git a/packages/dapp/components/lib/contracts-shortcuts.ts b/packages/dapp/components/lib/contracts-shortcuts.ts index ad83ebc70..c1078e25f 100644 --- a/packages/dapp/components/lib/contracts-shortcuts.ts +++ b/packages/dapp/components/lib/contracts-shortcuts.ts @@ -1,5 +1,5 @@ import { BigNumber, ethers } from "ethers"; -import { ERC1155, ERC20 } from "types"; +import { ERC1155Ubiquity, ERC20 } from "types"; import { performTransaction } from "./utils"; @@ -25,7 +25,7 @@ export async function ensureERC20Allowance( return true; } -export async function ensureERC1155Allowance(logName: string, contract: ERC1155, signer: ethers.providers.JsonRpcSigner, spender: string): Promise { +export async function ensureERC1155Allowance(logName: string, contract: ERC1155Ubiquity, signer: ethers.providers.JsonRpcSigner, spender: string): Promise { const signerAddress = await signer.getAddress(); const isAllowed = await contract.isApprovedForAll(signerAddress, spender); console.log(`${logName} isAllowed: `, isAllowed); diff --git a/packages/dapp/package.json b/packages/dapp/package.json index e3542a928..172f5d441 100644 --- a/packages/dapp/package.json +++ b/packages/dapp/package.json @@ -12,7 +12,7 @@ "start": "next dev", "clean": "rimraf next types node_modules", "build:next": "next build", - "build:types": "typechain --show-stack-traces --target ethers-v5 ../contracts/out/**/!(test*|Test*|*.t.sol|*.s.sol)/*.json --out-dir=types" + "build:types": "typechain --show-stack-traces --target ethers-v5 '../contracts/out/**/!(test*|Test*||*.t.sol|*.s.sol|access*)/**/!(*IAccessControl).json' --out-dir types" }, "devDependencies": { "@ethersproject/abi": "^5.0.0", From e240abbb89f01b0afff4ceb64117f47d34f8bb7c Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Tue, 5 Sep 2023 21:06:40 +0100 Subject: [PATCH 06/21] fix: natspec and refactor comments, ERC1967Proxy and authUpgrade --- .../31337/run-latest.json | 948 +++++++++--------- .../02_UbiquityDollarToken.s.sol | 20 +- .../03_UbiquityGovernanceToken.s.sol | 17 +- .../solidityScripting/04_UbiquityCredit.s.sol | 26 +- .../solidityScripting/05_StakingShare.s.sol | 9 +- .../contracts/src/dollar/core/CreditNft.sol | 14 +- .../src/dollar/core/ERC1155Ubiquity.sol | 20 +- .../src/dollar/core/ERC20Ubiquity.sol | 31 +- .../src/dollar/core/StakingShare.sol | 18 +- .../src/dollar/core/UbiquityCreditToken.sol | 20 +- .../src/dollar/core/UbiquityDollarToken.sol | 20 +- .../dollar/core/UbiquityGovernanceToken.sol | 20 +- .../test/helpers/DiamondTestHelper.sol | 33 +- packages/contracts/test/helpers/UupsProxy.sol | 11 - 14 files changed, 588 insertions(+), 619 deletions(-) delete mode 100644 packages/contracts/test/helpers/UupsProxy.sol diff --git a/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json b/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json index c13a1eab0..ff00ce539 100644 --- a/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json +++ b/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json @@ -1,7 +1,7 @@ { "transactions": [ { - "hash": "0x8d7ac90d92039a6ee99b202d609d94f3460ebe8730c606c90fb32f77c8d498ea", + "hash": "0x0ddf078fffbf881f3f8d4ae32f1dca62bb871d480e8855905d911f31e8056fb1", "transactionType": "CREATE", "contractName": "LibCreditNftManager", "contractAddress": "0x5D00797F4d5A2eED04D75a8D3Cff1721E859b35d", @@ -11,7 +11,7 @@ "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x1ecfee", - "data": "0x611b6161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100715760003560e01c80635469bff11161005a5780635469bff1146100bf578063b5a3ff87146100df578063efa0982f146100ff57600080fd5b80630d65f47f146100765780632565aa42146100a8575b600080fd5b81801561008257600080fd5b50610096610091366004611a1e565b61011f565b60405190815260200160405180910390f35b8180156100b457600080fd5b506100bd6108b1565b005b8180156100cb57600080fd5b506100966100da366004611a1e565b610d00565b8180156100eb57600080fd5b506100966100fa366004611a1e565b610fdd565b81801561010b57600080fd5b5061009661011a366004611a40565b6113b3565b60008061012a611827565b9050670de0b6b3a764000081116101c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5072696365206d7573742062652061626f7665203120746f2072656465656d2060448201527f437265646974204e46540000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101d0611851565b6004015460ff16156102175760006101e6611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b60025460009073ffffffffffffffffffffffffffffffffffffffff1643861161029c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101879052859073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611a59565b1015610399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6103a16108b1565b600e82015460018301546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff928316929091169081906370a0823190602401602060405180830381865afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190611a59565b8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104af9190611a59565b111561053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f5468657265206172656e277420656e6f75676820446f6c6c617220746f20726560448201527f6465656d2063757272656e746c7900000000000000000000000000000000000060648201526084016101bf565b60008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae9190611a59565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015610618573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063c9190611a59565b6106469190611aa1565b905087818111156106545750805b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa1580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e59190611a59565b11610772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f5468657265206172656e277420616e7920446f6c6c617220746f20726564656560448201527f6d2063757272656e746c7900000000000000000000000000000000000000000060648201526084016101bf565b6040517ffd7fc16500000000000000000000000000000000000000000000000000000000815233600482015260248101829052604481018b905273ffffffffffffffffffffffffffffffffffffffff86169063fd7fc16590606401600060405180830381600087803b1580156107e757600080fd5b505af11580156107fb573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af1158015610872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108969190611ab4565b506108a1818a611aa1565b9750505050505050505b92915050565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b15801561091f57600080fd5b505af1158015610933573d6000803e3d6000fd5b5050505060003073ffffffffffffffffffffffffffffffffffffffff1663764263cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a89190611a59565b905060006109b4611851565b546109bf9083611aa1565b9050816109ca611851565b5560018401546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b158015610a4157600080fd5b505af1158015610a55573d6000803e3d6000fd5b50505050600e8501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91821691600091908416906370a0823190602401602060405180830381865afa158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af49190611a59565b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611a59565b8773ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd69190611a59565b610be09190611add565b905080821115610cf6576000610bf68284611aa1565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815230600482018190526024820183905291925073ffffffffffffffffffffffffffffffffffffffff87169063a9059cbb906044016020604051808303816000875af1158015610c6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c929190611ab4565b508073ffffffffffffffffffffffffffffffffffffffff1663651156bc6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cdb57600080fd5b505af1158015610cef573d6000803e3d6000fd5b5050505050505b5050505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff1643841115610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f437265646974204e465420686173206e6f74206578706972656400000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa158015610df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1b9190611a59565b1015610e83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b158015610ef857600080fd5b505af1158015610f0c573d6000803e3d6000fd5b505050506000610f1a600090565b600a015473ffffffffffffffffffffffffffffffffffffffff169050610f3e611851565b60030154610f4c9085611af0565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810182905290935073ffffffffffffffffffffffffffffffffffffffff8216906340c10f1990604401600060405180830381600087803b158015610fbd57600080fd5b505af1158015610fd1573d6000803e3d6000fd5b50505050505092915050565b60025460009073ffffffffffffffffffffffffffffffffffffffff16428411611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190611a59565b101561115f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b5050505060006111f6600090565b600e01546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810186905273ffffffffffffffffffffffffffffffffffffffff909116915081906340c10f1990604401600060405180830381600087803b15801561126c57600080fd5b505af1158015611280573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810187905273ffffffffffffffffffffffffffffffffffffffff8416925063a9059cbb91506044016020604051808303816000875af11580156112f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131b9190611ab4565b506040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8216906370a0823190602401602060405180830381865afa158015611386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113aa9190611a59565b95945050505050565b6000806113be611827565b9050670de0b6b3a76400008111611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5072696365206d7573742062652061626f76652031000000000000000000000060448201526064016101bf565b611439611851565b6004015460ff161561148057600061144f611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b600080600e01546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091169150849082906370a0823190602401602060405180830381865afa1580156114f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151b9190611a59565b10156115a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f5573657220646f65736e2774206861766520656e6f756768204372656469742060448201527f706f6f6c20746f6b656e732e000000000000000000000000000000000000000060648201526084016101bf565b600080600101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015611621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116459190611a59565b9050600081116116e8576116576108b1565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e59190611a59565b90505b85818111156116f45750805b6040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff8516906379cc679090604401600060405180830381600087803b15801561176257600080fd5b505af1158015611776573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af11580156117ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118119190611ab4565b5061181c8188611aa1565b979650505050505050565b600061184c816001015473ffffffffffffffffffffffffffffffffffffffff1661187f565b905090565b6000806108ab60017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297611aa1565b60008061188a6119f0565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116118f3575050505050815250509050611919600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361194957806040015191506119ea565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016101bf565b806060015191505b50919050565b6000806108ab60017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628611aa1565b60008060408385031215611a3157600080fd5b50508035926020909101359150565b600060208284031215611a5257600080fd5b5035919050565b600060208284031215611a6b57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156108ab576108ab611a72565b600060208284031215611ac657600080fd5b81518015158114611ad657600080fd5b9392505050565b808201808211156108ab576108ab611a72565b600082611b26577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220f99df3f569b8696e10e378fb37eb36498c79605ccd07422bbe69adf5bc27ad8464736f6c63430008130033", + "data": "0x611b6161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100715760003560e01c80635469bff11161005a5780635469bff1146100bf578063b5a3ff87146100df578063efa0982f146100ff57600080fd5b80630d65f47f146100765780632565aa42146100a8575b600080fd5b81801561008257600080fd5b50610096610091366004611a1e565b61011f565b60405190815260200160405180910390f35b8180156100b457600080fd5b506100bd6108b1565b005b8180156100cb57600080fd5b506100966100da366004611a1e565b610d00565b8180156100eb57600080fd5b506100966100fa366004611a1e565b610fdd565b81801561010b57600080fd5b5061009661011a366004611a40565b6113b3565b60008061012a611827565b9050670de0b6b3a764000081116101c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5072696365206d7573742062652061626f7665203120746f2072656465656d2060448201527f437265646974204e46540000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101d0611851565b6004015460ff16156102175760006101e6611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b60025460009073ffffffffffffffffffffffffffffffffffffffff1643861161029c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101879052859073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611a59565b1015610399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6103a16108b1565b600e82015460018301546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff928316929091169081906370a0823190602401602060405180830381865afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190611a59565b8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104af9190611a59565b111561053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f5468657265206172656e277420656e6f75676820446f6c6c617220746f20726560448201527f6465656d2063757272656e746c7900000000000000000000000000000000000060648201526084016101bf565b60008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae9190611a59565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015610618573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063c9190611a59565b6106469190611aa1565b905087818111156106545750805b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa1580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e59190611a59565b11610772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f5468657265206172656e277420616e7920446f6c6c617220746f20726564656560448201527f6d2063757272656e746c7900000000000000000000000000000000000000000060648201526084016101bf565b6040517ffd7fc16500000000000000000000000000000000000000000000000000000000815233600482015260248101829052604481018b905273ffffffffffffffffffffffffffffffffffffffff86169063fd7fc16590606401600060405180830381600087803b1580156107e757600080fd5b505af11580156107fb573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af1158015610872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108969190611ab4565b506108a1818a611aa1565b9750505050505050505b92915050565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b15801561091f57600080fd5b505af1158015610933573d6000803e3d6000fd5b5050505060003073ffffffffffffffffffffffffffffffffffffffff1663764263cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a89190611a59565b905060006109b4611851565b546109bf9083611aa1565b9050816109ca611851565b5560018401546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b158015610a4157600080fd5b505af1158015610a55573d6000803e3d6000fd5b50505050600e8501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91821691600091908416906370a0823190602401602060405180830381865afa158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af49190611a59565b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611a59565b8773ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd69190611a59565b610be09190611add565b905080821115610cf6576000610bf68284611aa1565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815230600482018190526024820183905291925073ffffffffffffffffffffffffffffffffffffffff87169063a9059cbb906044016020604051808303816000875af1158015610c6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c929190611ab4565b508073ffffffffffffffffffffffffffffffffffffffff1663651156bc6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cdb57600080fd5b505af1158015610cef573d6000803e3d6000fd5b5050505050505b5050505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff1643841115610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f437265646974204e465420686173206e6f74206578706972656400000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa158015610df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1b9190611a59565b1015610e83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b158015610ef857600080fd5b505af1158015610f0c573d6000803e3d6000fd5b505050506000610f1a600090565b600a015473ffffffffffffffffffffffffffffffffffffffff169050610f3e611851565b60030154610f4c9085611af0565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810182905290935073ffffffffffffffffffffffffffffffffffffffff8216906340c10f1990604401600060405180830381600087803b158015610fbd57600080fd5b505af1158015610fd1573d6000803e3d6000fd5b50505050505092915050565b60025460009073ffffffffffffffffffffffffffffffffffffffff16428411611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190611a59565b101561115f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b5050505060006111f6600090565b600e01546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810186905273ffffffffffffffffffffffffffffffffffffffff909116915081906340c10f1990604401600060405180830381600087803b15801561126c57600080fd5b505af1158015611280573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810187905273ffffffffffffffffffffffffffffffffffffffff8416925063a9059cbb91506044016020604051808303816000875af11580156112f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131b9190611ab4565b506040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8216906370a0823190602401602060405180830381865afa158015611386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113aa9190611a59565b95945050505050565b6000806113be611827565b9050670de0b6b3a76400008111611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5072696365206d7573742062652061626f76652031000000000000000000000060448201526064016101bf565b611439611851565b6004015460ff161561148057600061144f611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b600080600e01546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091169150849082906370a0823190602401602060405180830381865afa1580156114f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151b9190611a59565b10156115a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f5573657220646f65736e2774206861766520656e6f756768204372656469742060448201527f706f6f6c20746f6b656e732e000000000000000000000000000000000000000060648201526084016101bf565b600080600101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015611621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116459190611a59565b9050600081116116e8576116576108b1565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e59190611a59565b90505b85818111156116f45750805b6040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff8516906379cc679090604401600060405180830381600087803b15801561176257600080fd5b505af1158015611776573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af11580156117ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118119190611ab4565b5061181c8188611aa1565b979650505050505050565b600061184c816001015473ffffffffffffffffffffffffffffffffffffffff1661187f565b905090565b6000806108ab60017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297611aa1565b60008061188a6119f0565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116118f3575050505050815250509050611919600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361194957806040015191506119ea565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016101bf565b806060015191505b50919050565b6000806108ab60017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628611aa1565b60008060408385031215611a3157600080fd5b50508035926020909101359150565b600060208284031215611a5257600080fd5b5035919050565b600060208284031215611a6b57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156108ab576108ab611a72565b600060208284031215611ac657600080fd5b81518015158114611ad657600080fd5b9392505050565b808201808211156108ab576108ab611a72565b600082611b26577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220e1538f760459353b0dda49a46d78bd29d86eb2090e342f8bfd2a7237e181569a64736f6c63430008130033", "nonce": "0x0", "accessList": [] }, @@ -19,7 +19,7 @@ "isFixedGasLimit": false }, { - "hash": "0xc7712623c9e0b7386ca338927a980e797a7e7a0ec23a9253fb66da5e582c4737", + "hash": "0x5b4d77cd8129d5f46124c6277e3caa85789332d9ff15ce6ed34765c2bbd045f8", "transactionType": "CREATE", "contractName": "DiamondCutFacet", "contractAddress": "0xd20b46190da9B273a12E59895cF8a750C25541CC", @@ -38,7 +38,7 @@ "isFixedGasLimit": false }, { - "hash": "0xb51f68cdb993a5ab18e109a3bb608080f373ddf1a2a5811bd49a656f4d434bff", + "hash": "0x9932d38d2d7d37d29639983166a6df31d604986d94758c463f27d3e49be9b969", "transactionType": "CREATE", "contractName": "DiamondLoupeFacet", "contractAddress": "0x1f0BFD4230e54c8089A7Fc59c9090Fcb40C1cBdC", @@ -57,7 +57,7 @@ "isFixedGasLimit": false }, { - "hash": "0x233110775389f1929b9ba6c4c438100a1cabe43c064a7d0caa880540e2be8638", + "hash": "0x8a0e1216e059ede35fff12670fc5cb1a4e9b9f70c0e2a8727fcff407aeba199f", "transactionType": "CREATE", "contractName": "OwnershipFacet", "contractAddress": "0x1289805419dc74bcdeE5D4a06606444E9f1474Ed", @@ -76,7 +76,7 @@ "isFixedGasLimit": false }, { - "hash": "0xa4ba9888f9a3493123dab5a339c5455b4db751d37702dce73000233e53113444", + "hash": "0x91962b95263ca0b040ae512a975430f973f3e1b0a0c2efaf7b1cbd7a9156b4a2", "transactionType": "CREATE", "contractName": "ManagerFacet", "contractAddress": "0x4e037B9A8Ce977462DA4E10Fc164363C827abfc6", @@ -95,7 +95,7 @@ "isFixedGasLimit": false }, { - "hash": "0xf856befedd7f6a1fd6881f1f69e2191515cbb8f168e3a110ddc3e4ce9d60d6e4", + "hash": "0x8bd5e9e95f62f1f702722e048a6d96c16d8a6e8bde2e78de2909583a560ac8d5", "transactionType": "CREATE", "contractName": "AccessControlFacet", "contractAddress": "0x58de01A211b2477ce1393c5512bF6089eFc59c25", @@ -114,7 +114,7 @@ "isFixedGasLimit": false }, { - "hash": "0xbbd0b7aaa0f84b2190897b58774b602d59dbbd177d39c2f6548255bb93c805e9", + "hash": "0x0a99ed844a4cffcc6941f8b03ffb564cce5363cb25291489e08923a43163b0db", "transactionType": "CREATE", "contractName": "TWAPOracleDollar3poolFacet", "contractAddress": "0xd7d3E9c9BC05aBA6B9AE47b27aD18d83e441BF32", @@ -133,7 +133,7 @@ "isFixedGasLimit": false }, { - "hash": "0x1f62a6d07635b705897675100cf72c97031afdb4f010f64c6aa089e2d5b5aca7", + "hash": "0x2dfae46114a17297bf70418ad6425bf91ba15772047ce672d1635508675678cd", "transactionType": "CREATE", "contractName": "CollectableDustFacet", "contractAddress": "0x635caB41ff7b3b2FA5ebE9518129947a563719B6", @@ -152,7 +152,7 @@ "isFixedGasLimit": false }, { - "hash": "0x09b118c4247175ded7d642aa5ee8ae106e8a5bda71b65cd0922f70136c035f20", + "hash": "0xf347505a6f015af4f848f214b5bd614a037e9cbf4ead9d99f48e8d40f3430ade", "transactionType": "CREATE", "contractName": "ChefFacet", "contractAddress": "0x119E315502b87e67F1bc98577c735A3518eA47da", @@ -163,7 +163,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x2aac9d", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b5061265c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80635f3acd8e1161008157806378b3139b1161005b57806378b3139b14610184578063c0d8012c14610197578063ed7662ee146101aa57600080fd5b80635f3acd8e14610154578063702f01ee1461015c578063776a3bb51461017c57600080fd5b80633cf78574116100b25780633cf785741461011957806345889bd71461012c578063537bb5dc1461014157600080fd5b806316f0115b146100d957806321933933146100fb5780633a98ef3914610111575b600080fd5b6100e16101b2565b604080519283526020830191909152015b60405180910390f35b6101036101d1565b6040519081526020016100f2565b6101036101e0565b61010361012736600461240b565b6101ea565b61013f61013a36600461240b565b6101fb565b005b61013f61014f36600461240b565b6102c2565b610103610381565b61016f61016a36600461240b565b61038b565b6040516100f29190612424565b61010361039c565b61013f61019236600461240b565b6103a6565b6101036101a536600461240b565b610465565b610103610470565b60008060006101bf61047a565b80516020909101519094909350915050565b60006101db6104b7565b905090565b60006101db6104ca565b60006101f5826104dd565b92915050565b6102257f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b6102b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102bf816105de565b50565b6102ec7f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b610378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf81610616565b60006101db610626565b6103936123ed565b6101f582610639565b60006101db61068d565b6103d07f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b61045c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf8161069d565b60006101f5826106d8565b60006101db610873565b6040805180820190915260008082526020820152610496610886565b60408051808201909152600582015481526006909101546020820152919050565b60006104c1610886565b60020154905090565b60006104d4610886565b60080154905090565b6000806104e8610886565b60008481526007820160205260409020600682015460058301549293509091431180156105185750600883015415155b1561057e5760006105276108b4565b90506000670de0b6b3a76400008560000154836105449190612484565b61054e91906124ca565b60088601549091506105658264e8d4a51000612484565b61056f91906124ca565b6105799084612505565b925050505b6001820154825464e8d4a5100090610597908490612484565b6105a191906124ca565b6105ab9190612518565b95945050505050565b60006105d7826105c26108f1565b6000868152602091909152604090209061091f565b9392505050565b806105e7610886565b5560405181907ff913a361162eb00fb61dab047a285c02886f428329a3972518dd371ac3aa4af390600090a250565b8061061f610886565b6004015550565b6000610630610886565b60010154905090565b6106416123ed565b600061064b610886565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b6000610697610886565b54919050565b806106a6610886565b6002015560405181907fee9ca614114d0b14b7c182d61fbc2e9aed69823d5f4a3a6436f95da3a6d0a82490600090a250565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff9091169062fdd58e90604401602060405180830381865afa15801561074f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610773919061252b565b6001146107dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d533a2063616c6c6572206973206e6f74206f776e657200000000000000000060448201526064016102ad565b60006107e6610886565b6000848152600782016020526040902090915061080161094e565b6001810154600683015482546000929164e8d4a51000916108229190612484565b61082c91906124ca565b6108369190612518565b90506108423382610b4d565b6006830154825464e8d4a510009161085991612484565b61086391906124ca565b6001909201919091559392505050565b600061087d610886565b60040154905090565b6000806101f560017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612518565b6000806108bf610886565b60050154905060006108cf610886565b600101549050806108e08343612518565b6108ea9190612484565b9250505090565b6000806101f560017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612518565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156105d7565b6000610958610886565b60058101805491925090431161096c575050565b610974610c40565b81600801546000036109865743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109b06108b4565b90506000670de0b6b3a76400008660000154836109cd9190612484565b6109d791906124ca565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a4857600080fd5b505af1158015610a5c573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a8d91906124ca565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610af857600080fd5b505af1158015610b0c573d6000803e3d6000fd5b505050506008860154610b248264e8d4a51000612484565b610b2e91906124ca565b8560010154610b3d9190612505565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061252b565b905080831115610c1957610c1473ffffffffffffffffffffffffffffffffffffffff83168583610cc1565b610c3a565b610c3a73ffffffffffffffffffffffffffffffffffffffff83168585610cc1565b50505050565b6000610c4a610886565b90506000610c56610d4e565b905060008260030154821115610c825760028301546003840154610c7a9084612518565b119050610c9b565b8260020154828460030154610c979190612518565b1190505b8015610cbc57610caf836001015483610d73565b6001840155600383018290555b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cbc908490610ef1565b60006101db816001015473ffffffffffffffffffffffffffffffffffffffff16611000565b600080610d7f84611171565b90506000610d8c84611171565b90506000610da1670e92596fd6290000611171565b90506000610db6670de0b6b3a7640000611171565b90506000610e3a610e11610dec7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516876111df565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611209565b9050610ebe610e9782610e6f7fffffffffffffffffffffffffffffffff000000000000000000000000000000008916876117f4565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c1b565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612042565b9550674563918244f40000861180610edd57506702c68af0bb14000086105b15610ee6578795505b505050505092915050565b6000610f53826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121009092919063ffffffff16565b9050805160001480610f74575080806020019051810190610f749190612544565b610cbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102ad565b60008061100b612117565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161107457505050505081525050905061109a600090565b6001015473ffffffffffffffffffffffffffffffffffffffff908116908416036110ca578060400151915061116b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016102ad565b806060015191505b50919050565b60008160000361118357506000919050565b81600061118f82612145565b905060708110156111a8578060700382901b91506111bb565b60708111156111bb576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60006105d7837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112985780617fff0361128e577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112635784925050506101f5565b507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b84925050506101f5565b80617fff036112ab5783925050506101f5565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff1660008490036112e857600193506112fa565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036113375760019450611349565b6e010000000000000000000000000000175b826000036113b0577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113a057876113a3565b60005b96505050505050506101f5565b80600003611407577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113a057886113a3565b8486038215158515150361159357607081131561142d57899750505050505050506101f5565b600081131561143f5790811c9061148c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561147657889750505050505050506101f5565b600081121561148c578060000384901c93508596505b928101926e02000000000000000000000000000084106114b2576001968701969390931c925b86617fff0361151657846114e6577f7fff000000000000000000000000000000000000000000000000000000000000611508565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506101f5565b6e010000000000000000000000000000841015611536576000965061154a565b6dffffffffffffffffffffffffffff841693505b83607088901b8661155c57600061156e565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506101f5565b60008113156115ae57600184901b93506001870396506115c5565b60008112156115c557600182901b91506001860396505b60708113156115d75760019150611660565b60018113156115f4576001810360018303901c6001019150611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156116255760019350611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611660576001816000030360018503901c60010193505b81841061167157818403935061167a565b83820393508294505b836000036116935750600096506101f595505050505050565b600061169e85612145565b9050806071036116ca57600185901c6dffffffffffffffffffffffffffff169450600188019750611745565b607081101561173157607081900380891115611700578086901b6dffffffffffffffffffffffffffff169550808903985061172b565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611745565b6dffffffffffffffffffffffffffff851694505b87617fff036117aa5785611779577f7fff00000000000000000000000000000000000000000000000000000000000061179b565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506101f5565b84607089901b876117bc5760006117ce565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506101f5565b6000617fff60f084811c8216919084901c8116908290036119495780617fff036118c7577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611871575050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611263575050508181176101f5565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b80617fff036119d4577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119a757507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186101f5565b6dffffffffffffffffffffffffffff608086901c1660008390036119fb5760019250611a0d565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a345760019250611a46565b6e010000000000000000000000000000175b808202915081600003611ab0577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506101f5565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b15577c0100000000000000000000000000000000000000000000000000000000831015611b0e57611b0983612145565b611b18565b60e0611b18565b60e15b90506140708186011015611b33576000945060009250611bd7565b6140e08186011015611b7657614070851015611b5857846140700383901c9250611b6d565b614070851115611b6d57614070850383901b92505b60009450611bd7565b61c0dd8186011115611b9057617fff945060009250611bd7565b6070811115611ba7576070810383901c9250611bba565b6070811015611bba578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f084811c8216919084901c811690829003611c6a5780617fff0361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b80617fff03611cf1577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611cc457507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166101f5565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611dbf577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d7057507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176101f5565b6dffffffffffffffffffffffffffff608085901c166000829003611de65760019150611df8565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611e60578015611e5b576000611e2782612145565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611e75565b6e0100000000000000000000000000001760721b5b818181611e8457611e8461249b565b04905080600003611ebf577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b6d1000000000000000000000000000811015611edd57611edd612566565b60006e080000000000000000000000000000821015611f3d576e040000000000000000000000000000821015611f32576e020000000000000000000000000000821015611f2b576070611f35565b6071611f35565b60725b60ff16611f46565b611f4682612145565b905083614071018186011115611f6457617fff945060009150611ffe565b83818601613ffc011015611f7f576000945060009150611ffe565b83818601613f8c011015611fcc578385613ffc011115611faa578385613ffc010382901b9150611fc3565b8385613ffc011015611fc357613ffc8585030382901c91505b60009450611ffe565b6070811115611fdf576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f083901c16613fff8110156120605750600092915050565b6f80000000000000000000000000000000608084901c1061208057600080fd5b6140fe81111561208f57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120cb5761406f8290031c6105d7565b61406f8211156105d7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b606061210f84846000856121f5565b949350505050565b6000806101f560017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612518565b600080821161215357600080fd5b6000700100000000000000000000000000000000831061217557608092831c92015b68010000000000000000831061218d57604092831c92015b64010000000083106121a157602092831c92015b6201000083106121b357601092831c92015b61010083106121c457600892831c92015b601083106121d457600492831c92015b600483106121e457600292831c92015b600283106101f55760010192915050565b606082471015612287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102ad565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516122b091906125b9565b60006040518083038185875af1925050503d80600081146122ed576040519150601f19603f3d011682016040523d82523d6000602084013e6122f2565b606091505b50915091506123038783838761230e565b979650505050505050565b606083156123a457825160000361239d5773ffffffffffffffffffffffffffffffffffffffff85163b61239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ad565b508161210f565b61210f83838151156123b95781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ad91906125d5565b60405180604001604052806002906020820280368337509192915050565b60006020828403121561241d57600080fd5b5035919050565b60408101818360005b600281101561244c57815183526020928301929091019060010161242d565b50505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176101f5576101f5612455565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082612500577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808201808211156101f5576101f5612455565b818103818111156101f5576101f5612455565b60006020828403121561253d57600080fd5b5051919050565b60006020828403121561255657600080fd5b815180151581146105d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156125b0578181015183820152602001612598565b50506000910152565b600082516125cb818460208701612595565b9190910192915050565b60208152600082518060208401526125f4816040850160208701612595565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212205a601475e2732ff9a6b95432b127f1ccca65921704bdbf968d0c09cc9f8b9e2f64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b5061265c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80635f3acd8e1161008157806378b3139b1161005b57806378b3139b14610184578063c0d8012c14610197578063ed7662ee146101aa57600080fd5b80635f3acd8e14610154578063702f01ee1461015c578063776a3bb51461017c57600080fd5b80633cf78574116100b25780633cf785741461011957806345889bd71461012c578063537bb5dc1461014157600080fd5b806316f0115b146100d957806321933933146100fb5780633a98ef3914610111575b600080fd5b6100e16101b2565b604080519283526020830191909152015b60405180910390f35b6101036101d1565b6040519081526020016100f2565b6101036101e0565b61010361012736600461240b565b6101ea565b61013f61013a36600461240b565b6101fb565b005b61013f61014f36600461240b565b6102c2565b610103610381565b61016f61016a36600461240b565b61038b565b6040516100f29190612424565b61010361039c565b61013f61019236600461240b565b6103a6565b6101036101a536600461240b565b610465565b610103610470565b60008060006101bf61047a565b80516020909101519094909350915050565b60006101db6104b7565b905090565b60006101db6104ca565b60006101f5826104dd565b92915050565b6102257f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b6102b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102bf816105de565b50565b6102ec7f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b610378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf81610616565b60006101db610626565b6103936123ed565b6101f582610639565b60006101db61068d565b6103d07f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b61045c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf8161069d565b60006101f5826106d8565b60006101db610873565b6040805180820190915260008082526020820152610496610886565b60408051808201909152600582015481526006909101546020820152919050565b60006104c1610886565b60020154905090565b60006104d4610886565b60080154905090565b6000806104e8610886565b60008481526007820160205260409020600682015460058301549293509091431180156105185750600883015415155b1561057e5760006105276108b4565b90506000670de0b6b3a76400008560000154836105449190612484565b61054e91906124ca565b60088601549091506105658264e8d4a51000612484565b61056f91906124ca565b6105799084612505565b925050505b6001820154825464e8d4a5100090610597908490612484565b6105a191906124ca565b6105ab9190612518565b95945050505050565b60006105d7826105c26108f1565b6000868152602091909152604090209061091f565b9392505050565b806105e7610886565b5560405181907ff913a361162eb00fb61dab047a285c02886f428329a3972518dd371ac3aa4af390600090a250565b8061061f610886565b6004015550565b6000610630610886565b60010154905090565b6106416123ed565b600061064b610886565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b6000610697610886565b54919050565b806106a6610886565b6002015560405181907fee9ca614114d0b14b7c182d61fbc2e9aed69823d5f4a3a6436f95da3a6d0a82490600090a250565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff9091169062fdd58e90604401602060405180830381865afa15801561074f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610773919061252b565b6001146107dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d533a2063616c6c6572206973206e6f74206f776e657200000000000000000060448201526064016102ad565b60006107e6610886565b6000848152600782016020526040902090915061080161094e565b6001810154600683015482546000929164e8d4a51000916108229190612484565b61082c91906124ca565b6108369190612518565b90506108423382610b4d565b6006830154825464e8d4a510009161085991612484565b61086391906124ca565b6001909201919091559392505050565b600061087d610886565b60040154905090565b6000806101f560017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612518565b6000806108bf610886565b60050154905060006108cf610886565b600101549050806108e08343612518565b6108ea9190612484565b9250505090565b6000806101f560017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612518565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156105d7565b6000610958610886565b60058101805491925090431161096c575050565b610974610c40565b81600801546000036109865743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109b06108b4565b90506000670de0b6b3a76400008660000154836109cd9190612484565b6109d791906124ca565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a4857600080fd5b505af1158015610a5c573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a8d91906124ca565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610af857600080fd5b505af1158015610b0c573d6000803e3d6000fd5b505050506008860154610b248264e8d4a51000612484565b610b2e91906124ca565b8560010154610b3d9190612505565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061252b565b905080831115610c1957610c1473ffffffffffffffffffffffffffffffffffffffff83168583610cc1565b610c3a565b610c3a73ffffffffffffffffffffffffffffffffffffffff83168585610cc1565b50505050565b6000610c4a610886565b90506000610c56610d4e565b905060008260030154821115610c825760028301546003840154610c7a9084612518565b119050610c9b565b8260020154828460030154610c979190612518565b1190505b8015610cbc57610caf836001015483610d73565b6001840155600383018290555b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cbc908490610ef1565b60006101db816001015473ffffffffffffffffffffffffffffffffffffffff16611000565b600080610d7f84611171565b90506000610d8c84611171565b90506000610da1670e92596fd6290000611171565b90506000610db6670de0b6b3a7640000611171565b90506000610e3a610e11610dec7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516876111df565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611209565b9050610ebe610e9782610e6f7fffffffffffffffffffffffffffffffff000000000000000000000000000000008916876117f4565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c1b565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612042565b9550674563918244f40000861180610edd57506702c68af0bb14000086105b15610ee6578795505b505050505092915050565b6000610f53826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121009092919063ffffffff16565b9050805160001480610f74575080806020019051810190610f749190612544565b610cbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102ad565b60008061100b612117565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161107457505050505081525050905061109a600090565b6001015473ffffffffffffffffffffffffffffffffffffffff908116908416036110ca578060400151915061116b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016102ad565b806060015191505b50919050565b60008160000361118357506000919050565b81600061118f82612145565b905060708110156111a8578060700382901b91506111bb565b60708111156111bb576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60006105d7837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112985780617fff0361128e577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112635784925050506101f5565b507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b84925050506101f5565b80617fff036112ab5783925050506101f5565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff1660008490036112e857600193506112fa565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036113375760019450611349565b6e010000000000000000000000000000175b826000036113b0577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113a057876113a3565b60005b96505050505050506101f5565b80600003611407577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113a057886113a3565b8486038215158515150361159357607081131561142d57899750505050505050506101f5565b600081131561143f5790811c9061148c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561147657889750505050505050506101f5565b600081121561148c578060000384901c93508596505b928101926e02000000000000000000000000000084106114b2576001968701969390931c925b86617fff0361151657846114e6577f7fff000000000000000000000000000000000000000000000000000000000000611508565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506101f5565b6e010000000000000000000000000000841015611536576000965061154a565b6dffffffffffffffffffffffffffff841693505b83607088901b8661155c57600061156e565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506101f5565b60008113156115ae57600184901b93506001870396506115c5565b60008112156115c557600182901b91506001860396505b60708113156115d75760019150611660565b60018113156115f4576001810360018303901c6001019150611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156116255760019350611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611660576001816000030360018503901c60010193505b81841061167157818403935061167a565b83820393508294505b836000036116935750600096506101f595505050505050565b600061169e85612145565b9050806071036116ca57600185901c6dffffffffffffffffffffffffffff169450600188019750611745565b607081101561173157607081900380891115611700578086901b6dffffffffffffffffffffffffffff169550808903985061172b565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611745565b6dffffffffffffffffffffffffffff851694505b87617fff036117aa5785611779577f7fff00000000000000000000000000000000000000000000000000000000000061179b565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506101f5565b84607089901b876117bc5760006117ce565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506101f5565b6000617fff60f084811c8216919084901c8116908290036119495780617fff036118c7577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611871575050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611263575050508181176101f5565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b80617fff036119d4577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119a757507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186101f5565b6dffffffffffffffffffffffffffff608086901c1660008390036119fb5760019250611a0d565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a345760019250611a46565b6e010000000000000000000000000000175b808202915081600003611ab0577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506101f5565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b15577c0100000000000000000000000000000000000000000000000000000000831015611b0e57611b0983612145565b611b18565b60e0611b18565b60e15b90506140708186011015611b33576000945060009250611bd7565b6140e08186011015611b7657614070851015611b5857846140700383901c9250611b6d565b614070851115611b6d57614070850383901b92505b60009450611bd7565b61c0dd8186011115611b9057617fff945060009250611bd7565b6070811115611ba7576070810383901c9250611bba565b6070811015611bba578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f084811c8216919084901c811690829003611c6a5780617fff0361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b80617fff03611cf1577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611cc457507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166101f5565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611dbf577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d7057507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176101f5565b6dffffffffffffffffffffffffffff608085901c166000829003611de65760019150611df8565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611e60578015611e5b576000611e2782612145565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611e75565b6e0100000000000000000000000000001760721b5b818181611e8457611e8461249b565b04905080600003611ebf577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b6d1000000000000000000000000000811015611edd57611edd612566565b60006e080000000000000000000000000000821015611f3d576e040000000000000000000000000000821015611f32576e020000000000000000000000000000821015611f2b576070611f35565b6071611f35565b60725b60ff16611f46565b611f4682612145565b905083614071018186011115611f6457617fff945060009150611ffe565b83818601613ffc011015611f7f576000945060009150611ffe565b83818601613f8c011015611fcc578385613ffc011115611faa578385613ffc010382901b9150611fc3565b8385613ffc011015611fc357613ffc8585030382901c91505b60009450611ffe565b6070811115611fdf576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f083901c16613fff8110156120605750600092915050565b6f80000000000000000000000000000000608084901c1061208057600080fd5b6140fe81111561208f57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120cb5761406f8290031c6105d7565b61406f8211156105d7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b606061210f84846000856121f5565b949350505050565b6000806101f560017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612518565b600080821161215357600080fd5b6000700100000000000000000000000000000000831061217557608092831c92015b68010000000000000000831061218d57604092831c92015b64010000000083106121a157602092831c92015b6201000083106121b357601092831c92015b61010083106121c457600892831c92015b601083106121d457600492831c92015b600483106121e457600292831c92015b600283106101f55760010192915050565b606082471015612287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102ad565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516122b091906125b9565b60006040518083038185875af1925050503d80600081146122ed576040519150601f19603f3d011682016040523d82523d6000602084013e6122f2565b606091505b50915091506123038783838761230e565b979650505050505050565b606083156123a457825160000361239d5773ffffffffffffffffffffffffffffffffffffffff85163b61239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ad565b508161210f565b61210f83838151156123b95781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ad91906125d5565b60405180604001604052806002906020820280368337509192915050565b60006020828403121561241d57600080fd5b5035919050565b60408101818360005b600281101561244c57815183526020928301929091019060010161242d565b50505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176101f5576101f5612455565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082612500577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808201808211156101f5576101f5612455565b818103818111156101f5576101f5612455565b60006020828403121561253d57600080fd5b5051919050565b60006020828403121561255657600080fd5b815180151581146105d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156125b0578181015183820152602001612598565b50506000910152565b600082516125cb818460208701612595565b9190910192915050565b60208152600082518060208401526125f4816040850160208701612595565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220e03bd35af8f63229d2e0d68d196ef1dadd1ae63d14d1455435d51bc0a915e2f564736f6c63430008130033", "nonce": "0x8", "accessList": [] }, @@ -171,7 +171,7 @@ "isFixedGasLimit": false }, { - "hash": "0xbcebeef556fd3346ac614b45b0b50a83304af99af0ad6bfd3cc88fc77dd293a2", + "hash": "0x8697e1e925f0243e7b22ce8de678b1818fb971bb274b3fac788f9acffd66c6e4", "transactionType": "CREATE", "contractName": "StakingFacet", "contractAddress": "0x9F0259fe34BFC22d9cbEEb340Cd8d53F35CDEB80", @@ -182,7 +182,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x50c85d", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50614959806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806396908b5211610081578063aadc68a51161005b578063aadc68a514610182578063c5d1cb631461018a578063e2bbb1581461019d57600080fd5b806396908b52146101545780639d7de6b314610167578063aa1ec70a1461017a57600080fd5b806352159150116100b2578063521591501461011b5780636970d4731461012e5780637cc6bd411461014157600080fd5b80632f72589e146100d9578063422f1043146100ee5780634d8c28c414610101575b600080fd5b6100ec6100e7366004614507565b6101b0565b005b6100ec6100fc366004614520565b610251565b6101096102ce565b60405190815260200160405180910390f35b610109610129366004614507565b6102dd565b6100ec61013c366004614507565b6102ee565b6100ec61014f366004614507565b610387565b6100ec610162366004614507565b610420565b6100ec61017536600461454c565b6104b9565b610109610534565b61010961053e565b61010961019836600461454c565b610548565b6101096101ab36600461454c565b61055b565b6101da7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e6167657200000000000000000000000000000000000000000060448201526064015b60405180910390fd5b61024e816105fd565b50565b60155460ff16156102be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6102c9838383610641565b505050565b60006102d8610864565b905090565b60006102e882610874565b92915050565b6103187fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b61037e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610b7f565b6103b17fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610bb9565b61044a7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b6104b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610eba565b60155460ff1615610526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b61053082826110a1565b5050565b60006102d8611455565b60006102d8611468565b60006105548383611526565b9392505050565b600061056960155460ff1690565b156105d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6105548383611573565b6000610554826105e86116dc565b6000868152602091909152604090209061170a565b80610606611739565b600101556040518181527f3a1c0b7d3cdecbab83b82697d51cbcdb308b3bbae63e597cbc958deb9c830e50906020015b60405180910390a150565b60008061064d84611767565b8151919350915061065c611a05565b600061066c828460600151611526565b9050808360a001818151610680919061459d565b905250600061068d611739565b9050818160030160008282546106a391906145b0565b909155506106d6905033308a6106b7611c4c565b5473ffffffffffffffffffffffffffffffffffffffff16929190611c7a565b878460a0018181516106e8919061459d565b9052506106f6338489611d5c565b600061070b8560a00151888460000154611ede565b905061071833828a612033565b600182015461072790886145c3565b610731904361459d565b608086015261073e611a05565b64e8d4a5100082600201546107528a612155565b5161075d91906145c3565b6107679190614609565b606086015260006005015460a0860151606087015160808801516040517fe8b7c95e000000000000000000000000000000000000000000000000000000008152600481018d905260248101939093526044830191909152606482015273ffffffffffffffffffffffffffffffffffffffff9091169063e8b7c95e90608401600060405180830381600087803b1580156107ff57600080fd5b505af1158015610813573d6000803e3d6000fd5b50505060a086015160408051918252602082018490528a925033917f1e549269c96dd4bec3d648753e4995f8e57512249145959d6e7555136709bd48910160405180910390a3505050505050505050565b600061086e611739565b54919050565b60008061087f611739565b9050600080600501546040517fce325bf80000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff90911691508190600090829063ce325bf89060240160c060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190614673565b9050600061092d87612155565b90506000610939611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c9919061470f565b905085600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061470f565b610a49919061459d565b8110610b7157600086600401548573ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac5919061470f565b610acf919061459d565b610ad990836145b0565b6002880154600389015491925090821115610b36576000886003015483610b0091906145b0565b9050610b0a6121a9565b610b198264e8d4a510006145c3565b610b239190614609565b8960020154610b32919061459d565b9150505b6060850151845164e8d4a5100090610b4f9084906145c3565b610b599190614609565b610b6391906145b0565b9a9950505050505050505050565b506000979650505050505050565b80610b88611739565b556040518181527f33275dedaeefb2dabe4935e816773f7ed2c6400002b0c87595e05bde196b33a890602001610636565b6000610bc3611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311610c2c5750505091909252505081516040517f1a4d01d200000000000000000000000000000000000000000000000000000000815260048101869052600160248201526000604482018190529394509092915073ffffffffffffffffffffffffffffffffffffffff831690631a4d01d2906064016020604051808303816000875af1158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf2919061470f565b9050610cfc6121bc565b60208301516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d91919061470f565b9050836020015173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610dbb600090565b6009015460405160e083901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490526044016020604051808303816000875af1158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e559190614728565b506020808501516040805173ffffffffffffffffffffffffffffffffffffffff90921682529181018490529081018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a15050505050565b6000610ec4611c4c565b546040517f1a4d01d2000000000000000000000000000000000000000000000000000000008152600481018490526000602482018190526044820181905273ffffffffffffffffffffffffffffffffffffffff90921692508290631a4d01d2906064016020604051808303816000875af1158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a919061470f565b9050610f746121bc565b60008060018101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925073ffffffffffffffffffffffffffffffffffffffff169060009082906370a0823190602401602060405180830381865afa158015610fed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611011919061470f565b600984015490915061103d9073ffffffffffffffffffffffffffffffffffffffff8481169116836123f9565b60018301546040805173ffffffffffffffffffffffffffffffffffffffff90921682526020820186905281018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a1505050505050565b6000806110ad83611767565b91509150838160a00151101561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5374616b696e673a20616d6f756e7420746f6f20626967000000000000000000604482015260640161023c565b600061112c82848761244f565b9050611136611a05565b8251606083015160009161114991611526565b9050611156338387611d5c565b6000611160611c4c565b5473ffffffffffffffffffffffffffffffffffffffff1690506000611183611739565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff909116916000916112c591849163132c4feb9160048083019260209291908290030181865afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611222919061470f565b60038501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa158015611291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b5919061470f565b6112bf91906145b0565b8c6124bd565b9050848360030160008282546112db91906145b0565b92505081905550898760a0018181516112f491906145b0565b905250600283015464e8d4a510009061130c8b612155565b5161131791906145c3565b6113219190614609565b6060880181905260a088015160808901516040517fe8b7c95e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169363e8b7c95e9361139d938f9391929160040193845260208401929092526040830152606082015260800190565b600060405180830381600087803b1580156113b757600080fd5b505af11580156113cb573d6000803e3d6000fd5b505050506113fd3386836113df919061459d565b73ffffffffffffffffffffffffffffffffffffffff871691906123f9565b604080518b81526020810183905290810186905260608101879052899033907fc41873b026655739c834ac0fc390e515f2dcb3cf19938507067c2e31714b04959060800160405180910390a350505050505050505050565b600061145f611739565b60010154905090565b6000806114736121a9565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff9091169161151f91839163132c4feb916004808201926020929091908290030181865afa1580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611510919061470f565b83670de0b6b3a76400006124fe565b9250505090565b600080611531611739565b60028101549091501561156c578264e8d4a5100082600201548661155591906145c3565b61155f9190614609565b61156991906145b0565b91505b5092915050565b600081600111158015611587575060d08211155b611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f5374616b696e673a206475726174696f6e206d7573742062652062657477656560448201527f6e203120616e6420323038207765656b73000000000000000000000000000000606482015260840161023c565b61161b6121bc565b611623611a05565b6116313330856106b7611c4c565b600061163b611739565b9050600061164e85858460000154611ede565b9050600082600101548561166291906145c3565b61166c904361459d565b905061167a3387848461259a565b9350611687338386612033565b604080518781526020810184905290810186905260608101829052849033907ff943cf10ef4d1e3239f4716ddecdf546e8ba8ab0e41deafd9a71a99936827e459060800160405180910390a350505092915050565b6000806102e860017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776145b0565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610554565b6000806102e860017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea1276145b0565b61176f614496565b6117be6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810186905273ffffffffffffffffffffffffffffffffffffffff9091169150819062fdd58e90604401602060405180830381865afa158015611838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185c919061470f565b6001146118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5374616b696e673a2063616c6c6572206973206e6f74206f776e657200000000604482015260640161023c565b6040517fce325bf800000000000000000000000000000000000000000000000000000000815260048101859052819073ffffffffffffffffffffffffffffffffffffffff82169063ce325bf89060240160c060405180830381865afa158015611932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119569190614673565b9250826080015143116119eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f5374616b696e673a2052656465656d206e6f7420616c6c6f776564206265666f60448201527f7265207374616b696e672074696d650000000000000000000000000000000000606482015260840161023c565b6119f36121bc565b6119fc85612155565b93505050915091565b60055473ffffffffffffffffffffffffffffffffffffffff166000611a28611739565b9050816000611a35611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015611aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac5919061470f565b90506000611ad16121a9565b905083600401548373ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b47919061470f565b611b51919061459d565b8210158015611b605750600081115b15611c4557600084600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdb919061470f565b611be5919061459d565b611bef90846145b0565b90508460030154811115611c435781856003015482611c0e91906145b0565b611c1d9064e8d4a510006145c3565b611c279190614609565b8560020154611c36919061459d565b6002860155600385018190555b505b5050505050565b6000806102e860017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e6286145b0565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611d569085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261271c565b50505050565b6000611d6661282b565b60008381526007820160205260409020805491925090841115611de5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4d433a20616d6f756e7420746f6f206869676800000000000000000000000000604482015260640161023c565b611ded612859565b6001810154600683015482546000929164e8d4a5100091611e0e91906145c3565b611e189190614609565b611e2291906145b0565b9050611e2e8682612a58565b84826000016000828254611e4291906145b0565b90915550506006830154825464e8d4a5100091611e5e916145c3565b611e689190614609565b826001018190555084836008016000828254611e8491906145b0565b9091555050604051858152849073ffffffffffffffffffffffffffffffffffffffff8816907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689060200160405180910390a3505050505050565b600080611ef2670de0b6b3a7640000612b45565b90506000611eff85612b45565b90506000611f85611f5e83611f367fffffffffffffffffffffffffffffffff00000000000000000000000000000000821682612bb3565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690612bb3565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613005565b90506000611f9288612b45565b905061202761200082611fd887611fb086611f3689611f368f612b45565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690613281565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906136a8565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613c68565b98975050505050505050565b600061203d61282b565b60008381526007820160205260409020909150612058612859565b8054156120a2576001810154600683015482546000929164e8d4a510009161208091906145c3565b61208a9190614609565b61209491906145b0565b90506120a08682612a58565b505b838160000160008282546120b6919061459d565b90915550506006820154815464e8d4a51000916120d2916145c3565b6120dc9190614609565b6001820155836120ea61282b565b60080160008282546120fc919061459d565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b61215d614496565b600061216761282b565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b60006121b361282b565b60080154905090565b60006121c6611c4c565b90506000806121d3613d26565b9150915060008360040154826121e991906145b0565b11156102c9578254600484015460009173ffffffffffffffffffffffffffffffffffffffff1690630f6ba8e3906005870190869061222790876145b0565b6040518463ffffffff1660e01b81526004016122459392919061476d565b6040805180830381865afa158015612261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228591906147b3565b84546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690637e42fc0c906122eb90600090600190670de0b6b3a7640000908790600401614833565b602060405180830381865afa158015612308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232c919061470f565b600285015583546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637e42fc0c9061239690600190600090670de0b6b3a7640000908790600401614833565b602060405180830381865afa1580156123b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d7919061470f565b60038501556123eb600585018460026144b4565b505060048301819055505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526102c99084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611cd4565b8151600090819061245f90612b45565b9050600061246c84612b45565b9050600061247d8760a00151612b45565b90506124b261200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000871686612bb3565b979650505050505050565b600083831080156124ce5750600083115b1561156c576124f76120006124e286612b45565b611fb06124ee87612b45565b611f3687612b45565b9050610554565b60008061250a85612b45565b9050600061251785612b45565b9050600085156125525761254d7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683613281565b61255c565b61255c6001612b45565b9050600061256986612b45565b90506120276120007fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683612bb3565b6000806125a5611468565b905080600003612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5374616b696e673a2073686172652076616c75652073686f756c64206e6f742060448201527f6265206e756c6c00000000000000000000000000000000000000000000000000606482015260840161023c565b600064e8d4a51000612647611739565b6002015461265590876145c3565b61265f9190614609565b90506000600501546040517fa647e8ec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820189905260448201849052606482018790529091169063a647e8ec906084016020604051808303816000875af11580156126eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270f919061470f565b925050505b949350505050565b600061277e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613e439092919063ffffffff16565b905080516000148061279f57508080602001905181019061279f9190614728565b6102c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161023c565b6000806102e860017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f186145b0565b600061286361282b565b600581018054919250904311612877575050565b61287f613e52565b81600801546000036128915743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006128bb613ecf565b90506000670de0b6b3a76400008660000154836128d891906145c3565b6128e29190614609565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f19848860040154846129989190614609565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015612a0357600080fd5b505af1158015612a17573d6000803e3d6000fd5b505050506008860154612a2f8264e8d4a510006145c3565b612a399190614609565b8560010154612a48919061459d565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af4919061470f565b905080831115612b2457612b1f73ffffffffffffffffffffffffffffffffffffffff831685836123f9565b611d56565b611d5673ffffffffffffffffffffffffffffffffffffffff831685856123f9565b600081600003612b5757506000919050565b816000612b6382613f05565b90506070811015612b7c578060700382901b9150612b8f565b6070811115612b8f576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c811690829003612d335780617fff03612cb1577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c30575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003612c86575050508181176102e8565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b80617fff03612dbe577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003612d9157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e8565b6dffffffffffffffffffffffffffff608086901c166000839003612de55760019250612df7565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003612e1e5760019250612e30565b6e010000000000000000000000000000175b808202915081600003612e9a577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e8565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015612eff577c0100000000000000000000000000000000000000000000000000000000831015612ef857612ef383613f05565b612f02565b60e0612f02565b60e15b90506140708186011015612f1d576000945060009250612fc1565b6140e08186011015612f6057614070851015612f4257846140700383901c9250612f57565b614070851115612f5757614070850383901b92505b60009450612fc1565b61c0dd8186011115612f7a57617fff945060009250612fc1565b6070811115612f91576070810383901c9250612fa4565b6070811015612fa4578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b60006f80000000000000000000000000000000608083901c111561304a57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c811690819003613063575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361308a576001915061309c565b6e010000000000000000000000000000175b806000036130ae575060009392505050565b613fff8201600190811c9216158015613129576e01000000000000000000000000000082106130e357607182901b915061318d565b60006130ee83613f05565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b915061318d565b6e010000000000000000000000000000821061314b57607082901b915061318d565b600061315683613f05565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c908184816131b6576131b66145da565b048201901c905060018184816131ce576131ce6145da565b048201901c905060018184816131e6576131e66145da565b048201901c905060018184816131fe576131fe6145da565b048201901c90506001818481613216576132166145da565b048201901c9050600181848161322e5761322e6145da565b048201901c90506000818481613246576132466145da565b04905081811015613255578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b50919050565b6000617fff60f084811c8216919084901c8116908290036132d05780617fff03612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b80617fff03613357577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561332a57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e8565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003613425577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036133d657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e8565b6dffffffffffffffffffffffffffff608085901c16600082900361344c576001915061345e565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036134c65780156134c157600061348d82613f05565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6134db565b6e0100000000000000000000000000001760721b5b8181816134ea576134ea6145da565b04905080600003613525577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b6d100000000000000000000000000081101561354357613543614863565b60006e0800000000000000000000000000008210156135a3576e040000000000000000000000000000821015613598576e02000000000000000000000000000082101561359157607061359b565b607161359b565b60725b60ff166135ac565b6135ac82613f05565b9050836140710181860111156135ca57617fff945060009150613664565b83818601613ffc0110156135e5576000945060009150613664565b83818601613f8c011015613632578385613ffc011115613610578385613ffc010382901b9150613629565b8385613ffc01101561362957613ffc8585030382901c91505b60009450613664565b6070811115613645576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b6000617fff60f084811c8216919084901c81169082900361370c5780617fff03613702577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c865784925050506102e8565b84925050506102e8565b80617fff0361371f5783925050506102e8565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361375c576001935061376e565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036137ab57600194506137bd565b6e010000000000000000000000000000175b82600003613824577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146138145787613817565b60005b96505050505050506102e8565b8060000361387b577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146138145788613817565b84860382151585151503613a075760708113156138a157899750505050505050506102e8565b60008113156138b35790811c90613900565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156138ea57889750505050505050506102e8565b6000811215613900578060000384901c93508596505b928101926e0200000000000000000000000000008410613926576001968701969390931c925b86617fff0361398a578461395a577f7fff00000000000000000000000000000000000000000000000000000000000061397c565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e8565b6e0100000000000000000000000000008410156139aa57600096506139be565b6dffffffffffffffffffffffffffff841693505b83607088901b866139d05760006139e2565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e8565b6000811315613a2257600184901b9350600187039650613a39565b6000811215613a3957600182901b91506001860396505b6070811315613a4b5760019150613ad4565b6001811315613a68576001810360018303901c6001019150613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613a995760019350613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613ad4576001816000030360018503901c60010193505b818410613ae5578184039350613aee565b83820393508294505b83600003613b075750600096506102e895505050505050565b6000613b1285613f05565b905080607103613b3e57600185901c6dffffffffffffffffffffffffffff169450600188019750613bb9565b6070811015613ba557607081900380891115613b74578086901b6dffffffffffffffffffffffffffff1695508089039850613b9f565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613bb9565b6dffffffffffffffffffffffffffff851694505b87617fff03613c1e5785613bed577f7fff000000000000000000000000000000000000000000000000000000000000613c0f565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e8565b84607089901b87613c30576000613c42565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e8565b6000617fff60f083901c16613fff811015613c865750600092915050565b6f80000000000000000000000000000000608084901c10613ca657600080fd5b6140fe811115613cb557600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015613cf15761406f8290031c610554565b61406f821115610554577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b613d2e614496565b600080613d39611c4c565b54604080517f4469e30e000000000000000000000000000000000000000000000000000000008152815173ffffffffffffffffffffffffffffffffffffffff90931693508392634469e30e926004808401939192918290030181865afa158015613da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dcb91906147b3565b92508073ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3c919061470f565b9150509091565b60606127148484600085613fb5565b6000613e5c61282b565b90506000613e686140c3565b905060008260030154821115613e945760028301546003840154613e8c90846145b0565b119050613ead565b8260020154828460030154613ea991906145b0565b1190505b80156102c957613ec18360010154836140e8565b600184015550600390910155565b600080613eda61282b565b6005015490506000613eea61282b565b60010154905080613efb83436145b0565b61151f91906145c3565b6000808211613f1357600080fd5b60007001000000000000000000000000000000008310613f3557608092831c92015b680100000000000000008310613f4d57604092831c92015b6401000000008310613f6157602092831c92015b620100008310613f7357601092831c92015b6101008310613f8457600892831c92015b60108310613f9457600492831c92015b60048310613fa457600292831c92015b600283106102e85760010192915050565b606082471015614047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161023c565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161407091906148b6565b60006040518083038185875af1925050503d80600081146140ad576040519150601f19603f3d011682016040523d82523d6000602084013e6140b2565b606091505b509150915061270f87838387614217565b60006102d8816001015473ffffffffffffffffffffffffffffffffffffffff166142b7565b6000806140f484612b45565b9050600061410184612b45565b90506000614116670e92596fd6290000612b45565b9050600061412b670de0b6b3a7640000612b45565b905060006141af6141866141617fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687614424565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906136a8565b90506141e461200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687612bb3565b9550674563918244f4000086118061420357506702c68af0bb14000086105b1561420c578795505b505050505092915050565b606083156142ad5782516000036142a65773ffffffffffffffffffffffffffffffffffffffff85163b6142a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161023c565b5081612714565b6127148383614452565b6000806142c2611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161432b575050505050815250509050614351600090565b6001015473ffffffffffffffffffffffffffffffffffffffff90811690841603614381578060400151915061327b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461441a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e00000000000000604482015260640161023c565b6060015192915050565b6000610554837f800000000000000000000000000000000000000000000000000000000000000084186136a8565b8151156144625781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023c91906148d2565b60405180604001604052806002906020820280368337509192915050565b82600281019282156144e2579160200282015b828111156144e25782518255916020019190600101906144c7565b506144ee9291506144f2565b5090565b5b808211156144ee57600081556001016144f3565b60006020828403121561451957600080fd5b5035919050565b60008060006060848603121561453557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561455f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e8576102e861456e565b818103818111156102e8576102e861456e565b80820281158282048414176102e8576102e861456e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261463f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060c0828403121561468557600080fd5b60405160c0810181811067ffffffffffffffff821117156146a8576146a8614644565b604052825173ffffffffffffffffffffffffffffffffffffffff811681146146cf57600080fd5b808252506020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b60006020828403121561472157600080fd5b5051919050565b60006020828403121561473a57600080fd5b8151801515811461055457600080fd5b8060005b6002811015611d5657815184526020938401939091019060010161474e565b60a08101818560005b6002811015614795578154835260209092019160019182019101614776565b5050506147a5604083018561474a565b826080830152949350505050565b6000604082840312156147c557600080fd5b82601f8301126147d457600080fd5b6040516040810181811067ffffffffffffffff821117156147f7576147f7614644565b806040525080604084018581111561480e57600080fd5b845b81811015614828578051835260209283019201614810565b509195945050505050565b600f85810b825284900b60208201526040810183905260a0810161485a606083018461474a565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156148ad578181015183820152602001614895565b50506000910152565b600082516148c8818460208701614892565b9190910192915050565b60208152600082518060208401526148f1816040850160208701614892565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220cc0627f88619f84cf69854613f1ab5b9103b4afb0f88fe5674d35c9b72e8548264736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50614959806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806396908b5211610081578063aadc68a51161005b578063aadc68a514610182578063c5d1cb631461018a578063e2bbb1581461019d57600080fd5b806396908b52146101545780639d7de6b314610167578063aa1ec70a1461017a57600080fd5b806352159150116100b2578063521591501461011b5780636970d4731461012e5780637cc6bd411461014157600080fd5b80632f72589e146100d9578063422f1043146100ee5780634d8c28c414610101575b600080fd5b6100ec6100e7366004614507565b6101b0565b005b6100ec6100fc366004614520565b610251565b6101096102ce565b60405190815260200160405180910390f35b610109610129366004614507565b6102dd565b6100ec61013c366004614507565b6102ee565b6100ec61014f366004614507565b610387565b6100ec610162366004614507565b610420565b6100ec61017536600461454c565b6104b9565b610109610534565b61010961053e565b61010961019836600461454c565b610548565b6101096101ab36600461454c565b61055b565b6101da7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e6167657200000000000000000000000000000000000000000060448201526064015b60405180910390fd5b61024e816105fd565b50565b60155460ff16156102be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6102c9838383610641565b505050565b60006102d8610864565b905090565b60006102e882610874565b92915050565b6103187fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b61037e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610b7f565b6103b17fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610bb9565b61044a7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b6104b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610eba565b60155460ff1615610526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b61053082826110a1565b5050565b60006102d8611455565b60006102d8611468565b60006105548383611526565b9392505050565b600061056960155460ff1690565b156105d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6105548383611573565b6000610554826105e86116dc565b6000868152602091909152604090209061170a565b80610606611739565b600101556040518181527f3a1c0b7d3cdecbab83b82697d51cbcdb308b3bbae63e597cbc958deb9c830e50906020015b60405180910390a150565b60008061064d84611767565b8151919350915061065c611a05565b600061066c828460600151611526565b9050808360a001818151610680919061459d565b905250600061068d611739565b9050818160030160008282546106a391906145b0565b909155506106d6905033308a6106b7611c4c565b5473ffffffffffffffffffffffffffffffffffffffff16929190611c7a565b878460a0018181516106e8919061459d565b9052506106f6338489611d5c565b600061070b8560a00151888460000154611ede565b905061071833828a612033565b600182015461072790886145c3565b610731904361459d565b608086015261073e611a05565b64e8d4a5100082600201546107528a612155565b5161075d91906145c3565b6107679190614609565b606086015260006005015460a0860151606087015160808801516040517fe8b7c95e000000000000000000000000000000000000000000000000000000008152600481018d905260248101939093526044830191909152606482015273ffffffffffffffffffffffffffffffffffffffff9091169063e8b7c95e90608401600060405180830381600087803b1580156107ff57600080fd5b505af1158015610813573d6000803e3d6000fd5b50505060a086015160408051918252602082018490528a925033917f1e549269c96dd4bec3d648753e4995f8e57512249145959d6e7555136709bd48910160405180910390a3505050505050505050565b600061086e611739565b54919050565b60008061087f611739565b9050600080600501546040517fce325bf80000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff90911691508190600090829063ce325bf89060240160c060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190614673565b9050600061092d87612155565b90506000610939611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c9919061470f565b905085600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061470f565b610a49919061459d565b8110610b7157600086600401548573ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac5919061470f565b610acf919061459d565b610ad990836145b0565b6002880154600389015491925090821115610b36576000886003015483610b0091906145b0565b9050610b0a6121a9565b610b198264e8d4a510006145c3565b610b239190614609565b8960020154610b32919061459d565b9150505b6060850151845164e8d4a5100090610b4f9084906145c3565b610b599190614609565b610b6391906145b0565b9a9950505050505050505050565b506000979650505050505050565b80610b88611739565b556040518181527f33275dedaeefb2dabe4935e816773f7ed2c6400002b0c87595e05bde196b33a890602001610636565b6000610bc3611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311610c2c5750505091909252505081516040517f1a4d01d200000000000000000000000000000000000000000000000000000000815260048101869052600160248201526000604482018190529394509092915073ffffffffffffffffffffffffffffffffffffffff831690631a4d01d2906064016020604051808303816000875af1158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf2919061470f565b9050610cfc6121bc565b60208301516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d91919061470f565b9050836020015173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610dbb600090565b6009015460405160e083901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490526044016020604051808303816000875af1158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e559190614728565b506020808501516040805173ffffffffffffffffffffffffffffffffffffffff90921682529181018490529081018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a15050505050565b6000610ec4611c4c565b546040517f1a4d01d2000000000000000000000000000000000000000000000000000000008152600481018490526000602482018190526044820181905273ffffffffffffffffffffffffffffffffffffffff90921692508290631a4d01d2906064016020604051808303816000875af1158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a919061470f565b9050610f746121bc565b60008060018101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925073ffffffffffffffffffffffffffffffffffffffff169060009082906370a0823190602401602060405180830381865afa158015610fed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611011919061470f565b600984015490915061103d9073ffffffffffffffffffffffffffffffffffffffff8481169116836123f9565b60018301546040805173ffffffffffffffffffffffffffffffffffffffff90921682526020820186905281018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a1505050505050565b6000806110ad83611767565b91509150838160a00151101561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5374616b696e673a20616d6f756e7420746f6f20626967000000000000000000604482015260640161023c565b600061112c82848761244f565b9050611136611a05565b8251606083015160009161114991611526565b9050611156338387611d5c565b6000611160611c4c565b5473ffffffffffffffffffffffffffffffffffffffff1690506000611183611739565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff909116916000916112c591849163132c4feb9160048083019260209291908290030181865afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611222919061470f565b60038501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa158015611291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b5919061470f565b6112bf91906145b0565b8c6124bd565b9050848360030160008282546112db91906145b0565b92505081905550898760a0018181516112f491906145b0565b905250600283015464e8d4a510009061130c8b612155565b5161131791906145c3565b6113219190614609565b6060880181905260a088015160808901516040517fe8b7c95e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169363e8b7c95e9361139d938f9391929160040193845260208401929092526040830152606082015260800190565b600060405180830381600087803b1580156113b757600080fd5b505af11580156113cb573d6000803e3d6000fd5b505050506113fd3386836113df919061459d565b73ffffffffffffffffffffffffffffffffffffffff871691906123f9565b604080518b81526020810183905290810186905260608101879052899033907fc41873b026655739c834ac0fc390e515f2dcb3cf19938507067c2e31714b04959060800160405180910390a350505050505050505050565b600061145f611739565b60010154905090565b6000806114736121a9565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff9091169161151f91839163132c4feb916004808201926020929091908290030181865afa1580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611510919061470f565b83670de0b6b3a76400006124fe565b9250505090565b600080611531611739565b60028101549091501561156c578264e8d4a5100082600201548661155591906145c3565b61155f9190614609565b61156991906145b0565b91505b5092915050565b600081600111158015611587575060d08211155b611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f5374616b696e673a206475726174696f6e206d7573742062652062657477656560448201527f6e203120616e6420323038207765656b73000000000000000000000000000000606482015260840161023c565b61161b6121bc565b611623611a05565b6116313330856106b7611c4c565b600061163b611739565b9050600061164e85858460000154611ede565b9050600082600101548561166291906145c3565b61166c904361459d565b905061167a3387848461259a565b9350611687338386612033565b604080518781526020810184905290810186905260608101829052849033907ff943cf10ef4d1e3239f4716ddecdf546e8ba8ab0e41deafd9a71a99936827e459060800160405180910390a350505092915050565b6000806102e860017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776145b0565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610554565b6000806102e860017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea1276145b0565b61176f614496565b6117be6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810186905273ffffffffffffffffffffffffffffffffffffffff9091169150819062fdd58e90604401602060405180830381865afa158015611838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185c919061470f565b6001146118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5374616b696e673a2063616c6c6572206973206e6f74206f776e657200000000604482015260640161023c565b6040517fce325bf800000000000000000000000000000000000000000000000000000000815260048101859052819073ffffffffffffffffffffffffffffffffffffffff82169063ce325bf89060240160c060405180830381865afa158015611932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119569190614673565b9250826080015143116119eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f5374616b696e673a2052656465656d206e6f7420616c6c6f776564206265666f60448201527f7265207374616b696e672074696d650000000000000000000000000000000000606482015260840161023c565b6119f36121bc565b6119fc85612155565b93505050915091565b60055473ffffffffffffffffffffffffffffffffffffffff166000611a28611739565b9050816000611a35611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015611aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac5919061470f565b90506000611ad16121a9565b905083600401548373ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b47919061470f565b611b51919061459d565b8210158015611b605750600081115b15611c4557600084600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdb919061470f565b611be5919061459d565b611bef90846145b0565b90508460030154811115611c435781856003015482611c0e91906145b0565b611c1d9064e8d4a510006145c3565b611c279190614609565b8560020154611c36919061459d565b6002860155600385018190555b505b5050505050565b6000806102e860017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e6286145b0565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611d569085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261271c565b50505050565b6000611d6661282b565b60008381526007820160205260409020805491925090841115611de5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4d433a20616d6f756e7420746f6f206869676800000000000000000000000000604482015260640161023c565b611ded612859565b6001810154600683015482546000929164e8d4a5100091611e0e91906145c3565b611e189190614609565b611e2291906145b0565b9050611e2e8682612a58565b84826000016000828254611e4291906145b0565b90915550506006830154825464e8d4a5100091611e5e916145c3565b611e689190614609565b826001018190555084836008016000828254611e8491906145b0565b9091555050604051858152849073ffffffffffffffffffffffffffffffffffffffff8816907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689060200160405180910390a3505050505050565b600080611ef2670de0b6b3a7640000612b45565b90506000611eff85612b45565b90506000611f85611f5e83611f367fffffffffffffffffffffffffffffffff00000000000000000000000000000000821682612bb3565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690612bb3565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613005565b90506000611f9288612b45565b905061202761200082611fd887611fb086611f3689611f368f612b45565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690613281565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906136a8565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613c68565b98975050505050505050565b600061203d61282b565b60008381526007820160205260409020909150612058612859565b8054156120a2576001810154600683015482546000929164e8d4a510009161208091906145c3565b61208a9190614609565b61209491906145b0565b90506120a08682612a58565b505b838160000160008282546120b6919061459d565b90915550506006820154815464e8d4a51000916120d2916145c3565b6120dc9190614609565b6001820155836120ea61282b565b60080160008282546120fc919061459d565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b61215d614496565b600061216761282b565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b60006121b361282b565b60080154905090565b60006121c6611c4c565b90506000806121d3613d26565b9150915060008360040154826121e991906145b0565b11156102c9578254600484015460009173ffffffffffffffffffffffffffffffffffffffff1690630f6ba8e3906005870190869061222790876145b0565b6040518463ffffffff1660e01b81526004016122459392919061476d565b6040805180830381865afa158015612261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228591906147b3565b84546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690637e42fc0c906122eb90600090600190670de0b6b3a7640000908790600401614833565b602060405180830381865afa158015612308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232c919061470f565b600285015583546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637e42fc0c9061239690600190600090670de0b6b3a7640000908790600401614833565b602060405180830381865afa1580156123b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d7919061470f565b60038501556123eb600585018460026144b4565b505060048301819055505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526102c99084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611cd4565b8151600090819061245f90612b45565b9050600061246c84612b45565b9050600061247d8760a00151612b45565b90506124b261200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000871686612bb3565b979650505050505050565b600083831080156124ce5750600083115b1561156c576124f76120006124e286612b45565b611fb06124ee87612b45565b611f3687612b45565b9050610554565b60008061250a85612b45565b9050600061251785612b45565b9050600085156125525761254d7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683613281565b61255c565b61255c6001612b45565b9050600061256986612b45565b90506120276120007fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683612bb3565b6000806125a5611468565b905080600003612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5374616b696e673a2073686172652076616c75652073686f756c64206e6f742060448201527f6265206e756c6c00000000000000000000000000000000000000000000000000606482015260840161023c565b600064e8d4a51000612647611739565b6002015461265590876145c3565b61265f9190614609565b90506000600501546040517fa647e8ec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820189905260448201849052606482018790529091169063a647e8ec906084016020604051808303816000875af11580156126eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270f919061470f565b925050505b949350505050565b600061277e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613e439092919063ffffffff16565b905080516000148061279f57508080602001905181019061279f9190614728565b6102c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161023c565b6000806102e860017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f186145b0565b600061286361282b565b600581018054919250904311612877575050565b61287f613e52565b81600801546000036128915743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006128bb613ecf565b90506000670de0b6b3a76400008660000154836128d891906145c3565b6128e29190614609565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f19848860040154846129989190614609565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015612a0357600080fd5b505af1158015612a17573d6000803e3d6000fd5b505050506008860154612a2f8264e8d4a510006145c3565b612a399190614609565b8560010154612a48919061459d565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af4919061470f565b905080831115612b2457612b1f73ffffffffffffffffffffffffffffffffffffffff831685836123f9565b611d56565b611d5673ffffffffffffffffffffffffffffffffffffffff831685856123f9565b600081600003612b5757506000919050565b816000612b6382613f05565b90506070811015612b7c578060700382901b9150612b8f565b6070811115612b8f576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c811690829003612d335780617fff03612cb1577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c30575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003612c86575050508181176102e8565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b80617fff03612dbe577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003612d9157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e8565b6dffffffffffffffffffffffffffff608086901c166000839003612de55760019250612df7565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003612e1e5760019250612e30565b6e010000000000000000000000000000175b808202915081600003612e9a577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e8565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015612eff577c0100000000000000000000000000000000000000000000000000000000831015612ef857612ef383613f05565b612f02565b60e0612f02565b60e15b90506140708186011015612f1d576000945060009250612fc1565b6140e08186011015612f6057614070851015612f4257846140700383901c9250612f57565b614070851115612f5757614070850383901b92505b60009450612fc1565b61c0dd8186011115612f7a57617fff945060009250612fc1565b6070811115612f91576070810383901c9250612fa4565b6070811015612fa4578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b60006f80000000000000000000000000000000608083901c111561304a57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c811690819003613063575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361308a576001915061309c565b6e010000000000000000000000000000175b806000036130ae575060009392505050565b613fff8201600190811c9216158015613129576e01000000000000000000000000000082106130e357607182901b915061318d565b60006130ee83613f05565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b915061318d565b6e010000000000000000000000000000821061314b57607082901b915061318d565b600061315683613f05565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c908184816131b6576131b66145da565b048201901c905060018184816131ce576131ce6145da565b048201901c905060018184816131e6576131e66145da565b048201901c905060018184816131fe576131fe6145da565b048201901c90506001818481613216576132166145da565b048201901c9050600181848161322e5761322e6145da565b048201901c90506000818481613246576132466145da565b04905081811015613255578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b50919050565b6000617fff60f084811c8216919084901c8116908290036132d05780617fff03612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b80617fff03613357577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561332a57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e8565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003613425577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036133d657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e8565b6dffffffffffffffffffffffffffff608085901c16600082900361344c576001915061345e565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036134c65780156134c157600061348d82613f05565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6134db565b6e0100000000000000000000000000001760721b5b8181816134ea576134ea6145da565b04905080600003613525577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b6d100000000000000000000000000081101561354357613543614863565b60006e0800000000000000000000000000008210156135a3576e040000000000000000000000000000821015613598576e02000000000000000000000000000082101561359157607061359b565b607161359b565b60725b60ff166135ac565b6135ac82613f05565b9050836140710181860111156135ca57617fff945060009150613664565b83818601613ffc0110156135e5576000945060009150613664565b83818601613f8c011015613632578385613ffc011115613610578385613ffc010382901b9150613629565b8385613ffc01101561362957613ffc8585030382901c91505b60009450613664565b6070811115613645576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b6000617fff60f084811c8216919084901c81169082900361370c5780617fff03613702577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c865784925050506102e8565b84925050506102e8565b80617fff0361371f5783925050506102e8565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361375c576001935061376e565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036137ab57600194506137bd565b6e010000000000000000000000000000175b82600003613824577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146138145787613817565b60005b96505050505050506102e8565b8060000361387b577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146138145788613817565b84860382151585151503613a075760708113156138a157899750505050505050506102e8565b60008113156138b35790811c90613900565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156138ea57889750505050505050506102e8565b6000811215613900578060000384901c93508596505b928101926e0200000000000000000000000000008410613926576001968701969390931c925b86617fff0361398a578461395a577f7fff00000000000000000000000000000000000000000000000000000000000061397c565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e8565b6e0100000000000000000000000000008410156139aa57600096506139be565b6dffffffffffffffffffffffffffff841693505b83607088901b866139d05760006139e2565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e8565b6000811315613a2257600184901b9350600187039650613a39565b6000811215613a3957600182901b91506001860396505b6070811315613a4b5760019150613ad4565b6001811315613a68576001810360018303901c6001019150613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613a995760019350613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613ad4576001816000030360018503901c60010193505b818410613ae5578184039350613aee565b83820393508294505b83600003613b075750600096506102e895505050505050565b6000613b1285613f05565b905080607103613b3e57600185901c6dffffffffffffffffffffffffffff169450600188019750613bb9565b6070811015613ba557607081900380891115613b74578086901b6dffffffffffffffffffffffffffff1695508089039850613b9f565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613bb9565b6dffffffffffffffffffffffffffff851694505b87617fff03613c1e5785613bed577f7fff000000000000000000000000000000000000000000000000000000000000613c0f565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e8565b84607089901b87613c30576000613c42565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e8565b6000617fff60f083901c16613fff811015613c865750600092915050565b6f80000000000000000000000000000000608084901c10613ca657600080fd5b6140fe811115613cb557600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015613cf15761406f8290031c610554565b61406f821115610554577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b613d2e614496565b600080613d39611c4c565b54604080517f4469e30e000000000000000000000000000000000000000000000000000000008152815173ffffffffffffffffffffffffffffffffffffffff90931693508392634469e30e926004808401939192918290030181865afa158015613da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dcb91906147b3565b92508073ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3c919061470f565b9150509091565b60606127148484600085613fb5565b6000613e5c61282b565b90506000613e686140c3565b905060008260030154821115613e945760028301546003840154613e8c90846145b0565b119050613ead565b8260020154828460030154613ea991906145b0565b1190505b80156102c957613ec18360010154836140e8565b600184015550600390910155565b600080613eda61282b565b6005015490506000613eea61282b565b60010154905080613efb83436145b0565b61151f91906145c3565b6000808211613f1357600080fd5b60007001000000000000000000000000000000008310613f3557608092831c92015b680100000000000000008310613f4d57604092831c92015b6401000000008310613f6157602092831c92015b620100008310613f7357601092831c92015b6101008310613f8457600892831c92015b60108310613f9457600492831c92015b60048310613fa457600292831c92015b600283106102e85760010192915050565b606082471015614047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161023c565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161407091906148b6565b60006040518083038185875af1925050503d80600081146140ad576040519150601f19603f3d011682016040523d82523d6000602084013e6140b2565b606091505b509150915061270f87838387614217565b60006102d8816001015473ffffffffffffffffffffffffffffffffffffffff166142b7565b6000806140f484612b45565b9050600061410184612b45565b90506000614116670e92596fd6290000612b45565b9050600061412b670de0b6b3a7640000612b45565b905060006141af6141866141617fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687614424565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906136a8565b90506141e461200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687612bb3565b9550674563918244f4000086118061420357506702c68af0bb14000086105b1561420c578795505b505050505092915050565b606083156142ad5782516000036142a65773ffffffffffffffffffffffffffffffffffffffff85163b6142a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161023c565b5081612714565b6127148383614452565b6000806142c2611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161432b575050505050815250509050614351600090565b6001015473ffffffffffffffffffffffffffffffffffffffff90811690841603614381578060400151915061327b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461441a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e00000000000000604482015260640161023c565b6060015192915050565b6000610554837f800000000000000000000000000000000000000000000000000000000000000084186136a8565b8151156144625781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023c91906148d2565b60405180604001604052806002906020820280368337509192915050565b82600281019282156144e2579160200282015b828111156144e25782518255916020019190600101906144c7565b506144ee9291506144f2565b5090565b5b808211156144ee57600081556001016144f3565b60006020828403121561451957600080fd5b5035919050565b60008060006060848603121561453557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561455f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e8576102e861456e565b818103818111156102e8576102e861456e565b80820281158282048414176102e8576102e861456e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261463f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060c0828403121561468557600080fd5b60405160c0810181811067ffffffffffffffff821117156146a8576146a8614644565b604052825173ffffffffffffffffffffffffffffffffffffffff811681146146cf57600080fd5b808252506020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b60006020828403121561472157600080fd5b5051919050565b60006020828403121561473a57600080fd5b8151801515811461055457600080fd5b8060005b6002811015611d5657815184526020938401939091019060010161474e565b60a08101818560005b6002811015614795578154835260209092019160019182019101614776565b5050506147a5604083018561474a565b826080830152949350505050565b6000604082840312156147c557600080fd5b82601f8301126147d457600080fd5b6040516040810181811067ffffffffffffffff821117156147f7576147f7614644565b806040525080604084018581111561480e57600080fd5b845b81811015614828578051835260209283019201614810565b509195945050505050565b600f85810b825284900b60208201526040810183905260a0810161485a606083018461474a565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156148ad578181015183820152602001614895565b50506000910152565b600082516148c8818460208701614892565b9190910192915050565b60208152600082518060208401526148f1816040850160208701614892565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122083d9c4db80514e89023acf45144dc66d8e2b1ec8fa28eaeedb9dc1e3374c444964736f6c63430008130033", "nonce": "0x9", "accessList": [] }, @@ -190,7 +190,7 @@ "isFixedGasLimit": false }, { - "hash": "0x38d1483dbf166d48f1de8ee830b0c7ac561adb8004a5a459594f627ec8e84aea", + "hash": "0x99daf3551599f45073dd154e193d11cc584c246f01a6d6c7f744f77dc836fff4", "transactionType": "CREATE", "contractName": "StakingFormulasFacet", "contractAddress": "0x6169444aE7A834646f31f2179dbe9153C2Cfe79D", @@ -201,7 +201,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x1ad02e", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506117cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063a609d91211610050578063a609d912146100a4578063a64154f0146100b7578063d5a8cf64146100b757600080fd5b80635b374a401461006c578063629056cb14610091575b600080fd5b61007f61007a36600461159b565b6100ca565b60405190815260200160405180910390f35b61007f61009f36600461168f565b6100e1565b61007f6100b236600461159b565b6100ee565b61007f6100c536600461168f565b6100fb565b60006100d7848484610103565b90505b9392505050565b60006100d7848484610258565b60006100d78484846102c6565b6000816100d7565b600080610117670de0b6b3a764000061030e565b905060006101248561030e565b905060006101aa6101838361015b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082168261037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166107d0565b905060006101b78861030e565b905061024c610225826101fd876101d58661015b8961015b8f61030e565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610a46565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610e6d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001661142d565b98975050505050505050565b815160009081906102689061030e565b905060006102758461030e565b905060006102868760a0015161030e565b90506102bb610225826101d57fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168661037c565b979650505050505050565b600083831080156102d75750600083115b15610307576103006102256102eb8661030e565b6101d56102f78761030e565b61015b8761030e565b90506100da565b5092915050565b60008160000361032057506000919050565b81600061032c826114eb565b90506070811015610345578060700382901b9150610358565b6070811115610358576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036104fc5780617fff0361047a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036103f9575050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f80000000000000000000000000000000000000000000000000000000000000000361044f575050508181176107ca565b507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b80617fff03610587577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361055a57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186107ca565b6dffffffffffffffffffffffffffff608086901c1660008390036105ae57600192506105c0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c1660008390036105e757600192506105f9565b6e010000000000000000000000000000175b808202915081600003610663577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506107ca565b9282019260007c02000000000000000000000000000000000000000000000000000000008310156106c8577c01000000000000000000000000000000000000000000000000000000008310156106c1576106bc836114eb565b6106cb565b60e06106cb565b60e15b905061407081860110156106e657600094506000925061078a565b6140e081860110156107295761407085101561070b57846140700383901c9250610720565b61407085111561072057614070850383901b92505b6000945061078a565b61c0dd818601111561074357617fff94506000925061078a565b607081111561075a576070810383901c925061076d565b607081101561076d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b60006f80000000000000000000000000000000608083901c111561081557507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c81169081900361082e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036108555760019150610867565b6e010000000000000000000000000000175b80600003610879575060009392505050565b613fff8201600190811c92161580156108f4576e01000000000000000000000000000082106108ae57607182901b9150610958565b60006108b9836114eb565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b9150610958565b6e010000000000000000000000000000821061091657607082901b9150610958565b6000610921836114eb565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c9081848161098157610981611739565b048201901c9050600181848161099957610999611739565b048201901c905060018184816109b1576109b1611739565b048201901c905060018184816109c9576109c9611739565b048201901c905060018184816109e1576109e1611739565b048201901c905060018184816109f9576109f9611739565b048201901c90506000818481610a1157610a11611739565b04905081811015610a20578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b6000617fff60f084811c8216919084901c811690829003610a955780617fff036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b80617fff03610b1c577dffffffffffffffffffffffffffff00000000000000000000000000000000841615610aef57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166107ca565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610bea577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b9b57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176107ca565b6dffffffffffffffffffffffffffff608085901c166000829003610c115760019150610c23565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003610c8b578015610c86576000610c52826114eb565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b610ca0565b6e0100000000000000000000000000001760721b5b818181610caf57610caf611739565b04905080600003610cea577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b6d1000000000000000000000000000811015610d0857610d08611768565b60006e080000000000000000000000000000821015610d68576e040000000000000000000000000000821015610d5d576e020000000000000000000000000000821015610d56576070610d60565b6071610d60565b60725b60ff16610d71565b610d71826114eb565b905083614071018186011115610d8f57617fff945060009150610e29565b83818601613ffc011015610daa576000945060009150610e29565b83818601613f8c011015610df7578385613ffc011115610dd5578385613ffc010382901b9150610dee565b8385613ffc011015610dee57613ffc8585030382901c91505b60009450610e29565b6070811115610e0a576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506107ca565b6000617fff60f084811c8216919084901c811690829003610ed15780617fff03610ec7577fffffffffffffffffffffffffffffffff000000000000000000000000000000008085169086160361044f5784925050506107ca565b84925050506107ca565b80617fff03610ee45783925050506107ca565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f215760019350610f33565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610f705760019450610f82565b6e010000000000000000000000000000175b82600003610fe9577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014610fd95787610fdc565b60005b96505050505050506107ca565b80600003611040577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014610fd95788610fdc565b848603821515851515036111cc57607081131561106657899750505050505050506107ca565b60008113156110785790811c906110c5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156110af57889750505050505050506107ca565b60008112156110c5578060000384901c93508596505b928101926e02000000000000000000000000000084106110eb576001968701969390931c925b86617fff0361114f578461111f577f7fff000000000000000000000000000000000000000000000000000000000000611141565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506107ca565b6e01000000000000000000000000000084101561116f5760009650611183565b6dffffffffffffffffffffffffffff841693505b83607088901b866111955760006111a7565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506107ca565b60008113156111e757600184901b93506001870396506111fe565b60008112156111fe57600182901b91506001860396505b60708113156112105760019150611299565b600181131561122d576001810360018303901c6001019150611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561125e5760019350611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611299576001816000030360018503901c60010193505b8184106112aa5781840393506112b3565b83820393508294505b836000036112cc5750600096506107ca95505050505050565b60006112d7856114eb565b90508060710361130357600185901c6dffffffffffffffffffffffffffff16945060018801975061137e565b607081101561136a57607081900380891115611339578086901b6dffffffffffffffffffffffffffff1695508089039850611364565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b5061137e565b6dffffffffffffffffffffffffffff851694505b87617fff036113e357856113b2577f7fff0000000000000000000000000000000000000000000000000000000000006113d4565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506107ca565b84607089901b876113f5576000611407565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506107ca565b6000617fff60f083901c16613fff81101561144b5750600092915050565b6f80000000000000000000000000000000608084901c1061146b57600080fd5b6140fe81111561147a57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156114b65761406f8290031c6100da565b61406f8211156100da577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60008082116114f957600080fd5b6000700100000000000000000000000000000000831061151b57608092831c92015b68010000000000000000831061153357604092831c92015b640100000000831061154757602092831c92015b62010000831061155957601092831c92015b610100831061156a57600892831c92015b6010831061157a57600492831c92015b6004831061158a57600292831c92015b600283106107ca5760010192915050565b6000806000606084860312156115b057600080fd5b505081359360208301359350604090920135919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611619576116196115c7565b60405290565b600082601f83011261163057600080fd5b6040516040810181811067ffffffffffffffff82111715611653576116536115c7565b806040525080604084018581111561166a57600080fd5b845b8181101561168457803583526020928301920161166c565b509195945050505050565b60008060008385036101208112156116a657600080fd5b60c08112156116b457600080fd5b506116bd6115f6565b843573ffffffffffffffffffffffffffffffffffffffff811681146116e157600080fd5b808252506020850135602082015260408501356040820152606085013560608201526080850135608082015260a085013560a0820152809350506117288560c0860161161f565b915061010084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122088c9d30227f4141ba328be80dd8b5906831708d309c476ca06560fbc6945809e64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b506117cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063a609d91211610050578063a609d912146100a4578063a64154f0146100b7578063d5a8cf64146100b757600080fd5b80635b374a401461006c578063629056cb14610091575b600080fd5b61007f61007a36600461159b565b6100ca565b60405190815260200160405180910390f35b61007f61009f36600461168f565b6100e1565b61007f6100b236600461159b565b6100ee565b61007f6100c536600461168f565b6100fb565b60006100d7848484610103565b90505b9392505050565b60006100d7848484610258565b60006100d78484846102c6565b6000816100d7565b600080610117670de0b6b3a764000061030e565b905060006101248561030e565b905060006101aa6101838361015b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082168261037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166107d0565b905060006101b78861030e565b905061024c610225826101fd876101d58661015b8961015b8f61030e565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610a46565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610e6d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001661142d565b98975050505050505050565b815160009081906102689061030e565b905060006102758461030e565b905060006102868760a0015161030e565b90506102bb610225826101d57fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168661037c565b979650505050505050565b600083831080156102d75750600083115b15610307576103006102256102eb8661030e565b6101d56102f78761030e565b61015b8761030e565b90506100da565b5092915050565b60008160000361032057506000919050565b81600061032c826114eb565b90506070811015610345578060700382901b9150610358565b6070811115610358576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036104fc5780617fff0361047a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036103f9575050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f80000000000000000000000000000000000000000000000000000000000000000361044f575050508181176107ca565b507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b80617fff03610587577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361055a57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186107ca565b6dffffffffffffffffffffffffffff608086901c1660008390036105ae57600192506105c0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c1660008390036105e757600192506105f9565b6e010000000000000000000000000000175b808202915081600003610663577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506107ca565b9282019260007c02000000000000000000000000000000000000000000000000000000008310156106c8577c01000000000000000000000000000000000000000000000000000000008310156106c1576106bc836114eb565b6106cb565b60e06106cb565b60e15b905061407081860110156106e657600094506000925061078a565b6140e081860110156107295761407085101561070b57846140700383901c9250610720565b61407085111561072057614070850383901b92505b6000945061078a565b61c0dd818601111561074357617fff94506000925061078a565b607081111561075a576070810383901c925061076d565b607081101561076d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b60006f80000000000000000000000000000000608083901c111561081557507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c81169081900361082e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036108555760019150610867565b6e010000000000000000000000000000175b80600003610879575060009392505050565b613fff8201600190811c92161580156108f4576e01000000000000000000000000000082106108ae57607182901b9150610958565b60006108b9836114eb565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b9150610958565b6e010000000000000000000000000000821061091657607082901b9150610958565b6000610921836114eb565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c9081848161098157610981611739565b048201901c9050600181848161099957610999611739565b048201901c905060018184816109b1576109b1611739565b048201901c905060018184816109c9576109c9611739565b048201901c905060018184816109e1576109e1611739565b048201901c905060018184816109f9576109f9611739565b048201901c90506000818481610a1157610a11611739565b04905081811015610a20578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b6000617fff60f084811c8216919084901c811690829003610a955780617fff036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b80617fff03610b1c577dffffffffffffffffffffffffffff00000000000000000000000000000000841615610aef57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166107ca565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610bea577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b9b57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176107ca565b6dffffffffffffffffffffffffffff608085901c166000829003610c115760019150610c23565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003610c8b578015610c86576000610c52826114eb565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b610ca0565b6e0100000000000000000000000000001760721b5b818181610caf57610caf611739565b04905080600003610cea577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b6d1000000000000000000000000000811015610d0857610d08611768565b60006e080000000000000000000000000000821015610d68576e040000000000000000000000000000821015610d5d576e020000000000000000000000000000821015610d56576070610d60565b6071610d60565b60725b60ff16610d71565b610d71826114eb565b905083614071018186011115610d8f57617fff945060009150610e29565b83818601613ffc011015610daa576000945060009150610e29565b83818601613f8c011015610df7578385613ffc011115610dd5578385613ffc010382901b9150610dee565b8385613ffc011015610dee57613ffc8585030382901c91505b60009450610e29565b6070811115610e0a576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506107ca565b6000617fff60f084811c8216919084901c811690829003610ed15780617fff03610ec7577fffffffffffffffffffffffffffffffff000000000000000000000000000000008085169086160361044f5784925050506107ca565b84925050506107ca565b80617fff03610ee45783925050506107ca565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f215760019350610f33565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610f705760019450610f82565b6e010000000000000000000000000000175b82600003610fe9577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014610fd95787610fdc565b60005b96505050505050506107ca565b80600003611040577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014610fd95788610fdc565b848603821515851515036111cc57607081131561106657899750505050505050506107ca565b60008113156110785790811c906110c5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156110af57889750505050505050506107ca565b60008112156110c5578060000384901c93508596505b928101926e02000000000000000000000000000084106110eb576001968701969390931c925b86617fff0361114f578461111f577f7fff000000000000000000000000000000000000000000000000000000000000611141565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506107ca565b6e01000000000000000000000000000084101561116f5760009650611183565b6dffffffffffffffffffffffffffff841693505b83607088901b866111955760006111a7565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506107ca565b60008113156111e757600184901b93506001870396506111fe565b60008112156111fe57600182901b91506001860396505b60708113156112105760019150611299565b600181131561122d576001810360018303901c6001019150611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561125e5760019350611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611299576001816000030360018503901c60010193505b8184106112aa5781840393506112b3565b83820393508294505b836000036112cc5750600096506107ca95505050505050565b60006112d7856114eb565b90508060710361130357600185901c6dffffffffffffffffffffffffffff16945060018801975061137e565b607081101561136a57607081900380891115611339578086901b6dffffffffffffffffffffffffffff1695508089039850611364565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b5061137e565b6dffffffffffffffffffffffffffff851694505b87617fff036113e357856113b2577f7fff0000000000000000000000000000000000000000000000000000000000006113d4565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506107ca565b84607089901b876113f5576000611407565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506107ca565b6000617fff60f083901c16613fff81101561144b5750600092915050565b6f80000000000000000000000000000000608084901c1061146b57600080fd5b6140fe81111561147a57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156114b65761406f8290031c6100da565b61406f8211156100da577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60008082116114f957600080fd5b6000700100000000000000000000000000000000831061151b57608092831c92015b68010000000000000000831061153357604092831c92015b640100000000831061154757602092831c92015b62010000831061155957601092831c92015b610100831061156a57600892831c92015b6010831061157a57600492831c92015b6004831061158a57600292831c92015b600283106107ca5760010192915050565b6000806000606084860312156115b057600080fd5b505081359360208301359350604090920135919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611619576116196115c7565b60405290565b600082601f83011261163057600080fd5b6040516040810181811067ffffffffffffffff82111715611653576116536115c7565b806040525080604084018581111561166a57600080fd5b845b8181101561168457803583526020928301920161166c565b509195945050505050565b60008060008385036101208112156116a657600080fd5b60c08112156116b457600080fd5b506116bd6115f6565b843573ffffffffffffffffffffffffffffffffffffffff811681146116e157600080fd5b808252506020850135602082015260408501356040820152606085013560608201526080850135608082015260a085013560a0820152809350506117288560c0860161161f565b915061010084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122069c7a8b1a65e19150bdeac191d736c9c12147d88cf3775eef1d58b2dab1b4ca064736f6c63430008130033", "nonce": "0xa", "accessList": [] }, @@ -209,7 +209,7 @@ "isFixedGasLimit": false }, { - "hash": "0x29019680ed947c568686b9f3f72d39ca5e92073742080509a5fedee30446bf2b", + "hash": "0x9736615288ef829d2b9748ad3405003d516f1b7c5fb4c11e9eff8b6be582ff55", "transactionType": "CREATE", "contractName": "CreditNftManagerFacet", "contractAddress": "0x38963B77678eb09f9EcC19F42f0371ec3C3c9b79", @@ -220,7 +220,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x496c0a", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506142e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063b5a3ff8711610097578063d2bdc9e011610066578063d2bdc9e014610204578063d3918c1d14610217578063efa0982f1461021f578063f23a6e611461023257600080fd5b8063b5a3ff8714610189578063b6170dcc1461019c578063bc197c81146101a4578063be5c6872146101f157600080fd5b80635469bff1116100d35780635469bff11461013d578063585765081461015057806371fc117114610163578063a35e50bc1461017657600080fd5b80630d65f47f146100fa5780632565aa42146101205780634e7c028d1461012a575b600080fd5b61010d610108366004613fc7565b610245565b6040519081526020015b60405180910390f35b6101286102e6565b005b610128610138366004613fe9565b610344565b61010d61014b366004613fc7565b61040b565b61010d61015e366004613fe9565b610466565b610128610171366004613fe9565b610471565b61010d610184366004613fe9565b610530565b61010d610197366004613fc7565b61053b565b61010d610596565b6101c06101b23660046140b4565b600098975050505050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610117565b61010d6101ff366004613fe9565b6105a5565b61010d610212366004613fe9565b6105b0565b61010d6105bb565b61010d61022d366004613fe9565b6105c5565b6101c061024036600461416f565b610655565b6040517f0d65f47f0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90630d65f47f906044015b602060405180830381865af41580156102b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102dd91906141e7565b90505b92915050565b735d00797f4d5a2eed04d75a8d3cff1721e859b35d632565aa426040518163ffffffff1660e01b815260040160006040518083038186803b15801561032a57600080fd5b505af415801561033e573d6000803e3d6000fd5b50505050565b61036e7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b6103ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61040881610695565b50565b6040517f5469bff10000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90635469bff19060440161029c565b60006102e0826106eb565b61049b7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b610527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b610408816109a9565b60006102e0826109ff565b6040517fb5a3ff870000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063b5a3ff879060440161029c565b60006105a0610cc2565b905090565b60006102e082610cd5565b60006102e082610ce3565b60006105a0610cee565b6040517fefa0982f00000000000000000000000000000000000000000000000000000000815260048101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063efa0982f90602401602060405180830381865af4158015610631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e091906141e7565b6000610665878787878787610d01565b90505b9695505050505050565b60006102dd82610680610d61565b60008681526020919091526040902090610d8f565b7f495d4b828a3c7e7928af095e028963932f9b19f26d4ff33cc8e066e7b350fa1b816106bf610dbe565b600301546040805192835260208301919091520160405180910390a1806106e4610dbe565b6003015550565b6000806106f6610dec565b9050670de0b6b3a7640000811061078e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f656469740000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b1580156107fc57600080fd5b505af1158015610810573d6000803e3d6000fd5b5050505061081c610dbe565b6004015460ff1661086c576000610831610dbe565b6004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155439082015560009055505b60006108838661087a610dbe565b60010154610e11565b60018401546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810189905291925073ffffffffffffffffffffffffffffffffffffffff16906379cc679090604401600060405180830381600087803b1580156108f857600080fd5b505af115801561090c573d6000803e3d6000fd5b50505050600e8301546040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b50939998505050505050505050565b7f628c688556988d19256692ff656a1966f574832b813a2d20382b5cf38f839b5e816109d3610dbe565b600201546040805192835260208301919091520160405180910390a1806109f8610dbe565b6002015550565b600080610a0a610dec565b9050670de0b6b3a76400008110610aa3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f65646974204e465400000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff90921691829163f7ffe84a91600480830192600092919082900301818387803b158015610b1057600080fd5b505af1158015610b24573d6000803e3d6000fd5b505050506000610b32610dbe565b600481015490915060ff16610b7b576004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091554390820155600081555b6000610b86866110ee565b90506000600101546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810188905273ffffffffffffffffffffffffffffffffffffffff909116906379cc679090604401600060405180830381600087803b158015610bfd57600080fd5b505af1158015610c11573d6000803e3d6000fd5b505050506000826002015443610c27919061422f565b6040517f91623d49000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906391623d4990606401600060405180830381600087803b158015610c9f57600080fd5b505af1158015610cb3573d6000803e3d6000fd5b50929998505050505050505050565b6000610ccc610dbe565b60020154905090565b60006102e08261087a610dbe565b60006102e0826110ee565b6000610cf8610dbe565b60030154905090565b6000610d2d7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b88610672565b15610d5957507ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97610668565b506000610668565b6000806102e060017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77614242565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156102dd565b6000806102e060017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297614242565b60006105a0816001015473ffffffffffffffffffffffffffffffffffffffff1661148d565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa158015610e90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb491906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2391906141e7565b10610f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f484947480060448201526064016103f6565b6000610fd9610fa0670de0b6b3a76400006115fe565b610fb1610fab611671565b546115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061169f565b90506000610fe6436115fe565b90506000610ff782610fb18a6115fe565b9050600061107c61105561102c7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516611b20565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000871690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f48565b905060006110df6110b8836110908e6115fe565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f7c565b9b9a5050505050505050505050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119191906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120091906141e7565b1061128d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f474800000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600061129960016115fe565b905060006113148373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130f91906141e7565b6115fe565b905060006113b661138d8760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061169f565b905060006114156113e97fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168461203b565b6110907fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168561203b565b905060006114457fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168361169f565b905061147f6110b86114568c6115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611b50565b9a9950505050505050505050565b600080611498612069565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311611501575050505050815250509050611527600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361155757806040015191506115f8565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146115f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016103f6565b806060015191505b50919050565b60008160000361161057506000919050565b81600061161c82612097565b90506070811015611635578060700382901b9150611648565b6070811115611648576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b6000806102e060017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665614242565b6000617fff60f084811c8216919084901c81169082900361171b5780617fff036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b80617fff036117a2577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561177557507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e0565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611870577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361182157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e0565b6dffffffffffffffffffffffffffff608085901c16600082900361189757600191506118a9565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361191157801561190c5760006118d882612097565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611926565b6e0100000000000000000000000000001760721b5b81818161193557611935614255565b0490508060000361199d577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e0565b6d10000000000000000000000000008110156119bb576119bb614284565b60006e080000000000000000000000000000821015611a1b576e040000000000000000000000000000821015611a10576e020000000000000000000000000000821015611a09576070611a13565b6071611a13565b60725b60ff16611a24565b611a2482612097565b905083614071018186011115611a4257617fff945060009150611adc565b83818601613ffc011015611a5d576000945060009150611adc565b83818601613f8c011015611aaa578385613ffc011115611a88578385613ffc010382901b9150611aa1565b8385613ffc011015611aa157613ffc8585030382901c91505b60009450611adc565b6070811115611abd576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611b2e83612147565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003611ca35780617fff03611c4e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611bcd575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611c23575050508181176102e0565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b80617fff03611d2e577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d0157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e0565b6dffffffffffffffffffffffffffff608086901c166000839003611d555760019250611d67565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611d8e5760019250611da0565b6e010000000000000000000000000000175b808202915081600003611ddd577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611e42577c0100000000000000000000000000000000000000000000000000000000831015611e3b57611e3683612097565b611e45565b60e0611e45565b60e15b90506140708186011015611e60576000945060009250611f04565b6140e08186011015611ea357614070851015611e8557846140700383901c9250611e9a565b614070851115611e9a57614070850383901b92505b60009450611f04565b61c0dd8186011115611ebd57617fff945060009250611f04565b6070811115611ed4576070810383901c9250611ee7565b6070811015611ee7578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611f77837f3fff71547652b82fe1777d0ffda0d23a00000000000000000000000000000000611b50565b6123fc565b6000617fff60f083901c16613fff811015611f9a5750600092915050565b6f80000000000000000000000000000000608084901c10611fba57600080fd5b6140fe811115611fc957600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120055761406f8290031c612034565b61406f821115612034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60006102dd837f80000000000000000000000000000000000000000000000000000000000000008418613a07565b6000806102e060017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628614242565b60008082116120a557600080fd5b600070010000000000000000000000000000000083106120c757608092831c92015b6801000000000000000083106120df57604092831c92015b64010000000083106120f357602092831c92015b62010000831061210557601092831c92015b610100831061211657600892831c92015b6010831061212657600492831c92015b6004831061213657600292831c92015b600283106102e05760010192915050565b60006f80000000000000000000000000000000608083901c111561218c57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff000000000000000000000000000000000000000000000000000000000000036121dd57506000919050565b617fff60f083901c8116908190036121f6575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361221d576001915061222f565b6e010000000000000000000000000000175b8060000361226057507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff85106122a35750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00184016122ed565b600192506e01000000000000000000000000000084106122d05784613ffe039050600f84901b93506122ed565b60006122db85612097565b607f8190039590951b9461406d039150505b836f800000000000000000000000000000000361232f57821561230e576001015b600061231982612097565b60700390508082901b91508083039250506123a6565b60008361233d576000612340565b60015b60ff1690505b6e0100000000000000000000000000008210156123a45793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b9082180190612346565b505b806dffffffffffffffffffffffffffff16607083901b846123c85760006123da565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff16908214801561244157508015155b1561247057507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d8211156124b157826124a5577f7fff0000000000000000000000000000000000000000000000000000000000006124a8565b60005b95945050505050565b613f7f8210156124e557507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b816000036124f65760019150612508565b6e010000000000000000000000000000175b613fef82111561253b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b61254d565b613fef82101561254d57613fef8290031c5b82801561256b575071406e0000000000000000000000000000000081115b1561257b57506000949350505050565b8215801561259a5750713fffffffffffffffffffffffffffffffffff81115b156125c957507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c8380156125ec57508115155b156125f8579019906001015b6f80000000000000000000000000000000828116156126285770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f40000000000000000000000000000000831615612657577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f20000000000000000000000000000000831615612686577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f100000000000000000000000000000008316156126b55770010b5586cf9890f6298b92b71842a983630260801c5b6f080000000000000000000000000000008316156126e4577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561271357700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156127425770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f0100000000000000000000000000000083161561277157700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e80000000000000000000000000000083161561279f5770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e4000000000000000000000000000008316156127cd577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e2000000000000000000000000000008316156127fb57700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615612829577001000b175effdc76ba38e31671ca9397250260801c5b6e08000000000000000000000000000083161561285757700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156128855770010002c5cc37da9491d0985c348c68e7b30260801c5b6e0200000000000000000000000000008316156128b3577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156128e15770010000b17255775c040618bf4a4ade83fc0260801c5b6d800000000000000000000000000083161561290e577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d400000000000000000000000000083161561293b57700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156129685770010000162e43f4f831060e02d839a9d16d0260801c5b6d100000000000000000000000000083161561299557700100000b1721bcfc99d9f890ea069117630260801c5b6d08000000000000000000000000008316156129c25770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d04000000000000000000000000008316156129ef577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d0200000000000000000000000000831615612a1c57700100000162e430e5a18f6119e3c02282a50260801c5b6d0100000000000000000000000000831615612a49577001000000b1721835514b86e6d96efd1bfe0260801c5b6c80000000000000000000000000831615612a7557700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c40000000000000000000000000831615612aa15770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615612acd577001000000162e42fff037df38aa2b219f060260801c5b6c10000000000000000000000000831615612af95770010000000b17217fba9c739aa5819f44f90260801c5b6c08000000000000000000000000831615612b25577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c04000000000000000000000000831615612b5157700100000002c5c85fe31f35a6a30da1be500260801c5b6c02000000000000000000000000831615612b7d5770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615612ba957700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615612bd45770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615612bff577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615612c2a57700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615612c55577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615612c8057700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615612cab5770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615612cd6577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615612d015770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615612d2b577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615612d5557700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615612d7f5770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615612da957700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615612dd35770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615612dfd577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615612e2757700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615612e51577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615612e7a57700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615612ea35770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615612ecc577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615612ef55770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615612f1e577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615612f4757700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615612f705770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615612f9957700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615612fc15770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615612fe9577001000000000000002c5c85fdf473de6eca0260801c5b6820000000000000000083161561301157700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615613039577001000000000000000b17217f7d1cf79afa0260801c5b6808000000000000000083161561306157700100000000000000058b90bfbe8e7bcd6d0260801c5b680400000000000000008316156130895770010000000000000002c5c85fdf473de6b20260801c5b680200000000000000008316156130b1577001000000000000000162e42fefa39ef3580260801c5b680100000000000000008316156130d95770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615613100577001000000000000000058b90bfbe8e7bcd50260801c5b67400000000000000083161561312757700100000000000000002c5c85fdf473de6a0260801c5b67200000000000000083161561314e5770010000000000000000162e42fefa39ef340260801c5b67100000000000000083161561317557700100000000000000000b17217f7d1cf7990260801c5b67080000000000000083161561319c5770010000000000000000058b90bfbe8e7bcc0260801c5b6704000000000000008316156131c3577001000000000000000002c5c85fdf473de50260801c5b6702000000000000008316156131ea57700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615613211577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561323757700100000000000000000058b90bfbe8e7bb0260801c5b664000000000000083161561325d5770010000000000000000002c5c85fdf473dd0260801c5b6620000000000000831615613283577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156132a95770010000000000000000000b17217f7d1cf60260801c5b66080000000000008316156132cf577001000000000000000000058b90bfbe8e7a0260801c5b66040000000000008316156132f557700100000000000000000002c5c85fdf473c0260801c5b660200000000000083161561331b5770010000000000000000000162e42fefa39d0260801c5b660100000000000083161561334157700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156133665770010000000000000000000058b90bfbe8e60260801c5b6540000000000083161561338b577001000000000000000000002c5c85fdf4720260801c5b652000000000008316156133b057700100000000000000000000162e42fefa380260801c5b651000000000008316156133d5577001000000000000000000000b17217f7d1b0260801c5b650800000000008316156133fa57700100000000000000000000058b90bfbe8d0260801c5b6504000000000083161561341f5770010000000000000000000002c5c85fdf460260801c5b65020000000000831615613444577001000000000000000000000162e42fefa20260801c5b650100000000008316156134695770010000000000000000000000b17217f7d00260801c5b64800000000083161561348d577001000000000000000000000058b90bfbe70260801c5b6440000000008316156134b157700100000000000000000000002c5c85fdf30260801c5b6420000000008316156134d55770010000000000000000000000162e42fef90260801c5b6410000000008316156134f957700100000000000000000000000b17217f7c0260801c5b64080000000083161561351d5770010000000000000000000000058b90bfbd0260801c5b640400000000831615613541577001000000000000000000000002c5c85fde0260801c5b64020000000083161561356557700100000000000000000000000162e42fee0260801c5b640100000000831615613589577001000000000000000000000000b17217f60260801c5b63800000008316156135ac57700100000000000000000000000058b90bfa0260801c5b63400000008316156135cf5770010000000000000000000000002c5c85fc0260801c5b63200000008316156135f2577001000000000000000000000000162e42fd0260801c5b63100000008316156136155770010000000000000000000000000b17217e0260801c5b6308000000831615613638577001000000000000000000000000058b90be0260801c5b630400000083161561365b57700100000000000000000000000002c5c85e0260801c5b630200000083161561367e5770010000000000000000000000000162e42e0260801c5b63010000008316156136a157700100000000000000000000000000b172160260801c5b628000008316156136c35770010000000000000000000000000058b90a0260801c5b624000008316156136e5577001000000000000000000000000002c5c840260801c5b6220000083161561370757700100000000000000000000000000162e410260801c5b62100000831615613729577001000000000000000000000000000b17200260801c5b6208000083161561374b57700100000000000000000000000000058b8f0260801c5b6204000083161561376d5770010000000000000000000000000002c5c70260801c5b6202000083161561378f577001000000000000000000000000000162e30260801c5b620100008316156137b15770010000000000000000000000000000b1710260801c5b6180008316156137d2577001000000000000000000000000000058b80260801c5b6140008316156137f357700100000000000000000000000000002c5b0260801c5b6120008316156138145770010000000000000000000000000000162d0260801c5b61100083161561383557700100000000000000000000000000000b160260801c5b6108008316156138565770010000000000000000000000000000058a0260801c5b610400831615613877577001000000000000000000000000000002c40260801c5b610200831615613898577001000000000000000000000000000001610260801c5b6101008316156138b9577001000000000000000000000000000000b00260801c5b60808316156138d9577001000000000000000000000000000000570260801c5b60408316156138f95770010000000000000000000000000000002b0260801c5b6020831615613919577001000000000000000000000000000000150260801c5b60108316156139395770010000000000000000000000000000000a0260801c5b6008831615613959577001000000000000000000000000000000040260801c5b6004831615613979577001000000000000000000000000000000010260801c5b846139a157600f81901c6dffffffffffffffffffffffffffff169050613fff820191506139f4565b613ffe82116139cd57600f81901c6dffffffffffffffffffffffffffff16905081613fff0391506139f4565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000617fff60f084811c8216919084901c811690829003613a6b5780617fff03613a61577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611c235784925050506102e0565b84925050506102e0565b80617fff03613a7e5783925050506102e0565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003613abb5760019350613acd565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003613b0a5760019450613b1c565b6e010000000000000000000000000000175b82600003613b83577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014613b735787613b76565b60005b96505050505050506102e0565b80600003613bda577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014613b735788613b76565b84860382151585151503613d66576070811315613c0057899750505050505050506102e0565b6000811315613c125790811c90613c5f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613c4957889750505050505050506102e0565b6000811215613c5f578060000384901c93508596505b928101926e0200000000000000000000000000008410613c85576001968701969390931c925b86617fff03613ce95784613cb9577f7fff000000000000000000000000000000000000000000000000000000000000613cdb565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e0565b6e010000000000000000000000000000841015613d095760009650613d1d565b6dffffffffffffffffffffffffffff841693505b83607088901b86613d2f576000613d41565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e0565b6000811315613d8157600184901b9350600187039650613d98565b6000811215613d9857600182901b91506001860396505b6070811315613daa5760019150613e33565b6001811315613dc7576001810360018303901c6001019150613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613df85760019350613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613e33576001816000030360018503901c60010193505b818410613e44578184039350613e4d565b83820393508294505b83600003613e665750600096506102e095505050505050565b6000613e7185612097565b905080607103613e9d57600185901c6dffffffffffffffffffffffffffff169450600188019750613f18565b6070811015613f0457607081900380891115613ed3578086901b6dffffffffffffffffffffffffffff1695508089039850613efe565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613f18565b6dffffffffffffffffffffffffffff851694505b87617fff03613f7d5785613f4c577f7fff000000000000000000000000000000000000000000000000000000000000613f6e565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e0565b84607089901b87613f8f576000613fa1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e0565b60008060408385031215613fda57600080fd5b50508035926020909101359150565b600060208284031215613ffb57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461166c57600080fd5b60008083601f84011261403857600080fd5b50813567ffffffffffffffff81111561405057600080fd5b6020830191508360208260051b850101111561406b57600080fd5b9250929050565b60008083601f84011261408457600080fd5b50813567ffffffffffffffff81111561409c57600080fd5b60208301915083602082850101111561406b57600080fd5b60008060008060008060008060a0898b0312156140d057600080fd5b6140d989614002565b97506140e760208a01614002565b9650604089013567ffffffffffffffff8082111561410457600080fd5b6141108c838d01614026565b909850965060608b013591508082111561412957600080fd5b6141358c838d01614026565b909650945060808b013591508082111561414e57600080fd5b5061415b8b828c01614072565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561418857600080fd5b61419187614002565b955061419f60208801614002565b94506040870135935060608701359250608087013567ffffffffffffffff8111156141c957600080fd5b6141d589828a01614072565b979a9699509497509295939492505050565b6000602082840312156141f957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e0576102e0614200565b818103818111156102e0576102e0614200565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122018f2ff9ff2360a5162ea9415877b9199bb56e8e9043b58507219f0788fc01ab764736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b506142e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063b5a3ff8711610097578063d2bdc9e011610066578063d2bdc9e014610204578063d3918c1d14610217578063efa0982f1461021f578063f23a6e611461023257600080fd5b8063b5a3ff8714610189578063b6170dcc1461019c578063bc197c81146101a4578063be5c6872146101f157600080fd5b80635469bff1116100d35780635469bff11461013d578063585765081461015057806371fc117114610163578063a35e50bc1461017657600080fd5b80630d65f47f146100fa5780632565aa42146101205780634e7c028d1461012a575b600080fd5b61010d610108366004613fc7565b610245565b6040519081526020015b60405180910390f35b6101286102e6565b005b610128610138366004613fe9565b610344565b61010d61014b366004613fc7565b61040b565b61010d61015e366004613fe9565b610466565b610128610171366004613fe9565b610471565b61010d610184366004613fe9565b610530565b61010d610197366004613fc7565b61053b565b61010d610596565b6101c06101b23660046140b4565b600098975050505050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610117565b61010d6101ff366004613fe9565b6105a5565b61010d610212366004613fe9565b6105b0565b61010d6105bb565b61010d61022d366004613fe9565b6105c5565b6101c061024036600461416f565b610655565b6040517f0d65f47f0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90630d65f47f906044015b602060405180830381865af41580156102b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102dd91906141e7565b90505b92915050565b735d00797f4d5a2eed04d75a8d3cff1721e859b35d632565aa426040518163ffffffff1660e01b815260040160006040518083038186803b15801561032a57600080fd5b505af415801561033e573d6000803e3d6000fd5b50505050565b61036e7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b6103ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61040881610695565b50565b6040517f5469bff10000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90635469bff19060440161029c565b60006102e0826106eb565b61049b7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b610527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b610408816109a9565b60006102e0826109ff565b6040517fb5a3ff870000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063b5a3ff879060440161029c565b60006105a0610cc2565b905090565b60006102e082610cd5565b60006102e082610ce3565b60006105a0610cee565b6040517fefa0982f00000000000000000000000000000000000000000000000000000000815260048101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063efa0982f90602401602060405180830381865af4158015610631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e091906141e7565b6000610665878787878787610d01565b90505b9695505050505050565b60006102dd82610680610d61565b60008681526020919091526040902090610d8f565b7f495d4b828a3c7e7928af095e028963932f9b19f26d4ff33cc8e066e7b350fa1b816106bf610dbe565b600301546040805192835260208301919091520160405180910390a1806106e4610dbe565b6003015550565b6000806106f6610dec565b9050670de0b6b3a7640000811061078e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f656469740000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b1580156107fc57600080fd5b505af1158015610810573d6000803e3d6000fd5b5050505061081c610dbe565b6004015460ff1661086c576000610831610dbe565b6004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155439082015560009055505b60006108838661087a610dbe565b60010154610e11565b60018401546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810189905291925073ffffffffffffffffffffffffffffffffffffffff16906379cc679090604401600060405180830381600087803b1580156108f857600080fd5b505af115801561090c573d6000803e3d6000fd5b50505050600e8301546040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b50939998505050505050505050565b7f628c688556988d19256692ff656a1966f574832b813a2d20382b5cf38f839b5e816109d3610dbe565b600201546040805192835260208301919091520160405180910390a1806109f8610dbe565b6002015550565b600080610a0a610dec565b9050670de0b6b3a76400008110610aa3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f65646974204e465400000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff90921691829163f7ffe84a91600480830192600092919082900301818387803b158015610b1057600080fd5b505af1158015610b24573d6000803e3d6000fd5b505050506000610b32610dbe565b600481015490915060ff16610b7b576004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091554390820155600081555b6000610b86866110ee565b90506000600101546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810188905273ffffffffffffffffffffffffffffffffffffffff909116906379cc679090604401600060405180830381600087803b158015610bfd57600080fd5b505af1158015610c11573d6000803e3d6000fd5b505050506000826002015443610c27919061422f565b6040517f91623d49000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906391623d4990606401600060405180830381600087803b158015610c9f57600080fd5b505af1158015610cb3573d6000803e3d6000fd5b50929998505050505050505050565b6000610ccc610dbe565b60020154905090565b60006102e08261087a610dbe565b60006102e0826110ee565b6000610cf8610dbe565b60030154905090565b6000610d2d7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b88610672565b15610d5957507ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97610668565b506000610668565b6000806102e060017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77614242565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156102dd565b6000806102e060017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297614242565b60006105a0816001015473ffffffffffffffffffffffffffffffffffffffff1661148d565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa158015610e90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb491906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2391906141e7565b10610f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f484947480060448201526064016103f6565b6000610fd9610fa0670de0b6b3a76400006115fe565b610fb1610fab611671565b546115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061169f565b90506000610fe6436115fe565b90506000610ff782610fb18a6115fe565b9050600061107c61105561102c7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516611b20565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000871690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f48565b905060006110df6110b8836110908e6115fe565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f7c565b9b9a5050505050505050505050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119191906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120091906141e7565b1061128d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f474800000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600061129960016115fe565b905060006113148373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130f91906141e7565b6115fe565b905060006113b661138d8760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061169f565b905060006114156113e97fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168461203b565b6110907fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168561203b565b905060006114457fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168361169f565b905061147f6110b86114568c6115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611b50565b9a9950505050505050505050565b600080611498612069565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311611501575050505050815250509050611527600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361155757806040015191506115f8565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146115f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016103f6565b806060015191505b50919050565b60008160000361161057506000919050565b81600061161c82612097565b90506070811015611635578060700382901b9150611648565b6070811115611648576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b6000806102e060017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665614242565b6000617fff60f084811c8216919084901c81169082900361171b5780617fff036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b80617fff036117a2577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561177557507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e0565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611870577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361182157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e0565b6dffffffffffffffffffffffffffff608085901c16600082900361189757600191506118a9565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361191157801561190c5760006118d882612097565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611926565b6e0100000000000000000000000000001760721b5b81818161193557611935614255565b0490508060000361199d577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e0565b6d10000000000000000000000000008110156119bb576119bb614284565b60006e080000000000000000000000000000821015611a1b576e040000000000000000000000000000821015611a10576e020000000000000000000000000000821015611a09576070611a13565b6071611a13565b60725b60ff16611a24565b611a2482612097565b905083614071018186011115611a4257617fff945060009150611adc565b83818601613ffc011015611a5d576000945060009150611adc565b83818601613f8c011015611aaa578385613ffc011115611a88578385613ffc010382901b9150611aa1565b8385613ffc011015611aa157613ffc8585030382901c91505b60009450611adc565b6070811115611abd576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611b2e83612147565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003611ca35780617fff03611c4e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611bcd575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611c23575050508181176102e0565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b80617fff03611d2e577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d0157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e0565b6dffffffffffffffffffffffffffff608086901c166000839003611d555760019250611d67565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611d8e5760019250611da0565b6e010000000000000000000000000000175b808202915081600003611ddd577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611e42577c0100000000000000000000000000000000000000000000000000000000831015611e3b57611e3683612097565b611e45565b60e0611e45565b60e15b90506140708186011015611e60576000945060009250611f04565b6140e08186011015611ea357614070851015611e8557846140700383901c9250611e9a565b614070851115611e9a57614070850383901b92505b60009450611f04565b61c0dd8186011115611ebd57617fff945060009250611f04565b6070811115611ed4576070810383901c9250611ee7565b6070811015611ee7578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611f77837f3fff71547652b82fe1777d0ffda0d23a00000000000000000000000000000000611b50565b6123fc565b6000617fff60f083901c16613fff811015611f9a5750600092915050565b6f80000000000000000000000000000000608084901c10611fba57600080fd5b6140fe811115611fc957600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120055761406f8290031c612034565b61406f821115612034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60006102dd837f80000000000000000000000000000000000000000000000000000000000000008418613a07565b6000806102e060017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628614242565b60008082116120a557600080fd5b600070010000000000000000000000000000000083106120c757608092831c92015b6801000000000000000083106120df57604092831c92015b64010000000083106120f357602092831c92015b62010000831061210557601092831c92015b610100831061211657600892831c92015b6010831061212657600492831c92015b6004831061213657600292831c92015b600283106102e05760010192915050565b60006f80000000000000000000000000000000608083901c111561218c57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff000000000000000000000000000000000000000000000000000000000000036121dd57506000919050565b617fff60f083901c8116908190036121f6575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361221d576001915061222f565b6e010000000000000000000000000000175b8060000361226057507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff85106122a35750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00184016122ed565b600192506e01000000000000000000000000000084106122d05784613ffe039050600f84901b93506122ed565b60006122db85612097565b607f8190039590951b9461406d039150505b836f800000000000000000000000000000000361232f57821561230e576001015b600061231982612097565b60700390508082901b91508083039250506123a6565b60008361233d576000612340565b60015b60ff1690505b6e0100000000000000000000000000008210156123a45793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b9082180190612346565b505b806dffffffffffffffffffffffffffff16607083901b846123c85760006123da565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff16908214801561244157508015155b1561247057507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d8211156124b157826124a5577f7fff0000000000000000000000000000000000000000000000000000000000006124a8565b60005b95945050505050565b613f7f8210156124e557507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b816000036124f65760019150612508565b6e010000000000000000000000000000175b613fef82111561253b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b61254d565b613fef82101561254d57613fef8290031c5b82801561256b575071406e0000000000000000000000000000000081115b1561257b57506000949350505050565b8215801561259a5750713fffffffffffffffffffffffffffffffffff81115b156125c957507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c8380156125ec57508115155b156125f8579019906001015b6f80000000000000000000000000000000828116156126285770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f40000000000000000000000000000000831615612657577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f20000000000000000000000000000000831615612686577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f100000000000000000000000000000008316156126b55770010b5586cf9890f6298b92b71842a983630260801c5b6f080000000000000000000000000000008316156126e4577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561271357700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156127425770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f0100000000000000000000000000000083161561277157700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e80000000000000000000000000000083161561279f5770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e4000000000000000000000000000008316156127cd577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e2000000000000000000000000000008316156127fb57700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615612829577001000b175effdc76ba38e31671ca9397250260801c5b6e08000000000000000000000000000083161561285757700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156128855770010002c5cc37da9491d0985c348c68e7b30260801c5b6e0200000000000000000000000000008316156128b3577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156128e15770010000b17255775c040618bf4a4ade83fc0260801c5b6d800000000000000000000000000083161561290e577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d400000000000000000000000000083161561293b57700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156129685770010000162e43f4f831060e02d839a9d16d0260801c5b6d100000000000000000000000000083161561299557700100000b1721bcfc99d9f890ea069117630260801c5b6d08000000000000000000000000008316156129c25770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d04000000000000000000000000008316156129ef577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d0200000000000000000000000000831615612a1c57700100000162e430e5a18f6119e3c02282a50260801c5b6d0100000000000000000000000000831615612a49577001000000b1721835514b86e6d96efd1bfe0260801c5b6c80000000000000000000000000831615612a7557700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c40000000000000000000000000831615612aa15770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615612acd577001000000162e42fff037df38aa2b219f060260801c5b6c10000000000000000000000000831615612af95770010000000b17217fba9c739aa5819f44f90260801c5b6c08000000000000000000000000831615612b25577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c04000000000000000000000000831615612b5157700100000002c5c85fe31f35a6a30da1be500260801c5b6c02000000000000000000000000831615612b7d5770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615612ba957700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615612bd45770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615612bff577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615612c2a57700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615612c55577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615612c8057700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615612cab5770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615612cd6577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615612d015770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615612d2b577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615612d5557700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615612d7f5770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615612da957700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615612dd35770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615612dfd577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615612e2757700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615612e51577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615612e7a57700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615612ea35770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615612ecc577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615612ef55770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615612f1e577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615612f4757700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615612f705770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615612f9957700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615612fc15770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615612fe9577001000000000000002c5c85fdf473de6eca0260801c5b6820000000000000000083161561301157700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615613039577001000000000000000b17217f7d1cf79afa0260801c5b6808000000000000000083161561306157700100000000000000058b90bfbe8e7bcd6d0260801c5b680400000000000000008316156130895770010000000000000002c5c85fdf473de6b20260801c5b680200000000000000008316156130b1577001000000000000000162e42fefa39ef3580260801c5b680100000000000000008316156130d95770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615613100577001000000000000000058b90bfbe8e7bcd50260801c5b67400000000000000083161561312757700100000000000000002c5c85fdf473de6a0260801c5b67200000000000000083161561314e5770010000000000000000162e42fefa39ef340260801c5b67100000000000000083161561317557700100000000000000000b17217f7d1cf7990260801c5b67080000000000000083161561319c5770010000000000000000058b90bfbe8e7bcc0260801c5b6704000000000000008316156131c3577001000000000000000002c5c85fdf473de50260801c5b6702000000000000008316156131ea57700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615613211577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561323757700100000000000000000058b90bfbe8e7bb0260801c5b664000000000000083161561325d5770010000000000000000002c5c85fdf473dd0260801c5b6620000000000000831615613283577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156132a95770010000000000000000000b17217f7d1cf60260801c5b66080000000000008316156132cf577001000000000000000000058b90bfbe8e7a0260801c5b66040000000000008316156132f557700100000000000000000002c5c85fdf473c0260801c5b660200000000000083161561331b5770010000000000000000000162e42fefa39d0260801c5b660100000000000083161561334157700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156133665770010000000000000000000058b90bfbe8e60260801c5b6540000000000083161561338b577001000000000000000000002c5c85fdf4720260801c5b652000000000008316156133b057700100000000000000000000162e42fefa380260801c5b651000000000008316156133d5577001000000000000000000000b17217f7d1b0260801c5b650800000000008316156133fa57700100000000000000000000058b90bfbe8d0260801c5b6504000000000083161561341f5770010000000000000000000002c5c85fdf460260801c5b65020000000000831615613444577001000000000000000000000162e42fefa20260801c5b650100000000008316156134695770010000000000000000000000b17217f7d00260801c5b64800000000083161561348d577001000000000000000000000058b90bfbe70260801c5b6440000000008316156134b157700100000000000000000000002c5c85fdf30260801c5b6420000000008316156134d55770010000000000000000000000162e42fef90260801c5b6410000000008316156134f957700100000000000000000000000b17217f7c0260801c5b64080000000083161561351d5770010000000000000000000000058b90bfbd0260801c5b640400000000831615613541577001000000000000000000000002c5c85fde0260801c5b64020000000083161561356557700100000000000000000000000162e42fee0260801c5b640100000000831615613589577001000000000000000000000000b17217f60260801c5b63800000008316156135ac57700100000000000000000000000058b90bfa0260801c5b63400000008316156135cf5770010000000000000000000000002c5c85fc0260801c5b63200000008316156135f2577001000000000000000000000000162e42fd0260801c5b63100000008316156136155770010000000000000000000000000b17217e0260801c5b6308000000831615613638577001000000000000000000000000058b90be0260801c5b630400000083161561365b57700100000000000000000000000002c5c85e0260801c5b630200000083161561367e5770010000000000000000000000000162e42e0260801c5b63010000008316156136a157700100000000000000000000000000b172160260801c5b628000008316156136c35770010000000000000000000000000058b90a0260801c5b624000008316156136e5577001000000000000000000000000002c5c840260801c5b6220000083161561370757700100000000000000000000000000162e410260801c5b62100000831615613729577001000000000000000000000000000b17200260801c5b6208000083161561374b57700100000000000000000000000000058b8f0260801c5b6204000083161561376d5770010000000000000000000000000002c5c70260801c5b6202000083161561378f577001000000000000000000000000000162e30260801c5b620100008316156137b15770010000000000000000000000000000b1710260801c5b6180008316156137d2577001000000000000000000000000000058b80260801c5b6140008316156137f357700100000000000000000000000000002c5b0260801c5b6120008316156138145770010000000000000000000000000000162d0260801c5b61100083161561383557700100000000000000000000000000000b160260801c5b6108008316156138565770010000000000000000000000000000058a0260801c5b610400831615613877577001000000000000000000000000000002c40260801c5b610200831615613898577001000000000000000000000000000001610260801c5b6101008316156138b9577001000000000000000000000000000000b00260801c5b60808316156138d9577001000000000000000000000000000000570260801c5b60408316156138f95770010000000000000000000000000000002b0260801c5b6020831615613919577001000000000000000000000000000000150260801c5b60108316156139395770010000000000000000000000000000000a0260801c5b6008831615613959577001000000000000000000000000000000040260801c5b6004831615613979577001000000000000000000000000000000010260801c5b846139a157600f81901c6dffffffffffffffffffffffffffff169050613fff820191506139f4565b613ffe82116139cd57600f81901c6dffffffffffffffffffffffffffff16905081613fff0391506139f4565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000617fff60f084811c8216919084901c811690829003613a6b5780617fff03613a61577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611c235784925050506102e0565b84925050506102e0565b80617fff03613a7e5783925050506102e0565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003613abb5760019350613acd565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003613b0a5760019450613b1c565b6e010000000000000000000000000000175b82600003613b83577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014613b735787613b76565b60005b96505050505050506102e0565b80600003613bda577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014613b735788613b76565b84860382151585151503613d66576070811315613c0057899750505050505050506102e0565b6000811315613c125790811c90613c5f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613c4957889750505050505050506102e0565b6000811215613c5f578060000384901c93508596505b928101926e0200000000000000000000000000008410613c85576001968701969390931c925b86617fff03613ce95784613cb9577f7fff000000000000000000000000000000000000000000000000000000000000613cdb565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e0565b6e010000000000000000000000000000841015613d095760009650613d1d565b6dffffffffffffffffffffffffffff841693505b83607088901b86613d2f576000613d41565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e0565b6000811315613d8157600184901b9350600187039650613d98565b6000811215613d9857600182901b91506001860396505b6070811315613daa5760019150613e33565b6001811315613dc7576001810360018303901c6001019150613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613df85760019350613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613e33576001816000030360018503901c60010193505b818410613e44578184039350613e4d565b83820393508294505b83600003613e665750600096506102e095505050505050565b6000613e7185612097565b905080607103613e9d57600185901c6dffffffffffffffffffffffffffff169450600188019750613f18565b6070811015613f0457607081900380891115613ed3578086901b6dffffffffffffffffffffffffffff1695508089039850613efe565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613f18565b6dffffffffffffffffffffffffffff851694505b87617fff03613f7d5785613f4c577f7fff000000000000000000000000000000000000000000000000000000000000613f6e565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e0565b84607089901b87613f8f576000613fa1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e0565b60008060408385031215613fda57600080fd5b50508035926020909101359150565b600060208284031215613ffb57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461166c57600080fd5b60008083601f84011261403857600080fd5b50813567ffffffffffffffff81111561405057600080fd5b6020830191508360208260051b850101111561406b57600080fd5b9250929050565b60008083601f84011261408457600080fd5b50813567ffffffffffffffff81111561409c57600080fd5b60208301915083602082850101111561406b57600080fd5b60008060008060008060008060a0898b0312156140d057600080fd5b6140d989614002565b97506140e760208a01614002565b9650604089013567ffffffffffffffff8082111561410457600080fd5b6141108c838d01614026565b909850965060608b013591508082111561412957600080fd5b6141358c838d01614026565b909650945060808b013591508082111561414e57600080fd5b5061415b8b828c01614072565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561418857600080fd5b61419187614002565b955061419f60208801614002565b94506040870135935060608701359250608087013567ffffffffffffffff8111156141c957600080fd5b6141d589828a01614072565b979a9699509497509295939492505050565b6000602082840312156141f957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e0576102e0614200565b818103818111156102e0576102e0614200565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212205f124268e9e329646ea19da121a5a8b41021da9ec891c61015f8c215f507bc3c64736f6c63430008130033", "nonce": "0xb", "accessList": [] }, @@ -228,7 +228,7 @@ "isFixedGasLimit": false }, { - "hash": "0xbc08ef7499ba6ff72862cbea8abf1a62977a016fb2efe432b24a816f2bbac96f", + "hash": "0xd0cc06edd0ff7a18b21490c573c2ec2c8520e5d4a1e47ed5f18149a7a5797c7b", "transactionType": "CREATE", "contractName": "CreditNftRedemptionCalculatorFacet", "contractAddress": "0x82aCf7DE62Ab6B0C240873339C19461A34260794", @@ -239,7 +239,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x182ffd", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50611568806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c4b4a9ff14610030575b600080fd5b61004361003e3660046114a2565b610055565b60405190815260200160405180910390f35b600061006082610066565b92915050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156100e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010991906114bb565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610154573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017891906114bb565b10610209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f4748000000000000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b60006102156001610458565b905060006102908373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028b91906114bb565b610458565b905060006103326103098760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906104c6565b905060006103b96103657fffffffffffffffffffffffffffffffff00000000000000000000000000000000861684610947565b6103917fffffffffffffffffffffffffffffffff00000000000000000000000000000000871685610947565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061097c565b905060006103e97fffffffffffffffffffffffffffffffff000000000000000000000000000000008616836104c6565b905061044a6104236103fa8c610458565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061097c565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610d74565b9a9950505050505050505050565b60008160000361046a57506000919050565b81600061047682610e32565b9050607081101561048f578060700382901b91506104a2565b60708111156104a2576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036105425780617fff0361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b80617fff036105c9577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561059c57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610060565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610697577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361064857507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610060565b6dffffffffffffffffffffffffffff608085901c1660008290036106be57600191506106d0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036107385780156107335760006106ff82610e32565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61074d565b6e0100000000000000000000000000001760721b5b81818161075c5761075c6114d4565b049050806000036107c4577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610060565b6d10000000000000000000000000008110156107e2576107e2611503565b60006e080000000000000000000000000000821015610842576e040000000000000000000000000000821015610837576e02000000000000000000000000000082101561083057607061083a565b607161083a565b60725b60ff1661084b565b61084b82610e32565b90508361407101818601111561086957617fff945060009150610903565b83818601613ffc011015610884576000945060009150610903565b83818601613f8c0110156108d1578385613ffc0111156108af578385613ffc010382901b91506108c8565b8385613ffc0110156108c857613ffc8585030382901c91505b60009450610903565b60708111156108e4576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000610975837f80000000000000000000000000000000000000000000000000000000000000008418610ee2565b9392505050565b6000617fff60f084811c8216919084901c811690829003610acf5780617fff03610a7a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036109f9575050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a4f57505050818117610060565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b80617fff03610b5a577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b2d57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610060565b6dffffffffffffffffffffffffffff608086901c166000839003610b815760019250610b93565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bba5760019250610bcc565b6e010000000000000000000000000000175b808202915081600003610c09577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610c6e577c0100000000000000000000000000000000000000000000000000000000831015610c6757610c6283610e32565b610c71565b60e0610c71565b60e15b90506140708186011015610c8c576000945060009250610d30565b6140e08186011015610ccf57614070851015610cb157846140700383901c9250610cc6565b614070851115610cc657614070850383901b92505b60009450610d30565b61c0dd8186011115610ce957617fff945060009250610d30565b6070811115610d00576070810383901c9250610d13565b6070811015610d13578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000617fff60f083901c16613fff811015610d925750600092915050565b6f80000000000000000000000000000000608084901c10610db257600080fd5b6140fe811115610dc157600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610dfd5761406f8290031c610975565b61406f821115610975577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b6000808211610e4057600080fd5b60007001000000000000000000000000000000008310610e6257608092831c92015b680100000000000000008310610e7a57604092831c92015b6401000000008310610e8e57602092831c92015b620100008310610ea057601092831c92015b6101008310610eb157600892831c92015b60108310610ec157600492831c92015b60048310610ed157600292831c92015b600283106100605760010192915050565b6000617fff60f084811c8216919084901c811690829003610f465780617fff03610f3c577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a4f578492505050610060565b8492505050610060565b80617fff03610f59578392505050610060565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f965760019350610fa8565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610fe55760019450610ff7565b6e010000000000000000000000000000175b8260000361105e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f80000000000000000000000000000000000000000000000000000000000000001461104e5787611051565b60005b9650505050505050610060565b806000036110b5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f80000000000000000000000000000000000000000000000000000000000000001461104e5788611051565b848603821515851515036112415760708113156110db5789975050505050505050610060565b60008113156110ed5790811c9061113a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156111245788975050505050505050610060565b600081121561113a578060000384901c93508596505b928101926e0200000000000000000000000000008410611160576001968701969390931c925b86617fff036111c45784611194577f7fff0000000000000000000000000000000000000000000000000000000000006111b6565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610060565b6e0100000000000000000000000000008410156111e457600096506111f8565b6dffffffffffffffffffffffffffff841693505b83607088901b8661120a57600061121c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610060565b600081131561125c57600184901b9350600187039650611273565b600081121561127357600182901b91506001860396505b6070811315611285576001915061130e565b60018113156112a2576001810360018303901c600101915061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156112d3576001935061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81121561130e576001816000030360018503901c60010193505b81841061131f578184039350611328565b83820393508294505b8360000361134157506000965061006095505050505050565b600061134c85610e32565b90508060710361137857600185901c6dffffffffffffffffffffffffffff1694506001880197506113f3565b60708110156113df576070819003808911156113ae578086901b6dffffffffffffffffffffffffffff16955080890398506113d9565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b506113f3565b6dffffffffffffffffffffffffffff851694505b87617fff036114585785611427577f7fff000000000000000000000000000000000000000000000000000000000000611449565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610060565b84607089901b8761146a57600061147c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610060565b6000602082840312156114b457600080fd5b5035919050565b6000602082840312156114cd57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212203df2328eaf6ad907d225f6de17ef835592c65a8a3fb40f47a3f91b8057c047fe64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50611568806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c4b4a9ff14610030575b600080fd5b61004361003e3660046114a2565b610055565b60405190815260200160405180910390f35b600061006082610066565b92915050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156100e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010991906114bb565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610154573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017891906114bb565b10610209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f4748000000000000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b60006102156001610458565b905060006102908373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028b91906114bb565b610458565b905060006103326103098760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906104c6565b905060006103b96103657fffffffffffffffffffffffffffffffff00000000000000000000000000000000861684610947565b6103917fffffffffffffffffffffffffffffffff00000000000000000000000000000000871685610947565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061097c565b905060006103e97fffffffffffffffffffffffffffffffff000000000000000000000000000000008616836104c6565b905061044a6104236103fa8c610458565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061097c565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610d74565b9a9950505050505050505050565b60008160000361046a57506000919050565b81600061047682610e32565b9050607081101561048f578060700382901b91506104a2565b60708111156104a2576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036105425780617fff0361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b80617fff036105c9577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561059c57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610060565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610697577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361064857507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610060565b6dffffffffffffffffffffffffffff608085901c1660008290036106be57600191506106d0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036107385780156107335760006106ff82610e32565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61074d565b6e0100000000000000000000000000001760721b5b81818161075c5761075c6114d4565b049050806000036107c4577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610060565b6d10000000000000000000000000008110156107e2576107e2611503565b60006e080000000000000000000000000000821015610842576e040000000000000000000000000000821015610837576e02000000000000000000000000000082101561083057607061083a565b607161083a565b60725b60ff1661084b565b61084b82610e32565b90508361407101818601111561086957617fff945060009150610903565b83818601613ffc011015610884576000945060009150610903565b83818601613f8c0110156108d1578385613ffc0111156108af578385613ffc010382901b91506108c8565b8385613ffc0110156108c857613ffc8585030382901c91505b60009450610903565b60708111156108e4576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000610975837f80000000000000000000000000000000000000000000000000000000000000008418610ee2565b9392505050565b6000617fff60f084811c8216919084901c811690829003610acf5780617fff03610a7a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036109f9575050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a4f57505050818117610060565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b80617fff03610b5a577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b2d57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610060565b6dffffffffffffffffffffffffffff608086901c166000839003610b815760019250610b93565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bba5760019250610bcc565b6e010000000000000000000000000000175b808202915081600003610c09577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610c6e577c0100000000000000000000000000000000000000000000000000000000831015610c6757610c6283610e32565b610c71565b60e0610c71565b60e15b90506140708186011015610c8c576000945060009250610d30565b6140e08186011015610ccf57614070851015610cb157846140700383901c9250610cc6565b614070851115610cc657614070850383901b92505b60009450610d30565b61c0dd8186011115610ce957617fff945060009250610d30565b6070811115610d00576070810383901c9250610d13565b6070811015610d13578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000617fff60f083901c16613fff811015610d925750600092915050565b6f80000000000000000000000000000000608084901c10610db257600080fd5b6140fe811115610dc157600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610dfd5761406f8290031c610975565b61406f821115610975577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b6000808211610e4057600080fd5b60007001000000000000000000000000000000008310610e6257608092831c92015b680100000000000000008310610e7a57604092831c92015b6401000000008310610e8e57602092831c92015b620100008310610ea057601092831c92015b6101008310610eb157600892831c92015b60108310610ec157600492831c92015b60048310610ed157600292831c92015b600283106100605760010192915050565b6000617fff60f084811c8216919084901c811690829003610f465780617fff03610f3c577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a4f578492505050610060565b8492505050610060565b80617fff03610f59578392505050610060565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f965760019350610fa8565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610fe55760019450610ff7565b6e010000000000000000000000000000175b8260000361105e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f80000000000000000000000000000000000000000000000000000000000000001461104e5787611051565b60005b9650505050505050610060565b806000036110b5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f80000000000000000000000000000000000000000000000000000000000000001461104e5788611051565b848603821515851515036112415760708113156110db5789975050505050505050610060565b60008113156110ed5790811c9061113a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156111245788975050505050505050610060565b600081121561113a578060000384901c93508596505b928101926e0200000000000000000000000000008410611160576001968701969390931c925b86617fff036111c45784611194577f7fff0000000000000000000000000000000000000000000000000000000000006111b6565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610060565b6e0100000000000000000000000000008410156111e457600096506111f8565b6dffffffffffffffffffffffffffff841693505b83607088901b8661120a57600061121c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610060565b600081131561125c57600184901b9350600187039650611273565b600081121561127357600182901b91506001860396505b6070811315611285576001915061130e565b60018113156112a2576001810360018303901c600101915061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156112d3576001935061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81121561130e576001816000030360018503901c60010193505b81841061131f578184039350611328565b83820393508294505b8360000361134157506000965061006095505050505050565b600061134c85610e32565b90508060710361137857600185901c6dffffffffffffffffffffffffffff1694506001880197506113f3565b60708110156113df576070819003808911156113ae578086901b6dffffffffffffffffffffffffffff16955080890398506113d9565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b506113f3565b6dffffffffffffffffffffffffffff851694505b87617fff036114585785611427577f7fff000000000000000000000000000000000000000000000000000000000000611449565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610060565b84607089901b8761146a57600061147c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610060565b6000602082840312156114b457600080fd5b5035919050565b6000602082840312156114cd57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220641fc71030afc3be4f700c188484220ebe658421bea0f5052af5ae659f34bf2b64736f6c63430008130033", "nonce": "0xc", "accessList": [] }, @@ -247,7 +247,7 @@ "isFixedGasLimit": false }, { - "hash": "0x5967fcdc5333398259e46dd202c69df488f1083d0d9e54d173a25e17357f6811", + "hash": "0x68aeb04d2a9513b870e81d9e2ab7f82bcb4e9cd63270529a62f72e112a2f031b", "transactionType": "CREATE", "contractName": "CreditRedemptionCalculatorFacet", "contractAddress": "0xb66709Aa65AaC2b8a6294062d0a0531207481036", @@ -258,7 +258,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x2dddaa", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50612991806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063993fba5c14610046578063ac5068061461006b578063f13a38a614610080575b600080fd5b61005961005436600461286f565b610088565b60405190815260200160405180910390f35b61007e610079366004612891565b61009d565b005b61005961013e565b6000610094838361014d565b90505b92915050565b6100c77faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d3361042a565b610132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f43726564697443616c633a206e6f742061646d696e000000000000000000000060448201526064015b60405180910390fd5b61013b8161044d565b50565b600061014861045a565b905090565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156101cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f091906128aa565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561023b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025f91906128aa565b106102c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f48494748006044820152606401610129565b60006103156102dc670de0b6b3a764000061046a565b6102ed6102e76104d8565b5461046a565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610506565b905060006103224361046a565b90506000610333826102ed8a61046a565b905060006103b86103916103687fffffffffffffffffffffffffffffffff000000000000000000000000000000008516610987565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008716906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610daf565b9050600061041b6103f4836103cc8e61046a565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610de3565b9b9a5050505050505050505050565b600061009482610438610ea2565b60008681526020919091526040902090610ed0565b806104566104d8565b5550565b60006104646104d8565b54919050565b60008160000361047c57506000919050565b81600061048882610eff565b905060708110156104a1578060700382901b91506104b4565b60708111156104b4576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60008061009760017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace6656128c3565b6000617fff60f084811c8216919084901c8116908290036105825780617fff0361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b80617fff03610609577dffffffffffffffffffffffffffff000000000000000000000000000000008416156105dc57507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610097565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036106d7577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361068857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610097565b6dffffffffffffffffffffffffffff608085901c1660008290036106fe5760019150610710565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361077857801561077357600061073f82610eff565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61078d565b6e0100000000000000000000000000001760721b5b81818161079c5761079c6128fd565b04905080600003610804577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610097565b6d10000000000000000000000000008110156108225761082261292c565b60006e080000000000000000000000000000821015610882576e040000000000000000000000000000821015610877576e02000000000000000000000000000082101561087057607061087a565b607161087a565b60725b60ff1661088b565b61088b82610eff565b9050836140710181860111156108a957617fff945060009150610943565b83818601613ffc0110156108c4576000945060009150610943565b83818601613f8c011015610911578385613ffc0111156108ef578385613ffc010382901b9150610908565b8385613ffc01101561090857613ffc8585030382901c91505b60009450610943565b6070811115610924576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b600061009761099583610faf565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003610b0a5780617fff03610ab5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a34575050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a8a57505050818117610097565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b80617fff03610b95577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b6857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610097565b6dffffffffffffffffffffffffffff608086901c166000839003610bbc5760019250610bce565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bf55760019250610c07565b6e010000000000000000000000000000175b808202915081600003610c44577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610ca9577c0100000000000000000000000000000000000000000000000000000000831015610ca257610c9d83610eff565b610cac565b60e0610cac565b60e15b90506140708186011015610cc7576000945060009250610d6b565b6140e08186011015610d0a57614070851015610cec57846140700383901c9250610d01565b614070851115610d0157614070850383901b92505b60009450610d6b565b61c0dd8186011115610d2457617fff945060009250610d6b565b6070811115610d3b576070810383901c9250610d4e565b6070811015610d4e578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b6000610097610dde837f3fff71547652b82fe1777d0ffda0d23a000000000000000000000000000000006109b7565b611264565b6000617fff60f083901c16613fff811015610e015750600092915050565b6f80000000000000000000000000000000608084901c10610e2157600080fd5b6140fe811115610e3057600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610e6c5761406f8290031c610e9b565b61406f821115610e9b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60008061009760017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776128c3565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610094565b6000808211610f0d57600080fd5b60007001000000000000000000000000000000008310610f2f57608092831c92015b680100000000000000008310610f4757604092831c92015b6401000000008310610f5b57602092831c92015b620100008310610f6d57601092831c92015b6101008310610f7e57600892831c92015b60108310610f8e57600492831c92015b60048310610f9e57600292831c92015b600283106100975760010192915050565b60006f80000000000000000000000000000000608083901c1115610ff457507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff0000000000000000000000000000000000000000000000000000000000000361104557506000919050565b617fff60f083901c81169081900361105e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036110855760019150611097565b6e010000000000000000000000000000175b806000036110c857507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff851061110b5750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018401611155565b600192506e01000000000000000000000000000084106111385784613ffe039050600f84901b9350611155565b600061114385610eff565b607f8190039590951b9461406d039150505b836f8000000000000000000000000000000003611197578215611176576001015b600061118182610eff565b60700390508082901b915080830392505061120e565b6000836111a55760006111a8565b60015b60ff1690505b6e01000000000000000000000000000082101561120c5793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b90821801906111ae565b505b806dffffffffffffffffffffffffffff16607083901b84611230576000611242565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff1690821480156112a957508015155b156112d857507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d821115611319578261130d577f7fff000000000000000000000000000000000000000000000000000000000000611310565b60005b95945050505050565b613f7f82101561134d57507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b8160000361135e5760019150611370565b6e010000000000000000000000000000175b613fef8211156113a3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b6113b5565b613fef8210156113b557613fef8290031c5b8280156113d3575071406e0000000000000000000000000000000081115b156113e357506000949350505050565b821580156114025750713fffffffffffffffffffffffffffffffffff81115b1561143157507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c83801561145457508115155b15611460579019906001015b6f80000000000000000000000000000000828116156114905770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f400000000000000000000000000000008316156114bf577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f200000000000000000000000000000008316156114ee577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f1000000000000000000000000000000083161561151d5770010b5586cf9890f6298b92b71842a983630260801c5b6f0800000000000000000000000000000083161561154c577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561157b57700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156115aa5770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f010000000000000000000000000000008316156115d957700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e8000000000000000000000000000008316156116075770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e400000000000000000000000000000831615611635577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e20000000000000000000000000000083161561166357700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615611691577001000b175effdc76ba38e31671ca9397250260801c5b6e0800000000000000000000000000008316156116bf57700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156116ed5770010002c5cc37da9491d0985c348c68e7b30260801c5b6e02000000000000000000000000000083161561171b577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156117495770010000b17255775c040618bf4a4ade83fc0260801c5b6d8000000000000000000000000000831615611776577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d40000000000000000000000000008316156117a357700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156117d05770010000162e43f4f831060e02d839a9d16d0260801c5b6d10000000000000000000000000008316156117fd57700100000b1721bcfc99d9f890ea069117630260801c5b6d080000000000000000000000000083161561182a5770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d0400000000000000000000000000831615611857577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d020000000000000000000000000083161561188457700100000162e430e5a18f6119e3c02282a50260801c5b6d01000000000000000000000000008316156118b1577001000000b1721835514b86e6d96efd1bfe0260801c5b6c800000000000000000000000008316156118dd57700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c400000000000000000000000008316156119095770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615611935577001000000162e42fff037df38aa2b219f060260801c5b6c100000000000000000000000008316156119615770010000000b17217fba9c739aa5819f44f90260801c5b6c0800000000000000000000000083161561198d577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c040000000000000000000000008316156119b957700100000002c5c85fe31f35a6a30da1be500260801c5b6c020000000000000000000000008316156119e55770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615611a1157700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615611a3c5770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615611a67577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615611a9257700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615611abd577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615611ae857700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615611b135770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615611b3e577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615611b695770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615611b93577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615611bbd57700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615611be75770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615611c1157700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615611c3b5770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615611c65577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615611c8f57700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615611cb9577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615611ce257700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615611d0b5770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615611d34577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615611d5d5770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615611d86577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615611daf57700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615611dd85770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615611e0157700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615611e295770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615611e51577001000000000000002c5c85fdf473de6eca0260801c5b68200000000000000000831615611e7957700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615611ea1577001000000000000000b17217f7d1cf79afa0260801c5b68080000000000000000831615611ec957700100000000000000058b90bfbe8e7bcd6d0260801c5b68040000000000000000831615611ef15770010000000000000002c5c85fdf473de6b20260801c5b68020000000000000000831615611f19577001000000000000000162e42fefa39ef3580260801c5b68010000000000000000831615611f415770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615611f68577001000000000000000058b90bfbe8e7bcd50260801c5b674000000000000000831615611f8f57700100000000000000002c5c85fdf473de6a0260801c5b672000000000000000831615611fb65770010000000000000000162e42fefa39ef340260801c5b671000000000000000831615611fdd57700100000000000000000b17217f7d1cf7990260801c5b6708000000000000008316156120045770010000000000000000058b90bfbe8e7bcc0260801c5b67040000000000000083161561202b577001000000000000000002c5c85fdf473de50260801c5b67020000000000000083161561205257700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615612079577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561209f57700100000000000000000058b90bfbe8e7bb0260801c5b66400000000000008316156120c55770010000000000000000002c5c85fdf473dd0260801c5b66200000000000008316156120eb577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156121115770010000000000000000000b17217f7d1cf60260801c5b6608000000000000831615612137577001000000000000000000058b90bfbe8e7a0260801c5b660400000000000083161561215d57700100000000000000000002c5c85fdf473c0260801c5b66020000000000008316156121835770010000000000000000000162e42fefa39d0260801c5b66010000000000008316156121a957700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156121ce5770010000000000000000000058b90bfbe8e60260801c5b654000000000008316156121f3577001000000000000000000002c5c85fdf4720260801c5b6520000000000083161561221857700100000000000000000000162e42fefa380260801c5b6510000000000083161561223d577001000000000000000000000b17217f7d1b0260801c5b6508000000000083161561226257700100000000000000000000058b90bfbe8d0260801c5b650400000000008316156122875770010000000000000000000002c5c85fdf460260801c5b650200000000008316156122ac577001000000000000000000000162e42fefa20260801c5b650100000000008316156122d15770010000000000000000000000b17217f7d00260801c5b6480000000008316156122f5577001000000000000000000000058b90bfbe70260801c5b64400000000083161561231957700100000000000000000000002c5c85fdf30260801c5b64200000000083161561233d5770010000000000000000000000162e42fef90260801c5b64100000000083161561236157700100000000000000000000000b17217f7c0260801c5b6408000000008316156123855770010000000000000000000000058b90bfbd0260801c5b6404000000008316156123a9577001000000000000000000000002c5c85fde0260801c5b6402000000008316156123cd57700100000000000000000000000162e42fee0260801c5b6401000000008316156123f1577001000000000000000000000000b17217f60260801c5b638000000083161561241457700100000000000000000000000058b90bfa0260801c5b63400000008316156124375770010000000000000000000000002c5c85fc0260801c5b632000000083161561245a577001000000000000000000000000162e42fd0260801c5b631000000083161561247d5770010000000000000000000000000b17217e0260801c5b63080000008316156124a0577001000000000000000000000000058b90be0260801c5b63040000008316156124c357700100000000000000000000000002c5c85e0260801c5b63020000008316156124e65770010000000000000000000000000162e42e0260801c5b630100000083161561250957700100000000000000000000000000b172160260801c5b6280000083161561252b5770010000000000000000000000000058b90a0260801c5b6240000083161561254d577001000000000000000000000000002c5c840260801c5b6220000083161561256f57700100000000000000000000000000162e410260801c5b62100000831615612591577001000000000000000000000000000b17200260801c5b620800008316156125b357700100000000000000000000000000058b8f0260801c5b620400008316156125d55770010000000000000000000000000002c5c70260801c5b620200008316156125f7577001000000000000000000000000000162e30260801c5b620100008316156126195770010000000000000000000000000000b1710260801c5b61800083161561263a577001000000000000000000000000000058b80260801c5b61400083161561265b57700100000000000000000000000000002c5b0260801c5b61200083161561267c5770010000000000000000000000000000162d0260801c5b61100083161561269d57700100000000000000000000000000000b160260801c5b6108008316156126be5770010000000000000000000000000000058a0260801c5b6104008316156126df577001000000000000000000000000000002c40260801c5b610200831615612700577001000000000000000000000000000001610260801c5b610100831615612721577001000000000000000000000000000000b00260801c5b6080831615612741577001000000000000000000000000000000570260801c5b60408316156127615770010000000000000000000000000000002b0260801c5b6020831615612781577001000000000000000000000000000000150260801c5b60108316156127a15770010000000000000000000000000000000a0260801c5b60088316156127c1577001000000000000000000000000000000040260801c5b60048316156127e1577001000000000000000000000000000000010260801c5b8461280957600f81901c6dffffffffffffffffffffffffffff169050613fff8201915061285c565b613ffe821161283557600f81901c6dffffffffffffffffffffffffffff16905081613fff03915061285c565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000806040838503121561288257600080fd5b50508035926020909101359150565b6000602082840312156128a357600080fd5b5035919050565b6000602082840312156128bc57600080fd5b5051919050565b81810381811115610097577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212207d98fe4e1d9c5ada681437d5dd47b7ad633295e4ed7da97be912be411eb96e0664736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50612991806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063993fba5c14610046578063ac5068061461006b578063f13a38a614610080575b600080fd5b61005961005436600461286f565b610088565b60405190815260200160405180910390f35b61007e610079366004612891565b61009d565b005b61005961013e565b6000610094838361014d565b90505b92915050565b6100c77faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d3361042a565b610132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f43726564697443616c633a206e6f742061646d696e000000000000000000000060448201526064015b60405180910390fd5b61013b8161044d565b50565b600061014861045a565b905090565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156101cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f091906128aa565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561023b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025f91906128aa565b106102c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f48494748006044820152606401610129565b60006103156102dc670de0b6b3a764000061046a565b6102ed6102e76104d8565b5461046a565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610506565b905060006103224361046a565b90506000610333826102ed8a61046a565b905060006103b86103916103687fffffffffffffffffffffffffffffffff000000000000000000000000000000008516610987565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008716906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610daf565b9050600061041b6103f4836103cc8e61046a565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610de3565b9b9a5050505050505050505050565b600061009482610438610ea2565b60008681526020919091526040902090610ed0565b806104566104d8565b5550565b60006104646104d8565b54919050565b60008160000361047c57506000919050565b81600061048882610eff565b905060708110156104a1578060700382901b91506104b4565b60708111156104b4576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60008061009760017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace6656128c3565b6000617fff60f084811c8216919084901c8116908290036105825780617fff0361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b80617fff03610609577dffffffffffffffffffffffffffff000000000000000000000000000000008416156105dc57507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610097565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036106d7577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361068857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610097565b6dffffffffffffffffffffffffffff608085901c1660008290036106fe5760019150610710565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361077857801561077357600061073f82610eff565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61078d565b6e0100000000000000000000000000001760721b5b81818161079c5761079c6128fd565b04905080600003610804577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610097565b6d10000000000000000000000000008110156108225761082261292c565b60006e080000000000000000000000000000821015610882576e040000000000000000000000000000821015610877576e02000000000000000000000000000082101561087057607061087a565b607161087a565b60725b60ff1661088b565b61088b82610eff565b9050836140710181860111156108a957617fff945060009150610943565b83818601613ffc0110156108c4576000945060009150610943565b83818601613f8c011015610911578385613ffc0111156108ef578385613ffc010382901b9150610908565b8385613ffc01101561090857613ffc8585030382901c91505b60009450610943565b6070811115610924576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b600061009761099583610faf565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003610b0a5780617fff03610ab5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a34575050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a8a57505050818117610097565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b80617fff03610b95577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b6857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610097565b6dffffffffffffffffffffffffffff608086901c166000839003610bbc5760019250610bce565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bf55760019250610c07565b6e010000000000000000000000000000175b808202915081600003610c44577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610ca9577c0100000000000000000000000000000000000000000000000000000000831015610ca257610c9d83610eff565b610cac565b60e0610cac565b60e15b90506140708186011015610cc7576000945060009250610d6b565b6140e08186011015610d0a57614070851015610cec57846140700383901c9250610d01565b614070851115610d0157614070850383901b92505b60009450610d6b565b61c0dd8186011115610d2457617fff945060009250610d6b565b6070811115610d3b576070810383901c9250610d4e565b6070811015610d4e578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b6000610097610dde837f3fff71547652b82fe1777d0ffda0d23a000000000000000000000000000000006109b7565b611264565b6000617fff60f083901c16613fff811015610e015750600092915050565b6f80000000000000000000000000000000608084901c10610e2157600080fd5b6140fe811115610e3057600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610e6c5761406f8290031c610e9b565b61406f821115610e9b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60008061009760017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776128c3565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610094565b6000808211610f0d57600080fd5b60007001000000000000000000000000000000008310610f2f57608092831c92015b680100000000000000008310610f4757604092831c92015b6401000000008310610f5b57602092831c92015b620100008310610f6d57601092831c92015b6101008310610f7e57600892831c92015b60108310610f8e57600492831c92015b60048310610f9e57600292831c92015b600283106100975760010192915050565b60006f80000000000000000000000000000000608083901c1115610ff457507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff0000000000000000000000000000000000000000000000000000000000000361104557506000919050565b617fff60f083901c81169081900361105e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036110855760019150611097565b6e010000000000000000000000000000175b806000036110c857507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff851061110b5750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018401611155565b600192506e01000000000000000000000000000084106111385784613ffe039050600f84901b9350611155565b600061114385610eff565b607f8190039590951b9461406d039150505b836f8000000000000000000000000000000003611197578215611176576001015b600061118182610eff565b60700390508082901b915080830392505061120e565b6000836111a55760006111a8565b60015b60ff1690505b6e01000000000000000000000000000082101561120c5793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b90821801906111ae565b505b806dffffffffffffffffffffffffffff16607083901b84611230576000611242565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff1690821480156112a957508015155b156112d857507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d821115611319578261130d577f7fff000000000000000000000000000000000000000000000000000000000000611310565b60005b95945050505050565b613f7f82101561134d57507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b8160000361135e5760019150611370565b6e010000000000000000000000000000175b613fef8211156113a3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b6113b5565b613fef8210156113b557613fef8290031c5b8280156113d3575071406e0000000000000000000000000000000081115b156113e357506000949350505050565b821580156114025750713fffffffffffffffffffffffffffffffffff81115b1561143157507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c83801561145457508115155b15611460579019906001015b6f80000000000000000000000000000000828116156114905770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f400000000000000000000000000000008316156114bf577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f200000000000000000000000000000008316156114ee577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f1000000000000000000000000000000083161561151d5770010b5586cf9890f6298b92b71842a983630260801c5b6f0800000000000000000000000000000083161561154c577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561157b57700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156115aa5770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f010000000000000000000000000000008316156115d957700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e8000000000000000000000000000008316156116075770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e400000000000000000000000000000831615611635577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e20000000000000000000000000000083161561166357700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615611691577001000b175effdc76ba38e31671ca9397250260801c5b6e0800000000000000000000000000008316156116bf57700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156116ed5770010002c5cc37da9491d0985c348c68e7b30260801c5b6e02000000000000000000000000000083161561171b577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156117495770010000b17255775c040618bf4a4ade83fc0260801c5b6d8000000000000000000000000000831615611776577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d40000000000000000000000000008316156117a357700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156117d05770010000162e43f4f831060e02d839a9d16d0260801c5b6d10000000000000000000000000008316156117fd57700100000b1721bcfc99d9f890ea069117630260801c5b6d080000000000000000000000000083161561182a5770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d0400000000000000000000000000831615611857577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d020000000000000000000000000083161561188457700100000162e430e5a18f6119e3c02282a50260801c5b6d01000000000000000000000000008316156118b1577001000000b1721835514b86e6d96efd1bfe0260801c5b6c800000000000000000000000008316156118dd57700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c400000000000000000000000008316156119095770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615611935577001000000162e42fff037df38aa2b219f060260801c5b6c100000000000000000000000008316156119615770010000000b17217fba9c739aa5819f44f90260801c5b6c0800000000000000000000000083161561198d577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c040000000000000000000000008316156119b957700100000002c5c85fe31f35a6a30da1be500260801c5b6c020000000000000000000000008316156119e55770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615611a1157700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615611a3c5770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615611a67577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615611a9257700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615611abd577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615611ae857700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615611b135770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615611b3e577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615611b695770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615611b93577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615611bbd57700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615611be75770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615611c1157700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615611c3b5770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615611c65577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615611c8f57700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615611cb9577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615611ce257700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615611d0b5770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615611d34577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615611d5d5770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615611d86577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615611daf57700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615611dd85770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615611e0157700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615611e295770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615611e51577001000000000000002c5c85fdf473de6eca0260801c5b68200000000000000000831615611e7957700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615611ea1577001000000000000000b17217f7d1cf79afa0260801c5b68080000000000000000831615611ec957700100000000000000058b90bfbe8e7bcd6d0260801c5b68040000000000000000831615611ef15770010000000000000002c5c85fdf473de6b20260801c5b68020000000000000000831615611f19577001000000000000000162e42fefa39ef3580260801c5b68010000000000000000831615611f415770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615611f68577001000000000000000058b90bfbe8e7bcd50260801c5b674000000000000000831615611f8f57700100000000000000002c5c85fdf473de6a0260801c5b672000000000000000831615611fb65770010000000000000000162e42fefa39ef340260801c5b671000000000000000831615611fdd57700100000000000000000b17217f7d1cf7990260801c5b6708000000000000008316156120045770010000000000000000058b90bfbe8e7bcc0260801c5b67040000000000000083161561202b577001000000000000000002c5c85fdf473de50260801c5b67020000000000000083161561205257700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615612079577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561209f57700100000000000000000058b90bfbe8e7bb0260801c5b66400000000000008316156120c55770010000000000000000002c5c85fdf473dd0260801c5b66200000000000008316156120eb577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156121115770010000000000000000000b17217f7d1cf60260801c5b6608000000000000831615612137577001000000000000000000058b90bfbe8e7a0260801c5b660400000000000083161561215d57700100000000000000000002c5c85fdf473c0260801c5b66020000000000008316156121835770010000000000000000000162e42fefa39d0260801c5b66010000000000008316156121a957700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156121ce5770010000000000000000000058b90bfbe8e60260801c5b654000000000008316156121f3577001000000000000000000002c5c85fdf4720260801c5b6520000000000083161561221857700100000000000000000000162e42fefa380260801c5b6510000000000083161561223d577001000000000000000000000b17217f7d1b0260801c5b6508000000000083161561226257700100000000000000000000058b90bfbe8d0260801c5b650400000000008316156122875770010000000000000000000002c5c85fdf460260801c5b650200000000008316156122ac577001000000000000000000000162e42fefa20260801c5b650100000000008316156122d15770010000000000000000000000b17217f7d00260801c5b6480000000008316156122f5577001000000000000000000000058b90bfbe70260801c5b64400000000083161561231957700100000000000000000000002c5c85fdf30260801c5b64200000000083161561233d5770010000000000000000000000162e42fef90260801c5b64100000000083161561236157700100000000000000000000000b17217f7c0260801c5b6408000000008316156123855770010000000000000000000000058b90bfbd0260801c5b6404000000008316156123a9577001000000000000000000000002c5c85fde0260801c5b6402000000008316156123cd57700100000000000000000000000162e42fee0260801c5b6401000000008316156123f1577001000000000000000000000000b17217f60260801c5b638000000083161561241457700100000000000000000000000058b90bfa0260801c5b63400000008316156124375770010000000000000000000000002c5c85fc0260801c5b632000000083161561245a577001000000000000000000000000162e42fd0260801c5b631000000083161561247d5770010000000000000000000000000b17217e0260801c5b63080000008316156124a0577001000000000000000000000000058b90be0260801c5b63040000008316156124c357700100000000000000000000000002c5c85e0260801c5b63020000008316156124e65770010000000000000000000000000162e42e0260801c5b630100000083161561250957700100000000000000000000000000b172160260801c5b6280000083161561252b5770010000000000000000000000000058b90a0260801c5b6240000083161561254d577001000000000000000000000000002c5c840260801c5b6220000083161561256f57700100000000000000000000000000162e410260801c5b62100000831615612591577001000000000000000000000000000b17200260801c5b620800008316156125b357700100000000000000000000000000058b8f0260801c5b620400008316156125d55770010000000000000000000000000002c5c70260801c5b620200008316156125f7577001000000000000000000000000000162e30260801c5b620100008316156126195770010000000000000000000000000000b1710260801c5b61800083161561263a577001000000000000000000000000000058b80260801c5b61400083161561265b57700100000000000000000000000000002c5b0260801c5b61200083161561267c5770010000000000000000000000000000162d0260801c5b61100083161561269d57700100000000000000000000000000000b160260801c5b6108008316156126be5770010000000000000000000000000000058a0260801c5b6104008316156126df577001000000000000000000000000000002c40260801c5b610200831615612700577001000000000000000000000000000001610260801c5b610100831615612721577001000000000000000000000000000000b00260801c5b6080831615612741577001000000000000000000000000000000570260801c5b60408316156127615770010000000000000000000000000000002b0260801c5b6020831615612781577001000000000000000000000000000000150260801c5b60108316156127a15770010000000000000000000000000000000a0260801c5b60088316156127c1577001000000000000000000000000000000040260801c5b60048316156127e1577001000000000000000000000000000000010260801c5b8461280957600f81901c6dffffffffffffffffffffffffffff169050613fff8201915061285c565b613ffe821161283557600f81901c6dffffffffffffffffffffffffffff16905081613fff03915061285c565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000806040838503121561288257600080fd5b50508035926020909101359150565b6000602082840312156128a357600080fd5b5035919050565b6000602082840312156128bc57600080fd5b5051919050565b81810381811115610097577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212206c68a092d596fed70ad9494b42496e37901cfccd8354120d4ddbcb498dea93d764736f6c63430008130033", "nonce": "0xd", "accessList": [] }, @@ -266,7 +266,7 @@ "isFixedGasLimit": false }, { - "hash": "0x5e6f0d0f412c1b5a113bc811ee673a3172da6d13e22dd2f424f85fb83c61def4", + "hash": "0x9fc5c60fc8ea4183202e91768ee13e83d50e3a1006cde84f0f13123e8ead9fe8", "transactionType": "CREATE", "contractName": "DollarMintCalculatorFacet", "contractAddress": "0x5D4905664E98A76cf56EBBd023D38C420d465770", @@ -285,7 +285,7 @@ "isFixedGasLimit": false }, { - "hash": "0xabff4fd50c31131a2d9f1f83b0009dde69a88ba7a4f9f7a8fda816edbc67609c", + "hash": "0x5f69a08e435fbf62f8eea946c28bbfc8c1ae5fa3f6f2d8227274c46e3c91a8ed", "transactionType": "CREATE", "contractName": "DollarMintExcessFacet", "contractAddress": "0xD64465FC4c7d3BAbaBA5d0E4AfF6DffC278bfd18", @@ -304,7 +304,7 @@ "isFixedGasLimit": false }, { - "hash": "0xc31639b620ed938a863a4659d663139aec70098d58020cac1d269fb765de608a", + "hash": "0x2f2cdafe34129558e4f750a376e18fdcd8f12e243cc816d5a1be2ab54a98aea8", "transactionType": "CREATE", "contractName": "DiamondInit", "contractAddress": "0x7f7A6fA77E3De3e90be433834f23E24214bbe3C8", @@ -313,9 +313,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x2ddcc7", + "gas": "0x2ddcd6", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50612947806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806311567a5714610030575b600080fd5b61004361003e3660046125fc565b610045565b005b600061004f610455565b7f01ffc9a7000000000000000000000000000000000000000000000000000000006000908152600382016020526040808220805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681179092557f1f931c1c00000000000000000000000000000000000000000000000000000000845282842080548216831790557f48e2b09300000000000000000000000000000000000000000000000000000000845282842080548216831790557f7f5828d00000000000000000000000000000000000000000000000000000000084529183208054909216179055835191925061014691610489565b6101747fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe188360000151610489565b6101a27fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab3548360000151610489565b6101d07ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b99199228360000151610489565b6101fe7fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e28360000151610489565b61022c7f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd8360000151610489565b61025a7fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a08360000151610489565b6102887f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8360000151610489565b6102b67f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b8360000151610489565b6102e47fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b8360000151610489565b6103127faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d8360000151610489565b6103407f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb8360000151610489565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690558151600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556000806103b96104f4565b66038d7ea4c68000815561b131600182015590506103d76001600055565b6103f38460200151856040015186606001518760800151610522565b8360a001516104006106e6565b6002018190555060026104116106e6565b60030155670de0b6b3a7640000610426610714565b556000610431610742565b6000600682018190556007820155670de0b6b3a7640000600e909101555050505050565b60008061048360017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c612708565b92915050565b6104aa81610495610770565b6000858152602091909152604090209061079e565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008061048360017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea127612708565b600061052c6107c7565b4360058083019190915560006006830155600482015566038d7ea4c680006002820155670de0b6b3a7640000600382018190556001820155828155855185519192509081146105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5f616d6f756e7473206172726179206e6f742073616d65206c656e677468000060448201526064015b60405180910390fd5b8351811461066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f5f7374616b696e675368617265494473206172726179206e6f742073616d652060448201527f6c656e677468000000000000000000000000000000000000000000000000000060648201526084016105d3565b60005b818110156106dd576106cd87828151811061068c5761068c61271b565b60200260200101518783815181106106a6576106a661271b565b60200260200101518784815181106106c0576106c061271b565b60200260200101516107f5565b6106d68161274a565b905061066f565b50505050505050565b60008061048360017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297612708565b60008061048360017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665612708565b60008061048360017f2a1c4d9e43cc908458204ba8dd637dd73ede6adc739c3209ac617ae953246cc1612708565b60008061048360017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612708565b60006107c08373ffffffffffffffffffffffffffffffffffffffff8416610917565b9392505050565b60008061048360017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612708565b60006107ff6107c7565b6000838152600782016020526040902090915061081a61095a565b805415610864576001810154600683015482546000929164e8d4a51000916108429190612782565b61084c91906127c8565b6108569190612708565b90506108628682610b59565b505b838160000160008282546108789190612803565b90915550506006820154815464e8d4a510009161089491612782565b61089e91906127c8565b6001820155836108ac6107c7565b60080160008282546108be9190612803565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b6000818152600183016020526040812054610483575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b60006109646107c7565b600581018054919250904311610978575050565b610980610c4c565b81600801546000036109925743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109bc610ccd565b90506000670de0b6b3a76400008660000154836109d99190612782565b6109e391906127c8565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a9991906127c8565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610b0457600080fd5b505af1158015610b18573d6000803e3d6000fd5b505050506008860154610b308264e8d4a51000612782565b610b3a91906127c8565b8560010154610b499190612803565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf59190612816565b905080831115610c2557610c2073ffffffffffffffffffffffffffffffffffffffff83168583610d0a565b610c46565b610c4673ffffffffffffffffffffffffffffffffffffffff83168585610d0a565b50505050565b6000610c566107c7565b90506000610c62610d97565b905060008260030154821115610c8e5760028301546003840154610c869084612708565b119050610ca7565b8260020154828460030154610ca39190612708565b1190505b8015610cc857610cbb836001015483610dc1565b6001840155600383018290555b505050565b600080610cd86107c7565b6005015490506000610ce86107c7565b60010154905080610cf98343612708565b610d039190612782565b9250505090565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cc8908490610f3f565b6000610dbc816001015473ffffffffffffffffffffffffffffffffffffffff1661104e565b905090565b600080610dcd846111bf565b90506000610dda846111bf565b90506000610def670e92596fd62900006111bf565b90506000610e04670de0b6b3a76400006111bf565b90506000610e88610e5f610e3a7fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687611232565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061125c565b9050610f0c610ee582610ebd7fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687611847565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c6e565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612095565b9550674563918244f40000861180610f2b57506702c68af0bb14000086105b15610f34578795505b505050505092915050565b6000610fa1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121539092919063ffffffff16565b9050805160001480610fc2575080806020019051810190610fc2919061282f565b610cc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016105d3565b60008061105961216a565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116110c25750505050508152505090506110e8600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361111857806040015191506111b9565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146111b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016105d3565b806060015191505b50919050565b6000816000036111d157506000919050565b8160006111dd82612198565b905060708110156111f6578060700382901b9150611209565b6070811115611209576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b60006107c0837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112eb5780617fff036112e1577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112b6578492505050610483565b507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b8492505050610483565b80617fff036112fe578392505050610483565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361133b576001935061134d565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff16600085900361138a576001945061139c565b6e010000000000000000000000000000175b82600003611403577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113f357876113f6565b60005b9650505050505050610483565b8060000361145a577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113f357886113f6565b848603821515851515036115e65760708113156114805789975050505050505050610483565b60008113156114925790811c906114df565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156114c95788975050505050505050610483565b60008112156114df578060000384901c93508596505b928101926e0200000000000000000000000000008410611505576001968701969390931c925b86617fff036115695784611539577f7fff00000000000000000000000000000000000000000000000000000000000061155b565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610483565b6e010000000000000000000000000000841015611589576000965061159d565b6dffffffffffffffffffffffffffff841693505b83607088901b866115af5760006115c1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610483565b600081131561160157600184901b9350600187039650611618565b600081121561161857600182901b91506001860396505b607081131561162a57600191506116b3565b6001811315611647576001810360018303901c60010191506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561167857600193506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8112156116b3576001816000030360018503901c60010193505b8184106116c45781840393506116cd565b83820393508294505b836000036116e657506000965061048395505050505050565b60006116f185612198565b90508060710361171d57600185901c6dffffffffffffffffffffffffffff169450600188019750611798565b607081101561178457607081900380891115611753578086901b6dffffffffffffffffffffffffffff169550808903985061177e565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611798565b6dffffffffffffffffffffffffffff851694505b87617fff036117fd57856117cc577f7fff0000000000000000000000000000000000000000000000000000000000006117ee565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610483565b84607089901b8761180f576000611821565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610483565b6000617fff60f084811c8216919084901c81169082900361199c5780617fff0361191a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036118c4575050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f8000000000000000000000000000000000000000000000000000000000000000036112b657505050818117610483565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b80617fff03611a27577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119fa57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610483565b6dffffffffffffffffffffffffffff608086901c166000839003611a4e5760019250611a60565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a875760019250611a99565b6e010000000000000000000000000000175b808202915081600003611b03577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610483565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b68577c0100000000000000000000000000000000000000000000000000000000831015611b6157611b5c83612198565b611b6b565b60e0611b6b565b60e15b90506140708186011015611b86576000945060009250611c2a565b6140e08186011015611bc957614070851015611bab57846140700383901c9250611bc0565b614070851115611bc057614070850383901b92505b60009450611c2a565b61c0dd8186011115611be357617fff945060009250611c2a565b6070811115611bfa576070810383901c9250611c0d565b6070811015611c0d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f084811c8216919084901c811690829003611cbd5780617fff0361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b80617fff03611d44577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611d1757507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610483565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611e12577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611dc357507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610483565b6dffffffffffffffffffffffffffff608085901c166000829003611e395760019150611e4b565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611eb3578015611eae576000611e7a82612198565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611ec8565b6e0100000000000000000000000000001760721b5b818181611ed757611ed7612799565b04905080600003611f12577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b6d1000000000000000000000000000811015611f3057611f30612851565b60006e080000000000000000000000000000821015611f90576e040000000000000000000000000000821015611f85576e020000000000000000000000000000821015611f7e576070611f88565b6071611f88565b60725b60ff16611f99565b611f9982612198565b905083614071018186011115611fb757617fff945060009150612051565b83818601613ffc011015611fd2576000945060009150612051565b83818601613f8c01101561201f578385613ffc011115611ffd578385613ffc010382901b9150612016565b8385613ffc01101561201657613ffc8585030382901c91505b60009450612051565b6070811115612032576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f083901c16613fff8110156120b35750600092915050565b6f80000000000000000000000000000000608084901c106120d357600080fd5b6140fe8111156120e257600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f82101561211e5761406f8290031c6107c0565b61406f8211156107c0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60606121628484600085612248565b949350505050565b60008061048360017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612708565b60008082116121a657600080fd5b600070010000000000000000000000000000000083106121c857608092831c92015b6801000000000000000083106121e057604092831c92015b64010000000083106121f457602092831c92015b62010000831061220657601092831c92015b610100831061221757600892831c92015b6010831061222757600492831c92015b6004831061223757600292831c92015b600283106104835760010192915050565b6060824710156122da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016105d3565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161230391906128a4565b60006040518083038185875af1925050503d8060008114612340576040519150601f19603f3d011682016040523d82523d6000602084013e612345565b606091505b509150915061235687838387612361565b979650505050505050565b606083156123f75782516000036123f05773ffffffffffffffffffffffffffffffffffffffff85163b6123f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105d3565b5081612162565b612162838381511561240c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d391906128c0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561249257612492612440565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156124df576124df612440565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461122d57600080fd5b600067ffffffffffffffff82111561252557612525612440565b5060051b60200190565b600082601f83011261254057600080fd5b813560206125556125508361250b565b612498565b82815260059290921b8401810191818101908684111561257457600080fd5b8286015b8481101561259657612589816124e7565b8352918301918301612578565b509695505050505050565b600082601f8301126125b257600080fd5b813560206125c26125508361250b565b82815260059290921b840181019181810190868411156125e157600080fd5b8286015b8481101561259657803583529183019183016125e5565b60006020828403121561260e57600080fd5b813567ffffffffffffffff8082111561262657600080fd5b9083019060c0828603121561263a57600080fd5b61264261246f565b61264b836124e7565b815260208301358281111561265f57600080fd5b61266b8782860161252f565b60208301525060408301358281111561268357600080fd5b61268f878286016125a1565b6040830152506060830135828111156126a757600080fd5b6126b3878286016125a1565b6060830152506080830135608082015260a083013560a082015280935050505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361277b5761277b6126d9565b5060010190565b8082028115828204841417610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826127fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610483576104836126d9565b60006020828403121561282857600080fd5b5051919050565b60006020828403121561284157600080fd5b815180151581146107c057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b8381101561289b578181015183820152602001612883565b50506000910152565b600082516128b6818460208701612880565b9190910192915050565b60208152600082518060208401526128df816040850160208701612880565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220d90da5977573d632d16d3734102b8ff53fa2dce8bcf7b7fe402200fb382780cc64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50612947806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806311567a5714610030575b600080fd5b61004361003e3660046125fc565b610045565b005b600061004f610455565b7f01ffc9a7000000000000000000000000000000000000000000000000000000006000908152600382016020526040808220805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681179092557f1f931c1c00000000000000000000000000000000000000000000000000000000845282842080548216831790557f48e2b09300000000000000000000000000000000000000000000000000000000845282842080548216831790557f7f5828d00000000000000000000000000000000000000000000000000000000084529183208054909216179055835191925061014691610489565b6101747fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe188360000151610489565b6101a27fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab3548360000151610489565b6101d07ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b99199228360000151610489565b6101fe7fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e28360000151610489565b61022c7f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd8360000151610489565b61025a7fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a08360000151610489565b6102887f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8360000151610489565b6102b67f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b8360000151610489565b6102e47fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b8360000151610489565b6103127faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d8360000151610489565b6103407f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb8360000151610489565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690558151600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556000806103b96104f4565b66038d7ea4c68000815561b131600182015590506103d76001600055565b6103f38460200151856040015186606001518760800151610522565b8360a001516104006106e6565b6002018190555060026104116106e6565b60030155670de0b6b3a7640000610426610714565b556000610431610742565b6000600682018190556007820155670de0b6b3a7640000600e909101555050505050565b60008061048360017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c612708565b92915050565b6104aa81610495610770565b6000858152602091909152604090209061079e565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008061048360017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea127612708565b600061052c6107c7565b4360058083019190915560006006830155600482015566038d7ea4c680006002820155670de0b6b3a7640000600382018190556001820155828155855185519192509081146105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5f616d6f756e7473206172726179206e6f742073616d65206c656e677468000060448201526064015b60405180910390fd5b8351811461066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f5f7374616b696e675368617265494473206172726179206e6f742073616d652060448201527f6c656e677468000000000000000000000000000000000000000000000000000060648201526084016105d3565b60005b818110156106dd576106cd87828151811061068c5761068c61271b565b60200260200101518783815181106106a6576106a661271b565b60200260200101518784815181106106c0576106c061271b565b60200260200101516107f5565b6106d68161274a565b905061066f565b50505050505050565b60008061048360017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297612708565b60008061048360017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665612708565b60008061048360017f2a1c4d9e43cc908458204ba8dd637dd73ede6adc739c3209ac617ae953246cc1612708565b60008061048360017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612708565b60006107c08373ffffffffffffffffffffffffffffffffffffffff8416610917565b9392505050565b60008061048360017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612708565b60006107ff6107c7565b6000838152600782016020526040902090915061081a61095a565b805415610864576001810154600683015482546000929164e8d4a51000916108429190612782565b61084c91906127c8565b6108569190612708565b90506108628682610b59565b505b838160000160008282546108789190612803565b90915550506006820154815464e8d4a510009161089491612782565b61089e91906127c8565b6001820155836108ac6107c7565b60080160008282546108be9190612803565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b6000818152600183016020526040812054610483575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b60006109646107c7565b600581018054919250904311610978575050565b610980610c4c565b81600801546000036109925743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109bc610ccd565b90506000670de0b6b3a76400008660000154836109d99190612782565b6109e391906127c8565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a9991906127c8565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610b0457600080fd5b505af1158015610b18573d6000803e3d6000fd5b505050506008860154610b308264e8d4a51000612782565b610b3a91906127c8565b8560010154610b499190612803565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf59190612816565b905080831115610c2557610c2073ffffffffffffffffffffffffffffffffffffffff83168583610d0a565b610c46565b610c4673ffffffffffffffffffffffffffffffffffffffff83168585610d0a565b50505050565b6000610c566107c7565b90506000610c62610d97565b905060008260030154821115610c8e5760028301546003840154610c869084612708565b119050610ca7565b8260020154828460030154610ca39190612708565b1190505b8015610cc857610cbb836001015483610dc1565b6001840155600383018290555b505050565b600080610cd86107c7565b6005015490506000610ce86107c7565b60010154905080610cf98343612708565b610d039190612782565b9250505090565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cc8908490610f3f565b6000610dbc816001015473ffffffffffffffffffffffffffffffffffffffff1661104e565b905090565b600080610dcd846111bf565b90506000610dda846111bf565b90506000610def670e92596fd62900006111bf565b90506000610e04670de0b6b3a76400006111bf565b90506000610e88610e5f610e3a7fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687611232565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061125c565b9050610f0c610ee582610ebd7fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687611847565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c6e565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612095565b9550674563918244f40000861180610f2b57506702c68af0bb14000086105b15610f34578795505b505050505092915050565b6000610fa1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121539092919063ffffffff16565b9050805160001480610fc2575080806020019051810190610fc2919061282f565b610cc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016105d3565b60008061105961216a565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116110c25750505050508152505090506110e8600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361111857806040015191506111b9565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146111b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016105d3565b806060015191505b50919050565b6000816000036111d157506000919050565b8160006111dd82612198565b905060708110156111f6578060700382901b9150611209565b6070811115611209576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b60006107c0837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112eb5780617fff036112e1577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112b6578492505050610483565b507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b8492505050610483565b80617fff036112fe578392505050610483565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361133b576001935061134d565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff16600085900361138a576001945061139c565b6e010000000000000000000000000000175b82600003611403577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113f357876113f6565b60005b9650505050505050610483565b8060000361145a577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113f357886113f6565b848603821515851515036115e65760708113156114805789975050505050505050610483565b60008113156114925790811c906114df565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156114c95788975050505050505050610483565b60008112156114df578060000384901c93508596505b928101926e0200000000000000000000000000008410611505576001968701969390931c925b86617fff036115695784611539577f7fff00000000000000000000000000000000000000000000000000000000000061155b565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610483565b6e010000000000000000000000000000841015611589576000965061159d565b6dffffffffffffffffffffffffffff841693505b83607088901b866115af5760006115c1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610483565b600081131561160157600184901b9350600187039650611618565b600081121561161857600182901b91506001860396505b607081131561162a57600191506116b3565b6001811315611647576001810360018303901c60010191506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561167857600193506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8112156116b3576001816000030360018503901c60010193505b8184106116c45781840393506116cd565b83820393508294505b836000036116e657506000965061048395505050505050565b60006116f185612198565b90508060710361171d57600185901c6dffffffffffffffffffffffffffff169450600188019750611798565b607081101561178457607081900380891115611753578086901b6dffffffffffffffffffffffffffff169550808903985061177e565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611798565b6dffffffffffffffffffffffffffff851694505b87617fff036117fd57856117cc577f7fff0000000000000000000000000000000000000000000000000000000000006117ee565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610483565b84607089901b8761180f576000611821565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610483565b6000617fff60f084811c8216919084901c81169082900361199c5780617fff0361191a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036118c4575050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f8000000000000000000000000000000000000000000000000000000000000000036112b657505050818117610483565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b80617fff03611a27577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119fa57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610483565b6dffffffffffffffffffffffffffff608086901c166000839003611a4e5760019250611a60565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a875760019250611a99565b6e010000000000000000000000000000175b808202915081600003611b03577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610483565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b68577c0100000000000000000000000000000000000000000000000000000000831015611b6157611b5c83612198565b611b6b565b60e0611b6b565b60e15b90506140708186011015611b86576000945060009250611c2a565b6140e08186011015611bc957614070851015611bab57846140700383901c9250611bc0565b614070851115611bc057614070850383901b92505b60009450611c2a565b61c0dd8186011115611be357617fff945060009250611c2a565b6070811115611bfa576070810383901c9250611c0d565b6070811015611c0d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f084811c8216919084901c811690829003611cbd5780617fff0361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b80617fff03611d44577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611d1757507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610483565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611e12577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611dc357507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610483565b6dffffffffffffffffffffffffffff608085901c166000829003611e395760019150611e4b565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611eb3578015611eae576000611e7a82612198565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611ec8565b6e0100000000000000000000000000001760721b5b818181611ed757611ed7612799565b04905080600003611f12577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b6d1000000000000000000000000000811015611f3057611f30612851565b60006e080000000000000000000000000000821015611f90576e040000000000000000000000000000821015611f85576e020000000000000000000000000000821015611f7e576070611f88565b6071611f88565b60725b60ff16611f99565b611f9982612198565b905083614071018186011115611fb757617fff945060009150612051565b83818601613ffc011015611fd2576000945060009150612051565b83818601613f8c01101561201f578385613ffc011115611ffd578385613ffc010382901b9150612016565b8385613ffc01101561201657613ffc8585030382901c91505b60009450612051565b6070811115612032576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f083901c16613fff8110156120b35750600092915050565b6f80000000000000000000000000000000608084901c106120d357600080fd5b6140fe8111156120e257600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f82101561211e5761406f8290031c6107c0565b61406f8211156107c0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60606121628484600085612248565b949350505050565b60008061048360017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612708565b60008082116121a657600080fd5b600070010000000000000000000000000000000083106121c857608092831c92015b6801000000000000000083106121e057604092831c92015b64010000000083106121f457602092831c92015b62010000831061220657601092831c92015b610100831061221757600892831c92015b6010831061222757600492831c92015b6004831061223757600292831c92015b600283106104835760010192915050565b6060824710156122da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016105d3565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161230391906128a4565b60006040518083038185875af1925050503d8060008114612340576040519150601f19603f3d011682016040523d82523d6000602084013e612345565b606091505b509150915061235687838387612361565b979650505050505050565b606083156123f75782516000036123f05773ffffffffffffffffffffffffffffffffffffffff85163b6123f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105d3565b5081612162565b612162838381511561240c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d391906128c0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561249257612492612440565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156124df576124df612440565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461122d57600080fd5b600067ffffffffffffffff82111561252557612525612440565b5060051b60200190565b600082601f83011261254057600080fd5b813560206125556125508361250b565b612498565b82815260059290921b8401810191818101908684111561257457600080fd5b8286015b8481101561259657612589816124e7565b8352918301918301612578565b509695505050505050565b600082601f8301126125b257600080fd5b813560206125c26125508361250b565b82815260059290921b840181019181810190868411156125e157600080fd5b8286015b8481101561259657803583529183019183016125e5565b60006020828403121561260e57600080fd5b813567ffffffffffffffff8082111561262657600080fd5b9083019060c0828603121561263a57600080fd5b61264261246f565b61264b836124e7565b815260208301358281111561265f57600080fd5b61266b8782860161252f565b60208301525060408301358281111561268357600080fd5b61268f878286016125a1565b6040830152506060830135828111156126a757600080fd5b6126b3878286016125a1565b6060830152506080830135608082015260a083013560a082015280935050505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361277b5761277b6126d9565b5060010190565b8082028115828204841417610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826127fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610483576104836126d9565b60006020828403121561282857600080fd5b5051919050565b60006020828403121561284157600080fd5b815180151581146107c057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b8381101561289b578181015183820152602001612883565b50506000910152565b600082516128b6818460208701612880565b9190910192915050565b60208152600082518060208401526128df816040850160208701612880565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220a1233ff8441cb4254bbba18ec4fda9e42c7f3a05e05d5f16960f885021953bb964736f6c63430008130033", "nonce": "0x10", "accessList": [] }, @@ -323,7 +323,7 @@ "isFixedGasLimit": false }, { - "hash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "hash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionType": "CREATE", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -345,7 +345,7 @@ "isFixedGasLimit": false }, { - "hash": "0xe1bbb6628e433b3f7688b4eb84c3a0a3fdeaa4f48b4e69eee01bf607df2a3152", + "hash": "0x52afb5b7669abee51d4e73359ffff83f6f9360ed268335d7ddb46424339654cd", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -365,7 +365,7 @@ "isFixedGasLimit": false }, { - "hash": "0x2867c4b986563a096d7cdb9b69bffb814c89a18738e1bc0b6831ffbe0186a79c", + "hash": "0xdc15c6b31827e0179be9cfc116af3583ad35e788866de4ec851c5c472a32cbed", "transactionType": "CREATE", "contractName": "UbiquityDollarToken", "contractAddress": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", @@ -374,9 +374,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x446b09", + "gas": "0x44fbd8", "value": "0x0", - "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613d3862000129600039600081816108070152818161089d01528181610cc001528181610d560152610e850152613d386000f3fe6080604052600436106101e35760003560e01c806370a0823111610102578063b6232c9911610095578063d0ebdbe711610064578063d0ebdbe714610598578063d5009584146105b8578063d505accf146105e4578063dd62ed3e1461060457600080fd5b8063b6232c99146104f4578063b84c824614610514578063bc701e7514610534578063c4d66de81461057857600080fd5b806384b0196e116100d157806384b0196e1461047757806395d89b411461049f578063a457c2d7146104b4578063a9059cbb146104d457600080fd5b806370a082311461040257806379cc6790146104225780637ecebe00146104425780638456cb591461046257600080fd5b80633659cfe61161017a57806342966c681161014957806342966c68146103a15780634f1ef286146103c157806352d1902d146103d45780635c975abb146103e957600080fd5b80633659cfe61461032c578063395093511461034c5780633f4ba83a1461036c57806340c10f191461038157600080fd5b806320713877116101b657806320713877146102b957806323b872dd146102db578063313ce567146102fb5780633644e5151461031757600080fd5b806306fdde03146101e8578063095ea7b31461021357806313007d551461024357806318160ddd14610296575b600080fd5b3480156101f457600080fd5b506101fd610624565b60405161020a9190613636565b60405180910390f35b34801561021f57600080fd5b5061023361022e366004613672565b6106b6565b604051901515815260200161020a565b34801561024f57600080fd5b50610195546102719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161020a565b3480156102a257600080fd5b506102ab6106cb565b60405190815260200161020a565b3480156102c557600080fd5b506102d96102d436600461377f565b6106db565b005b3480156102e757600080fd5b506102336102f63660046137f3565b6107d1565b34801561030757600080fd5b506040516012815260200161020a565b34801561032357600080fd5b506102ab6107e6565b34801561033857600080fd5b506102d961034736600461382f565b6107f0565b34801561035857600080fd5b50610233610367366004613672565b6109c1565b34801561037857600080fd5b506102d96109cd565b34801561038d57600080fd5b506102d961039c366004613672565b610adc565b3480156103ad57600080fd5b506102d96103bc36600461384a565b610c5f565b6102d96103cf366004613863565b610ca9565b3480156103e057600080fd5b506102ab610e6b565b3480156103f557600080fd5b506101305460ff16610233565b34801561040e57600080fd5b506102ab61041d36600461382f565b610f3d565b34801561042e57600080fd5b506102d961043d366004613672565b610f68565b34801561044e57600080fd5b506102ab61045d36600461382f565b6110ee565b34801561046e57600080fd5b506102d96110f9565b34801561048357600080fd5b5061048c611206565b60405161020a97969594939291906138c5565b3480156104ab57600080fd5b506101fd6112c8565b3480156104c057600080fd5b506102336104cf366004613672565b6112d8565b3480156104e057600080fd5b506102336104ef366004613672565b6112e4565b34801561050057600080fd5b506102d961050f366004613984565b6112f0565b34801561052057600080fd5b506102d961052f3660046139b7565b61148d565b34801561054057600080fd5b5061027161054f36600461382f565b6101966020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561058457600080fd5b506102d961059336600461382f565b611580565b3480156105a457600080fd5b506102d96105b336600461382f565b611765565b3480156105c457600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff16610271565b3480156105f057600080fd5b506102d96105ff3660046139ec565b611893565b34801561061057600080fd5b506102ab61061f366004613984565b6118ab565b6060609a805461063390613a5f565b80601f016020809104026020016040519081016040528092919081815260200182805461065f90613a5f565b80156106ac5780601f10610681576101008083540402835291602001916106ac565b820191906000526020600020905b81548152906001019060200180831161068f57829003601f168201915b5050505050905090565b60006106c283836118e5565b90505b92915050565b60006106d660995490565b905090565b600054610100900460ff1661075d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61076782826118fd565b61077082611984565b610778611a40565b6101946107858282613afa565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b60006107de848484611ac5565b949350505050565b60006106d6611ae9565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361089b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610754565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109107f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109995760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610754565b6109a281611af3565b604080516000808252602082019092526109be91839190611bd9565b50565b60006106c28383611da9565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a869190613c14565b610ad25760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610754565b610ada611dcb565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb09190613c14565b610bfc5760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206d696e74657200000000000000006044820152606401610754565b610c04611e49565b610c0e8282611e9d565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610c67611e49565b610c713382611f84565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d545760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610754565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dc97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e525760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610754565b610e5b82611af3565b610e6782826001611bd9565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f185760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610754565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff81166000908152609760205260408120546106c5565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a0336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c9190613c14565b6110885760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206275726e657200000000000000006044820152606401610754565b611090611e49565b61109a8282611f84565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe47826040516110e291815260200190565b60405180910390a25050565b60006106c582612122565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561118e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b29190613c14565b6111fe5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610754565b610ada61214d565b60006060806000806000606060c9546000801b148015611226575060ca54155b6112725760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610754565b61127a6121a9565b6112826121b8565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060610194805461063390613a5f565b60006106c283836121c7565b60006106c2838361225a565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156113a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c49190613c14565b6114105760405162461bcd60e51b815260206004820152601c60248201527f446f6c6c61723a206d75737420686176652061646d696e20726f6c65000000006044820152606401610754565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152610196602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f88bb9e877881758e827c849b8a0e38421bd5ff916f4ef79ed65aec74cc04a5da9190a35050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115279190613c14565b6115735760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b610194610e678282613afa565b600054610100900460ff16158080156115a05750600054600160ff909116105b806115ba5750303b1580156115ba575060005460ff166001145b61162c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610754565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561168a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6116ff826040518060400160405280600f81526020017f556269717569747920446f6c6c617200000000000000000000000000000000008152506040518060400160405280600381526020017f75414400000000000000000000000000000000000000000000000000000000008152506106db565b8015610e6757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156117db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ff9190613c14565b61184b5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6118a287878787878787612268565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526098602090815260408083209385168352929052908120546106c2565b6000336118f38185856123f3565b5060019392505050565b600054610100900460ff1661197a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b610e678282612572565b600054610100900460ff16611a015760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b6109be816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250612608565b600054610100900460ff16611abd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b610ada6126ad565b600033611ad3858285612755565b611ade8585856127ed565b506001949350505050565b60006106d6612803565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8d9190613c14565b6109be5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611c1157611c0c83612877565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611c96575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611c9391810190613c3d565b60015b611d085760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610754565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611d9d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610754565b50611c0c838383612967565b6000336118f3818585611dbc83836118ab565b611dc69190613c56565b6123f3565b611dd361298c565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610ada5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610754565b73ffffffffffffffffffffffffffffffffffffffff8216611f005760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610754565b611f0c600083836129df565b8060996000828254611f1e9190613c56565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821661200d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610754565b612019826000836129df565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260976020526040902054818110156120b55760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd60205260408120546106c5565b612155611e49565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611e1f3390565b606060cb805461063390613a5f565b606060cc805461063390613a5f565b600033816121d582866118ab565b90508381101561224d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610754565b611ade82868684036123f3565b6000336118f38185856127ed565b834211156122b85760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610754565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886122e78c6129ea565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061234f82612a1f565b9050600061235f82878787612a67565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146123dc5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610754565b6123e78a8a8a6123f3565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661247b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff82166125045760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff166125ef5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b609a6125fb8382613afa565b50609b611c0c8282613afa565b600054610100900460ff166126855760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b60cb6126918382613afa565b5060cc61269e8282613afa565b5050600060c981905560ca5550565b600054610100900460ff1661272a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600061276184846118ab565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146127e757818110156127da5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610754565b6127e784848484036123f3565b50505050565b6127f8838383612a8f565b611c0c838383612aa2565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61282e612e9b565b612836612ef4565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b6129015760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610754565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61297083612f25565b60008251118061297d5750805b15611c0c576127e78383612f72565b6101305460ff16610ada5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610754565b611c0c838383612f97565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b60006106c5612a2c611ae9565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000612a7887878787613011565b91509150612a8581613100565b5095945050505050565b612a97611e49565b611c0c838383613265565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526101966020526040902054168015612b865773ffffffffffffffffffffffffffffffffffffffff8116636e22230d85853360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101859052608401600060405180830381600087803b158015612b6d57600080fd5b505af1158015612b81573d6000803e3d6000fd5b505050505b73ffffffffffffffffffffffffffffffffffffffff80841660009081526101966020526040902054168015612c6a5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d86863360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101869052608401600060405180830381600087803b158015612c5157600080fd5b505af1158015612c65573d6000803e3d6000fd5b505050505b336000818152610196602052604090205473ffffffffffffffffffffffffffffffffffffffff9081169190871614801590612cbb57503373ffffffffffffffffffffffffffffffffffffffff861614155b8015612cdc575073ffffffffffffffffffffffffffffffffffffffff811615155b15612d965773ffffffffffffffffffffffffffffffffffffffff8116636e22230d87873360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101879052608401600060405180830381600087803b158015612d7d57600080fd5b505af1158015612d91573d6000803e3d6000fd5b505050505b600080526101966020527f4ed60052c36c1f7549e23dd18b0e315d045aea00f4adf44a504f06f08fab3d1f5473ffffffffffffffffffffffffffffffffffffffff1680156118a25773ffffffffffffffffffffffffffffffffffffffff8116636e22230d88883360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101889052608401600060405180830381600087803b158015612e7a57600080fd5b505af1158015612e8e573d6000803e3d6000fd5b5050505050505050505050565b600080612ea66121a9565b805190915015612ebd578051602090910120919050565b60c9548015612ecc5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612eff6121b8565b805190915015612f16578051602090910120919050565b60ca548015612ecc5792915050565b612f2e81612877565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606106c28383604051806060016040528060278152602001613cdc60279139613498565b6101305460ff1615611c0c5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c6520706175736564000000000000000000000000000000000000000000006064820152608401610754565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561304857506000905060036130f7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561309c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166130f0576000600192509250506130f7565b9150600090505b94509492505050565b600081600481111561311457613114613c90565b0361311c5750565b600181600481111561313057613130613c90565b0361317d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610754565b600281600481111561319157613191613c90565b036131de5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610754565b60038160048111156131f2576131f2613c90565b036109be5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff83166132ee5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff82166133775760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610754565b6133828383836129df565b73ffffffffffffffffffffffffffffffffffffffff83166000908152609760205260409020548181101561341e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061348b9086815260200190565b60405180910390a36127e7565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516134c29190613cbf565b600060405180830381855af49150503d80600081146134fd576040519150601f19603f3d011682016040523d82523d6000602084013e613502565b606091505b50915091506135138683838761351d565b9695505050505050565b606083156135995782516000036135925773ffffffffffffffffffffffffffffffffffffffff85163b6135925760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610754565b50816107de565b6107de83838151156135ae5781518083602001fd5b8060405162461bcd60e51b81526004016107549190613636565b60005b838110156135e35781810151838201526020016135cb565b50506000910152565b600081518084526136048160208601602086016135c8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106c260208301846135ec565b803573ffffffffffffffffffffffffffffffffffffffff8116811461366d57600080fd5b919050565b6000806040838503121561368557600080fd5b61368e83613649565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156136e6576136e661369c565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561372c5761372c61369c565b8160405280935085815286868601111561374557600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261377057600080fd5b6106c2838335602085016136cb565b60008060006060848603121561379457600080fd5b61379d84613649565b9250602084013567ffffffffffffffff808211156137ba57600080fd5b6137c68783880161375f565b935060408601359150808211156137dc57600080fd5b506137e98682870161375f565b9150509250925092565b60008060006060848603121561380857600080fd5b61381184613649565b925061381f60208501613649565b9150604084013590509250925092565b60006020828403121561384157600080fd5b6106c282613649565b60006020828403121561385c57600080fd5b5035919050565b6000806040838503121561387657600080fd5b61387f83613649565b9150602083013567ffffffffffffffff81111561389b57600080fd5b8301601f810185136138ac57600080fd5b6138bb858235602084016136cb565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261390160e084018a6135ec565b8381036040850152613913818a6135ec565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561397257835183529284019291840191600101613956565b50909c9b505050505050505050505050565b6000806040838503121561399757600080fd5b6139a083613649565b91506139ae60208401613649565b90509250929050565b6000602082840312156139c957600080fd5b813567ffffffffffffffff8111156139e057600080fd5b6107de8482850161375f565b600080600080600080600060e0888a031215613a0757600080fd5b613a1088613649565b9650613a1e60208901613649565b95506040880135945060608801359350608088013560ff81168114613a4257600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600181811c90821680613a7357607f821691505b602082108103612a19577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611c0c57600081815260208120601f850160051c81016020861015613ad35750805b601f850160051c820191505b81811015613af257828155600101613adf565b505050505050565b815167ffffffffffffffff811115613b1457613b1461369c565b613b2881613b228454613a5f565b84613aac565b602080601f831160018114613b7b5760008415613b455750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613af2565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613bc857888601518255948401946001909101908401613ba9565b5085821015613c0457878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215613c2657600080fd5b81518015158114613c3657600080fd5b9392505050565b600060208284031215613c4f57600080fd5b5051919050565b808201808211156106c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251613cd18184602087016135c8565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220252602843f83a5811939eff891788da88df77e6837c7759349ad470cdcef27be64736f6c63430008130033", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613dbd620001296000396000818161080f015281816108a501528181610cc801528181610d5e0152610e8d0152613dbd6000f3fe6080604052600436106101e35760003560e01c806370a0823111610102578063b6232c9911610095578063d0ebdbe711610064578063d0ebdbe714610598578063d5009584146105b8578063d505accf146105e4578063dd62ed3e1461060457600080fd5b8063b6232c99146104f4578063b84c824614610514578063bc701e7514610534578063c4d66de81461057857600080fd5b806384b0196e116100d157806384b0196e1461047757806395d89b411461049f578063a457c2d7146104b4578063a9059cbb146104d457600080fd5b806370a082311461040257806379cc6790146104225780637ecebe00146104425780638456cb591461046257600080fd5b80633659cfe61161017a57806342966c681161014957806342966c68146103a15780634f1ef286146103c157806352d1902d146103d45780635c975abb146103e957600080fd5b80633659cfe61461032c578063395093511461034c5780633f4ba83a1461036c57806340c10f191461038157600080fd5b806320713877116101b657806320713877146102b957806323b872dd146102db578063313ce567146102fb5780633644e5151461031757600080fd5b806306fdde03146101e8578063095ea7b31461021357806313007d551461024357806318160ddd14610296575b600080fd5b3480156101f457600080fd5b506101fd610624565b60405161020a91906136bb565b60405180910390f35b34801561021f57600080fd5b5061023361022e3660046136f7565b6106b6565b604051901515815260200161020a565b34801561024f57600080fd5b50610195546102719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161020a565b3480156102a257600080fd5b506102ab6106cb565b60405190815260200161020a565b3480156102c557600080fd5b506102d96102d4366004613804565b6106db565b005b3480156102e757600080fd5b506102336102f6366004613878565b6107d9565b34801561030757600080fd5b506040516012815260200161020a565b34801561032357600080fd5b506102ab6107ee565b34801561033857600080fd5b506102d96103473660046138b4565b6107f8565b34801561035857600080fd5b506102336103673660046136f7565b6109c9565b34801561037857600080fd5b506102d96109d5565b34801561038d57600080fd5b506102d961039c3660046136f7565b610ae4565b3480156103ad57600080fd5b506102d96103bc3660046138cf565b610c67565b6102d96103cf3660046138e8565b610cb1565b3480156103e057600080fd5b506102ab610e73565b3480156103f557600080fd5b506101305460ff16610233565b34801561040e57600080fd5b506102ab61041d3660046138b4565b610f45565b34801561042e57600080fd5b506102d961043d3660046136f7565b610f70565b34801561044e57600080fd5b506102ab61045d3660046138b4565b6110f6565b34801561046e57600080fd5b506102d9611101565b34801561048357600080fd5b5061048c61120e565b60405161020a979695949392919061394a565b3480156104ab57600080fd5b506101fd6112d0565b3480156104c057600080fd5b506102336104cf3660046136f7565b6112e0565b3480156104e057600080fd5b506102336104ef3660046136f7565b6112ec565b34801561050057600080fd5b506102d961050f366004613a09565b6112f8565b34801561052057600080fd5b506102d961052f366004613a3c565b611495565b34801561054057600080fd5b5061027161054f3660046138b4565b6101c86020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561058457600080fd5b506102d96105933660046138b4565b611588565b3480156105a457600080fd5b506102d96105b33660046138b4565b61176d565b3480156105c457600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff16610271565b3480156105f057600080fd5b506102d96105ff366004613a71565b61189b565b34801561061057600080fd5b506102ab61061f366004613a09565b6118b3565b6060609a805461063390613ae4565b80601f016020809104026020016040519081016040528092919081815260200182805461065f90613ae4565b80156106ac5780601f10610681576101008083540402835291602001916106ac565b820191906000526020600020905b81548152906001019060200180831161068f57829003601f168201915b5050505050905090565b60006106c283836118ed565b90505b92915050565b60006106d660995490565b905090565b600054610100900460ff1661075d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107678282611905565b6107708261198c565b610778611a48565b610780611acd565b61019461078d8282613b7f565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b60006107e6848484611b4a565b949350505050565b60006106d6611b6e565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108a35760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610754565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109187f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109a15760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610754565b6109aa81611b78565b604080516000808252602082019092526109c691839190611c5e565b50565b60006106c28383611e2e565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8e9190613c99565b610ada5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610754565b610ae2611e50565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190613c99565b610c045760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206d696e74657200000000000000006044820152606401610754565b610c0c611ece565b610c168282611f22565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610c6f611ece565b610c793382612009565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d5c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610754565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dd17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e5a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610754565b610e6382611b78565b610e6f82826001611c5e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f205760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610754565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff81166000908152609760205260408120546106c5565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a0336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611020573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110449190613c99565b6110905760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206275726e657200000000000000006044820152606401610754565b611098611ece565b6110a28282612009565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe47826040516110ea91815260200190565b60405180910390a25050565b60006106c5826121a7565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611196573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ba9190613c99565b6112065760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610754565b610ae26121d2565b60006060806000806000606060c9546000801b14801561122e575060ca54155b61127a5760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610754565b61128261222e565b61128a61223d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060610194805461063390613ae4565b60006106c2838361224c565b60006106c283836122df565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156113a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cc9190613c99565b6114185760405162461bcd60e51b815260206004820152601c60248201527f446f6c6c61723a206d75737420686176652061646d696e20726f6c65000000006044820152606401610754565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526101c8602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f88bb9e877881758e827c849b8a0e38421bd5ff916f4ef79ed65aec74cc04a5da9190a35050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561150b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152f9190613c99565b61157b5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b610194610e6f8282613b7f565b600054610100900460ff16158080156115a85750600054600160ff909116105b806115c25750303b1580156115c2575060005460ff166001145b6116345760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610754565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561169257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611707826040518060400160405280600f81526020017f556269717569747920446f6c6c617200000000000000000000000000000000008152506040518060400160405280600381526020017f75414400000000000000000000000000000000000000000000000000000000008152506106db565b8015610e6f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156117e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118079190613c99565b6118535760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6118aa878787878787876122ed565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526098602090815260408083209385168352929052908120546106c2565b6000336118fb818585612478565b5060019392505050565b600054610100900460ff166119825760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b610e6f82826125f7565b600054610100900460ff16611a095760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b6109c6816040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525061268d565b600054610100900460ff16611ac55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b610ae2612732565b600054610100900460ff16610ae25760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b600033611b588582856127da565b611b63858585612872565b506001949350505050565b60006106d6612888565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c129190613c99565b6109c65760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611c9657611c91836128fc565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611d1b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611d1891810190613cc2565b60015b611d8d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610754565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611e225760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610754565b50611c918383836129ec565b6000336118fb818585611e4183836118b3565b611e4b9190613cdb565b612478565b611e58612a11565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610ae25760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610754565b73ffffffffffffffffffffffffffffffffffffffff8216611f855760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610754565b611f9160008383612a64565b8060996000828254611fa39190613cdb565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff82166120925760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610754565b61209e82600083612a64565b73ffffffffffffffffffffffffffffffffffffffff82166000908152609760205260409020548181101561213a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd60205260408120546106c5565b6121da611ece565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611ea43390565b606060cb805461063390613ae4565b606060cc805461063390613ae4565b6000338161225a82866118b3565b9050838110156122d25760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610754565b611b638286868403612478565b6000336118fb818585612872565b8342111561233d5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610754565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861236c8c612a6f565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006123d482612aa4565b905060006123e482878787612aec565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146124615760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610754565b61246c8a8a8a612478565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166125005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff82166125895760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff166126745760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b609a6126808382613b7f565b50609b611c918282613b7f565b600054610100900460ff1661270a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b60cb6127168382613b7f565b5060cc6127238282613b7f565b5050600060c981905560ca5550565b600054610100900460ff166127af5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60006127e684846118b3565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461286c578181101561285f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610754565b61286c8484848403612478565b50505050565b61287d838383612b14565b611c91838383612b27565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6128b3612f20565b6128bb612f79565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b6129865760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610754565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6129f583612faa565b600082511180612a025750805b15611c915761286c8383612ff7565b6101305460ff16610ae25760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610754565b611c9183838361301c565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b60006106c5612ab1611b6e565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000612afd87878787613096565b91509150612b0a81613185565b5095945050505050565b612b1c611ece565b611c918383836132ea565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526101c86020526040902054168015612c0b5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d85853360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101859052608401600060405180830381600087803b158015612bf257600080fd5b505af1158015612c06573d6000803e3d6000fd5b505050505b73ffffffffffffffffffffffffffffffffffffffff80841660009081526101c86020526040902054168015612cef5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d86863360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101869052608401600060405180830381600087803b158015612cd657600080fd5b505af1158015612cea573d6000803e3d6000fd5b505050505b3360008181526101c8602052604090205473ffffffffffffffffffffffffffffffffffffffff9081169190871614801590612d4057503373ffffffffffffffffffffffffffffffffffffffff861614155b8015612d61575073ffffffffffffffffffffffffffffffffffffffff811615155b15612e1b5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d87873360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101879052608401600060405180830381600087803b158015612e0257600080fd5b505af1158015612e16573d6000803e3d6000fd5b505050505b600080526101c86020527fe7d134a666cf0d3dc2e93021cf030a95aab267df826f43722f067fee94cb84875473ffffffffffffffffffffffffffffffffffffffff1680156118aa5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d88883360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101889052608401600060405180830381600087803b158015612eff57600080fd5b505af1158015612f13573d6000803e3d6000fd5b5050505050505050505050565b600080612f2b61222e565b805190915015612f42578051602090910120919050565b60c9548015612f515792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612f8461223d565b805190915015612f9b578051602090910120919050565b60ca548015612f515792915050565b612fb3816128fc565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606106c28383604051806060016040528060278152602001613d616027913961351d565b6101305460ff1615611c915760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c6520706175736564000000000000000000000000000000000000000000006064820152608401610754565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156130cd575060009050600361317c565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613121573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166131755760006001925092505061317c565b9150600090505b94509492505050565b600081600481111561319957613199613d15565b036131a15750565b60018160048111156131b5576131b5613d15565b036132025760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610754565b600281600481111561321657613216613d15565b036132635760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610754565b600381600481111561327757613277613d15565b036109c65760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff83166133735760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff82166133fc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610754565b613407838383612a64565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260976020526040902054818110156134a35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906135109086815260200190565b60405180910390a361286c565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516135479190613d44565b600060405180830381855af49150503d8060008114613582576040519150601f19603f3d011682016040523d82523d6000602084013e613587565b606091505b5091509150613598868383876135a2565b9695505050505050565b6060831561361e5782516000036136175773ffffffffffffffffffffffffffffffffffffffff85163b6136175760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610754565b50816107e6565b6107e683838151156136335781518083602001fd5b8060405162461bcd60e51b815260040161075491906136bb565b60005b83811015613668578181015183820152602001613650565b50506000910152565b6000815180845261368981602086016020860161364d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106c26020830184613671565b803573ffffffffffffffffffffffffffffffffffffffff811681146136f257600080fd5b919050565b6000806040838503121561370a57600080fd5b613713836136ce565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff8084111561376b5761376b613721565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156137b1576137b1613721565b816040528093508581528686860111156137ca57600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126137f557600080fd5b6106c283833560208501613750565b60008060006060848603121561381957600080fd5b613822846136ce565b9250602084013567ffffffffffffffff8082111561383f57600080fd5b61384b878388016137e4565b9350604086013591508082111561386157600080fd5b5061386e868287016137e4565b9150509250925092565b60008060006060848603121561388d57600080fd5b613896846136ce565b92506138a4602085016136ce565b9150604084013590509250925092565b6000602082840312156138c657600080fd5b6106c2826136ce565b6000602082840312156138e157600080fd5b5035919050565b600080604083850312156138fb57600080fd5b613904836136ce565b9150602083013567ffffffffffffffff81111561392057600080fd5b8301601f8101851361393157600080fd5b61394085823560208401613750565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261398660e084018a613671565b8381036040850152613998818a613671565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156139f7578351835292840192918401916001016139db565b50909c9b505050505050505050505050565b60008060408385031215613a1c57600080fd5b613a25836136ce565b9150613a33602084016136ce565b90509250929050565b600060208284031215613a4e57600080fd5b813567ffffffffffffffff811115613a6557600080fd5b6107e6848285016137e4565b600080600080600080600060e0888a031215613a8c57600080fd5b613a95886136ce565b9650613aa3602089016136ce565b95506040880135945060608801359350608088013560ff81168114613ac757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600181811c90821680613af857607f821691505b602082108103612a9e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611c9157600081815260208120601f850160051c81016020861015613b585750805b601f850160051c820191505b81811015613b7757828155600101613b64565b505050505050565b815167ffffffffffffffff811115613b9957613b99613721565b613bad81613ba78454613ae4565b84613b31565b602080601f831160018114613c005760008415613bca5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613b77565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613c4d57888601518255948401946001909101908401613c2e565b5085821015613c8957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215613cab57600080fd5b81518015158114613cbb57600080fd5b9392505050565b600060208284031215613cd457600080fd5b5051919050565b808201808211156106c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251613d5681846020870161364d565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208b05090dd0b8e3bc8ffe589faa2e748661136206e12180da8076cc2d948de77c64736f6c63430008130033", "nonce": "0x13", "accessList": [] }, @@ -384,18 +384,18 @@ "isFixedGasLimit": false }, { - "hash": "0x70b68551e431caa83a7f6ed5f624e8de095cc5dfe931b6a1a3d76548c1a88b0f", + "hash": "0xec2e9c5892fddf7386071d75f55f397bb1e0669156668a77f0f14e6efe7d418e", "transactionType": "CREATE", - "contractName": "UupsProxy", + "contractName": "ERC1967Proxy", "contractAddress": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "function": null, "arguments": ["0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", "0xc4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb"], "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x6167c", + "gas": "0x615eb", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506040516104ff3803806104ff83398101604081905261002f916102ef565b818161003d82826000610046565b5050505061040c565b61004f83610072565b60008251118061005c5750805b1561006d5761006b83836100b2565b505b505050565b61007b816100de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d783836040518060600160405280602781526020016104d860279139610191565b9392505050565b6001600160a01b0381163b6101505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516101ae91906103bd565b600060405180830381855af49150503d80600081146101e9576040519150601f19603f3d011682016040523d82523d6000602084013e6101ee565b606091505b5090925090506102008683838761020a565b9695505050505050565b60608315610279578251600003610272576001600160a01b0385163b6102725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610147565b5081610283565b610283838361028b565b949350505050565b81511561029b5781518083602001fd5b8060405162461bcd60e51b815260040161014791906103d9565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e65781810151838201526020016102ce565b50506000910152565b6000806040838503121561030257600080fd5b82516001600160a01b038116811461031957600080fd5b60208401519092506001600160401b038082111561033657600080fd5b818501915085601f83011261034a57600080fd5b81518181111561035c5761035c6102b5565b604051601f8201601f19908116603f01168101908382118183101715610384576103846102b5565b8160405282815288602084870101111561039d57600080fd5b6103ae8360208301602088016102cb565b80955050505050509250929050565b600082516103cf8184602087016102cb565b9190910192915050565b60208152600082518060208401526103f88160408501602087016102cb565b601f01601f19169190910160400192915050565b60be8061041a6000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220e441f365e67d1a963a862b4e5b34ef47a37e8981bee9932a7d0c5164dd3c9c0264736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000f98f9083a9226b200da8cbc4bfecdae58da5988900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220ee73825c3965854f7394eef8f358ef2aad4b717396c04da27f3a5227ed3523f664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000f98f9083a9226b200da8cbc4bfecdae58da5988900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", "nonce": "0x14", "accessList": [] }, @@ -403,7 +403,7 @@ "isFixedGasLimit": false }, { - "hash": "0x609de3a9f87f1148d9d8f3f83af8a7fdbc867ebdde9b6a76acbd57119516063c", + "hash": "0xc883bdff4777e54577bf71108eb4252c138856b49a0a47e7e9c7a014b91f11dd", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -423,7 +423,7 @@ "isFixedGasLimit": false }, { - "hash": "0x07d39d44e834f3e1fd7652d499846122c24ad9a10141469cfd668d62d981517b", + "hash": "0x9546b39494e1dde43fe6b89d33f3026efe77ca60db25858af0ea31b63b5812aa", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -443,7 +443,7 @@ "isFixedGasLimit": false }, { - "hash": "0x8d2105c5e48f942f30de2762c33091459d45c06c6daa97cb77f6b811d860e4f7", + "hash": "0x31dbee091db69b8ce6ef471fdabc889ddd745b9e6f61bc3c48809ee627d70597", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -463,9 +463,9 @@ "isFixedGasLimit": false }, { - "hash": "0xcfde9b08f92c8f98ecfb4dac33d8bea23c14ff3827ec8ce9330fddd72a41ab63", + "hash": "0xf16ee266b60d0445a9a00376c4fbeb7b5ac81072e965fb6950b4d3f3729efe5e", "transactionType": "CALL", - "contractName": "UupsProxy", + "contractName": "ERC1967Proxy", "contractAddress": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "function": null, "arguments": null, @@ -483,7 +483,7 @@ "isFixedGasLimit": false }, { - "hash": "0x17b70d4b32f1684cd499b49d1682904c3b2cdd8dd55875faf09ad03c5bb9e434", + "hash": "0xe8a09c70ab8a0b228954a66181e22d0d2cb3fbb80e98c01912f26542e360f367", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490", @@ -493,7 +493,7 @@ "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "to": "0x6c3f90f043a72fa612cbac8115ee7e52bde6e490", - "gas": "0x113d9", + "gas": "0xf9f3", "value": "0x0", "data": "0xa9059cbb000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000021e19e0c9bab2400000", "nonce": "0x19", @@ -503,7 +503,7 @@ "isFixedGasLimit": false }, { - "hash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "hash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -522,14 +522,14 @@ "additionalContracts": [ { "transactionType": "CREATE", - "address": "0x80FB33FcE06F5E9d9E4bB7C90C7BC19B99a18827", + "address": "0x59063699125def4aA6D3Dbf384E1144BBb1083a1", "initCode": "602d3d8160093d39f3363d3d373d3d3d363d73213be373fdff327658139c7df330817dad2d5bbe5af43d82803e903d91602b57fd5bf3" } ], "isFixedGasLimit": false }, { - "hash": "0xe9acf32f9270ff8402f2741d69278b2abe49198498adb2d04ef0ec6210844156", + "hash": "0xb41a0c038933c9621888f628f493017cc48c1f499f2287afa012105f251439be", "transactionType": "CREATE", "contractName": "UbiquityGovernanceToken", "contractAddress": "0xEbCe0D06fE2a715c7eebbda0A9eB40f2Ba15BB05", @@ -538,9 +538,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x3db60c", + "gas": "0x3e46c9", "value": "0x0", - "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613712620001296000396000818161078d0152818161082301528181610c4601528181610cdc0152610e0b01526137126000f3fe6080604052600436106101cd5760003560e01c80635c975abb116100f7578063a457c2d711610095578063d0ebdbe711610064578063d0ebdbe71461051e578063d50095841461053e578063d505accf1461056a578063dd62ed3e1461058a57600080fd5b8063a457c2d71461049e578063a9059cbb146104be578063b84c8246146104de578063c4d66de8146104fe57600080fd5b80637ecebe00116100d15780637ecebe001461042c5780638456cb591461044c57806384b0196e1461046157806395d89b411461048957600080fd5b80635c975abb146103d357806370a08231146103ec57806379cc67901461040c57600080fd5b80633644e5151161016f57806340c10f191161013e57806340c10f191461036b57806342966c681461038b5780634f1ef286146103ab57806352d1902d146103be57600080fd5b80633644e515146103015780633659cfe61461031657806339509351146103365780633f4ba83a1461035657600080fd5b806318160ddd116101ab57806318160ddd1461028057806320713877146102a357806323b872dd146102c5578063313ce567146102e557600080fd5b806306fdde03146101d2578063095ea7b3146101fd57806313007d551461022d575b600080fd5b3480156101de57600080fd5b506101e76105aa565b6040516101f49190613010565b60405180910390f35b34801561020957600080fd5b5061021d61021836600461304c565b61063c565b60405190151581526020016101f4565b34801561023957600080fd5b506101955461025b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f4565b34801561028c57600080fd5b50610295610651565b6040519081526020016101f4565b3480156102af57600080fd5b506102c36102be366004613159565b610661565b005b3480156102d157600080fd5b5061021d6102e03660046131cd565b610757565b3480156102f157600080fd5b50604051601281526020016101f4565b34801561030d57600080fd5b5061029561076c565b34801561032257600080fd5b506102c3610331366004613209565b610776565b34801561034257600080fd5b5061021d61035136600461304c565b610947565b34801561036257600080fd5b506102c3610953565b34801561037757600080fd5b506102c361038636600461304c565b610a62565b34801561039757600080fd5b506102c36103a6366004613224565b610be5565b6102c36103b936600461323d565b610c2f565b3480156103ca57600080fd5b50610295610df1565b3480156103df57600080fd5b506101305460ff1661021d565b3480156103f857600080fd5b50610295610407366004613209565b610ec3565b34801561041857600080fd5b506102c361042736600461304c565b610eee565b34801561043857600080fd5b50610295610447366004613209565b611074565b34801561045857600080fd5b506102c361107f565b34801561046d57600080fd5b5061047661118c565b6040516101f4979695949392919061329f565b34801561049557600080fd5b506101e761124e565b3480156104aa57600080fd5b5061021d6104b936600461304c565b61125e565b3480156104ca57600080fd5b5061021d6104d936600461304c565b61126a565b3480156104ea57600080fd5b506102c36104f936600461335e565b611276565b34801561050a57600080fd5b506102c3610519366004613209565b611369565b34801561052a57600080fd5b506102c3610539366004613209565b61154e565b34801561054a57600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff1661025b565b34801561057657600080fd5b506102c3610585366004613393565b61167c565b34801561059657600080fd5b506102956105a5366004613406565b611694565b6060609a80546105b990613439565b80601f01602080910402602001604051908101604052809291908181526020018280546105e590613439565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050905090565b600061064883836116ce565b90505b92915050565b600061065c60995490565b905090565b600054610100900460ff166106e35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6106ed82826116e6565b6106f68261176d565b6106fe611829565b61019461070b82826134d4565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b60006107648484846118ae565b949350505050565b600061065c6118d2565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108215760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106da565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461091f5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106da565b610928816118dc565b60408051600080825260208201909252610944918391906119c2565b50565b60006106488383611b92565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156109e8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0c91906135ee565b610a585760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f74207061757365720000000000000060448201526064016106da565b610a60611bb4565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3691906135ee565b610b825760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206d696e7465720000000060448201526064016106da565b610b8a611c32565b610b948282611c86565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610bed611c32565b610bf73382611d6d565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610cda5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106da565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610d4f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610dd85760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106da565b610de1826118dc565b610ded828260016119c2565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e9e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106da565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff811660009081526097602052604081205461064b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab354336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc291906135ee565b61100e5760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206275726e65720000000060448201526064016106da565b611016611c32565b6110208282611d6d565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161106891815260200190565b60405180910390a25050565b600061064b82611f0b565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611114573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113891906135ee565b6111845760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f74207061757365720000000000000060448201526064016106da565b610a60611f36565b60006060806000806000606060c9546000801b1480156111ac575060ca54155b6111f85760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a6564000000000000000000000060448201526064016106da565b611200611f92565b611208611fa1565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b606061019480546105b990613439565b60006106488383611fb0565b60006106488383612043565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156112ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131091906135ee565b61135c5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b610194610ded82826134d4565b600054610100900460ff16158080156113895750600054600160ff909116105b806113a35750303b1580156113a3575060005460ff166001145b6114155760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106da565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561147357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6114e8826040518060400160405280600881526020017f55626971756974790000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f5542510000000000000000000000000000000000000000000000000000000000815250610661565b8015610ded57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156115c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e891906135ee565b6116345760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61168b87878787878787612051565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152609860209081526040808320938516835292905290812054610648565b6000336116dc8185856121dc565b5060019392505050565b600054610100900460ff166117635760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b610ded828261235b565b600054610100900460ff166117ea5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b610944816040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506123f1565b600054610100900460ff166118a65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b610a60612496565b6000336118bc85828561253e565b6118c78585856125d6565b506001949350505050565b600061065c6125e9565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611952573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197691906135ee565b6109445760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156119fa576119f58361265d565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611a7f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611a7c91810190613617565b60015b611af15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106da565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611b865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106da565b506119f583838361274d565b6000336116dc818585611ba58383611694565b611baf9190613630565b6121dc565b611bbc612772565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610a605760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106da565b73ffffffffffffffffffffffffffffffffffffffff8216611ce95760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106da565b611cf5600083836127c5565b8060996000828254611d079190613630565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611df65760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106da565b611e02826000836127c5565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205481811015611e9e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604081205461064b565b611f3e611c32565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c083390565b606060cb80546105b990613439565b606060cc80546105b990613439565b60003381611fbe8286611694565b9050838110156120365760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106da565b6118c782868684036121dc565b6000336116dc8185856125d6565b834211156120a15760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016106da565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886120d08c6127d0565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061213882612805565b905060006121488287878761284d565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146121c55760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016106da565b6121d08a8a8a6121dc565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166122645760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff82166122ed5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff166123d85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b609a6123e483826134d4565b50609b6119f582826134d4565b600054610100900460ff1661246e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b60cb61247a83826134d4565b5060cc61248782826134d4565b5050600060c981905560ca5550565b600054610100900460ff166125135760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600061254a8484611694565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146125d057818110156125c35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106da565b6125d084848484036121dc565b50505050565b6125de611c32565b6119f5838383612875565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612614612aa8565b61261c612b01565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b6126e75760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106da565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61275683612b32565b6000825111806127635750805b156119f5576125d08383612b7f565b6101305460ff16610a605760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016106da565b6119f5838383612ba4565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b600061064b6128126118d2565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600061285e87878787612c1e565b9150915061286b81612d0d565b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83166128fe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff82166129875760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106da565b6129928383836127c5565b73ffffffffffffffffffffffffffffffffffffffff831660009081526097602052604090205481811015612a2e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612a9b9086815260200190565b60405180910390a36125d0565b600080612ab3611f92565b805190915015612aca578051602090910120919050565b60c9548015612ad95792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612b0c611fa1565b805190915015612b23578051602090910120919050565b60ca548015612ad95792915050565b612b3b8161265d565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061064883836040518060600160405280602781526020016136b660279139612e72565b6101305460ff16156119f55760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c65207061757365640000000000000000000000000000000000000000000060648201526084016106da565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612c555750600090506003612d04565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612ca9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612cfd57600060019250925050612d04565b9150600090505b94509492505050565b6000816004811115612d2157612d2161366a565b03612d295750565b6001816004811115612d3d57612d3d61366a565b03612d8a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016106da565b6002816004811115612d9e57612d9e61366a565b03612deb5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106da565b6003816004811115612dff57612dff61366a565b036109445760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016106da565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612e9c9190613699565b600060405180830381855af49150503d8060008114612ed7576040519150601f19603f3d011682016040523d82523d6000602084013e612edc565b606091505b5091509150612eed86838387612ef7565b9695505050505050565b60608315612f73578251600003612f6c5773ffffffffffffffffffffffffffffffffffffffff85163b612f6c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106da565b5081610764565b6107648383815115612f885781518083602001fd5b8060405162461bcd60e51b81526004016106da9190613010565b60005b83811015612fbd578181015183820152602001612fa5565b50506000910152565b60008151808452612fde816020860160208601612fa2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106486020830184612fc6565b803573ffffffffffffffffffffffffffffffffffffffff8116811461304757600080fd5b919050565b6000806040838503121561305f57600080fd5b61306883613023565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156130c0576130c0613076565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561310657613106613076565b8160405280935085815286868601111561311f57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261314a57600080fd5b610648838335602085016130a5565b60008060006060848603121561316e57600080fd5b61317784613023565b9250602084013567ffffffffffffffff8082111561319457600080fd5b6131a087838801613139565b935060408601359150808211156131b657600080fd5b506131c386828701613139565b9150509250925092565b6000806000606084860312156131e257600080fd5b6131eb84613023565b92506131f960208501613023565b9150604084013590509250925092565b60006020828403121561321b57600080fd5b61064882613023565b60006020828403121561323657600080fd5b5035919050565b6000806040838503121561325057600080fd5b61325983613023565b9150602083013567ffffffffffffffff81111561327557600080fd5b8301601f8101851361328657600080fd5b613295858235602084016130a5565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0818401526132db60e084018a612fc6565b83810360408501526132ed818a612fc6565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561334c57835183529284019291840191600101613330565b50909c9b505050505050505050505050565b60006020828403121561337057600080fd5b813567ffffffffffffffff81111561338757600080fd5b61076484828501613139565b600080600080600080600060e0888a0312156133ae57600080fd5b6133b788613023565b96506133c560208901613023565b95506040880135945060608801359350608088013560ff811681146133e957600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561341957600080fd5b61342283613023565b915061343060208401613023565b90509250929050565b600181811c9082168061344d57607f821691505b6020821081036127ff577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f8211156119f557600081815260208120601f850160051c810160208610156134ad5750805b601f850160051c820191505b818110156134cc578281556001016134b9565b505050505050565b815167ffffffffffffffff8111156134ee576134ee613076565b613502816134fc8454613439565b84613486565b602080601f831160018114613555576000841561351f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556134cc565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156135a257888601518255948401946001909101908401613583565b50858210156135de57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561360057600080fd5b8151801515811461361057600080fd5b9392505050565b60006020828403121561362957600080fd5b5051919050565b8082018082111561064b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082516136ab818460208701612fa2565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209ae2417731f645bf0716e7806cc8e306535a362ca0d14e6f802aaf3ef4a9e50264736f6c63430008130033", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161379762000129600039600081816107950152818161082b01528181610c4e01528181610ce40152610e1301526137976000f3fe6080604052600436106101cd5760003560e01c80635c975abb116100f7578063a457c2d711610095578063d0ebdbe711610064578063d0ebdbe71461051e578063d50095841461053e578063d505accf1461056a578063dd62ed3e1461058a57600080fd5b8063a457c2d71461049e578063a9059cbb146104be578063b84c8246146104de578063c4d66de8146104fe57600080fd5b80637ecebe00116100d15780637ecebe001461042c5780638456cb591461044c57806384b0196e1461046157806395d89b411461048957600080fd5b80635c975abb146103d357806370a08231146103ec57806379cc67901461040c57600080fd5b80633644e5151161016f57806340c10f191161013e57806340c10f191461036b57806342966c681461038b5780634f1ef286146103ab57806352d1902d146103be57600080fd5b80633644e515146103015780633659cfe61461031657806339509351146103365780633f4ba83a1461035657600080fd5b806318160ddd116101ab57806318160ddd1461028057806320713877146102a357806323b872dd146102c5578063313ce567146102e557600080fd5b806306fdde03146101d2578063095ea7b3146101fd57806313007d551461022d575b600080fd5b3480156101de57600080fd5b506101e76105aa565b6040516101f49190613095565b60405180910390f35b34801561020957600080fd5b5061021d6102183660046130d1565b61063c565b60405190151581526020016101f4565b34801561023957600080fd5b506101955461025b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f4565b34801561028c57600080fd5b50610295610651565b6040519081526020016101f4565b3480156102af57600080fd5b506102c36102be3660046131de565b610661565b005b3480156102d157600080fd5b5061021d6102e0366004613252565b61075f565b3480156102f157600080fd5b50604051601281526020016101f4565b34801561030d57600080fd5b50610295610774565b34801561032257600080fd5b506102c361033136600461328e565b61077e565b34801561034257600080fd5b5061021d6103513660046130d1565b61094f565b34801561036257600080fd5b506102c361095b565b34801561037757600080fd5b506102c36103863660046130d1565b610a6a565b34801561039757600080fd5b506102c36103a63660046132a9565b610bed565b6102c36103b93660046132c2565b610c37565b3480156103ca57600080fd5b50610295610df9565b3480156103df57600080fd5b506101305460ff1661021d565b3480156103f857600080fd5b5061029561040736600461328e565b610ecb565b34801561041857600080fd5b506102c36104273660046130d1565b610ef6565b34801561043857600080fd5b5061029561044736600461328e565b61107c565b34801561045857600080fd5b506102c3611087565b34801561046d57600080fd5b50610476611194565b6040516101f49796959493929190613324565b34801561049557600080fd5b506101e7611256565b3480156104aa57600080fd5b5061021d6104b93660046130d1565b611266565b3480156104ca57600080fd5b5061021d6104d93660046130d1565b611272565b3480156104ea57600080fd5b506102c36104f93660046133e3565b61127e565b34801561050a57600080fd5b506102c361051936600461328e565b611371565b34801561052a57600080fd5b506102c361053936600461328e565b611556565b34801561054a57600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff1661025b565b34801561057657600080fd5b506102c3610585366004613418565b611684565b34801561059657600080fd5b506102956105a536600461348b565b61169c565b6060609a80546105b9906134be565b80601f01602080910402602001604051908101604052809291908181526020018280546105e5906134be565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050905090565b600061064883836116d6565b90505b92915050565b600061065c60995490565b905090565b600054610100900460ff166106e35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6106ed82826116ee565b6106f682611775565b6106fe611831565b6107066118b6565b6101946107138282613559565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b600061076c848484611933565b949350505050565b600061065c611957565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108295760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106da565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661089e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109275760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106da565b61093081611961565b6040805160008082526020820190925261094c91839190611a47565b50565b60006106488383611c17565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156109f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a149190613673565b610a605760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f74207061757365720000000000000060448201526064016106da565b610a68611c39565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3e9190613673565b610b8a5760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206d696e7465720000000060448201526064016106da565b610b92611cb7565b610b9c8282611d0b565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610bf5611cb7565b610bff3382611df2565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610ce25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106da565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610d577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610de05760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106da565b610de982611961565b610df582826001611a47565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ea65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106da565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff811660009081526097602052604081205461064b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab354336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fca9190613673565b6110165760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206275726e65720000000060448201526064016106da565b61101e611cb7565b6110288282611df2565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161107091815260200190565b60405180910390a25050565b600061064b82611f90565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561111c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111409190613673565b61118c5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f74207061757365720000000000000060448201526064016106da565b610a68611fbb565b60006060806000806000606060c9546000801b1480156111b4575060ca54155b6112005760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a6564000000000000000000000060448201526064016106da565b611208612017565b611210612026565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b606061019480546105b9906134be565b60006106488383612035565b600061064883836120c8565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113189190613673565b6113645760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b610194610df58282613559565b600054610100900460ff16158080156113915750600054600160ff909116105b806113ab5750303b1580156113ab575060005460ff166001145b61141d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106da565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561147b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6114f0826040518060400160405280600881526020017f55626971756974790000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f5542510000000000000000000000000000000000000000000000000000000000815250610661565b8015610df557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156115cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f09190613673565b61163c5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611693878787878787876120d6565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152609860209081526040808320938516835292905290812054610648565b6000336116e4818585612261565b5060019392505050565b600054610100900460ff1661176b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b610df582826123e0565b600054610100900460ff166117f25760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b61094c816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250612476565b600054610100900460ff166118ae5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b610a6861251b565b600054610100900460ff16610a685760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b6000336119418582856125c3565b61194c85858561265b565b506001949350505050565b600061065c61266e565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156119d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fb9190613673565b61094c5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611a7f57611a7a836126e2565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b04575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b019181019061369c565b60015b611b765760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106da565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c0b5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106da565b50611a7a8383836127d2565b6000336116e4818585611c2a838361169c565b611c3491906136b5565b612261565b611c416127f7565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610a685760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106da565b73ffffffffffffffffffffffffffffffffffffffff8216611d6e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106da565b611d7a6000838361284a565b8060996000828254611d8c91906136b5565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611e7b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106da565b611e878260008361284a565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205481811015611f235760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604081205461064b565b611fc3611cb7565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c8d3390565b606060cb80546105b9906134be565b606060cc80546105b9906134be565b60003381612043828661169c565b9050838110156120bb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106da565b61194c8286868403612261565b6000336116e481858561265b565b834211156121265760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016106da565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886121558c612855565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006121bd8261288a565b905060006121cd828787876128d2565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461224a5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016106da565b6122558a8a8a612261565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166122e95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff82166123725760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff1661245d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b609a6124698382613559565b50609b611a7a8282613559565b600054610100900460ff166124f35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b60cb6124ff8382613559565b5060cc61250c8282613559565b5050600060c981905560ca5550565b600054610100900460ff166125985760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60006125cf848461169c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461265557818110156126485760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106da565b6126558484848403612261565b50505050565b612663611cb7565b611a7a8383836128fa565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612699612b2d565b6126a1612b86565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b61276c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106da565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6127db83612bb7565b6000825111806127e85750805b15611a7a576126558383612c04565b6101305460ff16610a685760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016106da565b611a7a838383612c29565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b600061064b612897611957565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b60008060006128e387878787612ca3565b915091506128f081612d92565b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83166129835760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff8216612a0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106da565b612a1783838361284a565b73ffffffffffffffffffffffffffffffffffffffff831660009081526097602052604090205481811015612ab35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612b209086815260200190565b60405180910390a3612655565b600080612b38612017565b805190915015612b4f578051602090910120919050565b60c9548015612b5e5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612b91612026565b805190915015612ba8578051602090910120919050565b60ca548015612b5e5792915050565b612bc0816126e2565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610648838360405180606001604052806027815260200161373b60279139612ef7565b6101305460ff1615611a7a5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c65207061757365640000000000000000000000000000000000000000000060648201526084016106da565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612cda5750600090506003612d89565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612d2e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612d8257600060019250925050612d89565b9150600090505b94509492505050565b6000816004811115612da657612da66136ef565b03612dae5750565b6001816004811115612dc257612dc26136ef565b03612e0f5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016106da565b6002816004811115612e2357612e236136ef565b03612e705760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106da565b6003816004811115612e8457612e846136ef565b0361094c5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016106da565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612f21919061371e565b600060405180830381855af49150503d8060008114612f5c576040519150601f19603f3d011682016040523d82523d6000602084013e612f61565b606091505b5091509150612f7286838387612f7c565b9695505050505050565b60608315612ff8578251600003612ff15773ffffffffffffffffffffffffffffffffffffffff85163b612ff15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106da565b508161076c565b61076c838381511561300d5781518083602001fd5b8060405162461bcd60e51b81526004016106da9190613095565b60005b8381101561304257818101518382015260200161302a565b50506000910152565b60008151808452613063816020860160208601613027565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610648602083018461304b565b803573ffffffffffffffffffffffffffffffffffffffff811681146130cc57600080fd5b919050565b600080604083850312156130e457600080fd5b6130ed836130a8565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115613145576131456130fb565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561318b5761318b6130fb565b816040528093508581528686860111156131a457600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126131cf57600080fd5b6106488383356020850161312a565b6000806000606084860312156131f357600080fd5b6131fc846130a8565b9250602084013567ffffffffffffffff8082111561321957600080fd5b613225878388016131be565b9350604086013591508082111561323b57600080fd5b50613248868287016131be565b9150509250925092565b60008060006060848603121561326757600080fd5b613270846130a8565b925061327e602085016130a8565b9150604084013590509250925092565b6000602082840312156132a057600080fd5b610648826130a8565b6000602082840312156132bb57600080fd5b5035919050565b600080604083850312156132d557600080fd5b6132de836130a8565b9150602083013567ffffffffffffffff8111156132fa57600080fd5b8301601f8101851361330b57600080fd5b61331a8582356020840161312a565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261336060e084018a61304b565b8381036040850152613372818a61304b565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156133d1578351835292840192918401916001016133b5565b50909c9b505050505050505050505050565b6000602082840312156133f557600080fd5b813567ffffffffffffffff81111561340c57600080fd5b61076c848285016131be565b600080600080600080600060e0888a03121561343357600080fd5b61343c886130a8565b965061344a602089016130a8565b95506040880135945060608801359350608088013560ff8116811461346e57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561349e57600080fd5b6134a7836130a8565b91506134b5602084016130a8565b90509250929050565b600181811c908216806134d257607f821691505b602082108103612884577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611a7a57600081815260208120601f850160051c810160208610156135325750805b601f850160051c820191505b818110156135515782815560010161353e565b505050505050565b815167ffffffffffffffff811115613573576135736130fb565b6135878161358184546134be565b8461350b565b602080601f8311600181146135da57600084156135a45750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613551565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561362757888601518255948401946001909101908401613608565b508582101561366357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561368557600080fd5b8151801515811461369557600080fd5b9392505050565b6000602082840312156136ae57600080fd5b5051919050565b8082018082111561064b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251613730818460208701613027565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204c9b1153738f81185c7b23405103186b94f1239a356df31c9794155ed17269f564736f6c63430008130033", "nonce": "0x1b", "accessList": [] }, @@ -548,18 +548,18 @@ "isFixedGasLimit": false }, { - "hash": "0xd849fe61edbef64a86fd012c6f44ce5b77a6a7733ed04b2f5000578f21bdc41a", + "hash": "0x804c2d89437e95575039b2b66be4494f6883a72aa5290be2dc399dbe6a350e14", "transactionType": "CREATE", - "contractName": "UupsProxy", + "contractName": "ERC1967Proxy", "contractAddress": "0x975a29731b751d003dd63D37736fd5730acd94Be", "function": null, "arguments": ["0xEbCe0D06fE2a715c7eebbda0A9eB40f2Ba15BB05", "0xc4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb"], "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x6167c", + "gas": "0x615eb", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506040516104ff3803806104ff83398101604081905261002f916102ef565b818161003d82826000610046565b5050505061040c565b61004f83610072565b60008251118061005c5750805b1561006d5761006b83836100b2565b505b505050565b61007b816100de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d783836040518060600160405280602781526020016104d860279139610191565b9392505050565b6001600160a01b0381163b6101505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516101ae91906103bd565b600060405180830381855af49150503d80600081146101e9576040519150601f19603f3d011682016040523d82523d6000602084013e6101ee565b606091505b5090925090506102008683838761020a565b9695505050505050565b60608315610279578251600003610272576001600160a01b0385163b6102725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610147565b5081610283565b610283838361028b565b949350505050565b81511561029b5781518083602001fd5b8060405162461bcd60e51b815260040161014791906103d9565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e65781810151838201526020016102ce565b50506000910152565b6000806040838503121561030257600080fd5b82516001600160a01b038116811461031957600080fd5b60208401519092506001600160401b038082111561033657600080fd5b818501915085601f83011261034a57600080fd5b81518181111561035c5761035c6102b5565b604051601f8201601f19908116603f01168101908382118183101715610384576103846102b5565b8160405282815288602084870101111561039d57600080fd5b6103ae8360208301602088016102cb565b80955050505050509250929050565b600082516103cf8184602087016102cb565b9190910192915050565b60208152600082518060208401526103f88160408501602087016102cb565b601f01601f19169190910160400192915050565b60be8061041a6000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220e441f365e67d1a963a862b4e5b34ef47a37e8981bee9932a7d0c5164dd3c9c0264736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000ebce0d06fe2a715c7eebbda0a9eb40f2ba15bb0500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220ee73825c3965854f7394eef8f358ef2aad4b717396c04da27f3a5227ed3523f664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000ebce0d06fe2a715c7eebbda0a9eb40f2ba15bb0500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", "nonce": "0x1c", "accessList": [] }, @@ -567,7 +567,7 @@ "isFixedGasLimit": false }, { - "hash": "0xa596179f95b98111e01a667646fcaf515caad341d6b0592ecaeb89908dfe7aa4", + "hash": "0x8a259528c2ef7ac4452ed62cb0c73ee94331ed66a81f2d5ce2e5a7d510dde9c8", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -587,7 +587,7 @@ "isFixedGasLimit": false }, { - "hash": "0x51e82bbc383de644d11760cb5d937b8a7b4866477eee72b988dd9c7a14759415", + "hash": "0x4b224a307012904534ef9b17502bbc6d23a57cac269dd360cce393d5717ddd3a", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -607,7 +607,7 @@ "isFixedGasLimit": false }, { - "hash": "0xb1415c09a5ec3d1863fc06eddf9f6353a3f547db4a9faa03832d9614d84babc1", + "hash": "0x70c3a742749f45a59adca3c8f20aad2ec71580b438f87d3313620367e2f19476", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -627,7 +627,7 @@ "isFixedGasLimit": false }, { - "hash": "0xb77d7a7dcbf776903068d9572e760372f9ca381c0362f5ecd1053af13a4ec127", + "hash": "0x9418fa9f719dbaeae2e979da67d0cdfe8bb19835a68a1c55aa3c3a2ade34c515", "transactionType": "CREATE", "contractName": "UbiquityCreditToken", "contractAddress": "0x5318a766EBEd5157D18347637A306Fba6Bb2Fc12", @@ -636,9 +636,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x3ec56e", + "gas": "0x3f564b", "value": "0x0", - "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161380b62000129600039600081816107b80152818161084e01528181610c7101528181610d070152610e36015261380b6000f3fe6080604052600436106101d85760003560e01c80635c975abb11610102578063a9059cbb11610095578063d0ebdbe711610064578063d0ebdbe714610549578063d500958414610569578063d505accf14610595578063dd62ed3e146105b557600080fd5b8063a9059cbb146104c9578063b84c8246146104e9578063c4d66de814610509578063c621bf8a1461052957600080fd5b80638456cb59116100d15780638456cb591461045757806384b0196e1461046c57806395d89b4114610494578063a457c2d7146104a957600080fd5b80635c975abb146103de57806370a08231146103f757806379cc6790146104175780637ecebe001461043757600080fd5b80633644e5151161017a57806340c10f191161014957806340c10f191461037657806342966c68146103965780634f1ef286146103b657806352d1902d146103c957600080fd5b80633644e5151461030c5780633659cfe61461032157806339509351146103415780633f4ba83a1461036157600080fd5b806318160ddd116101b657806318160ddd1461028b57806320713877146102ae57806323b872dd146102d0578063313ce567146102f057600080fd5b806306fdde03146101dd578063095ea7b31461020857806313007d5514610238575b600080fd5b3480156101e957600080fd5b506101f26105d5565b6040516101ff91906130dc565b60405180910390f35b34801561021457600080fd5b50610228610223366004613111565b610667565b60405190151581526020016101ff565b34801561024457600080fd5b50610195546102669073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101ff565b34801561029757600080fd5b506102a061067c565b6040519081526020016101ff565b3480156102ba57600080fd5b506102ce6102c9366004613220565b61068c565b005b3480156102dc57600080fd5b506102286102eb366004613296565b610782565b3480156102fc57600080fd5b50604051601281526020016101ff565b34801561031857600080fd5b506102a0610797565b34801561032d57600080fd5b506102ce61033c3660046132d7565b6107a1565b34801561034d57600080fd5b5061022861035c366004613111565b610972565b34801561036d57600080fd5b506102ce61097e565b34801561038257600080fd5b506102ce610391366004613111565b610a8d565b3480156103a257600080fd5b506102ce6103b13660046132fb565b610c10565b6102ce6103c4366004613314565b610c5a565b3480156103d557600080fd5b506102a0610e1c565b3480156103ea57600080fd5b506101305460ff16610228565b34801561040357600080fd5b506102a06104123660046132d7565b610eee565b34801561042357600080fd5b506102ce610432366004613111565b610f19565b34801561044357600080fd5b506102a06104523660046132d7565b61109f565b34801561046357600080fd5b506102ce6110aa565b34801561047857600080fd5b506104816111b7565b6040516101ff9796959493929190613378565b3480156104a057600080fd5b506101f2611279565b3480156104b557600080fd5b506102286104c4366004613111565b611289565b3480156104d557600080fd5b506102286104e4366004613111565b611295565b3480156104f557600080fd5b506102ce610504366004613437565b6112a1565b34801561051557600080fd5b506102ce6105243660046132d7565b611394565b34801561053557600080fd5b506102ce6105443660046132fb565b611579565b34801561055557600080fd5b506102ce6105643660046132d7565b61161a565b34801561057557600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff16610266565b3480156105a157600080fd5b506102ce6105b036600461346c565b611748565b3480156105c157600080fd5b506102a06105d03660046134e3565b611760565b6060609a80546105e49061351c565b80601f01602080910402602001604051908101604052809291908181526020018280546106109061351c565b801561065d5780601f106106325761010080835404028352916020019161065d565b820191906000526020600020905b81548152906001019060200180831161064057829003601f168201915b5050505050905090565b6000610673838361179a565b90505b92915050565b600061068760995490565b905090565b600054610100900460ff1661070e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61071882826117b2565b61072182611839565b6107296118f5565b61019461073682826135b7565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b600061078f84848461197a565b949350505050565b600061068761199e565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361084c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610705565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108c17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461094a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610705565b610953816119a8565b6040805160008082526020820190925261096f91839190611a8e565b50565b60006106738383611c5e565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3791906136d1565b610a835760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610705565b610a8b611c80565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b9919922336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6191906136d1565b610bad5760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206d696e74657200000000000000006044820152606401610705565b610bb5611cfe565b610bbf8282611d52565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610c18611cfe565b610c223382611e39565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d055760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610705565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610d7a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610705565b610e0c826119a8565b610e1882826001611a8e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ec95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610705565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260976020526040812054610676565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e2336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610fc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fed91906136d1565b6110395760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206275726e657200000000000000006044820152606401610705565b611041611cfe565b61104b8282611e39565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161109391815260200190565b60405180910390a25050565b600061067682611fd7565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561113f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116391906136d1565b6111af5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610705565b610a8b612002565b60006060806000806000606060c9546000801b1480156111d7575060ca54155b6112235760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610705565b61122b61205e565b61123361206d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b606061019480546105e49061351c565b6000610673838361207c565b6000610673838361210f565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611317573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133b91906136d1565b6113875760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b610194610e1882826135b7565b600054610100900460ff16158080156113b45750600054600160ff909116105b806113ce5750303b1580156113ce575060005460ff166001145b6114405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610705565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561149e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611513826040518060400160405280600f81526020017f55626971756974792043726564697400000000000000000000000000000000008152506040518060400160405280600381526020017f754352000000000000000000000000000000000000000000000000000000000081525061068c565b8015610e1857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61019554604080517fc5f956af000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163c5f956af9160048083019260209291908290030181865afa1580156115ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160e91906136f3565b9050610e188183610a8d565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b491906136d1565b6117005760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6117578787878787878761211d565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152609860209081526040808320938516835292905290812054610673565b6000336117a88185856122a8565b5060019392505050565b600054610100900460ff1661182f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b610e188282612427565b600054610100900460ff166118b65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b61096f816040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506124bd565b600054610100900460ff166119725760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b610a8b612562565b60003361198885828561260a565b6119938585856126a2565b506001949350505050565b60006106876126b5565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611a1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4291906136d1565b61096f5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611ac657611ac183612729565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b4b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b4891810190613710565b60015b611bbd5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610705565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c525760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610705565b50611ac1838383612819565b6000336117a8818585611c718383611760565b611c7b9190613729565b6122a8565b611c8861283e565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610a8b5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610705565b73ffffffffffffffffffffffffffffffffffffffff8216611db55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610705565b611dc160008383612891565b8060996000828254611dd39190613729565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611ec25760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610705565b611ece82600083612891565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205481811015611f6a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd6020526040812054610676565b61200a611cfe565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611cd43390565b606060cb80546105e49061351c565b606060cc80546105e49061351c565b6000338161208a8286611760565b9050838110156121025760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610705565b61199382868684036122a8565b6000336117a88185856126a2565b8342111561216d5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610705565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861219c8c61289c565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000612204826128d1565b9050600061221482878787612919565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146122915760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610705565b61229c8a8a8a6122a8565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166123305760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff82166123b95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff166124a45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b609a6124b083826135b7565b50609b611ac182826135b7565b600054610100900460ff1661253a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b60cb61254683826135b7565b5060cc61255382826135b7565b5050600060c981905560ca5550565b600054610100900460ff166125df5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60006126168484611760565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461269c578181101561268f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610705565b61269c84848484036122a8565b50505050565b6126aa611cfe565b611ac1838383612941565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6126e0612b74565b6126e8612bcd565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b6127b35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610705565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61282283612bfe565b60008251118061282f5750805b15611ac15761269c8383612c4b565b6101305460ff16610a8b5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610705565b611ac1838383612c70565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b60006106766128de61199e565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600061292a87878787612cea565b9150915061293781612dd9565b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83166129ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff8216612a535760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610705565b612a5e838383612891565b73ffffffffffffffffffffffffffffffffffffffff831660009081526097602052604090205481811015612afa5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612b679086815260200190565b60405180910390a361269c565b600080612b7f61205e565b805190915015612b96578051602090910120919050565b60c9548015612ba55792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612bd861206d565b805190915015612bef578051602090910120919050565b60ca548015612ba55792915050565b612c0781612729565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061067383836040518060600160405280602781526020016137af60279139612f3e565b6101305460ff1615611ac15760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c6520706175736564000000000000000000000000000000000000000000006064820152608401610705565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612d215750600090506003612dd0565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612d75573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612dc957600060019250925050612dd0565b9150600090505b94509492505050565b6000816004811115612ded57612ded613763565b03612df55750565b6001816004811115612e0957612e09613763565b03612e565760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610705565b6002816004811115612e6a57612e6a613763565b03612eb75760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610705565b6003816004811115612ecb57612ecb613763565b0361096f5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610705565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612f689190613792565b600060405180830381855af49150503d8060008114612fa3576040519150601f19603f3d011682016040523d82523d6000602084013e612fa8565b606091505b5091509150612fb986838387612fc3565b9695505050505050565b6060831561303f5782516000036130385773ffffffffffffffffffffffffffffffffffffffff85163b6130385760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610705565b508161078f565b61078f83838151156130545781518083602001fd5b8060405162461bcd60e51b815260040161070591906130dc565b60005b83811015613089578181015183820152602001613071565b50506000910152565b600081518084526130aa81602086016020860161306e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106736020830184613092565b73ffffffffffffffffffffffffffffffffffffffff8116811461096f57600080fd5b6000806040838503121561312457600080fd5b823561312f816130ef565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156131875761318761313d565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156131cd576131cd61313d565b816040528093508581528686860111156131e657600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261321157600080fd5b6106738383356020850161316c565b60008060006060848603121561323557600080fd5b8335613240816130ef565b9250602084013567ffffffffffffffff8082111561325d57600080fd5b61326987838801613200565b9350604086013591508082111561327f57600080fd5b5061328c86828701613200565b9150509250925092565b6000806000606084860312156132ab57600080fd5b83356132b6816130ef565b925060208401356132c6816130ef565b929592945050506040919091013590565b6000602082840312156132e957600080fd5b81356132f4816130ef565b9392505050565b60006020828403121561330d57600080fd5b5035919050565b6000806040838503121561332757600080fd5b8235613332816130ef565b9150602083013567ffffffffffffffff81111561334e57600080fd5b8301601f8101851361335f57600080fd5b61336e8582356020840161316c565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0818401526133b460e084018a613092565b83810360408501526133c6818a613092565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561342557835183529284019291840191600101613409565b50909c9b505050505050505050505050565b60006020828403121561344957600080fd5b813567ffffffffffffffff81111561346057600080fd5b61078f84828501613200565b600080600080600080600060e0888a03121561348757600080fd5b8735613492816130ef565b965060208801356134a2816130ef565b95506040880135945060608801359350608088013560ff811681146134c657600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156134f657600080fd5b8235613501816130ef565b91506020830135613511816130ef565b809150509250929050565b600181811c9082168061353057607f821691505b6020821081036128cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611ac157600081815260208120601f850160051c810160208610156135905750805b601f850160051c820191505b818110156135af5782815560010161359c565b505050505050565b815167ffffffffffffffff8111156135d1576135d161313d565b6135e5816135df845461351c565b84613569565b602080601f83116001811461363857600084156136025750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556135af565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561368557888601518255948401946001909101908401613666565b50858210156136c157878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156136e357600080fd5b815180151581146132f457600080fd5b60006020828403121561370557600080fd5b81516132f4816130ef565b60006020828403121561372257600080fd5b5051919050565b80820180821115610676577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082516137a481846020870161306e565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c53c7c367bc225c778bae76187dbc32d0acd379a5fcfd41a782ca928cc52205664736f6c63430008130033", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161389062000129600039600081816107c00152818161085601528181610c7901528181610d0f0152610e3e01526138906000f3fe6080604052600436106101d85760003560e01c80635c975abb11610102578063a9059cbb11610095578063d0ebdbe711610064578063d0ebdbe714610549578063d500958414610569578063d505accf14610595578063dd62ed3e146105b557600080fd5b8063a9059cbb146104c9578063b84c8246146104e9578063c4d66de814610509578063c621bf8a1461052957600080fd5b80638456cb59116100d15780638456cb591461045757806384b0196e1461046c57806395d89b4114610494578063a457c2d7146104a957600080fd5b80635c975abb146103de57806370a08231146103f757806379cc6790146104175780637ecebe001461043757600080fd5b80633644e5151161017a57806340c10f191161014957806340c10f191461037657806342966c68146103965780634f1ef286146103b657806352d1902d146103c957600080fd5b80633644e5151461030c5780633659cfe61461032157806339509351146103415780633f4ba83a1461036157600080fd5b806318160ddd116101b657806318160ddd1461028b57806320713877146102ae57806323b872dd146102d0578063313ce567146102f057600080fd5b806306fdde03146101dd578063095ea7b31461020857806313007d5514610238575b600080fd5b3480156101e957600080fd5b506101f26105d5565b6040516101ff9190613161565b60405180910390f35b34801561021457600080fd5b50610228610223366004613196565b610667565b60405190151581526020016101ff565b34801561024457600080fd5b50610195546102669073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101ff565b34801561029757600080fd5b506102a061067c565b6040519081526020016101ff565b3480156102ba57600080fd5b506102ce6102c93660046132a5565b61068c565b005b3480156102dc57600080fd5b506102286102eb36600461331b565b61078a565b3480156102fc57600080fd5b50604051601281526020016101ff565b34801561031857600080fd5b506102a061079f565b34801561032d57600080fd5b506102ce61033c36600461335c565b6107a9565b34801561034d57600080fd5b5061022861035c366004613196565b61097a565b34801561036d57600080fd5b506102ce610986565b34801561038257600080fd5b506102ce610391366004613196565b610a95565b3480156103a257600080fd5b506102ce6103b1366004613380565b610c18565b6102ce6103c4366004613399565b610c62565b3480156103d557600080fd5b506102a0610e24565b3480156103ea57600080fd5b506101305460ff16610228565b34801561040357600080fd5b506102a061041236600461335c565b610ef6565b34801561042357600080fd5b506102ce610432366004613196565b610f21565b34801561044357600080fd5b506102a061045236600461335c565b6110a7565b34801561046357600080fd5b506102ce6110b2565b34801561047857600080fd5b506104816111bf565b6040516101ff97969594939291906133fd565b3480156104a057600080fd5b506101f2611281565b3480156104b557600080fd5b506102286104c4366004613196565b611291565b3480156104d557600080fd5b506102286104e4366004613196565b61129d565b3480156104f557600080fd5b506102ce6105043660046134bc565b6112a9565b34801561051557600080fd5b506102ce61052436600461335c565b61139c565b34801561053557600080fd5b506102ce610544366004613380565b611581565b34801561055557600080fd5b506102ce61056436600461335c565b611622565b34801561057557600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff16610266565b3480156105a157600080fd5b506102ce6105b03660046134f1565b611750565b3480156105c157600080fd5b506102a06105d0366004613568565b611768565b6060609a80546105e4906135a1565b80601f0160208091040260200160405190810160405280929190818152602001828054610610906135a1565b801561065d5780601f106106325761010080835404028352916020019161065d565b820191906000526020600020905b81548152906001019060200180831161064057829003601f168201915b5050505050905090565b600061067383836117a2565b90505b92915050565b600061068760995490565b905090565b600054610100900460ff1661070e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61071882826117ba565b61072182611841565b6107296118fd565b610731611982565b61019461073e828261363c565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b60006107978484846119ff565b949350505050565b6000610687611a23565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108545760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610705565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108c97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109525760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610705565b61095b81611a2d565b6040805160008082526020820190925261097791839190611b13565b50565b60006106738383611ce3565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f9190613756565b610a8b5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610705565b610a93611d05565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b9919922336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b699190613756565b610bb55760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206d696e74657200000000000000006044820152606401610705565b610bbd611d83565b610bc78282611dd7565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610c20611d83565b610c2a3382611ebe565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d0d5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610705565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610d827f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e0b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610705565b610e1482611a2d565b610e2082826001611b13565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ed15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610705565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260976020526040812054610676565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e2336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff59190613756565b6110415760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206275726e657200000000000000006044820152606401610705565b611049611d83565b6110538282611ebe565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161109b91815260200190565b60405180910390a25050565b60006106768261205c565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116b9190613756565b6111b75760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610705565b610a93612087565b60006060806000806000606060c9546000801b1480156111df575060ca54155b61122b5760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610705565b6112336120e3565b61123b6120f2565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b606061019480546105e4906135a1565b60006106738383612101565b60006106738383612194565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561131f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113439190613756565b61138f5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b610194610e20828261363c565b600054610100900460ff16158080156113bc5750600054600160ff909116105b806113d65750303b1580156113d6575060005460ff166001145b6114485760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610705565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156114a657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61151b826040518060400160405280600f81526020017f55626971756974792043726564697400000000000000000000000000000000008152506040518060400160405280600381526020017f754352000000000000000000000000000000000000000000000000000000000081525061068c565b8015610e2057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61019554604080517fc5f956af000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163c5f956af9160048083019260209291908290030181865afa1580156115f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116169190613778565b9050610e208183610a95565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190613756565b6117085760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61175f878787878787876121a2565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152609860209081526040808320938516835292905290812054610673565b6000336117b081858561232d565b5060019392505050565b600054610100900460ff166118375760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b610e2082826124ac565b600054610100900460ff166118be5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b610977816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250612542565b600054610100900460ff1661197a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b610a936125e7565b600054610100900460ff16610a935760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b600033611a0d85828561268f565b611a18858585612727565b506001949350505050565b600061068761273a565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac79190613756565b6109775760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611b4b57611b46836127ae565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611bd0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611bcd91810190613795565b60015b611c425760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610705565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611cd75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610705565b50611b4683838361289e565b6000336117b0818585611cf68383611768565b611d0091906137ae565b61232d565b611d0d6128c3565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610a935760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610705565b73ffffffffffffffffffffffffffffffffffffffff8216611e3a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610705565b611e4660008383612916565b8060996000828254611e5891906137ae565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611f475760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610705565b611f5382600083612916565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205481811015611fef5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd6020526040812054610676565b61208f611d83565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611d593390565b606060cb80546105e4906135a1565b606060cc80546105e4906135a1565b6000338161210f8286611768565b9050838110156121875760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610705565b611a18828686840361232d565b6000336117b0818585612727565b834211156121f25760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610705565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886122218c612921565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061228982612956565b905060006122998287878761299e565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146123165760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610705565b6123218a8a8a61232d565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166123b55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff821661243e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff166125295760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b609a612535838261363c565b50609b611b46828261363c565b600054610100900460ff166125bf5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b60cb6125cb838261363c565b5060cc6125d8828261363c565b5050600060c981905560ca5550565b600054610100900460ff166126645760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600061269b8484611768565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461272157818110156127145760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610705565b612721848484840361232d565b50505050565b61272f611d83565b611b468383836129c6565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612765612bf9565b61276d612c52565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b6128385760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610705565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6128a783612c83565b6000825111806128b45750805b15611b46576127218383612cd0565b6101305460ff16610a935760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610705565b611b46838383612cf5565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b6000610676612963611a23565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b60008060006129af87878787612d6f565b915091506129bc81612e5e565b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff8316612a4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff8216612ad85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610705565b612ae3838383612916565b73ffffffffffffffffffffffffffffffffffffffff831660009081526097602052604090205481811015612b7f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612bec9086815260200190565b60405180910390a3612721565b600080612c046120e3565b805190915015612c1b578051602090910120919050565b60c9548015612c2a5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612c5d6120f2565b805190915015612c74578051602090910120919050565b60ca548015612c2a5792915050565b612c8c816127ae565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610673838360405180606001604052806027815260200161383460279139612fc3565b6101305460ff1615611b465760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c6520706175736564000000000000000000000000000000000000000000006064820152608401610705565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612da65750600090506003612e55565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612dfa573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612e4e57600060019250925050612e55565b9150600090505b94509492505050565b6000816004811115612e7257612e726137e8565b03612e7a5750565b6001816004811115612e8e57612e8e6137e8565b03612edb5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610705565b6002816004811115612eef57612eef6137e8565b03612f3c5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610705565b6003816004811115612f5057612f506137e8565b036109775760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610705565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612fed9190613817565b600060405180830381855af49150503d8060008114613028576040519150601f19603f3d011682016040523d82523d6000602084013e61302d565b606091505b509150915061303e86838387613048565b9695505050505050565b606083156130c45782516000036130bd5773ffffffffffffffffffffffffffffffffffffffff85163b6130bd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610705565b5081610797565b61079783838151156130d95781518083602001fd5b8060405162461bcd60e51b81526004016107059190613161565b60005b8381101561310e5781810151838201526020016130f6565b50506000910152565b6000815180845261312f8160208601602086016130f3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106736020830184613117565b73ffffffffffffffffffffffffffffffffffffffff8116811461097757600080fd5b600080604083850312156131a957600080fd5b82356131b481613174565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff8084111561320c5761320c6131c2565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715613252576132526131c2565b8160405280935085815286868601111561326b57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261329657600080fd5b610673838335602085016131f1565b6000806000606084860312156132ba57600080fd5b83356132c581613174565b9250602084013567ffffffffffffffff808211156132e257600080fd5b6132ee87838801613285565b9350604086013591508082111561330457600080fd5b5061331186828701613285565b9150509250925092565b60008060006060848603121561333057600080fd5b833561333b81613174565b9250602084013561334b81613174565b929592945050506040919091013590565b60006020828403121561336e57600080fd5b813561337981613174565b9392505050565b60006020828403121561339257600080fd5b5035919050565b600080604083850312156133ac57600080fd5b82356133b781613174565b9150602083013567ffffffffffffffff8111156133d357600080fd5b8301601f810185136133e457600080fd5b6133f3858235602084016131f1565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261343960e084018a613117565b838103604085015261344b818a613117565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156134aa5783518352928401929184019160010161348e565b50909c9b505050505050505050505050565b6000602082840312156134ce57600080fd5b813567ffffffffffffffff8111156134e557600080fd5b61079784828501613285565b600080600080600080600060e0888a03121561350c57600080fd5b873561351781613174565b9650602088013561352781613174565b95506040880135945060608801359350608088013560ff8116811461354b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561357b57600080fd5b823561358681613174565b9150602083013561359681613174565b809150509250929050565b600181811c908216806135b557607f821691505b602082108103612950577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611b4657600081815260208120601f850160051c810160208610156136155750805b601f850160051c820191505b8181101561363457828155600101613621565b505050505050565b815167ffffffffffffffff811115613656576136566131c2565b61366a8161366484546135a1565b846135ee565b602080601f8311600181146136bd57600084156136875750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613634565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561370a578886015182559484019460019091019084016136eb565b508582101561374657878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561376857600080fd5b8151801515811461337957600080fd5b60006020828403121561378a57600080fd5b815161337981613174565b6000602082840312156137a757600080fd5b5051919050565b80820180821115610676577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082516138298184602087016130f3565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206525f48411674134762950431f3c0d773f8e7d977680f97474e26e42a514558764736f6c63430008130033", "nonce": "0x20", "accessList": [] }, @@ -646,18 +646,18 @@ "isFixedGasLimit": false }, { - "hash": "0xb7005973c0dc14f11e1aa011f71a3196b51907ed6d03f03d72c9cdef33c87069", + "hash": "0x1021c719e2f92aa15b5105bfa35ab1abd61dad9fa1e33a49639af5267dc5615a", "transactionType": "CREATE", - "contractName": "UupsProxy", + "contractName": "ERC1967Proxy", "contractAddress": "0x47f8F074c2C1eD281Aa6d69dB972FdeB4a0f9e14", "function": null, "arguments": ["0x5318a766EBEd5157D18347637A306Fba6Bb2Fc12", "0xc4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb"], "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x61653", + "gas": "0x615c1", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506040516104ff3803806104ff83398101604081905261002f916102ef565b818161003d82826000610046565b5050505061040c565b61004f83610072565b60008251118061005c5750805b1561006d5761006b83836100b2565b505b505050565b61007b816100de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d783836040518060600160405280602781526020016104d860279139610191565b9392505050565b6001600160a01b0381163b6101505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516101ae91906103bd565b600060405180830381855af49150503d80600081146101e9576040519150601f19603f3d011682016040523d82523d6000602084013e6101ee565b606091505b5090925090506102008683838761020a565b9695505050505050565b60608315610279578251600003610272576001600160a01b0385163b6102725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610147565b5081610283565b610283838361028b565b949350505050565b81511561029b5781518083602001fd5b8060405162461bcd60e51b815260040161014791906103d9565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e65781810151838201526020016102ce565b50506000910152565b6000806040838503121561030257600080fd5b82516001600160a01b038116811461031957600080fd5b60208401519092506001600160401b038082111561033657600080fd5b818501915085601f83011261034a57600080fd5b81518181111561035c5761035c6102b5565b604051601f8201601f19908116603f01168101908382118183101715610384576103846102b5565b8160405282815288602084870101111561039d57600080fd5b6103ae8360208301602088016102cb565b80955050505050509250929050565b600082516103cf8184602087016102cb565b9190910192915050565b60208152600082518060208401526103f88160408501602087016102cb565b601f01601f19169190910160400192915050565b60be8061041a6000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220e441f365e67d1a963a862b4e5b34ef47a37e8981bee9932a7d0c5164dd3c9c0264736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000005318a766ebed5157d18347637a306fba6bb2fc1200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220ee73825c3965854f7394eef8f358ef2aad4b717396c04da27f3a5227ed3523f664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000005318a766ebed5157d18347637a306fba6bb2fc1200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", "nonce": "0x21", "accessList": [] }, @@ -665,7 +665,7 @@ "isFixedGasLimit": false }, { - "hash": "0x81ffbf4cad8562d0e805069c6594352f23a9149200b83384b439c06681f451a1", + "hash": "0x4ec188d918c202f7a7604f6ec9cc541e73d82e7c2cbcac4a66a69075d4824b64", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -685,7 +685,7 @@ "isFixedGasLimit": false }, { - "hash": "0xf2788fe6073e3b4a5e6ffc7a567279773127200b5aa86c8699d48f6bef8b377f", + "hash": "0x57441df46cf40bfeb3d0d6b3faf56acda7540cd9ab79deb9f511820b941a2f7e", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -705,7 +705,7 @@ "isFixedGasLimit": false }, { - "hash": "0xe717adcd28f4545b644128b4021eda57f19dbddc1e60b01c6e36a17cbd772d97", + "hash": "0x66fe887b8a813f9fc65a8994c272680290db3470a256fb05abd621fe68a650c4", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -725,7 +725,7 @@ "isFixedGasLimit": false }, { - "hash": "0x349eb0b5cfc21cc0d51b201cc268616703c5ab8146d184399e6639b82c8d2011", + "hash": "0xb6b2183376fac2ddfe1a27864f644ff108dca4a9029a15b35c156d56074095e3", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -745,7 +745,7 @@ "isFixedGasLimit": false }, { - "hash": "0x6a347e0caf8aaf453dae69d18f90816d49477813030b58a5fa60442104012171", + "hash": "0xcda3f96764a0a59659d0f2d9837aba08ad3e7e2b57ba95344d4a91c1ab1dfd93", "transactionType": "CREATE", "contractName": "CreditNft", "contractAddress": "0x773305308C2eDEE9Dbea7C0467953f165328B35D", @@ -754,9 +754,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x5a15b5", + "gas": "0x5a1e5d", "value": "0x0", - "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161510f6200012960003960008181610a6701528181610afd01528181610ea001528181610f360152611065015261510f6000f3fe6080604052600436106101d75760003560e01c8063737035e811610102578063d500958411610095578063f242432a11610064578063f242432a146105a6578063f5298aca146105c6578063f7ffe84a146105e6578063fd7fc165146105fb57600080fd5b8063d5009584146104ef578063db87b1ff1461051b578063e1f862e114610530578063e985e9c51461055057600080fd5b80639b642de1116100d15780639b642de11461046f578063a22cb4651461048f578063c4d66de8146104af578063d0ebdbe7146104cf57600080fd5b8063737035e8146103fa5780637b48c3fd1461041a5780638456cb591461043a57806391623d491461044f57600080fd5b80633659cfe61161017a57806352d1902d1161014957806352d1902d1461038d5780635c975abb146103a25780636b20c454146103ba578063731133e9146103da57600080fd5b80633659cfe6146103185780633f4ba83a146103385780634e1273f41461034d5780634f1ef2861461037a57600080fd5b806313007d55116101b657806313007d551461026c57806318160ddd146102bf5780631f7fdffa146102d65780632eb2c2d6146102f857600080fd5b8062fdd58e146101dc57806301ffc9a71461020f5780630e89341c1461023f575b600080fd5b3480156101e857600080fd5b506101fc6101f73660046144af565b61061b565b6040519081526020015b60405180910390f35b34801561021b57600080fd5b5061022f61022a366004614507565b6106e3565b6040519015158152602001610206565b34801561024b57600080fd5b5061025f61025a366004614524565b6107c6565b60405161020691906145ab565b34801561027857600080fd5b506101915461029a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610206565b3480156102cb57600080fd5b506101fc6101935481565b3480156102e257600080fd5b506102f66102f136600461475f565b61085a565b005b34801561030457600080fd5b506102f66103133660046147f8565b610a13565b34801561032457600080fd5b506102f66103333660046148a2565b610a50565b34801561034457600080fd5b506102f6610c21565b34801561035957600080fd5b5061036d6103683660046148bd565b610d4b565b60405161020691906149c3565b6102f66103883660046149d6565b610e89565b34801561039957600080fd5b506101fc61104b565b3480156103ae57600080fd5b5060c95460ff1661022f565b3480156103c657600080fd5b506102f66103d5366004614a1a565b61111e565b3480156103e657600080fd5b506102f66103f5366004614a8e565b6111c9565b34801561040657600080fd5b506101fc6104153660046144af565b611343565b34801561042657600080fd5b5061036d6104353660046148a2565b611375565b34801561044657600080fd5b506102f66113ee565b34801561045b57600080fd5b506102f661046a366004614ae3565b611516565b34801561047b57600080fd5b506102f661048a366004614b16565b611726565b34801561049b57600080fd5b506102f66104aa366004614b59565b611830565b3480156104bb57600080fd5b506102f66104ca3660046148a2565b61183b565b3480156104db57600080fd5b506102f66104ea3660046148a2565b611a00565b3480156104fb57600080fd5b506101915473ffffffffffffffffffffffffffffffffffffffff1661029a565b34801561052757600080fd5b506101fc611b49565b34801561053c57600080fd5b506102f661054b3660046149d6565b611bbf565b34801561055c57600080fd5b5061022f61056b366004614b90565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156105b257600080fd5b506102f66105c1366004614bc3565b611df7565b3480156105d257600080fd5b506102f66105e1366004614ae3565b611e34565b3480156105f257600080fd5b506102f6611eda565b34801561060757600080fd5b506102f6610616366004614ae3565b611f7c565b600073ffffffffffffffffffffffffffffffffffffffff83166106ab5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b50600081815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061077657507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b806106dd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106dd565b6060606780546107d590614c28565b80601f016020809104026020016040519081016040528092919081815260200182805461080190614c28565b801561084e5780601f106108235761010080835404028352916020019161084e565b820191906000526020600020905b81548152906001019060200180831161083157829003601f168201915b50505050509050919050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561090a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092e9190614c7b565b61097a5760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016106a2565b6109826121dd565b61098e84848484612230565b6101935460005b84518110156109d5578381815181106109b0576109b0614c98565b6020026020010151826109c39190614cf6565b91506109ce81614d09565b9050610995565b5061019381905573ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020610a0c9085612485565b5050505050565b610a208585858585612537565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610a0c9084612485565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610afb5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106a2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610b707f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610bf95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106a2565b610c02816125df565b60408051600080825260208201909252610c1e918391906126e0565b50565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf59190614c7b565b610d415760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016106a2565b610d496128ab565b565b60608151835114610dc45760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016106a2565b6000835167ffffffffffffffff811115610de057610de06145be565b604051908082528060200260200182016040528015610e09578160200160208202803683370190505b50905060005b8451811015610e8157610e54858281518110610e2d57610e2d614c98565b6020026020010151858381518110610e4757610e47614c98565b602002602001015161061b565b828281518110610e6657610e66614c98565b6020908102919091010152610e7a81614d09565b9050610e0f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610f345760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106a2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610fa97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110325760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106a2565b61103b826125df565b611047828260016126e0565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146110f85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b73ffffffffffffffffffffffffffffffffffffffff83163314806111475750611147833361056b565b6111b95760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b6111c4838383612928565b505050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129d9190614c7b565b6112e95760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016106a2565b6112f584848484612989565b8161019360008282546113089190614cf6565b909155505073ffffffffffffffffffffffffffffffffffffffff841660009081526101926020526040902061133d9084612af1565b50505050565b610192602052816000526040600020818154811061136057600080fd5b90600052602060002001600091509150505481565b73ffffffffffffffffffffffffffffffffffffffff81166000908152610192602090815260409182902080548351818402810184019094528084526060939283018282801561084e57602002820191906000526020600020905b8154815260200190600101908083116113cf5750505050509050919050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190614c7b565b61150e5760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016106a2565b610d49612b50565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156115c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ea9190614c7b565b61165c5760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b611677838284604051806020016040528060008152506111c9565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f3d246cb2f560db6bfacef871241d243c87e2e329bfb7d254af02c5659d388cbe9060600160405180910390a16116da6101c882612bab565b6116e357600080fd5b60008181526101c760205260409020546116fe908390614cf6565b60008281526101c760205260409020556101c65461171d908390614cf6565b6101c655505050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156117b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117db9190614c7b565b6118275760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b610c1e81612bc0565b611047338383612bcc565b600054610100900460ff161580801561185b5750600054600160ff909116105b806118755750303b158015611875575060005460ff166001145b6118e75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561194557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611984826040518060400160405280600381526020017f5552490000000000000000000000000000000000000000000000000000000000815250611bbf565b61198c612d05565b611994612d82565b60006101c655801561104757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab59190614c7b565b611b015760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6101c6546000908180611b5e6101c882612e07565b9150505b81158015611b6f57508015155b15611bb75743811115611b855760019150611ba2565b60008181526101c76020526040902054611b9f9084614d41565b92505b611bae6101c882612e07565b9150611b629050565b509092915050565b600054610100900460ff1615808015611bdf5750600054600160ff909116105b80611bf95750303b158015611bf9575060005460ff166001145b611c6b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611cc957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600054610100900460ff16611d465760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b611d4f82612e21565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851617905580156111c457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b611e048585858585612ea7565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610a0c9084612af1565b73ffffffffffffffffffffffffffffffffffffffff8316331480611e5d5750611e5d833361056b565b611ecf5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b6111c4838383612f4f565b600080611ee86101c8612f7f565b6101c6549091505b82158015611efd57508115155b15611f745743821115611f2857611f166101c883612f8c565b611f1f57600080fd5b60019250611f62565b60008281526101c76020526040902054611f429082614d41565b60008381526101c760205260408120559050611f606101c883612f9a565b505b611f6d6101c8612f7f565b9150611ef0565b6101c6555050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561202c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120509190614c7b565b6120c25760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b816120cd848361061b565b10156121415760405162461bcd60e51b815260206004820152602560248201527f4372656469744e6674206f776e6572206e6f7420656e6f75676820437265646960448201527f744e66747300000000000000000000000000000000000000000000000000000060648201526084016106a2565b61214c838284611e34565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f1785e849ef92c7429438ec45a69fccc0f39a044a18331bdb7e8ac9ab20db10b49060600160405180910390a160008181526101c760205260409020546121be908390614d41565b60008281526101c760205260409020556101c65461171d908390614d41565b60c95460ff1615610d495760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106a2565b73ffffffffffffffffffffffffffffffffffffffff84166122b95760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b81518351146123305760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b3361234081600087878787613033565b60005b84518110156123f65783818151811061235e5761235e614c98565b60200260200101516065600087848151811061237c5761237c614c98565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123de9190614cf6565b909155508190506123ee81614d09565b915050612343565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161246e929190614d54565b60405180910390a4610a0c81600087878787613049565b60005b81518110156111c4576000805b84548110156124f5578383815181106124b0576124b0614c98565b60200260200101518582815481106124ca576124ca614c98565b9060005260206000200154036124e357600191506124f5565b806124ed81614d09565b915050612495565b508061252e578383838151811061250e5761250e614c98565b602090810291909101810151825460018101845560009384529190922001555b50600101612488565b73ffffffffffffffffffffffffffffffffffffffff85163314806125605750612560853361056b565b6125d25760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b610a0c8585858585613285565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015612670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126949190614c7b565b610c1e5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612713576111c48361357a565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612798575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261279591810190614d82565b60015b61280a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106a2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461289f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106a2565b506111c483838361366a565b6128b361368f565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6129306121dd565b61293b8383836136e1565b60005b825181101561133d5781818151811061295957612959614c98565b602002602001015161019360008282546129739190614d41565b90915550612982905081614d09565b905061293e565b73ffffffffffffffffffffffffffffffffffffffff8416612a125760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000612a1e856139cf565b90506000612a2b856139cf565b9050612a3c83600089858589613033565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290612a7b908490614cf6565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612ae883600089898989613a1a565b50505050505050565b60005b8254811015612b375781838281548110612b1057612b10614c98565b906000526020600020015403612b2557505050565b80612b2f81614d09565b915050612af4565b5081546001810183556000928352602090922090910155565b612b586121dd565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586128fe3390565b6000612bb983836000613bad565b9392505050565b60676110478282614de1565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c6d5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526066602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600054610100900460ff16610d495760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b600054610100900460ff16612dff5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b610d49613bc4565b600080612e1684846001613c6b565b915091509250929050565b600054610100900460ff16612e9e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b610c1e81613cb2565b73ffffffffffffffffffffffffffffffffffffffff8516331480612ed05750612ed0853361056b565b612f425760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b610a0c8585858585613d2f565b612f576121dd565b612f62838383613f4b565b806101936000828254612f759190614d41565b9091555050505050565b60006106dd826001614139565b6000612bb983836001613bad565b6000811580612fb05750612fae8383614156565b155b15612fbd575060006106dd565b600082815260018481016020818152604080852085805280835281862080548688528388208054808a52878752858a208a80528752858a20839055918952958552838820878952855292872092909255909152839055829055845490918591613027908490614d41565b90915550919392505050565b6130418686868686866141da565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b15613041576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c81906130c09089908990889088908890600401614efb565b6020604051808303816000875af1925050508015613119575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261311691810190614f66565b60015b6131ce57613125614f83565b806308c379a00361315e5750613139614f9e565b806131445750613160565b8060405162461bcd60e51b81526004016106a291906145ab565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016106a2565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014612ae85760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016106a2565b81518351146132fc5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff84166133855760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106a2565b33613394818787878787613033565b60005b84518110156134ed5760008582815181106133b4576133b4614c98565b6020026020010151905060008583815181106133d2576133d2614c98565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8e1683529093529190912054909150818110156134865760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016106a2565b600083815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b168252812080548492906134d2908490614cf6565b92505081905550505050806134e690614d09565b9050613397565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051613564929190614d54565b60405180910390a4613041818787878787613049565b73ffffffffffffffffffffffffffffffffffffffff81163b6136045760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106a2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61367383614253565b6000825111806136805750805b156111c45761133d83836142a0565b60c95460ff16610d495760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016106a2565b73ffffffffffffffffffffffffffffffffffffffff831661376a5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b80518251146137e15760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b600033905061380481856000868660405180602001604052806000815250613033565b60005b835181101561393b57600084828151811061382457613824614c98565b60200260200101519050600084838151811061384257613842614c98565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8c1683529093529190912054909150818110156138f55760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016106a2565b600092835260656020908152604080852073ffffffffffffffffffffffffffffffffffffffff8b168652909152909220910390558061393381614d09565b915050613807565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516139b3929190614d54565b60405180910390a460408051602081019091526000905261133d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613a0957613a09614c98565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b15613041576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e6190613a919089908990889088908890600401615046565b6020604051808303816000875af1925050508015613aea575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252613ae791810190614f66565b60015b613af657613125614f83565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014612ae85760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016106a2565b6000613bbc84600085856142c5565b949350505050565b600054610100900460ff16613c415760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600080613c788585614156565b613c8757506000905080613caa565b505060008281526001848101602090815260408084208515158552909152909120545b935093915050565b600054610100900460ff166118275760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff8416613db85760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000613dc4856139cf565b90506000613dd1856139cf565b9050613de1838989858589613033565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8c16845290915290205485811015613e875760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016106a2565b600087815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a16825281208054889290613ed3908490614cf6565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4613f40848a8a8a8a8a613a1a565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316613fd45760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000613fe0846139cf565b90506000613fed846139cf565b905061400d83876000858560405180602001604052806000815250613033565b600085815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a168452909152902054848110156140b25760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016106a2565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612ae8565b60008061414884600085613c6b565b9150613bbc90508482612f9a565b6000818152600183016020908152604080832083805290915281205415801561419957506000828152600180850160209081526040808420928452919052902054155b156141d25760008080526001808501602090815260408084209284529190529020548290036141ca575060016106dd565b5060006106dd565b5060016106dd565b60c95460ff16156130415760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c6520706175736564000000000000000000000000000000000000000060648201526084016106a2565b61425c8161357a565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612bb983836040518060600160405280602781526020016150b360279139614370565b60006142d18584614156565b1580156142e357506142e38585614156565b156143655760008481526001868101602081815260408085208715801580885291845282872080548b8952868652848920838a52808752858a208e9055918c90558089529585528388209188529084528287208a90559086529091528320819055875490928891614355908490614cf6565b9091555060019250613bbc915050565b506000949350505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161439a9190615096565b600060405180830381855af49150503d80600081146143d5576040519150601f19603f3d011682016040523d82523d6000602084013e6143da565b606091505b50915091506143eb868383876143f5565b9695505050505050565b6060831561447157825160000361446a5773ffffffffffffffffffffffffffffffffffffffff85163b61446a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a2565b5081613bbc565b613bbc83838151156131445781518083602001fd5b803573ffffffffffffffffffffffffffffffffffffffff811681146144aa57600080fd5b919050565b600080604083850312156144c257600080fd5b6144cb83614486565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c1e57600080fd5b60006020828403121561451957600080fd5b8135612bb9816144d9565b60006020828403121561453657600080fd5b5035919050565b60005b83811015614558578181015183820152602001614540565b50506000910152565b6000815180845261457981602086016020860161453d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612bb96020830184614561565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff82111715614631576146316145be565b6040525050565b600067ffffffffffffffff821115614652576146526145be565b5060051b60200190565b600082601f83011261466d57600080fd5b8135602061467a82614638565b60405161468782826145ed565b83815260059390931b85018201928281019150868411156146a757600080fd5b8286015b848110156146c257803583529183019183016146ab565b509695505050505050565b600082601f8301126146de57600080fd5b813567ffffffffffffffff8111156146f8576146f86145be565b60405161472d60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601826145ed565b81815284602083860101111561474257600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561477557600080fd5b61477e85614486565b9350602085013567ffffffffffffffff8082111561479b57600080fd5b6147a78883890161465c565b945060408701359150808211156147bd57600080fd5b6147c98883890161465c565b935060608701359150808211156147df57600080fd5b506147ec878288016146cd565b91505092959194509250565b600080600080600060a0868803121561481057600080fd5b61481986614486565b945061482760208701614486565b9350604086013567ffffffffffffffff8082111561484457600080fd5b61485089838a0161465c565b9450606088013591508082111561486657600080fd5b61487289838a0161465c565b9350608088013591508082111561488857600080fd5b50614895888289016146cd565b9150509295509295909350565b6000602082840312156148b457600080fd5b612bb982614486565b600080604083850312156148d057600080fd5b823567ffffffffffffffff808211156148e857600080fd5b818501915085601f8301126148fc57600080fd5b8135602061490982614638565b60405161491682826145ed565b83815260059390931b850182019282810191508984111561493657600080fd5b948201945b8386101561495b5761494c86614486565b8252948201949082019061493b565b9650508601359250508082111561497157600080fd5b5061497e8582860161465c565b9150509250929050565b600081518084526020808501945080840160005b838110156149b85781518752958201959082019060010161499c565b509495945050505050565b602081526000612bb96020830184614988565b600080604083850312156149e957600080fd5b6149f283614486565b9150602083013567ffffffffffffffff811115614a0e57600080fd5b61497e858286016146cd565b600080600060608486031215614a2f57600080fd5b614a3884614486565b9250602084013567ffffffffffffffff80821115614a5557600080fd5b614a618783880161465c565b93506040860135915080821115614a7757600080fd5b50614a848682870161465c565b9150509250925092565b60008060008060808587031215614aa457600080fd5b614aad85614486565b93506020850135925060408501359150606085013567ffffffffffffffff811115614ad757600080fd5b6147ec878288016146cd565b600080600060608486031215614af857600080fd5b614b0184614486565b95602085013595506040909401359392505050565b600060208284031215614b2857600080fd5b813567ffffffffffffffff811115614b3f57600080fd5b613bbc848285016146cd565b8015158114610c1e57600080fd5b60008060408385031215614b6c57600080fd5b614b7583614486565b91506020830135614b8581614b4b565b809150509250929050565b60008060408385031215614ba357600080fd5b614bac83614486565b9150614bba60208401614486565b90509250929050565b600080600080600060a08688031215614bdb57600080fd5b614be486614486565b9450614bf260208701614486565b93506040860135925060608601359150608086013567ffffffffffffffff811115614c1c57600080fd5b614895888289016146cd565b600181811c90821680614c3c57607f821691505b602082108103614c75577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614c8d57600080fd5b8151612bb981614b4b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106dd576106dd614cc7565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614d3a57614d3a614cc7565b5060010190565b818103818111156106dd576106dd614cc7565b604081526000614d676040830185614988565b8281036020840152614d798185614988565b95945050505050565b600060208284031215614d9457600080fd5b5051919050565b601f8211156111c457600081815260208120601f850160051c81016020861015614dc25750805b601f850160051c820191505b8181101561304157828155600101614dce565b815167ffffffffffffffff811115614dfb57614dfb6145be565b614e0f81614e098454614c28565b84614d9b565b602080601f831160018114614e625760008415614e2c5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613041565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015614eaf57888601518255948401946001909101908401614e90565b5085821015614eeb57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152614f3460a0830186614988565b8281036060840152614f468186614988565b90508281036080840152614f5a8185614561565b98975050505050505050565b600060208284031215614f7857600080fd5b8151612bb9816144d9565b600060033d111561111b5760046000803e5060005160e01c90565b600060443d1015614fac5790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff8160248401118184111715614ffa57505050505090565b82850191508151818111156150125750505050505090565b843d870101602082850101111561502c5750505050505090565b61503b602082860101876145ed565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261508b60a0830184614561565b979650505050505050565b600082516150a881846020870161453d565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b46366a4b8ee48b9b449e4acb300d8e34f825217bc4bdf18e7eccc37279c20a564736f6c63430008130033", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516151176200012960003960008181610a6701528181610afd01528181610ea001528181610f36015261106501526151176000f3fe6080604052600436106101d75760003560e01c8063737035e811610102578063d500958411610095578063f242432a11610064578063f242432a146105a6578063f5298aca146105c6578063f7ffe84a146105e6578063fd7fc165146105fb57600080fd5b8063d5009584146104ef578063db87b1ff1461051b578063e1f862e114610530578063e985e9c51461055057600080fd5b80639b642de1116100d15780639b642de11461046f578063a22cb4651461048f578063c4d66de8146104af578063d0ebdbe7146104cf57600080fd5b8063737035e8146103fa5780637b48c3fd1461041a5780638456cb591461043a57806391623d491461044f57600080fd5b80633659cfe61161017a57806352d1902d1161014957806352d1902d1461038d5780635c975abb146103a25780636b20c454146103ba578063731133e9146103da57600080fd5b80633659cfe6146103185780633f4ba83a146103385780634e1273f41461034d5780634f1ef2861461037a57600080fd5b806313007d55116101b657806313007d551461026c57806318160ddd146102bf5780631f7fdffa146102d65780632eb2c2d6146102f857600080fd5b8062fdd58e146101dc57806301ffc9a71461020f5780630e89341c1461023f575b600080fd5b3480156101e857600080fd5b506101fc6101f73660046144b7565b61061b565b6040519081526020015b60405180910390f35b34801561021b57600080fd5b5061022f61022a36600461450f565b6106e3565b6040519015158152602001610206565b34801561024b57600080fd5b5061025f61025a36600461452c565b6107c6565b60405161020691906145b3565b34801561027857600080fd5b506101915461029a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610206565b3480156102cb57600080fd5b506101fc6101935481565b3480156102e257600080fd5b506102f66102f1366004614767565b61085a565b005b34801561030457600080fd5b506102f6610313366004614800565b610a13565b34801561032457600080fd5b506102f66103333660046148aa565b610a50565b34801561034457600080fd5b506102f6610c21565b34801561035957600080fd5b5061036d6103683660046148c5565b610d4b565b60405161020691906149cb565b6102f66103883660046149de565b610e89565b34801561039957600080fd5b506101fc61104b565b3480156103ae57600080fd5b5060c95460ff1661022f565b3480156103c657600080fd5b506102f66103d5366004614a22565b61111e565b3480156103e657600080fd5b506102f66103f5366004614a96565b6111c9565b34801561040657600080fd5b506101fc6104153660046144b7565b611343565b34801561042657600080fd5b5061036d6104353660046148aa565b611375565b34801561044657600080fd5b506102f66113ee565b34801561045b57600080fd5b506102f661046a366004614aeb565b611516565b34801561047b57600080fd5b506102f661048a366004614b1e565b611726565b34801561049b57600080fd5b506102f66104aa366004614b61565b611830565b3480156104bb57600080fd5b506102f66104ca3660046148aa565b61183b565b3480156104db57600080fd5b506102f66104ea3660046148aa565b6119f0565b3480156104fb57600080fd5b506101915473ffffffffffffffffffffffffffffffffffffffff1661029a565b34801561052757600080fd5b506101fc611b39565b34801561053c57600080fd5b506102f661054b3660046149de565b611baf565b34801561055c57600080fd5b5061022f61056b366004614b98565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156105b257600080fd5b506102f66105c1366004614bcb565b611dff565b3480156105d257600080fd5b506102f66105e1366004614aeb565b611e3c565b3480156105f257600080fd5b506102f6611ee2565b34801561060757600080fd5b506102f6610616366004614aeb565b611f84565b600073ffffffffffffffffffffffffffffffffffffffff83166106ab5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b50600081815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061077657507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b806106dd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106dd565b6060606780546107d590614c30565b80601f016020809104026020016040519081016040528092919081815260200182805461080190614c30565b801561084e5780601f106108235761010080835404028352916020019161084e565b820191906000526020600020905b81548152906001019060200180831161083157829003601f168201915b50505050509050919050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561090a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092e9190614c83565b61097a5760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016106a2565b6109826121e5565b61098e84848484612238565b6101935460005b84518110156109d5578381815181106109b0576109b0614ca0565b6020026020010151826109c39190614cfe565b91506109ce81614d11565b9050610995565b5061019381905573ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020610a0c908561248d565b5050505050565b610a20858585858561253f565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610a0c908461248d565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610afb5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106a2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610b707f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610bf95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106a2565b610c02816125e7565b60408051600080825260208201909252610c1e918391906126e8565b50565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf59190614c83565b610d415760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016106a2565b610d496128b3565b565b60608151835114610dc45760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016106a2565b6000835167ffffffffffffffff811115610de057610de06145c6565b604051908082528060200260200182016040528015610e09578160200160208202803683370190505b50905060005b8451811015610e8157610e54858281518110610e2d57610e2d614ca0565b6020026020010151858381518110610e4757610e47614ca0565b602002602001015161061b565b828281518110610e6657610e66614ca0565b6020908102919091010152610e7a81614d11565b9050610e0f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610f345760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106a2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610fa97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110325760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106a2565b61103b826125e7565b611047828260016126e8565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146110f85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b73ffffffffffffffffffffffffffffffffffffffff83163314806111475750611147833361056b565b6111b95760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b6111c4838383612930565b505050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129d9190614c83565b6112e95760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016106a2565b6112f584848484612991565b8161019360008282546113089190614cfe565b909155505073ffffffffffffffffffffffffffffffffffffffff841660009081526101926020526040902061133d9084612af9565b50505050565b610192602052816000526040600020818154811061136057600080fd5b90600052602060002001600091509150505481565b73ffffffffffffffffffffffffffffffffffffffff81166000908152610192602090815260409182902080548351818402810184019094528084526060939283018282801561084e57602002820191906000526020600020905b8154815260200190600101908083116113cf5750505050509050919050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190614c83565b61150e5760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016106a2565b610d49612b58565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156115c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ea9190614c83565b61165c5760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b611677838284604051806020016040528060008152506111c9565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f3d246cb2f560db6bfacef871241d243c87e2e329bfb7d254af02c5659d388cbe9060600160405180910390a16116da6101c882612bb3565b6116e357600080fd5b60008181526101c760205260409020546116fe908390614cfe565b60008281526101c760205260409020556101c65461171d908390614cfe565b6101c655505050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156117b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117db9190614c83565b6118275760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b610c1e81612bc8565b611047338383612bd4565b600054610100900460ff161580801561185b5750600054600160ff909116105b806118755750303b158015611875575060005460ff166001145b6118e75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561194557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611984826040518060400160405280600381526020017f5552490000000000000000000000000000000000000000000000000000000000815250611baf565b60006101c655801561104757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190614c83565b611af15760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6101c6546000908180611b4e6101c882612d0d565b9150505b81158015611b5f57508015155b15611ba75743811115611b755760019150611b92565b60008181526101c76020526040902054611b8f9084614d49565b92505b611b9e6101c882612d0d565b9150611b529050565b509092915050565b600054610100900460ff1615808015611bcf5750600054600160ff909116105b80611be95750303b158015611be9575060005460ff166001145b611c5b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611cb957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600054610100900460ff16611d365760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b611d3f82612d27565b611d47612dad565b611d4f612e2a565b611d57612dad565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851617905580156111c457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b611e0c8585858585612eaf565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610a0c9084612af9565b73ffffffffffffffffffffffffffffffffffffffff8316331480611e655750611e65833361056b565b611ed75760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b6111c4838383612f57565b600080611ef06101c8612f87565b6101c6549091505b82158015611f0557508115155b15611f7c5743821115611f3057611f1e6101c883612f94565b611f2757600080fd5b60019250611f6a565b60008281526101c76020526040902054611f4a9082614d49565b60008381526101c760205260408120559050611f686101c883612fa2565b505b611f756101c8612f87565b9150611ef8565b6101c6555050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015612034573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120589190614c83565b6120ca5760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b816120d5848361061b565b10156121495760405162461bcd60e51b815260206004820152602560248201527f4372656469744e6674206f776e6572206e6f7420656e6f75676820437265646960448201527f744e66747300000000000000000000000000000000000000000000000000000060648201526084016106a2565b612154838284611e3c565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f1785e849ef92c7429438ec45a69fccc0f39a044a18331bdb7e8ac9ab20db10b49060600160405180910390a160008181526101c760205260409020546121c6908390614d49565b60008281526101c760205260409020556101c65461171d908390614d49565b60c95460ff1615610d495760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106a2565b73ffffffffffffffffffffffffffffffffffffffff84166122c15760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b81518351146123385760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b336123488160008787878761303b565b60005b84518110156123fe5783818151811061236657612366614ca0565b60200260200101516065600087848151811061238457612384614ca0565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123e69190614cfe565b909155508190506123f681614d11565b91505061234b565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051612476929190614d5c565b60405180910390a4610a0c81600087878787613051565b60005b81518110156111c4576000805b84548110156124fd578383815181106124b8576124b8614ca0565b60200260200101518582815481106124d2576124d2614ca0565b9060005260206000200154036124eb57600191506124fd565b806124f581614d11565b91505061249d565b5080612536578383838151811061251657612516614ca0565b602090810291909101810151825460018101845560009384529190922001555b50600101612490565b73ffffffffffffffffffffffffffffffffffffffff85163314806125685750612568853361056b565b6125da5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b610a0c858585858561328d565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015612678573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269c9190614c83565b610c1e5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561271b576111c483613582565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156127a0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261279d91810190614d8a565b60015b6128125760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106a2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146128a75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106a2565b506111c4838383613672565b6128bb613697565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6129386121e5565b6129438383836136e9565b60005b825181101561133d5781818151811061296157612961614ca0565b6020026020010151610193600082825461297b9190614d49565b9091555061298a905081614d11565b9050612946565b73ffffffffffffffffffffffffffffffffffffffff8416612a1a5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000612a26856139d7565b90506000612a33856139d7565b9050612a448360008985858961303b565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290612a83908490614cfe565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612af083600089898989613a22565b50505050505050565b60005b8254811015612b3f5781838281548110612b1857612b18614ca0565b906000526020600020015403612b2d57505050565b80612b3781614d11565b915050612afc565b5081546001810183556000928352602090922090910155565b612b606121e5565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586129063390565b6000612bc183836000613bb5565b9392505050565b60676110478282614de9565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c755760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526066602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080612d1c84846001613bcc565b915091509250929050565b600054610100900460ff16612da45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b610c1e81613c13565b600054610100900460ff16610d495760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b600054610100900460ff16612ea75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b610d49613c90565b73ffffffffffffffffffffffffffffffffffffffff8516331480612ed85750612ed8853361056b565b612f4a5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b610a0c8585858585613d37565b612f5f6121e5565b612f6a838383613f53565b806101936000828254612f7d9190614d49565b9091555050505050565b60006106dd826001614141565b6000612bc183836001613bb5565b6000811580612fb85750612fb6838361415e565b155b15612fc5575060006106dd565b600082815260018481016020818152604080852085805280835281862080548688528388208054808a52878752858a208a80528752858a2083905591895295855283882087895285529287209290925590915283905582905584549091859161302f908490614d49565b90915550919392505050565b6130498686868686866141e2565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b15613049576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c81906130c89089908990889088908890600401614f03565b6020604051808303816000875af1925050508015613121575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261311e91810190614f6e565b60015b6131d65761312d614f8b565b806308c379a0036131665750613141614fa6565b8061314c5750613168565b8060405162461bcd60e51b81526004016106a291906145b3565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016106a2565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014612af05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016106a2565b81518351146133045760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff841661338d5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106a2565b3361339c81878787878761303b565b60005b84518110156134f55760008582815181106133bc576133bc614ca0565b6020026020010151905060008583815181106133da576133da614ca0565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8e16835290935291909120549091508181101561348e5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016106a2565b600083815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b168252812080548492906134da908490614cfe565b92505081905550505050806134ee90614d11565b905061339f565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161356c929190614d5c565b60405180910390a4613049818787878787613051565b73ffffffffffffffffffffffffffffffffffffffff81163b61360c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106a2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61367b8361425b565b6000825111806136885750805b156111c45761133d83836142a8565b60c95460ff16610d495760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016106a2565b73ffffffffffffffffffffffffffffffffffffffff83166137725760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b80518251146137e95760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b600033905061380c8185600086866040518060200160405280600081525061303b565b60005b835181101561394357600084828151811061382c5761382c614ca0565b60200260200101519050600084838151811061384a5761384a614ca0565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8c1683529093529190912054909150818110156138fd5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016106a2565b600092835260656020908152604080852073ffffffffffffffffffffffffffffffffffffffff8b168652909152909220910390558061393b81614d11565b91505061380f565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516139bb929190614d5c565b60405180910390a460408051602081019091526000905261133d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613a1157613a11614ca0565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b15613049576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e6190613a99908990899088908890889060040161504e565b6020604051808303816000875af1925050508015613af2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252613aef91810190614f6e565b60015b613afe5761312d614f8b565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014612af05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016106a2565b6000613bc484600085856142cd565b949350505050565b600080613bd9858561415e565b613be857506000905080613c0b565b505060008281526001848101602090815260408084208515158552909152909120545b935093915050565b600054610100900460ff166118275760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b600054610100900460ff16613d0d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b73ffffffffffffffffffffffffffffffffffffffff8416613dc05760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000613dcc856139d7565b90506000613dd9856139d7565b9050613de983898985858961303b565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8c16845290915290205485811015613e8f5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016106a2565b600087815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a16825281208054889290613edb908490614cfe565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4613f48848a8a8a8a8a613a22565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316613fdc5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000613fe8846139d7565b90506000613ff5846139d7565b90506140158387600085856040518060200160405280600081525061303b565b600085815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a168452909152902054848110156140ba5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016106a2565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612af0565b60008061415084600085613bcc565b9150613bc490508482612fa2565b600081815260018301602090815260408083208380529091528120541580156141a157506000828152600180850160209081526040808420928452919052902054155b156141da5760008080526001808501602090815260408084209284529190529020548290036141d2575060016106dd565b5060006106dd565b5060016106dd565b60c95460ff16156130495760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c6520706175736564000000000000000000000000000000000000000060648201526084016106a2565b61426481613582565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612bc183836040518060600160405280602781526020016150bb60279139614378565b60006142d9858461415e565b1580156142eb57506142eb858561415e565b1561436d5760008481526001868101602081815260408085208715801580885291845282872080548b8952868652848920838a52808752858a208e9055918c90558089529585528388209188529084528287208a9055908652909152832081905587549092889161435d908490614cfe565b9091555060019250613bc4915050565b506000949350505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516143a2919061509e565b600060405180830381855af49150503d80600081146143dd576040519150601f19603f3d011682016040523d82523d6000602084013e6143e2565b606091505b50915091506143f3868383876143fd565b9695505050505050565b606083156144795782516000036144725773ffffffffffffffffffffffffffffffffffffffff85163b6144725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a2565b5081613bc4565b613bc4838381511561314c5781518083602001fd5b803573ffffffffffffffffffffffffffffffffffffffff811681146144b257600080fd5b919050565b600080604083850312156144ca57600080fd5b6144d38361448e565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c1e57600080fd5b60006020828403121561452157600080fd5b8135612bc1816144e1565b60006020828403121561453e57600080fd5b5035919050565b60005b83811015614560578181015183820152602001614548565b50506000910152565b60008151808452614581816020860160208601614545565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612bc16020830184614569565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff82111715614639576146396145c6565b6040525050565b600067ffffffffffffffff82111561465a5761465a6145c6565b5060051b60200190565b600082601f83011261467557600080fd5b8135602061468282614640565b60405161468f82826145f5565b83815260059390931b85018201928281019150868411156146af57600080fd5b8286015b848110156146ca57803583529183019183016146b3565b509695505050505050565b600082601f8301126146e657600080fd5b813567ffffffffffffffff811115614700576147006145c6565b60405161473560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601826145f5565b81815284602083860101111561474a57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561477d57600080fd5b6147868561448e565b9350602085013567ffffffffffffffff808211156147a357600080fd5b6147af88838901614664565b945060408701359150808211156147c557600080fd5b6147d188838901614664565b935060608701359150808211156147e757600080fd5b506147f4878288016146d5565b91505092959194509250565b600080600080600060a0868803121561481857600080fd5b6148218661448e565b945061482f6020870161448e565b9350604086013567ffffffffffffffff8082111561484c57600080fd5b61485889838a01614664565b9450606088013591508082111561486e57600080fd5b61487a89838a01614664565b9350608088013591508082111561489057600080fd5b5061489d888289016146d5565b9150509295509295909350565b6000602082840312156148bc57600080fd5b612bc18261448e565b600080604083850312156148d857600080fd5b823567ffffffffffffffff808211156148f057600080fd5b818501915085601f83011261490457600080fd5b8135602061491182614640565b60405161491e82826145f5565b83815260059390931b850182019282810191508984111561493e57600080fd5b948201945b83861015614963576149548661448e565b82529482019490820190614943565b9650508601359250508082111561497957600080fd5b5061498685828601614664565b9150509250929050565b600081518084526020808501945080840160005b838110156149c0578151875295820195908201906001016149a4565b509495945050505050565b602081526000612bc16020830184614990565b600080604083850312156149f157600080fd5b6149fa8361448e565b9150602083013567ffffffffffffffff811115614a1657600080fd5b614986858286016146d5565b600080600060608486031215614a3757600080fd5b614a408461448e565b9250602084013567ffffffffffffffff80821115614a5d57600080fd5b614a6987838801614664565b93506040860135915080821115614a7f57600080fd5b50614a8c86828701614664565b9150509250925092565b60008060008060808587031215614aac57600080fd5b614ab58561448e565b93506020850135925060408501359150606085013567ffffffffffffffff811115614adf57600080fd5b6147f4878288016146d5565b600080600060608486031215614b0057600080fd5b614b098461448e565b95602085013595506040909401359392505050565b600060208284031215614b3057600080fd5b813567ffffffffffffffff811115614b4757600080fd5b613bc4848285016146d5565b8015158114610c1e57600080fd5b60008060408385031215614b7457600080fd5b614b7d8361448e565b91506020830135614b8d81614b53565b809150509250929050565b60008060408385031215614bab57600080fd5b614bb48361448e565b9150614bc26020840161448e565b90509250929050565b600080600080600060a08688031215614be357600080fd5b614bec8661448e565b9450614bfa6020870161448e565b93506040860135925060608601359150608086013567ffffffffffffffff811115614c2457600080fd5b61489d888289016146d5565b600181811c90821680614c4457607f821691505b602082108103614c7d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614c9557600080fd5b8151612bc181614b53565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106dd576106dd614ccf565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614d4257614d42614ccf565b5060010190565b818103818111156106dd576106dd614ccf565b604081526000614d6f6040830185614990565b8281036020840152614d818185614990565b95945050505050565b600060208284031215614d9c57600080fd5b5051919050565b601f8211156111c457600081815260208120601f850160051c81016020861015614dca5750805b601f850160051c820191505b8181101561304957828155600101614dd6565b815167ffffffffffffffff811115614e0357614e036145c6565b614e1781614e118454614c30565b84614da3565b602080601f831160018114614e6a5760008415614e345750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613049565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015614eb757888601518255948401946001909101908401614e98565b5085821015614ef357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152614f3c60a0830186614990565b8281036060840152614f4e8186614990565b90508281036080840152614f628185614569565b98975050505050505050565b600060208284031215614f8057600080fd5b8151612bc1816144e1565b600060033d111561111b5760046000803e5060005160e01c90565b600060443d1015614fb45790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff816024840111818411171561500257505050505090565b828501915081518181111561501a5750505050505090565b843d87010160208285010111156150345750505050505090565b615043602082860101876145f5565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261509360a0830184614569565b979650505050505050565b600082516150b0818460208701614545565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203cb9d2f02e21b4a0d1d680ae949ba47b81e03a07fbf8640fd0831786b833f65e64736f6c63430008130033", "nonce": "0x26", "accessList": [] }, @@ -764,18 +764,18 @@ "isFixedGasLimit": false }, { - "hash": "0xd27c61b960e3a1291313786e3ef8d8a4abef6feb319e170c4a9bde554e17df91", + "hash": "0xabd44ee4999b7f37707c7c08d1868e30ebdcc58d42d2a5e273c7aa3a65629232", "transactionType": "CREATE", - "contractName": "UupsProxy", + "contractName": "ERC1967Proxy", "contractAddress": "0xeC32DEF9D46A88CEa86171B4aBfc055c23220163", "function": null, "arguments": ["0x773305308C2eDEE9Dbea7C0467953f165328B35D", "0xc4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb"], "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x44469", + "gas": "0x443d7", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506040516104ff3803806104ff83398101604081905261002f916102ef565b818161003d82826000610046565b5050505061040c565b61004f83610072565b60008251118061005c5750805b1561006d5761006b83836100b2565b505b505050565b61007b816100de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d783836040518060600160405280602781526020016104d860279139610191565b9392505050565b6001600160a01b0381163b6101505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516101ae91906103bd565b600060405180830381855af49150503d80600081146101e9576040519150601f19603f3d011682016040523d82523d6000602084013e6101ee565b606091505b5090925090506102008683838761020a565b9695505050505050565b60608315610279578251600003610272576001600160a01b0385163b6102725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610147565b5081610283565b610283838361028b565b949350505050565b81511561029b5781518083602001fd5b8060405162461bcd60e51b815260040161014791906103d9565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e65781810151838201526020016102ce565b50506000910152565b6000806040838503121561030257600080fd5b82516001600160a01b038116811461031957600080fd5b60208401519092506001600160401b038082111561033657600080fd5b818501915085601f83011261034a57600080fd5b81518181111561035c5761035c6102b5565b604051601f8201601f19908116603f01168101908382118183101715610384576103846102b5565b8160405282815288602084870101111561039d57600080fd5b6103ae8360208301602088016102cb565b80955050505050509250929050565b600082516103cf8184602087016102cb565b9190910192915050565b60208152600082518060208401526103f88160408501602087016102cb565b601f01601f19169190910160400192915050565b60be8061041a6000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220e441f365e67d1a963a862b4e5b34ef47a37e8981bee9932a7d0c5164dd3c9c0264736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000773305308c2edee9dbea7c0467953f165328b35d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220ee73825c3965854f7394eef8f358ef2aad4b717396c04da27f3a5227ed3523f664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000773305308c2edee9dbea7c0467953f165328b35d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", "nonce": "0x27", "accessList": [] }, @@ -783,7 +783,7 @@ "isFixedGasLimit": false }, { - "hash": "0xc9fef419db5c4c20aaf9ba6247366fc53cbe9fa9b958fa5cc5853a9f05cd7df3", + "hash": "0x338bc10419d7e9d2120ac2a2dd93d38716f6eee3a938aaf4cdac8fa2957aff8d", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -803,7 +803,7 @@ "isFixedGasLimit": false }, { - "hash": "0xbc7201360c1cbed21a3ad399bb23a58e1657d97248354a832f6dc7be69756109", + "hash": "0xe5ca0b65ef3a097777f1d1226c7976da876c2568c9afd2561eaa213798904055", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -823,7 +823,7 @@ "isFixedGasLimit": false }, { - "hash": "0xe3b99733f79dc0448602da216a8bcca09ee0402f599bdc8562a22ecf32ce5d92", + "hash": "0xf439538bd7bc6e79154187fcb0f41197b2962c898a7b7393946a867847846613", "transactionType": "CREATE", "contractName": "StakingShare", "contractAddress": "0x4b9E41D9bE1A76E9160c73af782012b9868d0cE4", @@ -832,9 +832,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x5d8d47", + "gas": "0x5d95f9", "value": "0x0", - "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161543a6200012960003960008181610b3201528181610bc801528181610f5001528181610fe60152611115015261543a6000f3fe6080604052600436106102185760003560e01c8063737035e81161011d578063ce325bf8116100b0578063e8b7c95e1161007f578063f242432a11610064578063f242432a146106bf578063f399e22e146106df578063f5298aca146106ff57600080fd5b8063e8b7c95e14610649578063e985e9c51461066957600080fd5b8063ce325bf81461055b578063d0ebdbe7146105dd578063d5009584146105fd578063e1f862e11461062957600080fd5b80639b642de1116100ec5780639b642de1146104db578063a0bcfc7f146104fb578063a22cb4651461051b578063a647e8ec1461053b57600080fd5b8063737035e814610466578063782f08ae146104865780637b48c3fd146104a65780638456cb59146104c657600080fd5b80632eb2c2d6116101b05780634f1ef2861161017f5780635c975abb116101645780635c975abb1461040e5780636b20c45414610426578063731133e91461044657600080fd5b80634f1ef286146103e657806352d1902d146103f957600080fd5b80632eb2c2d6146103645780633659cfe6146103845780633f4ba83a146103a45780634e1273f4146103b957600080fd5b806313007d55116101ec57806313007d55146102c2578063132c4feb1461031557806318160ddd1461032b5780631f7fdffa1461034257600080fd5b8062fdd58e1461021d57806301ffc9a7146102505780630cac36b2146102805780630e89341c146102a2575b600080fd5b34801561022957600080fd5b5061023d610238366004614699565b61071f565b6040519081526020015b60405180910390f35b34801561025c57600080fd5b5061027061026b3660046146f1565b6107e7565b6040519015158152602001610247565b34801561028c57600080fd5b506102956108ca565b604051610247919061477c565b3480156102ae57600080fd5b506102956102bd36600461478f565b61095d565b3480156102ce57600080fd5b50610191546102f09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610247565b34801561032157600080fd5b506101f95461023d565b34801561033757600080fd5b5061023d6101935481565b34801561034e57600080fd5b5061036261035d366004614949565b610968565b005b34801561037057600080fd5b5061036261037f3660046149e2565b610b06565b34801561039057600080fd5b5061036261039f366004614a8c565b610b1b565b3480156103b057600080fd5b50610362610cec565b3480156103c557600080fd5b506103d96103d4366004614aa7565b610dfb565b6040516102479190614bad565b6103626103f4366004614bc0565b610f39565b34801561040557600080fd5b5061023d6110fb565b34801561041a57600080fd5b5060c95460ff16610270565b34801561043257600080fd5b50610362610441366004614c04565b6111ce565b34801561045257600080fd5b50610362610461366004614c78565b611279565b34801561047257600080fd5b5061023d610481366004614699565b6113d8565b34801561049257600080fd5b506103626104a1366004614ccd565b61140a565b3480156104b257600080fd5b506103d96104c1366004614a8c565b611519565b3480156104d257600080fd5b50610362611593565b3480156104e757600080fd5b506103626104f6366004614cfe565b6116a0565b34801561050757600080fd5b50610362610516366004614cfe565b6117aa565b34801561052757600080fd5b50610362610536366004614d41565b6118c5565b34801561054757600080fd5b5061023d610556366004614d78565b6118d0565b34801561056757600080fd5b5061057b61057636600461478f565b611ae6565b6040516102479190600060c08201905073ffffffffffffffffffffffffffffffffffffffff83511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b3480156105e957600080fd5b506103626105f8366004614a8c565b611ba5565b34801561060957600080fd5b506101915473ffffffffffffffffffffffffffffffffffffffff166102f0565b34801561063557600080fd5b50610362610644366004614bc0565b611cee565b34801561065557600080fd5b50610362610664366004614db1565b611f27565b34801561067557600080fd5b50610270610684366004614de3565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156106cb57600080fd5b506103626106da366004614e16565b6120b3565b3480156106eb57600080fd5b506103626106fa366004614bc0565b6120c8565b34801561070b57600080fd5b5061036261071a366004614e7b565b61224b565b600073ffffffffffffffffffffffffffffffffffffffff83166107af5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b50600081815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061087a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b806107e157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146107e1565b60606101fa80546108da90614eae565b80601f016020809104026020016040519081016040528092919081815260200182805461090690614eae565b80156109535780601f1061092857610100808354040283529160200191610953565b820191906000526020600020905b81548152906001019060200180831161093657829003601f168201915b5050505050905090565b60606107e1826122f1565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190614f01565b610a6d5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b610a756123d3565b610a8184848484612426565b6101935460005b8451811015610ac857838181518110610aa357610aa3614f1e565b602002602001015182610ab69190614f7c565b9150610ac181614f8f565b9050610a88565b5061019381905573ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020610aff908561267b565b5050505050565b610b0e6123d3565b610aff858585858561272d565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610bc65760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107a6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c3b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610cc45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107a6565b610ccd8161276a565b60408051600080825260208201909252610ce99183919061286b565b50565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da59190614f01565b610df15760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74207061757365720000000000000060448201526064016107a6565b610df9612a36565b565b60608151835114610e745760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016107a6565b6000835167ffffffffffffffff811115610e9057610e906147a8565b604051908082528060200260200182016040528015610eb9578160200160208202803683370190505b50905060005b8451811015610f3157610f04858281518110610edd57610edd614f1e565b6020026020010151858381518110610ef757610ef7614f1e565b602002602001015161071f565b828281518110610f1657610f16614f1e565b6020908102919091010152610f2a81614f8f565b9050610ebf565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610fe45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107a6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110e25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107a6565b6110eb8261276a565b6110f78282600161286b565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146111a85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016107a6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b73ffffffffffffffffffffffffffffffffffffffff83163314806111f757506111f78333610684565b6112695760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b611274838383612ab3565b505050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561130e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113329190614f01565b61137e5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b61138a84848484612ac6565b81610193600082825461139d9190614f7c565b909155505073ffffffffffffffffffffffffffffffffffffffff84166000908152610192602052604090206113d29084612c2e565b50505050565b61019260205281600052604060002081815481106113f557600080fd5b90600052602060002001600091509150505481565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561149f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c39190614f01565b61150f5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6110f78282612c8d565b73ffffffffffffffffffffffffffffffffffffffff81166000908152610192602090815260409182902080548351818402810184019094528084526060939283018282801561158757602002820191906000526020600020905b815481526020019060010190808311611573575b50505050509050919050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164c9190614f01565b6116985760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74207061757365720000000000000060448201526064016107a6565b610df9612ceb565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117559190614f01565b6117a15760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b610ce981612d46565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561183f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118639190614f01565b6118af5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6118b881612d52565b6101fa6110f7828261500d565b6110f7338383612d5f565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015260009173ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015611966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198a9190614f01565b6119d65760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6119de6123d3565b610193546119ed906001614f7c565b9050611a0b8582600160405180602001604052806000815250612ac6565b60016101936000828254611a1f9190614f7c565b909155505073ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020611a549082612c2e565b60008181526101f86020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816178155600181018690556005810186905560038101859055436002820155600481018490556101f9805491928792611ad7908490614f7c565b90915550919695505050505050565b611b356040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b5060009081526101f86020908152604091829020825160c081018452815473ffffffffffffffffffffffffffffffffffffffff168152600182015492810192909252600281015492820192909252600382015460608201526004820154608082015260059091015460a082015290565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5a9190614f01565b611ca65760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff1615808015611d0e5750600054600160ff909116105b80611d285750303b158015611d28575060005460ff166001145b611d9a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107a6565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611df857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600054610100900460ff16611e755760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b611e7e82612e98565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055801561127457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a1505050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe09190614f01565b61202c5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6120346123d3565b60008481526101f8602052604090206005810154848111156120775761205a8582615127565b6101f9600082825461206c9190615127565b909155506120999050565b6120818186615127565b6101f960008282546120939190614f7c565b90915550505b506005810193909355600383019190915560049091015550565b6120bb6123d3565b610aff8585858585612f1e565b600054610100900460ff16158080156120e85750600054600160ff909116105b806121025750303b158015612102575060005460ff166001145b6121745760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107a6565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156121d257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6121dc8383611cee565b6121e4612f5b565b6121ec612fd8565b801561127457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611f1a565b73ffffffffffffffffffffffffffffffffffffffff831633148061227457506122748333610684565b6122e65760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b61127483838361305d565b60008181526101c7602052604081208054606092919061231090614eae565b80601f016020809104026020016040519081016040528092919081815260200182805461233c90614eae565b80156123895780601f1061235e57610100808354040283529160200191612389565b820191906000526020600020905b81548152906001019060200180831161236c57829003601f168201915b5050505050905060008151116123a7576123a283613141565b6123cc565b6101c6816040516020016123bc92919061513a565b6040516020818303038152906040525b9392505050565b60c95460ff1615610df95760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016107a6565b73ffffffffffffffffffffffffffffffffffffffff84166124af5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b81518351146125265760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b33612536816000878787876131cb565b60005b84518110156125ec5783818151811061255457612554614f1e565b60200260200101516065600087848151811061257257612572614f1e565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125d49190614f7c565b909155508190506125e481614f8f565b915050612539565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516126649291906151df565b60405180910390a4610aff816000878787876131e1565b60005b8151811015611274576000805b84548110156126eb578383815181106126a6576126a6614f1e565b60200260200101518582815481106126c0576126c0614f1e565b9060005260206000200154036126d957600191506126eb565b806126e381614f8f565b91505061268b565b5080612724578383838151811061270457612704614f1e565b602090810291909101810151825460018101845560009384529190922001555b5060010161267e565b61273a858585858561341d565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610aff908461267b565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156127fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061281f9190614f01565b610ce95760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561289e57611274836134c5565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612923575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526129209181019061520d565b60015b6129955760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016107a6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612a2a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016107a6565b506112748383836135b5565b612a3e6135da565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612abb6123d3565b61127483838361362c565b73ffffffffffffffffffffffffffffffffffffffff8416612b4f5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b336000612b5b8561368d565b90506000612b688561368d565b9050612b79836000898585896131cb565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290612bb8908490614f7c565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612c25836000898989896136d8565b50505050505050565b60005b8254811015612c745781838281548110612c4d57612c4d614f1e565b906000526020600020015403612c6257505050565b80612c6c81614f8f565b915050612c31565b5081546001810183556000928352602090922090910155565b60008281526101c760205260409020612ca6828261500d565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b612cd28461095d565b604051612cdf919061477c565b60405180910390a25050565b612cf36123d3565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a893390565b60676110f7828261500d565b6101c66110f7828261500d565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612e005760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526066602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600054610100900460ff16612f155760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b610ce98161386b565b612f2b85858585856138e8565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610aff9084612c2e565b600054610100900460ff16610df95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff166130555760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b610df9613990565b6130656123d3565b806001146130b55760405162461bcd60e51b815260206004820152600b60248201527f616d6f756e74203c3e203100000000000000000000000000000000000000000060448201526064016107a6565b6130c183836001613a37565b60008281526101f8602052604090206005810154156131225760405162461bcd60e51b815260206004820152600760248201527f4c50203c3e20300000000000000000000000000000000000000000000000000060448201526064016107a6565b600161019360008282546131369190615127565b909155505050505050565b60606067805461315090614eae565b80601f016020809104026020016040519081016040528092919081815260200182805461317c90614eae565b80156115875780601f1061319e57610100808354040283529160200191611587565b820191906000526020600020905b8154815290600101906020018083116131ac5750939695505050505050565b6131d9868686868686613a67565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b156131d9576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c81906132589089908990889088908890600401615226565b6020604051808303816000875af19250505080156132b1575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526132ae91810190615291565b60015b613366576132bd6152ae565b806308c379a0036132f657506132d16152c9565b806132dc57506132f8565b8060405162461bcd60e51b81526004016107a6919061477c565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016107a6565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014612c255760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff851633148061344657506134468533610684565b6134b85760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b610aff8585858585613a75565b73ffffffffffffffffffffffffffffffffffffffff81163b61354f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016107a6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6135be83613d6a565b6000825111806135cb5750805b15611274576113d28383613db7565b60c95460ff16610df95760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016107a6565b6136346123d3565b61363f838383613ddc565b60005b82518110156113d25781818151811061365d5761365d614f1e565b602002602001015161019360008282546136779190615127565b90915550613686905081614f8f565b9050613642565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106136c7576136c7614f1e565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b156131d9576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e619061374f9089908990889088908890600401615371565b6020604051808303816000875af19250505080156137a8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526137a591810190615291565b60015b6137b4576132bd6152ae565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014612c255760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff166117a15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff851633148061391157506139118533610684565b6139835760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b610aff85858585856140ca565b600054610100900460ff16613a0d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b613a3f6123d3565b613a4a8383836142e6565b806101936000828254613a5d9190615127565b9091555050505050565b6131d98686868686866144d4565b8151835114613aec5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff8416613b755760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107a6565b33613b848187878787876131cb565b60005b8451811015613cdd576000858281518110613ba457613ba4614f1e565b602002602001015190506000858381518110613bc257613bc2614f1e565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8e168352909352919091205490915081811015613c765760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016107a6565b600083815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b16825281208054849290613cc2908490614f7c565b9250508190555050505080613cd690614f8f565b9050613b87565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051613d549291906151df565b60405180910390a46131d98187878787876131e1565b613d73816134c5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606123cc83836040518060600160405280602781526020016153de6027913961454d565b73ffffffffffffffffffffffffffffffffffffffff8316613e655760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b8051825114613edc5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b6000339050613eff818560008686604051806020016040528060008152506131cb565b60005b8351811015614036576000848281518110613f1f57613f1f614f1e565b602002602001015190506000848381518110613f3d57613f3d614f1e565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8c168352909352919091205490915081811015613ff05760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016107a6565b600092835260656020908152604080852073ffffffffffffffffffffffffffffffffffffffff8b168652909152909220910390558061402e81614f8f565b915050613f02565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516140ae9291906151df565b60405180910390a46040805160208101909152600090526113d2565b73ffffffffffffffffffffffffffffffffffffffff84166141535760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107a6565b33600061415f8561368d565b9050600061416c8561368d565b905061417c8389898585896131cb565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8c168452909152902054858110156142225760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016107a6565b600087815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a1682528120805488929061426e908490614f7c565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46142db848a8a8a8a8a6136d8565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661436f5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b33600061437b8461368d565b905060006143888461368d565b90506143a8838760008585604051806020016040528060008152506131cb565b600085815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a1684529091529020548481101561444d5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016107a6565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612c25565b60c95460ff16156131d95760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c6520706175736564000000000000000000000000000000000000000060648201526084016107a6565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161457791906153c1565b600060405180830381855af49150503d80600081146145b2576040519150601f19603f3d011682016040523d82523d6000602084013e6145b7565b606091505b50915091506145c8868383876145d2565b9695505050505050565b6060831561464e5782516000036146475773ffffffffffffffffffffffffffffffffffffffff85163b6146475760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107a6565b5081614658565b6146588383614660565b949350505050565b8151156132dc5781518083602001fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461469457600080fd5b919050565b600080604083850312156146ac57600080fd5b6146b583614670565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610ce957600080fd5b60006020828403121561470357600080fd5b81356123cc816146c3565b60005b83811015614729578181015183820152602001614711565b50506000910152565b6000815180845261474a81602086016020860161470e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006123cc6020830184614732565b6000602082840312156147a157600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff8211171561481b5761481b6147a8565b6040525050565b600067ffffffffffffffff82111561483c5761483c6147a8565b5060051b60200190565b600082601f83011261485757600080fd5b8135602061486482614822565b60405161487182826147d7565b83815260059390931b850182019282810191508684111561489157600080fd5b8286015b848110156148ac5780358352918301918301614895565b509695505050505050565b600082601f8301126148c857600080fd5b813567ffffffffffffffff8111156148e2576148e26147a8565b60405161491760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601826147d7565b81815284602083860101111561492c57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561495f57600080fd5b61496885614670565b9350602085013567ffffffffffffffff8082111561498557600080fd5b61499188838901614846565b945060408701359150808211156149a757600080fd5b6149b388838901614846565b935060608701359150808211156149c957600080fd5b506149d6878288016148b7565b91505092959194509250565b600080600080600060a086880312156149fa57600080fd5b614a0386614670565b9450614a1160208701614670565b9350604086013567ffffffffffffffff80821115614a2e57600080fd5b614a3a89838a01614846565b94506060880135915080821115614a5057600080fd5b614a5c89838a01614846565b93506080880135915080821115614a7257600080fd5b50614a7f888289016148b7565b9150509295509295909350565b600060208284031215614a9e57600080fd5b6123cc82614670565b60008060408385031215614aba57600080fd5b823567ffffffffffffffff80821115614ad257600080fd5b818501915085601f830112614ae657600080fd5b81356020614af382614822565b604051614b0082826147d7565b83815260059390931b8501820192828101915089841115614b2057600080fd5b948201945b83861015614b4557614b3686614670565b82529482019490820190614b25565b96505086013592505080821115614b5b57600080fd5b50614b6885828601614846565b9150509250929050565b600081518084526020808501945080840160005b83811015614ba257815187529582019590820190600101614b86565b509495945050505050565b6020815260006123cc6020830184614b72565b60008060408385031215614bd357600080fd5b614bdc83614670565b9150602083013567ffffffffffffffff811115614bf857600080fd5b614b68858286016148b7565b600080600060608486031215614c1957600080fd5b614c2284614670565b9250602084013567ffffffffffffffff80821115614c3f57600080fd5b614c4b87838801614846565b93506040860135915080821115614c6157600080fd5b50614c6e86828701614846565b9150509250925092565b60008060008060808587031215614c8e57600080fd5b614c9785614670565b93506020850135925060408501359150606085013567ffffffffffffffff811115614cc157600080fd5b6149d6878288016148b7565b60008060408385031215614ce057600080fd5b82359150602083013567ffffffffffffffff811115614bf857600080fd5b600060208284031215614d1057600080fd5b813567ffffffffffffffff811115614d2757600080fd5b614658848285016148b7565b8015158114610ce957600080fd5b60008060408385031215614d5457600080fd5b614d5d83614670565b91506020830135614d6d81614d33565b809150509250929050565b60008060008060808587031215614d8e57600080fd5b614d9785614670565b966020860135965060408601359560600135945092505050565b60008060008060808587031215614dc757600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215614df657600080fd5b614dff83614670565b9150614e0d60208401614670565b90509250929050565b600080600080600060a08688031215614e2e57600080fd5b614e3786614670565b9450614e4560208701614670565b93506040860135925060608601359150608086013567ffffffffffffffff811115614e6f57600080fd5b614a7f888289016148b7565b600080600060608486031215614e9057600080fd5b614e9984614670565b95602085013595506040909401359392505050565b600181811c90821680614ec257607f821691505b602082108103614efb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614f1357600080fd5b81516123cc81614d33565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107e1576107e1614f4d565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614fc057614fc0614f4d565b5060010190565b601f82111561127457600081815260208120601f850160051c81016020861015614fee5750805b601f850160051c820191505b818110156131d957828155600101614ffa565b815167ffffffffffffffff811115615027576150276147a8565b61503b816150358454614eae565b84614fc7565b602080601f83116001811461508e57600084156150585750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556131d9565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156150db578886015182559484019460019091019084016150bc565b508582101561511757878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156107e1576107e1614f4d565b600080845461514881614eae565b600182811680156151605760018114615193576151c2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528215158302870194506151c2565b8860005260208060002060005b858110156151b95781548a8201529084019082016151a0565b50505082870194505b5050505083516151d681836020880161470e565b01949350505050565b6040815260006151f26040830185614b72565b82810360208401526152048185614b72565b95945050505050565b60006020828403121561521f57600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261525f60a0830186614b72565b82810360608401526152718186614b72565b905082810360808401526152858185614732565b98975050505050505050565b6000602082840312156152a357600080fd5b81516123cc816146c3565b600060033d11156111cb5760046000803e5060005160e01c90565b600060443d10156152d75790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff816024840111818411171561532557505050505090565b828501915081518181111561533d5750505050505090565b843d87010160208285010111156153575750505050505090565b615366602082860101876147d7565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a060808301526153b660a0830184614732565b979650505050505050565b600082516153d381846020870161470e565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212202a8f0d3a733aeecf13627b58128d542c69ed5cf62142f7889d8c4ef32caa016064736f6c63430008130033", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516154426200012960003960008181610b3201528181610bc801528181610f5001528181610fe6015261111501526154426000f3fe6080604052600436106102185760003560e01c8063737035e81161011d578063ce325bf8116100b0578063e8b7c95e1161007f578063f242432a11610064578063f242432a146106bf578063f399e22e146106df578063f5298aca146106ff57600080fd5b8063e8b7c95e14610649578063e985e9c51461066957600080fd5b8063ce325bf81461055b578063d0ebdbe7146105dd578063d5009584146105fd578063e1f862e11461062957600080fd5b80639b642de1116100ec5780639b642de1146104db578063a0bcfc7f146104fb578063a22cb4651461051b578063a647e8ec1461053b57600080fd5b8063737035e814610466578063782f08ae146104865780637b48c3fd146104a65780638456cb59146104c657600080fd5b80632eb2c2d6116101b05780634f1ef2861161017f5780635c975abb116101645780635c975abb1461040e5780636b20c45414610426578063731133e91461044657600080fd5b80634f1ef286146103e657806352d1902d146103f957600080fd5b80632eb2c2d6146103645780633659cfe6146103845780633f4ba83a146103a45780634e1273f4146103b957600080fd5b806313007d55116101ec57806313007d55146102c2578063132c4feb1461031557806318160ddd1461032b5780631f7fdffa1461034257600080fd5b8062fdd58e1461021d57806301ffc9a7146102505780630cac36b2146102805780630e89341c146102a2575b600080fd5b34801561022957600080fd5b5061023d6102383660046146a1565b61071f565b6040519081526020015b60405180910390f35b34801561025c57600080fd5b5061027061026b3660046146f9565b6107e7565b6040519015158152602001610247565b34801561028c57600080fd5b506102956108ca565b6040516102479190614784565b3480156102ae57600080fd5b506102956102bd366004614797565b61095d565b3480156102ce57600080fd5b50610191546102f09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610247565b34801561032157600080fd5b506101f95461023d565b34801561033757600080fd5b5061023d6101935481565b34801561034e57600080fd5b5061036261035d366004614951565b610968565b005b34801561037057600080fd5b5061036261037f3660046149ea565b610b06565b34801561039057600080fd5b5061036261039f366004614a94565b610b1b565b3480156103b057600080fd5b50610362610cec565b3480156103c557600080fd5b506103d96103d4366004614aaf565b610dfb565b6040516102479190614bb5565b6103626103f4366004614bc8565b610f39565b34801561040557600080fd5b5061023d6110fb565b34801561041a57600080fd5b5060c95460ff16610270565b34801561043257600080fd5b50610362610441366004614c0c565b6111ce565b34801561045257600080fd5b50610362610461366004614c80565b611279565b34801561047257600080fd5b5061023d6104813660046146a1565b6113d8565b34801561049257600080fd5b506103626104a1366004614cd5565b61140a565b3480156104b257600080fd5b506103d96104c1366004614a94565b611519565b3480156104d257600080fd5b50610362611593565b3480156104e757600080fd5b506103626104f6366004614d06565b6116a0565b34801561050757600080fd5b50610362610516366004614d06565b6117aa565b34801561052757600080fd5b50610362610536366004614d49565b6118c5565b34801561054757600080fd5b5061023d610556366004614d80565b6118d0565b34801561056757600080fd5b5061057b610576366004614797565b611ae6565b6040516102479190600060c08201905073ffffffffffffffffffffffffffffffffffffffff83511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b3480156105e957600080fd5b506103626105f8366004614a94565b611ba5565b34801561060957600080fd5b506101915473ffffffffffffffffffffffffffffffffffffffff166102f0565b34801561063557600080fd5b50610362610644366004614bc8565b611cee565b34801561065557600080fd5b50610362610664366004614db9565b611f3f565b34801561067557600080fd5b50610270610684366004614deb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156106cb57600080fd5b506103626106da366004614e1e565b6120cb565b3480156106eb57600080fd5b506103626106fa366004614bc8565b6120e0565b34801561070b57600080fd5b5061036261071a366004614e83565b612253565b600073ffffffffffffffffffffffffffffffffffffffff83166107af5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b50600081815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061087a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b806107e157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146107e1565b60606101fa80546108da90614eb6565b80601f016020809104026020016040519081016040528092919081815260200182805461090690614eb6565b80156109535780601f1061092857610100808354040283529160200191610953565b820191906000526020600020905b81548152906001019060200180831161093657829003601f168201915b5050505050905090565b60606107e1826122f9565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190614f09565b610a6d5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b610a756123db565b610a818484848461242e565b6101935460005b8451811015610ac857838181518110610aa357610aa3614f26565b602002602001015182610ab69190614f84565b9150610ac181614f97565b9050610a88565b5061019381905573ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020610aff9085612683565b5050505050565b610b0e6123db565b610aff8585858585612735565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610bc65760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107a6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c3b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610cc45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107a6565b610ccd81612772565b60408051600080825260208201909252610ce991839190612873565b50565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da59190614f09565b610df15760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74207061757365720000000000000060448201526064016107a6565b610df9612a3e565b565b60608151835114610e745760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016107a6565b6000835167ffffffffffffffff811115610e9057610e906147b0565b604051908082528060200260200182016040528015610eb9578160200160208202803683370190505b50905060005b8451811015610f3157610f04858281518110610edd57610edd614f26565b6020026020010151858381518110610ef757610ef7614f26565b602002602001015161071f565b828281518110610f1657610f16614f26565b6020908102919091010152610f2a81614f97565b9050610ebf565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610fe45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107a6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110e25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107a6565b6110eb82612772565b6110f782826001612873565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146111a85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016107a6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b73ffffffffffffffffffffffffffffffffffffffff83163314806111f757506111f78333610684565b6112695760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b611274838383612abb565b505050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561130e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113329190614f09565b61137e5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b61138a84848484612ace565b81610193600082825461139d9190614f84565b909155505073ffffffffffffffffffffffffffffffffffffffff84166000908152610192602052604090206113d29084612c36565b50505050565b61019260205281600052604060002081815481106113f557600080fd5b90600052602060002001600091509150505481565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561149f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c39190614f09565b61150f5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6110f78282612c95565b73ffffffffffffffffffffffffffffffffffffffff81166000908152610192602090815260409182902080548351818402810184019094528084526060939283018282801561158757602002820191906000526020600020905b815481526020019060010190808311611573575b50505050509050919050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164c9190614f09565b6116985760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74207061757365720000000000000060448201526064016107a6565b610df9612cf3565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117559190614f09565b6117a15760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b610ce981612d4e565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561183f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118639190614f09565b6118af5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6118b881612d5a565b6101fa6110f78282615015565b6110f7338383612d67565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015260009173ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015611966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198a9190614f09565b6119d65760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6119de6123db565b610193546119ed906001614f84565b9050611a0b8582600160405180602001604052806000815250612ace565b60016101936000828254611a1f9190614f84565b909155505073ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020611a549082612c36565b60008181526101f86020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816178155600181018690556005810186905560038101859055436002820155600481018490556101f9805491928792611ad7908490614f84565b90915550919695505050505050565b611b356040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b5060009081526101f86020908152604091829020825160c081018452815473ffffffffffffffffffffffffffffffffffffffff168152600182015492810192909252600281015492820192909252600382015460608201526004820154608082015260059091015460a082015290565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5a9190614f09565b611ca65760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff1615808015611d0e5750600054600160ff909116105b80611d285750303b158015611d28575060005460ff166001145b611d9a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107a6565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611df857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600054610100900460ff16611e755760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b611e7e82612ea0565b611e86612f26565b611e8e612fa3565b611e96612f26565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055801561127457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a1505050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611fd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff89190614f09565b6120445760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b61204c6123db565b60008481526101f86020526040902060058101548481111561208f57612072858261512f565b6101f96000828254612084919061512f565b909155506120b19050565b612099818661512f565b6101f960008282546120ab9190614f84565b90915550505b506005810193909355600383019190915560049091015550565b6120d36123db565b610aff8585858585613028565b600054610100900460ff16158080156121005750600054600160ff909116105b8061211a5750303b15801561211a575060005460ff166001145b61218c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107a6565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156121ea57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6121f48383611cee565b801561127457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611f32565b73ffffffffffffffffffffffffffffffffffffffff831633148061227c575061227c8333610684565b6122ee5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b611274838383613065565b60008181526101c7602052604081208054606092919061231890614eb6565b80601f016020809104026020016040519081016040528092919081815260200182805461234490614eb6565b80156123915780601f1061236657610100808354040283529160200191612391565b820191906000526020600020905b81548152906001019060200180831161237457829003601f168201915b5050505050905060008151116123af576123aa83613149565b6123d4565b6101c6816040516020016123c4929190615142565b6040516020818303038152906040525b9392505050565b60c95460ff1615610df95760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016107a6565b73ffffffffffffffffffffffffffffffffffffffff84166124b75760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b815183511461252e5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b3361253e816000878787876131d3565b60005b84518110156125f45783818151811061255c5761255c614f26565b60200260200101516065600087848151811061257a5761257a614f26565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125dc9190614f84565b909155508190506125ec81614f97565b915050612541565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161266c9291906151e7565b60405180910390a4610aff816000878787876131e9565b60005b8151811015611274576000805b84548110156126f3578383815181106126ae576126ae614f26565b60200260200101518582815481106126c8576126c8614f26565b9060005260206000200154036126e157600191506126f3565b806126eb81614f97565b915050612693565b508061272c578383838151811061270c5761270c614f26565b602090810291909101810151825460018101845560009384529190922001555b50600101612686565b6127428585858585613425565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610aff9084612683565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015612803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128279190614f09565b610ce95760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156128a657611274836134cd565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561292b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261292891810190615215565b60015b61299d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016107a6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612a325760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016107a6565b506112748383836135bd565b612a466135e2565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612ac36123db565b611274838383613634565b73ffffffffffffffffffffffffffffffffffffffff8416612b575760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b336000612b6385613695565b90506000612b7085613695565b9050612b81836000898585896131d3565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290612bc0908490614f84565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612c2d836000898989896136e0565b50505050505050565b60005b8254811015612c7c5781838281548110612c5557612c55614f26565b906000526020600020015403612c6a57505050565b80612c7481614f97565b915050612c39565b5081546001810183556000928352602090922090910155565b60008281526101c760205260409020612cae8282615015565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b612cda8461095d565b604051612ce79190614784565b60405180910390a25050565b612cfb6123db565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a913390565b60676110f78282615015565b6101c66110f78282615015565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612e085760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526066602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600054610100900460ff16612f1d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b610ce981613873565b600054610100900460ff16610df95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff166130205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b610df96138f0565b6130358585858585613997565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610aff9084612c36565b61306d6123db565b806001146130bd5760405162461bcd60e51b815260206004820152600b60248201527f616d6f756e74203c3e203100000000000000000000000000000000000000000060448201526064016107a6565b6130c983836001613a3f565b60008281526101f86020526040902060058101541561312a5760405162461bcd60e51b815260206004820152600760248201527f4c50203c3e20300000000000000000000000000000000000000000000000000060448201526064016107a6565b6001610193600082825461313e919061512f565b909155505050505050565b60606067805461315890614eb6565b80601f016020809104026020016040519081016040528092919081815260200182805461318490614eb6565b80156115875780601f106131a657610100808354040283529160200191611587565b820191906000526020600020905b8154815290600101906020018083116131b45750939695505050505050565b6131e1868686868686613a6f565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b156131e1576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c8190613260908990899088908890889060040161522e565b6020604051808303816000875af19250505080156132b9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526132b691810190615299565b60015b61336e576132c56152b6565b806308c379a0036132fe57506132d96152d1565b806132e45750613300565b8060405162461bcd60e51b81526004016107a69190614784565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016107a6565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014612c2d5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff851633148061344e575061344e8533610684565b6134c05760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b610aff8585858585613a7d565b73ffffffffffffffffffffffffffffffffffffffff81163b6135575760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016107a6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6135c683613d72565b6000825111806135d35750805b15611274576113d28383613dbf565b60c95460ff16610df95760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016107a6565b61363c6123db565b613647838383613de4565b60005b82518110156113d25781818151811061366557613665614f26565b6020026020010151610193600082825461367f919061512f565b9091555061368e905081614f97565b905061364a565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106136cf576136cf614f26565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b156131e1576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e61906137579089908990889088908890600401615379565b6020604051808303816000875af19250505080156137b0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526137ad91810190615299565b60015b6137bc576132c56152b6565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014612c2d5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff166117a15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff1661396d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b73ffffffffffffffffffffffffffffffffffffffff85163314806139c057506139c08533610684565b613a325760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b610aff85858585856140d2565b613a476123db565b613a528383836142ee565b806101936000828254613a65919061512f565b9091555050505050565b6131e18686868686866144dc565b8151835114613af45760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff8416613b7d5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107a6565b33613b8c8187878787876131d3565b60005b8451811015613ce5576000858281518110613bac57613bac614f26565b602002602001015190506000858381518110613bca57613bca614f26565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8e168352909352919091205490915081811015613c7e5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016107a6565b600083815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b16825281208054849290613cca908490614f84565b9250508190555050505080613cde90614f97565b9050613b8f565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051613d5c9291906151e7565b60405180910390a46131e18187878787876131e9565b613d7b816134cd565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606123d483836040518060600160405280602781526020016153e660279139614555565b73ffffffffffffffffffffffffffffffffffffffff8316613e6d5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b8051825114613ee45760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b6000339050613f07818560008686604051806020016040528060008152506131d3565b60005b835181101561403e576000848281518110613f2757613f27614f26565b602002602001015190506000848381518110613f4557613f45614f26565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8c168352909352919091205490915081811015613ff85760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016107a6565b600092835260656020908152604080852073ffffffffffffffffffffffffffffffffffffffff8b168652909152909220910390558061403681614f97565b915050613f0a565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516140b69291906151e7565b60405180910390a46040805160208101909152600090526113d2565b73ffffffffffffffffffffffffffffffffffffffff841661415b5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107a6565b33600061416785613695565b9050600061417485613695565b90506141848389898585896131d3565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8c1684529091529020548581101561422a5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016107a6565b600087815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a16825281208054889290614276908490614f84565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46142e3848a8a8a8a8a6136e0565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166143775760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b33600061438384613695565b9050600061439084613695565b90506143b0838760008585604051806020016040528060008152506131d3565b600085815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a168452909152902054848110156144555760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016107a6565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612c2d565b60c95460ff16156131e15760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c6520706175736564000000000000000000000000000000000000000060648201526084016107a6565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161457f91906153c9565b600060405180830381855af49150503d80600081146145ba576040519150601f19603f3d011682016040523d82523d6000602084013e6145bf565b606091505b50915091506145d0868383876145da565b9695505050505050565b6060831561465657825160000361464f5773ffffffffffffffffffffffffffffffffffffffff85163b61464f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107a6565b5081614660565b6146608383614668565b949350505050565b8151156132e45781518083602001fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461469c57600080fd5b919050565b600080604083850312156146b457600080fd5b6146bd83614678565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610ce957600080fd5b60006020828403121561470b57600080fd5b81356123d4816146cb565b60005b83811015614731578181015183820152602001614719565b50506000910152565b60008151808452614752816020860160208601614716565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006123d4602083018461473a565b6000602082840312156147a957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff82111715614823576148236147b0565b6040525050565b600067ffffffffffffffff821115614844576148446147b0565b5060051b60200190565b600082601f83011261485f57600080fd5b8135602061486c8261482a565b60405161487982826147df565b83815260059390931b850182019282810191508684111561489957600080fd5b8286015b848110156148b4578035835291830191830161489d565b509695505050505050565b600082601f8301126148d057600080fd5b813567ffffffffffffffff8111156148ea576148ea6147b0565b60405161491f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601826147df565b81815284602083860101111561493457600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561496757600080fd5b61497085614678565b9350602085013567ffffffffffffffff8082111561498d57600080fd5b6149998883890161484e565b945060408701359150808211156149af57600080fd5b6149bb8883890161484e565b935060608701359150808211156149d157600080fd5b506149de878288016148bf565b91505092959194509250565b600080600080600060a08688031215614a0257600080fd5b614a0b86614678565b9450614a1960208701614678565b9350604086013567ffffffffffffffff80821115614a3657600080fd5b614a4289838a0161484e565b94506060880135915080821115614a5857600080fd5b614a6489838a0161484e565b93506080880135915080821115614a7a57600080fd5b50614a87888289016148bf565b9150509295509295909350565b600060208284031215614aa657600080fd5b6123d482614678565b60008060408385031215614ac257600080fd5b823567ffffffffffffffff80821115614ada57600080fd5b818501915085601f830112614aee57600080fd5b81356020614afb8261482a565b604051614b0882826147df565b83815260059390931b8501820192828101915089841115614b2857600080fd5b948201945b83861015614b4d57614b3e86614678565b82529482019490820190614b2d565b96505086013592505080821115614b6357600080fd5b50614b708582860161484e565b9150509250929050565b600081518084526020808501945080840160005b83811015614baa57815187529582019590820190600101614b8e565b509495945050505050565b6020815260006123d46020830184614b7a565b60008060408385031215614bdb57600080fd5b614be483614678565b9150602083013567ffffffffffffffff811115614c0057600080fd5b614b70858286016148bf565b600080600060608486031215614c2157600080fd5b614c2a84614678565b9250602084013567ffffffffffffffff80821115614c4757600080fd5b614c538783880161484e565b93506040860135915080821115614c6957600080fd5b50614c768682870161484e565b9150509250925092565b60008060008060808587031215614c9657600080fd5b614c9f85614678565b93506020850135925060408501359150606085013567ffffffffffffffff811115614cc957600080fd5b6149de878288016148bf565b60008060408385031215614ce857600080fd5b82359150602083013567ffffffffffffffff811115614c0057600080fd5b600060208284031215614d1857600080fd5b813567ffffffffffffffff811115614d2f57600080fd5b614660848285016148bf565b8015158114610ce957600080fd5b60008060408385031215614d5c57600080fd5b614d6583614678565b91506020830135614d7581614d3b565b809150509250929050565b60008060008060808587031215614d9657600080fd5b614d9f85614678565b966020860135965060408601359560600135945092505050565b60008060008060808587031215614dcf57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215614dfe57600080fd5b614e0783614678565b9150614e1560208401614678565b90509250929050565b600080600080600060a08688031215614e3657600080fd5b614e3f86614678565b9450614e4d60208701614678565b93506040860135925060608601359150608086013567ffffffffffffffff811115614e7757600080fd5b614a87888289016148bf565b600080600060608486031215614e9857600080fd5b614ea184614678565b95602085013595506040909401359392505050565b600181811c90821680614eca57607f821691505b602082108103614f03577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614f1b57600080fd5b81516123d481614d3b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107e1576107e1614f55565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614fc857614fc8614f55565b5060010190565b601f82111561127457600081815260208120601f850160051c81016020861015614ff65750805b601f850160051c820191505b818110156131e157828155600101615002565b815167ffffffffffffffff81111561502f5761502f6147b0565b6150438161503d8454614eb6565b84614fcf565b602080601f83116001811461509657600084156150605750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556131e1565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156150e3578886015182559484019460019091019084016150c4565b508582101561511f57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156107e1576107e1614f55565b600080845461515081614eb6565b60018281168015615168576001811461519b576151ca565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528215158302870194506151ca565b8860005260208060002060005b858110156151c15781548a8201529084019082016151a8565b50505082870194505b5050505083516151de818360208801614716565b01949350505050565b6040815260006151fa6040830185614b7a565b828103602084015261520c8185614b7a565b95945050505050565b60006020828403121561522757600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261526760a0830186614b7a565b82810360608401526152798186614b7a565b9050828103608084015261528d818561473a565b98975050505050505050565b6000602082840312156152ab57600080fd5b81516123d4816146cb565b600060033d11156111cb5760046000803e5060005160e01c90565b600060443d10156152df5790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff816024840111818411171561532d57505050505090565b82850191508151818111156153455750505050505090565b843d870101602082850101111561535f5750505050505090565b61536e602082860101876147df565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a060808301526153be60a083018461473a565b979650505050505050565b600082516153db818460208701614716565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a07032f997f941e86585fae707cae45da65ec4b5a58439bfe5f1072056114e1c64736f6c63430008130033", "nonce": "0x2a", "accessList": [] }, @@ -842,9 +842,9 @@ "isFixedGasLimit": false }, { - "hash": "0xe9b665bd1ab80e28e6b5e9a276b019dc1adf95a5c5718f33b9bfe793cece2750", + "hash": "0x7ba6be8dab08ae54b1251c6b30df94d73cfc203bf85c88b6f6e557b3146a12b4", "transactionType": "CREATE", - "contractName": "UupsProxy", + "contractName": "ERC1967Proxy", "contractAddress": "0x5aa6CA888B30105d9b5E42110850CA3Ba2FF7ABd", "function": null, "arguments": [ @@ -854,9 +854,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x5999d", + "gas": "0x5990c", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506040516104ff3803806104ff83398101604081905261002f916102ef565b818161003d82826000610046565b5050505061040c565b61004f83610072565b60008251118061005c5750805b1561006d5761006b83836100b2565b505b505050565b61007b816100de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d783836040518060600160405280602781526020016104d860279139610191565b9392505050565b6001600160a01b0381163b6101505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b0316856040516101ae91906103bd565b600060405180830381855af49150503d80600081146101e9576040519150601f19603f3d011682016040523d82523d6000602084013e6101ee565b606091505b5090925090506102008683838761020a565b9695505050505050565b60608315610279578251600003610272576001600160a01b0385163b6102725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610147565b5081610283565b610283838361028b565b949350505050565b81511561029b5781518083602001fd5b8060405162461bcd60e51b815260040161014791906103d9565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e65781810151838201526020016102ce565b50506000910152565b6000806040838503121561030257600080fd5b82516001600160a01b038116811461031957600080fd5b60208401519092506001600160401b038082111561033657600080fd5b818501915085601f83011261034a57600080fd5b81518181111561035c5761035c6102b5565b604051601f8201601f19908116603f01168101908382118183101715610384576103846102b5565b8160405282815288602084870101111561039d57600080fd5b6103ae8360208301602088016102cb565b80955050505050509250929050565b600082516103cf8184602087016102cb565b9190910192915050565b60208152600082518060208401526103f88160408501602087016102cb565b601f01601f19169190910160400192915050565b60be8061041a6000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220e441f365e67d1a963a862b4e5b34ef47a37e8981bee9932a7d0c5164dd3c9c0264736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000004b9e41d9be1a76e9160c73af782012b9868d0ce4000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4f399e22e000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005868747470733a2f2f626166796265696669627a3466686b3479616735726575706d6768356364626d326f6c61646b65347a6664376c6479773761766769706f63706d792e697066732e696e667572612d697066732e696f2f000000000000000000000000000000000000000000000000000000000000000000000000", + "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220ee73825c3965854f7394eef8f358ef2aad4b717396c04da27f3a5227ed3523f664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000004b9e41d9be1a76e9160c73af782012b9868d0ce4000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4f399e22e000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005868747470733a2f2f626166796265696669627a3466686b3479616735726575706d6768356364626d326f6c61646b65347a6664376c6479773761766769706f63706d792e697066732e696e667572612d697066732e696f2f000000000000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x2b", "accessList": [] }, @@ -864,7 +864,7 @@ "isFixedGasLimit": false }, { - "hash": "0xb9a5353f824400738df31cc90da5dc403273a1ad75df50edab798eec91a89f1a", + "hash": "0x87b3e9380ac87d9c981448fa7d11b21f519f9823527b4f653beb6325aa69007e", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -886,10 +886,10 @@ ], "receipts": [ { - "transactionHash": "0x8d7ac90d92039a6ee99b202d609d94f3460ebe8730c606c90fb32f77c8d498ea", + "transactionHash": "0x0ddf078fffbf881f3f8d4ae32f1dca62bb871d480e8855905d911f31e8056fb1", "transactionIndex": "0x0", - "blockHash": "0xa7d3080fcfc1c552ea66618103e9585c03c55f1e246f4b8f61f64e0c9116489d", - "blockNumber": "0x112ad60", + "blockHash": "0x07878f50186578f8a6234886a9e47fc2a14e9c3953be3a25d431d8ea616eef29", + "blockNumber": "0x113c3ba", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x17b3a4", @@ -899,13 +899,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x33495dc7f" + "effectiveGasPrice": "0x371118282" }, { - "transactionHash": "0xc7712623c9e0b7386ca338927a980e797a7e7a0ec23a9253fb66da5e582c4737", + "transactionHash": "0x5b4d77cd8129d5f46124c6277e3caa85789332d9ff15ce6ed34765c2bbd045f8", "transactionIndex": "0x0", - "blockHash": "0x51d5bf69deaff10b4f699c03d563f4a7e348135be41fba646e6835e84ec803ac", - "blockNumber": "0x112ad61", + "blockHash": "0xb0e02497692bf0f23f2d4b3cfbba192e10696b4b15d5b71d3c9880133cac5dad", + "blockNumber": "0x113c3bb", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x17b707", @@ -915,13 +915,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x2ecabd6be" + "effectiveGasPrice": "0x3226074cc" }, { - "transactionHash": "0xb51f68cdb993a5ab18e109a3bb608080f373ddf1a2a5811bd49a656f4d434bff", + "transactionHash": "0x9932d38d2d7d37d29639983166a6df31d604986d94758c463f27d3e49be9b969", "transactionIndex": "0x0", - "blockHash": "0xa0da3965ea658d8c223637d02e1f443eea5cc7751b5227bfe202291e94945c76", - "blockNumber": "0x112ad62", + "blockHash": "0x7049d693d631f4abb61e2cab313df7805855b11e10054868b174c84d81d3bd3f", + "blockNumber": "0x113c3bc", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x74eb8", @@ -931,13 +931,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x2acd1d17d" + "effectiveGasPrice": "0x2dc81ec92" }, { - "transactionHash": "0x233110775389f1929b9ba6c4c438100a1cabe43c064a7d0caa880540e2be8638", + "transactionHash": "0x8a0e1216e059ede35fff12670fc5cb1a4e9b9f70c0e2a8727fcff407aeba199f", "transactionIndex": "0x0", - "blockHash": "0x31cc2ef120dfe2a0c13825658bbea413e356929b985834a3ff1799ad6c01935f", - "blockNumber": "0x112ad63", + "blockHash": "0x0c9e16d8562b7127054bfb6eef3da25200048e62dcc9b1d66555c23cd3c808d6", + "blockNumber": "0x113c3bd", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x3c8c6", @@ -947,13 +947,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x26f969a87" + "effectiveGasPrice": "0x299816ac8" }, { - "transactionHash": "0xa4ba9888f9a3493123dab5a339c5455b4db751d37702dce73000233e53113444", + "transactionHash": "0x91962b95263ca0b040ae512a975430f973f3e1b0a0c2efaf7b1cbd7a9156b4a2", "transactionIndex": "0x0", - "blockHash": "0x287156ac381babd83281ea4fa9313cf4d73330a0e15cab6b08fc2467464a90ff", - "blockNumber": "0x112ad64", + "blockHash": "0xa09d82041d7de5b19711803185420c561a33cc79797c5e3dedd7042225ea5aec", + "blockNumber": "0x113c3be", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x1d64d3", @@ -963,13 +963,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x238e92522" + "effectiveGasPrice": "0x25dacc8cf" }, { - "transactionHash": "0xf856befedd7f6a1fd6881f1f69e2191515cbb8f168e3a110ddc3e4ce9d60d6e4", + "transactionHash": "0x8bd5e9e95f62f1f702722e048a6d96c16d8a6e8bde2e78de2909583a560ac8d5", "transactionIndex": "0x0", - "blockHash": "0x322554a7bac867487f61eebd99bb25cb9e3a009d6095aa0046c26f5dfdc87fae", - "blockNumber": "0x112ad65", + "blockHash": "0xacc6da008f13c9e9399bdef3468aadcd749dc396086fbe4f4f4e11d69203f0cb", + "blockNumber": "0x113c3bf", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0xb5124", @@ -979,13 +979,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x20e692c46" + "effectiveGasPrice": "0x22f2b7129" }, { - "transactionHash": "0xbbd0b7aaa0f84b2190897b58774b602d59dbbd177d39c2f6548255bb93c805e9", + "transactionHash": "0x0a99ed844a4cffcc6941f8b03ffb564cce5363cb25291489e08923a43163b0db", "transactionIndex": "0x0", - "blockHash": "0xd9a9ccc7729fe6359f80ada8e839e37330cca38c7b93ad21b8ffc65b32bd427c", - "blockNumber": "0x112ad66", + "blockHash": "0x137d86daa038020a2afd51ed9c97ba8724b6b210b22ea9921e6c81e09639657b", + "blockNumber": "0x113c3c0", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0xd98f2", @@ -995,13 +995,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x1e51c0c7b" + "effectiveGasPrice": "0x201f9ddb9" }, { - "transactionHash": "0x1f62a6d07635b705897675100cf72c97031afdb4f010f64c6aa089e2d5b5aca7", + "transactionHash": "0x2dfae46114a17297bf70418ad6425bf91ba15772047ce672d1635508675678cd", "transactionIndex": "0x0", - "blockHash": "0xb2839ca044771faee2e9f1575aa284a9b7ec4e7c558ca9ba8a97a95ab6cfd425", - "blockNumber": "0x112ad67", + "blockHash": "0xfe2c44ac5215d6ee182df52069127a13a2a2a94622c3b6787b5532ad28d7af17", + "blockNumber": "0x113c3c1", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0xd4599", @@ -1011,13 +1011,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x1c118e001" + "effectiveGasPrice": "0x1da91d794" }, { - "transactionHash": "0x09b118c4247175ded7d642aa5ee8ae106e8a5bda71b65cd0922f70136c035f20", + "transactionHash": "0xf347505a6f015af4f848f214b5bd614a037e9cbf4ead9d99f48e8d40f3430ade", "transactionIndex": "0x0", - "blockHash": "0xbcb28f483221b191361caa83849c1923ae2e925fe365b2265887d7d102668767", - "blockNumber": "0x112ad68", + "blockHash": "0x05d416428111e04796b702762da837f905db40f04c95ad23f03c7aadaaa6bfdb", + "blockNumber": "0x113c3c2", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x20d38d", @@ -1027,13 +1027,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x1a1455550" + "effectiveGasPrice": "0x1b7be71dd" }, { - "transactionHash": "0xbcebeef556fd3346ac614b45b0b50a83304af99af0ad6bfd3cc88fc77dd293a2", + "transactionHash": "0x8697e1e925f0243e7b22ce8de678b1818fb971bb274b3fac788f9acffd66c6e4", "transactionIndex": "0x0", - "blockHash": "0x66eca9369a74cf3422f0f32f1dd7fe9cd441879649bf580d38f27f5fc79b399d", - "blockNumber": "0x112ad69", + "blockHash": "0xdeae5330cd861a864d211d2147f66b37ac070ce8ee57d738c6b434681395244c", + "blockNumber": "0x113c3c3", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x3e23f9", @@ -1043,13 +1043,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x187bd19c8" + "effectiveGasPrice": "0x19bce366f" }, { - "transactionHash": "0x38d1483dbf166d48f1de8ee830b0c7ac561adb8004a5a459594f627ec8e84aea", + "transactionHash": "0x99daf3551599f45073dd154e193d11cc584c246f01a6d6c7f744f77dc836fff4", "transactionIndex": "0x0", - "blockHash": "0x26775ba9a7a96adc9532853b0d9a438034600eacbd22ce1ffe1b60fa3db0e1fb", - "blockNumber": "0x112ad6a", + "blockHash": "0x4a3b542915c651650fec213dc0a5e638be0f38623eff5dc738272d341498cec2", + "blockNumber": "0x113c3c4", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x14a024", @@ -1059,13 +1059,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x174595f54" + "effectiveGasPrice": "0x18696aefb" }, { - "transactionHash": "0x29019680ed947c568686b9f3f72d39ca5e92073742080509a5fedee30446bf2b", + "transactionHash": "0x9736615288ef829d2b9748ad3405003d516f1b7c5fb4c11e9eff8b6be582ff55", "transactionIndex": "0x0", - "blockHash": "0xfb735f0aba113d76ea5cd13e6e2c83daadac5fefb6707bc037141f681c6fc91c", - "blockNumber": "0x112ad6b", + "blockHash": "0x3c93b6edc26817d66e73a012faec54b9b5a04f1ab80bf86c6c63905fbc4c3c4b", + "blockNumber": "0x113c3c5", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x387a7e", @@ -1075,13 +1075,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x15e565627" + "effectiveGasPrice": "0x16e80948f" }, { - "transactionHash": "0xbc08ef7499ba6ff72862cbea8abf1a62977a016fb2efe432b24a816f2bbac96f", + "transactionHash": "0xd0cc06edd0ff7a18b21490c573c2ec2c8520e5d4a1e47ed5f18149a7a5797c7b", "transactionIndex": "0x0", - "blockHash": "0x661479112c83028a5d709fc15db3b0f95f4e24e380ceab0ec6841c92af3e7535", - "blockNumber": "0x112ad6c", + "blockHash": "0x4f5ed63e9b3bd7dd6fa9926fee657cfe756813bd5e3722d5342f9adbe34c4ef5", + "blockNumber": "0x113c3c6", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x129b12", @@ -1091,13 +1091,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x14e2ffbde" + "effectiveGasPrice": "0x15cd49724" }, { - "transactionHash": "0x5967fcdc5333398259e46dd202c69df488f1083d0d9e54d173a25e17357f6811", + "transactionHash": "0x68aeb04d2a9513b870e81d9e2ab7f82bcb4e9cd63270529a62f72e112a2f031b", "transactionIndex": "0x0", - "blockHash": "0x531d23a16b5ec6faa75c2313b7b48bca9b1a87bdcb90305a41ef80e2d1212b65", - "blockNumber": "0x112ad6d", + "blockHash": "0xd55a0d539f9d5aa4fe3ea2594e84579398fd0fb11631733fcd20b85327c45d52", + "blockNumber": "0x113c3c7", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x23480d", @@ -1107,13 +1107,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x13c583350" + "effectiveGasPrice": "0x1494e5252" }, { - "transactionHash": "0x5e6f0d0f412c1b5a113bc811ee673a3172da6d13e22dd2f424f85fb83c61def4", + "transactionHash": "0x9fc5c60fc8ea4183202e91768ee13e83d50e3a1006cde84f0f13123e8ead9fe8", "transactionIndex": "0x0", - "blockHash": "0xf3dbd73f6d442ddb02c295482a781d9cdf18dd6da077567f752b5ec4e62e2c87", - "blockNumber": "0x112ad6e", + "blockHash": "0xf1f11756c8cd4e216be80a055a92542b13b86d1f63809bfb59cb935799b9126b", + "blockNumber": "0x113c3c8", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x127761", @@ -1123,13 +1123,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x12dcd9e78" + "effectiveGasPrice": "0x13964e8e9" }, { - "transactionHash": "0xabff4fd50c31131a2d9f1f83b0009dde69a88ba7a4f9f7a8fda816edbc67609c", + "transactionHash": "0x5f69a08e435fbf62f8eea946c28bbfc8c1ae5fa3f6f2d8227274c46e3c91a8ed", "transactionIndex": "0x0", - "blockHash": "0x7ffe1de3ee89892cfb13ce6bd5e9e9d7227de45affe34592bfdf05cc3285f614", - "blockNumber": "0x112ad6f", + "blockHash": "0xa8d2f2e459e74bab6889478aabf8a3e6d6fd69125e94c5747d8e8ef87b6de5b7", + "blockNumber": "0x113c3c9", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x160b96", @@ -1139,29 +1139,29 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x11fab7e61" + "effectiveGasPrice": "0x129edcc68" }, { - "transactionHash": "0xc31639b620ed938a863a4659d663139aec70098d58020cac1d269fb765de608a", + "transactionHash": "0x2f2cdafe34129558e4f750a376e18fdcd8f12e243cc816d5a1be2ab54a98aea8", "transactionIndex": "0x0", - "blockHash": "0x9e6fde7d886a4035dd0d667bde9abc5d37ede3942d0fad540ce49b8d26b9960e", - "blockNumber": "0x112ad70", + "blockHash": "0x1a5012984cccbc54efecf9bce0ff2c5bcd6081b059a0e4b066227052a65be582", + "blockNumber": "0x113c3ca", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x23475e", - "gasUsed": "0x23475e", + "cumulativeGasUsed": "0x23476a", + "gasUsed": "0x23476a", "contractAddress": "0x7f7A6fA77E3De3e90be433834f23E24214bbe3C8", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x1135f9d02" + "effectiveGasPrice": "0x11c793ff3" }, { - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x55871d", @@ -1176,9 +1176,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1188,9 +1188,9 @@ "address": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "topics": ["0x8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673"], "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000007f7a6fa77e3de3e90be433834f23e24214bbe3c800000000000000000000000000000000000000000000000000000000000016e0000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000008e00000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000013a00000000000000000000000000000000000000000000000000000000000001440000000000000000000000000000000000000000000000000000000000000152000000000000000000000000000000000000000000000000000000000000015c0000000000000000000000000d20b46190da9b273a12e59895cf8a750c25541cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c000000000000000000000000000000000000000000000000000000000000000000000000000000001f0bfd4230e54c8089a7fc59c9090fcb40c1cbdc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000057a0ed62700000000000000000000000000000000000000000000000000000000adfca15e0000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000cdffacc60000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000000000000000000000000000001289805419dc74bcdee5d4a06606444e9f1474ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002f2fde38b000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000000000000000000000000000004e037b9a8ce977462da4e10fc164363c827abfc6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020ba2d8cdd00000000000000000000000000000000000000000000000000000000dd390ea000000000000000000000000000000000000000000000000000000000e2d443bd00000000000000000000000000000000000000000000000000000000f986cd5700000000000000000000000000000000000000000000000000000000147f1b96000000000000000000000000000000000000000000000000000000001a867af500000000000000000000000000000000000000000000000000000000f6f172cb00000000000000000000000000000000000000000000000000000000be1d86e10000000000000000000000000000000000000000000000000000000015f97398000000000000000000000000000000000000000000000000000000000083faee0000000000000000000000000000000000000000000000000000000092324611000000000000000000000000000000000000000000000000000000001c1f8aa3000000000000000000000000000000000000000000000000000000006605bfda00000000000000000000000000000000000000000000000000000000016afee700000000000000000000000000000000000000000000000000000000fbff3a41000000000000000000000000000000000000000000000000000000008fe6368300000000000000000000000000000000000000000000000000000000bc3ea01800000000000000000000000000000000000000000000000000000000ebef28a700000000000000000000000000000000000000000000000000000000b0bd67b400000000000000000000000000000000000000000000000000000000017df32700000000000000000000000000000000000000000000000000000000b42165d00000000000000000000000000000000000000000000000000000000036c3df240000000000000000000000000000000000000000000000000000000091df16d3000000000000000000000000000000000000000000000000000000008b38ebb300000000000000000000000000000000000000000000000000000000e0ee685500000000000000000000000000000000000000000000000000000000a9b8b79600000000000000000000000000000000000000000000000000000000221e2e6000000000000000000000000000000000000000000000000000000000214f788200000000000000000000000000000000000000000000000000000000ad3401ed00000000000000000000000000000000000000000000000000000000d3815fb9000000000000000000000000000000000000000000000000000000003535f48b00000000000000000000000000000000000000000000000000000000c5f956af0000000000000000000000000000000000000000000000000000000000000000000000000000000058de01a211b2477ce1393c5512bf6089efc59c250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000082f2ff15d0000000000000000000000000000000000000000000000000000000091d14854000000000000000000000000000000000000000000000000000000008bb9c5bf00000000000000000000000000000000000000000000000000000000248a9ca300000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000003f4ba83a000000000000000000000000000000000000000000000000000000005c975abb00000000000000000000000000000000000000000000000000000000000000000000000000000000d7d3e9c9bc05aba6b9ae47b27ad18d83e441bf320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000034e847fc700000000000000000000000000000000000000000000000000000000a2e6204500000000000000000000000000000000000000000000000000000000283583c600000000000000000000000000000000000000000000000000000000000000000000000000000000635cab41ff7b3b2fa5ebe9518129947a563719b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003fa3305c900000000000000000000000000000000000000000000000000000000bf0d68e4000000000000000000000000000000000000000000000000000000002db8c12900000000000000000000000000000000000000000000000000000000000000000000000000000000119e315502b87e67f1bc98577c735a3518ea47da00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c5f3acd8e0000000000000000000000000000000000000000000000000000000045889bd700000000000000000000000000000000000000000000000000000000776a3bb500000000000000000000000000000000000000000000000000000000ed7662ee000000000000000000000000000000000000000000000000000000002193393300000000000000000000000000000000000000000000000000000000537bb5dc0000000000000000000000000000000000000000000000000000000078b3139b00000000000000000000000000000000000000000000000000000000c0d8012c000000000000000000000000000000000000000000000000000000003cf7857400000000000000000000000000000000000000000000000000000000702f01ee000000000000000000000000000000000000000000000000000000003a98ef390000000000000000000000000000000000000000000000000000000016f0115b000000000000000000000000000000000000000000000000000000000000000000000000000000009f0259fe34bfc22d9cbeeb340cd8d53f35cdeb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c96908b52000000000000000000000000000000000000000000000000000000007cc6bd41000000000000000000000000000000000000000000000000000000006970d473000000000000000000000000000000000000000000000000000000004d8c28c4000000000000000000000000000000000000000000000000000000002f72589e00000000000000000000000000000000000000000000000000000000aa1ec70a00000000000000000000000000000000000000000000000000000000e2bbb15800000000000000000000000000000000000000000000000000000000422f1043000000000000000000000000000000000000000000000000000000009d7de6b3000000000000000000000000000000000000000000000000000000005215915000000000000000000000000000000000000000000000000000000000c5d1cb6300000000000000000000000000000000000000000000000000000000aadc68a5000000000000000000000000000000000000000000000000000000000000000000000000000000006169444ae7a834646f31f2179dbe9153c2cfe79d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005629056cb00000000000000000000000000000000000000000000000000000000a64154f000000000000000000000000000000000000000000000000000000000d5a8cf6400000000000000000000000000000000000000000000000000000000a609d912000000000000000000000000000000000000000000000000000000005b374a400000000000000000000000000000000000000000000000000000000000000000000000000000000038963b77678eb09f9ecc19f42f0371ec3c3c9b7900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000fb6170dcc00000000000000000000000000000000000000000000000000000000d3918c1d000000000000000000000000000000000000000000000000000000004e7c028d0000000000000000000000000000000000000000000000000000000071fc117100000000000000000000000000000000000000000000000000000000a35e50bc000000000000000000000000000000000000000000000000000000005857650800000000000000000000000000000000000000000000000000000000d2bdc9e000000000000000000000000000000000000000000000000000000000be5c687200000000000000000000000000000000000000000000000000000000f23a6e6100000000000000000000000000000000000000000000000000000000bc197c81000000000000000000000000000000000000000000000000000000005469bff100000000000000000000000000000000000000000000000000000000b5a3ff8700000000000000000000000000000000000000000000000000000000efa0982f000000000000000000000000000000000000000000000000000000000d65f47f000000000000000000000000000000000000000000000000000000002565aa420000000000000000000000000000000000000000000000000000000000000000000000000000000082acf7de62ab6b0c240873339c19461a34260794000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001c4b4a9ff00000000000000000000000000000000000000000000000000000000000000000000000000000000b66709aa65aac2b8a6294062d0a0531207481036000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003ac50680600000000000000000000000000000000000000000000000000000000f13a38a600000000000000000000000000000000000000000000000000000000993fba5c000000000000000000000000000000000000000000000000000000000000000000000000000000005d4905664e98a76cf56ebbd023d38c420d465770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001764263cf00000000000000000000000000000000000000000000000000000000000000000000000000000000d64465fc4c7d3bababa5d0e4aff6dffc278bfd18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001651156bc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014411567a570000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -1205,9 +1205,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0x2", "transactionLogIndex": "0x2", @@ -1222,9 +1222,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0x3", "transactionLogIndex": "0x3", @@ -1239,9 +1239,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0x4", "transactionLogIndex": "0x4", @@ -1256,9 +1256,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0x5", "transactionLogIndex": "0x5", @@ -1273,9 +1273,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0x6", "transactionLogIndex": "0x6", @@ -1290,9 +1290,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0x7", "transactionLogIndex": "0x7", @@ -1307,9 +1307,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0x8", "transactionLogIndex": "0x8", @@ -1324,9 +1324,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0x9", "transactionLogIndex": "0x9", @@ -1341,9 +1341,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0xa", "transactionLogIndex": "0xa", @@ -1358,9 +1358,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0xb", "transactionLogIndex": "0xb", @@ -1375,9 +1375,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0xc", "transactionLogIndex": "0xc", @@ -1392,9 +1392,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x13e1fc9d46a05d8fb0a3c17c42c8528deadc2212276bc0c19919ce7b9255b0ae", - "blockNumber": "0x112ad71", - "transactionHash": "0x5f6a8d24760cbc65f5f7169ab23ccc76e6e36da6d30e3525bae8a4e577c48cfe", + "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", + "blockNumber": "0x113c3cb", + "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", "transactionIndex": "0x0", "logIndex": "0xd", "transactionLogIndex": "0xd", @@ -1404,13 +1404,13 @@ "status": "0x1", "logsBloom": "0x00200004100000000400000000000000000000000000000000800000000000014000000000000004000000000000004000000000000000000000000000000000000000000001010088000000000000000801000081000000000800000000000000000004020000000080000000000800000010000000400000000000000000400020080000000000000000000000008000000010000000000000000000000000000000000000000000000000000000000000000000000000001002200080100080200000000200000820000000000000000800000000010100002000000020000000000000008000000000010000000000000400920000000000000200000000", "type": "0x2", - "effectiveGasPrice": "0x10929f8a1" + "effectiveGasPrice": "0x1114d4a6f" }, { - "transactionHash": "0xe1bbb6628e433b3f7688b4eb84c3a0a3fdeaa4f48b4e69eee01bf607df2a3152", + "transactionHash": "0x52afb5b7669abee51d4e73359ffff83f6f9360ed268335d7ddb46424339654cd", "transactionIndex": "0x0", - "blockHash": "0xa0ff03a95b2ff4c958649751499d5217b3de2d8c58e8d676f7b26a5f5d095ff4", - "blockNumber": "0x112ad72", + "blockHash": "0x21177ba57ce68b5278029531df6b0ae242eab3a728349f089d7e5d7a88e9672a", + "blockNumber": "0x113c3cc", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x8954", @@ -1421,9 +1421,9 @@ "address": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "topics": ["0x3a1c0b7d3cdecbab83b82697d51cbcdb308b3bbae63e597cbc958deb9c830e50"], "data": "0x00000000000000000000000000000000000000000000000000000000000001a4", - "blockHash": "0xa0ff03a95b2ff4c958649751499d5217b3de2d8c58e8d676f7b26a5f5d095ff4", - "blockNumber": "0x112ad72", - "transactionHash": "0xe1bbb6628e433b3f7688b4eb84c3a0a3fdeaa4f48b4e69eee01bf607df2a3152", + "blockHash": "0x21177ba57ce68b5278029531df6b0ae242eab3a728349f089d7e5d7a88e9672a", + "blockNumber": "0x113c3cc", + "transactionHash": "0x52afb5b7669abee51d4e73359ffff83f6f9360ed268335d7ddb46424339654cd", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1433,26 +1433,26 @@ "status": "0x1", "logsBloom": "0x00000000000000000400000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x102675068" + "effectiveGasPrice": "0x109e78798" }, { - "transactionHash": "0x2867c4b986563a096d7cdb9b69bffb814c89a18738e1bc0b6831ffbe0186a79c", + "transactionHash": "0xdc15c6b31827e0179be9cfc116af3583ad35e788866de4ec851c5c472a32cbed", "transactionIndex": "0x0", - "blockHash": "0x250eee4f8e39d724d8c846ed7f00d43e85592cf2afecdf8c71de1f1e121b039c", - "blockNumber": "0x112ad73", + "blockHash": "0x3536df52d8126fdec9eed3dd86c6107c6f33bb6e3d7427fcdf97fa4c748ee8c6", + "blockNumber": "0x113c3cd", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x34a11b", - "gasUsed": "0x34a11b", + "cumulativeGasUsed": "0x35107f", + "gasUsed": "0x35107f", "contractAddress": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", "logs": [ { "address": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x250eee4f8e39d724d8c846ed7f00d43e85592cf2afecdf8c71de1f1e121b039c", - "blockNumber": "0x112ad73", - "transactionHash": "0x2867c4b986563a096d7cdb9b69bffb814c89a18738e1bc0b6831ffbe0186a79c", + "blockHash": "0x3536df52d8126fdec9eed3dd86c6107c6f33bb6e3d7427fcdf97fa4c748ee8c6", + "blockNumber": "0x113c3cd", + "transactionHash": "0xdc15c6b31827e0179be9cfc116af3583ad35e788866de4ec851c5c472a32cbed", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1462,17 +1462,17 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000080800000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xf87a6a38" + "effectiveGasPrice": "0xff0b2a86" }, { - "transactionHash": "0x70b68551e431caa83a7f6ed5f624e8de095cc5dfe931b6a1a3d76548c1a88b0f", + "transactionHash": "0xec2e9c5892fddf7386071d75f55f397bb1e0669156668a77f0f14e6efe7d418e", "transactionIndex": "0x0", - "blockHash": "0x82a953f792ce962b780fbf23863b4d5cc83f552753f5455dee7a47d811886cab", - "blockNumber": "0x112ad74", + "blockHash": "0x9052b96caecf6354eb4965a57a850e0bef29972c6c55e9c0fe9a2efab0139786", + "blockNumber": "0x113c3ce", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x4aed6", - "gasUsed": "0x4aed6", + "cumulativeGasUsed": "0x4ae66", + "gasUsed": "0x4ae66", "contractAddress": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "logs": [ { @@ -1482,9 +1482,9 @@ "0x000000000000000000000000f98f9083a9226b200da8cbc4bfecdae58da59889" ], "data": "0x", - "blockHash": "0x82a953f792ce962b780fbf23863b4d5cc83f552753f5455dee7a47d811886cab", - "blockNumber": "0x112ad74", - "transactionHash": "0x70b68551e431caa83a7f6ed5f624e8de095cc5dfe931b6a1a3d76548c1a88b0f", + "blockHash": "0x9052b96caecf6354eb4965a57a850e0bef29972c6c55e9c0fe9a2efab0139786", + "blockNumber": "0x113c3ce", + "transactionHash": "0xec2e9c5892fddf7386071d75f55f397bb1e0669156668a77f0f14e6efe7d418e", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1494,9 +1494,9 @@ "address": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x82a953f792ce962b780fbf23863b4d5cc83f552753f5455dee7a47d811886cab", - "blockNumber": "0x112ad74", - "transactionHash": "0x70b68551e431caa83a7f6ed5f624e8de095cc5dfe931b6a1a3d76548c1a88b0f", + "blockHash": "0x9052b96caecf6354eb4965a57a850e0bef29972c6c55e9c0fe9a2efab0139786", + "blockNumber": "0x113c3ce", + "transactionHash": "0xec2e9c5892fddf7386071d75f55f397bb1e0669156668a77f0f14e6efe7d418e", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -1506,13 +1506,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000020000002000002000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000001000000000000000000400000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xf1c5c19d" + "effectiveGasPrice": "0xf7b95c34" }, { - "transactionHash": "0x609de3a9f87f1148d9d8f3f83af8a7fdbc867ebdde9b6a76acbd57119516063c", + "transactionHash": "0xc883bdff4777e54577bf71108eb4252c138856b49a0a47e7e9c7a014b91f11dd", "transactionIndex": "0x0", - "blockHash": "0xef46b3fa28a69deadecb101a60c969e0d40b7e24c338c5cb712bafe2d828b749", - "blockNumber": "0x112ad75", + "blockHash": "0x104fd85028c95d325e81034bed3963d26446f468de4a9b01adf2db7af091f759", + "blockNumber": "0x113c3cf", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0xc8c9", @@ -1522,13 +1522,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xea104d9c" + "effectiveGasPrice": "0xef495633" }, { - "transactionHash": "0x07d39d44e834f3e1fd7652d499846122c24ad9a10141469cfd668d62d981517b", + "transactionHash": "0x9546b39494e1dde43fe6b89d33f3026efe77ca60db25858af0ea31b63b5812aa", "transactionIndex": "0x0", - "blockHash": "0x5069be563c5d1a88fbab643ee5f1229f35066067b8a0fba414dda3069becfae1", - "blockNumber": "0x112ad76", + "blockHash": "0x8f5b249dbfeb06d4ae1534fce519606b7a2124409feaf3167e380679efa5d80a", + "blockNumber": "0x113c3d0", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -1544,9 +1544,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x5069be563c5d1a88fbab643ee5f1229f35066067b8a0fba414dda3069becfae1", - "blockNumber": "0x112ad76", - "transactionHash": "0x07d39d44e834f3e1fd7652d499846122c24ad9a10141469cfd668d62d981517b", + "blockHash": "0x8f5b249dbfeb06d4ae1534fce519606b7a2124409feaf3167e380679efa5d80a", + "blockNumber": "0x113c3d0", + "transactionHash": "0x9546b39494e1dde43fe6b89d33f3026efe77ca60db25858af0ea31b63b5812aa", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1556,13 +1556,13 @@ "status": "0x1", "logsBloom": "0x00000004100100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xe32e5e9f" + "effectiveGasPrice": "0xe7c0d8c0" }, { - "transactionHash": "0x8d2105c5e48f942f30de2762c33091459d45c06c6daa97cb77f6b811d860e4f7", + "transactionHash": "0x31dbee091db69b8ce6ef471fdabc889ddd745b9e6f61bc3c48809ee627d70597", "transactionIndex": "0x0", - "blockHash": "0xaae7d0b2acfe18870038db38ba9987c0e57a2391c6f90bb0907382044475d96f", - "blockNumber": "0x112ad77", + "blockHash": "0x4491d86a6ab76e2ae8cf0f2848e04593794464dcd1ecc7594a9265321c7ee208", + "blockNumber": "0x113c3d1", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -1578,9 +1578,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xaae7d0b2acfe18870038db38ba9987c0e57a2391c6f90bb0907382044475d96f", - "blockNumber": "0x112ad77", - "transactionHash": "0x8d2105c5e48f942f30de2762c33091459d45c06c6daa97cb77f6b811d860e4f7", + "blockHash": "0x4491d86a6ab76e2ae8cf0f2848e04593794464dcd1ecc7594a9265321c7ee208", + "blockNumber": "0x113c3d1", + "transactionHash": "0x31dbee091db69b8ce6ef471fdabc889ddd745b9e6f61bc3c48809ee627d70597", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1590,13 +1590,13 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000200000020000000000000000000000000000100000000000000000000000000008000000000000000000000000000820000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xdd2b472e" + "effectiveGasPrice": "0xe12c4395" }, { - "transactionHash": "0xcfde9b08f92c8f98ecfb4dac33d8bea23c14ff3827ec8ce9330fddd72a41ab63", + "transactionHash": "0xf16ee266b60d0445a9a00376c4fbeb7b5ac81072e965fb6950b4d3f3729efe5e", "transactionIndex": "0x0", - "blockHash": "0xa78b92b6e2113780401b3d013e199164c82ff0cc34c598ddb65a10616511373b", - "blockNumber": "0x112ad78", + "blockHash": "0x7199d0d01bee9f821583068c239d3141284651a753d1e90558d3b630df87083f", + "blockNumber": "0x113c3d2", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "cumulativeGasUsed": "0x160ca", @@ -1611,9 +1611,9 @@ "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0xa78b92b6e2113780401b3d013e199164c82ff0cc34c598ddb65a10616511373b", - "blockNumber": "0x112ad78", - "transactionHash": "0xcfde9b08f92c8f98ecfb4dac33d8bea23c14ff3827ec8ce9330fddd72a41ab63", + "blockHash": "0x7199d0d01bee9f821583068c239d3141284651a753d1e90558d3b630df87083f", + "blockNumber": "0x113c3d2", + "transactionHash": "0xf16ee266b60d0445a9a00376c4fbeb7b5ac81072e965fb6950b4d3f3729efe5e", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1627,9 +1627,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0xa78b92b6e2113780401b3d013e199164c82ff0cc34c598ddb65a10616511373b", - "blockNumber": "0x112ad78", - "transactionHash": "0xcfde9b08f92c8f98ecfb4dac33d8bea23c14ff3827ec8ce9330fddd72a41ab63", + "blockHash": "0x7199d0d01bee9f821583068c239d3141284651a753d1e90558d3b630df87083f", + "blockNumber": "0x113c3d2", + "transactionHash": "0xf16ee266b60d0445a9a00376c4fbeb7b5ac81072e965fb6950b4d3f3729efe5e", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -1639,17 +1639,17 @@ "status": "0x1", "logsBloom": "0x0000000000010000000000000000000000000000000000100000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000002000000a000000000000000000000000000000000000000000000000030000000000000000000800000800000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000002000000000080000002000000000000000000000000000800000000000000000000000020000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xd7e77f24" + "effectiveGasPrice": "0xdb69137d" }, { - "transactionHash": "0x17b70d4b32f1684cd499b49d1682904c3b2cdd8dd55875faf09ad03c5bb9e434", + "transactionHash": "0xe8a09c70ab8a0b228954a66181e22d0d2cb3fbb80e98c01912f26542e360f367", "transactionIndex": "0x0", - "blockHash": "0x766a2b57164284ed8e5a1875711d31960b717bfb639db6b32e62e5d682899d2b", - "blockNumber": "0x112ad79", + "blockHash": "0x4bcad942dfe4499ccacb72d97ba21c2a713fa2b693aa52946f20cd807c926d39", + "blockNumber": "0x113c3d3", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490", - "cumulativeGasUsed": "0xc7b6", - "gasUsed": "0xc7b6", + "cumulativeGasUsed": "0xb4f6", + "gasUsed": "0xb4f6", "contractAddress": null, "logs": [ { @@ -1660,9 +1660,9 @@ "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x766a2b57164284ed8e5a1875711d31960b717bfb639db6b32e62e5d682899d2b", - "blockNumber": "0x112ad79", - "transactionHash": "0x17b70d4b32f1684cd499b49d1682904c3b2cdd8dd55875faf09ad03c5bb9e434", + "blockHash": "0x4bcad942dfe4499ccacb72d97ba21c2a713fa2b693aa52946f20cd807c926d39", + "blockNumber": "0x113c3d3", + "transactionHash": "0xe8a09c70ab8a0b228954a66181e22d0d2cb3fbb80e98c01912f26542e360f367", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1672,13 +1672,13 @@ "status": "0x1", "logsBloom": "0x00000000000100000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000100000000000000000000000000000000000010000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000002000000000080000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xd34bc06d" + "effectiveGasPrice": "0xd65dcf2b" }, { - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x114401", @@ -1689,13 +1689,13 @@ "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827", + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1", "0x000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1705,13 +1705,13 @@ "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827", + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1", "0x000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -1721,29 +1721,29 @@ "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827", + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1", "0x000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0x2", "transactionLogIndex": "0x2", "removed": false }, { - "address": "0x80FB33FcE06F5E9d9E4bB7C90C7BC19B99a18827", + "address": "0x59063699125def4aA6D3Dbf384E1144BBb1083a1", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0x3", "transactionLogIndex": "0x3", @@ -1754,12 +1754,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000b9fc157394af804a3578134a6585c0dc9cc990d4", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0x4", "transactionLogIndex": "0x4", @@ -1769,9 +1769,9 @@ "address": "0xB9fC157394Af804a3578134A6585C0dc9cc990d4", "topics": ["0x01f31cd2abdeb4e5e10ba500f2db0f937d9e8c735ab04681925441b4ea37eda5"], "data": "0x000000000000000000000000988ba9496b04755e0dab7057c2c1e1f25f00ead3000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0x5", "transactionLogIndex": "0x5", @@ -1782,12 +1782,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0x6", "transactionLogIndex": "0x6", @@ -1798,12 +1798,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0x7", "transactionLogIndex": "0x7", @@ -1814,12 +1814,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0x8", "transactionLogIndex": "0x8", @@ -1830,12 +1830,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0x9", "transactionLogIndex": "0x9", @@ -1846,12 +1846,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0xa", "transactionLogIndex": "0xa", @@ -1862,12 +1862,12 @@ "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0xb", "transactionLogIndex": "0xb", @@ -1878,43 +1878,43 @@ "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000080fb33fce06f5e9d9e4bb7c90c7bc19b99a18827" + "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0xc", "transactionLogIndex": "0xc", "removed": false }, { - "address": "0x80FB33FcE06F5E9d9E4bB7C90C7BC19B99a18827", + "address": "0x59063699125def4aA6D3Dbf384E1144BBb1083a1", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], - "data": "0x00000000000000000000000000000000000000000000044aeb05afe380d5f8c8", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "data": "0x00000000000000000000000000000000000000000000044af7cb3f96569c00a3", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0xd", "transactionLogIndex": "0xd", "removed": false }, { - "address": "0x80FB33FcE06F5E9d9E4bB7C90C7BC19B99a18827", + "address": "0x59063699125def4aA6D3Dbf384E1144BBb1083a1", "topics": [ "0x26f55a85081d24974e85c6c00045d0f0453991e95873f52bff0d21af4079a768", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb" ], - "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044aeb05afe380d5f8c800000000000000000000000000000000000000000000044aeb05afe380d5f8c8", - "blockHash": "0x603ff664d595295fd3a64f1e122b10f0f3cdd7af40750ac130a63a894a47e13b", - "blockNumber": "0x112ad7a", - "transactionHash": "0x89c667b0ee3b51e825131068f89312fc8efc1b073e15b7590d29864ca3afeee0", + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044af7cb3f96569c00a300000000000000000000000000000000000000000000044af7cb3f96569c00a3", + "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", + "blockNumber": "0x113c3d4", + "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", "transactionIndex": "0x0", "logIndex": "0xe", "transactionLogIndex": "0xe", @@ -1922,28 +1922,28 @@ } ], "status": "0x1", - "logsBloom": "0x0000020000010000000000000008000000000000000000100000220000008000001000000080000000000000000003008000000000000000000000000020000001000000000000012800000a000000000000000000000000000000000000010110000000020000010000000000000800000810000000000400001010000000000000001008000000000000000000000000000000010000000000000000104000020000000000200000000080000000000080000000000000000002400000000080000002000000000000000000000000000002000000000000000000000020000010000000000000000000000004020000000000020000000000000000000080", + "logsBloom": "0x0000020000010000000000000008000000000000000000100000200080000000001000000080000000000000000023000000000000000000000000000020000000000000000000012800000a000000000000000000000000000400000000010110400000020000010000000000000800000810000000000400001010000000000000001000000000004000000000200000000000010000000000000000104000020000000000200000000080000000000080000000000000000002400000000080000002000000000000000000000000000002000000000000000000000020000010000000000000000000000000020000000000020000000000000000000080", "type": "0x2", - "effectiveGasPrice": "0xcf3fdf13" + "effectiveGasPrice": "0xd1efa482" }, { - "transactionHash": "0xe9acf32f9270ff8402f2741d69278b2abe49198498adb2d04ef0ec6210844156", + "transactionHash": "0xb41a0c038933c9621888f628f493017cc48c1f499f2287afa012105f251439be", "transactionIndex": "0x0", - "blockHash": "0xb0dbb64f237664b46920152c6866ee9956c4385436be02f4aaa3c5ac51173713", - "blockNumber": "0x112ad7b", + "blockHash": "0x35ac8e512964ce867be68506b82b44d7fa6dfefed8c31a6577110422fc33df08", + "blockNumber": "0x113c3d5", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x2f7858", - "gasUsed": "0x2f7858", + "cumulativeGasUsed": "0x2fe7af", + "gasUsed": "0x2fe7af", "contractAddress": "0xEbCe0D06fE2a715c7eebbda0A9eB40f2Ba15BB05", "logs": [ { "address": "0xEbCe0D06fE2a715c7eebbda0A9eB40f2Ba15BB05", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xb0dbb64f237664b46920152c6866ee9956c4385436be02f4aaa3c5ac51173713", - "blockNumber": "0x112ad7b", - "transactionHash": "0xe9acf32f9270ff8402f2741d69278b2abe49198498adb2d04ef0ec6210844156", + "blockHash": "0x35ac8e512964ce867be68506b82b44d7fa6dfefed8c31a6577110422fc33df08", + "blockNumber": "0x113c3d5", + "transactionHash": "0xb41a0c038933c9621888f628f493017cc48c1f499f2287afa012105f251439be", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1953,17 +1953,17 @@ "status": "0x1", "logsBloom": "0x00000000000000008008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000400000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xcbf69305" + "effectiveGasPrice": "0xce56dbfe" }, { - "transactionHash": "0xd849fe61edbef64a86fd012c6f44ce5b77a6a7733ed04b2f5000578f21bdc41a", + "transactionHash": "0x804c2d89437e95575039b2b66be4494f6883a72aa5290be2dc399dbe6a350e14", "transactionIndex": "0x0", - "blockHash": "0x64a53425d72d351488562d66849d89c2381231e66f9abe1f669e92a7e62b9441", - "blockNumber": "0x112ad7c", + "blockHash": "0xb7aed37593f44967c05762871a92babf3ce418293befbf40e4d41640c4de6922", + "blockNumber": "0x113c3d6", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x4aed6", - "gasUsed": "0x4aed6", + "cumulativeGasUsed": "0x4ae66", + "gasUsed": "0x4ae66", "contractAddress": "0x975a29731b751d003dd63D37736fd5730acd94Be", "logs": [ { @@ -1973,9 +1973,9 @@ "0x000000000000000000000000ebce0d06fe2a715c7eebbda0a9eb40f2ba15bb05" ], "data": "0x", - "blockHash": "0x64a53425d72d351488562d66849d89c2381231e66f9abe1f669e92a7e62b9441", - "blockNumber": "0x112ad7c", - "transactionHash": "0xd849fe61edbef64a86fd012c6f44ce5b77a6a7733ed04b2f5000578f21bdc41a", + "blockHash": "0xb7aed37593f44967c05762871a92babf3ce418293befbf40e4d41640c4de6922", + "blockNumber": "0x113c3d6", + "transactionHash": "0x804c2d89437e95575039b2b66be4494f6883a72aa5290be2dc399dbe6a350e14", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1985,9 +1985,9 @@ "address": "0x975a29731b751d003dd63D37736fd5730acd94Be", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x64a53425d72d351488562d66849d89c2381231e66f9abe1f669e92a7e62b9441", - "blockNumber": "0x112ad7c", - "transactionHash": "0xd849fe61edbef64a86fd012c6f44ce5b77a6a7733ed04b2f5000578f21bdc41a", + "blockHash": "0xb7aed37593f44967c05762871a92babf3ce418293befbf40e4d41640c4de6922", + "blockNumber": "0x113c3d6", + "transactionHash": "0x804c2d89437e95575039b2b66be4494f6883a72aa5290be2dc399dbe6a350e14", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -1997,13 +1997,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000002000000000000000000000000200000000000000000000000000000000000000000000200002000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000440000000000000000000000000000000000000000020000000000000000000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xc978b57d" + "effectiveGasPrice": "0xcb9e66e0" }, { - "transactionHash": "0xa596179f95b98111e01a667646fcaf515caad341d6b0592ecaeb89908dfe7aa4", + "transactionHash": "0x8a259528c2ef7ac4452ed62cb0c73ee94331ed66a81f2d5ce2e5a7d510dde9c8", "transactionIndex": "0x0", - "blockHash": "0x65940f8a639b07c876e38175c495a71a8ada3c6c309294a2e4848f7f1d3a08cf", - "blockNumber": "0x112ad7d", + "blockHash": "0xb96cfb175837cbf811fa21c81611a9581afdfabc91f6fb60a7d7c668df5693d0", + "blockNumber": "0x113c3d7", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0xc8e0", @@ -2013,13 +2013,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xc6b2802e" + "effectiveGasPrice": "0xc894e1c6" }, { - "transactionHash": "0x51e82bbc383de644d11760cb5d937b8a7b4866477eee72b988dd9c7a14759415", + "transactionHash": "0x4b224a307012904534ef9b17502bbc6d23a57cac269dd360cce393d5717ddd3a", "transactionIndex": "0x0", - "blockHash": "0x6b5169690d08bfc73922dc4e9c4b605bc945f540c6b33d4c1e2de5c693f408b0", - "blockNumber": "0x112ad7e", + "blockHash": "0x459e69eb7851777a50cbe0fbd29b50f9321189b71cbcd59383c39f9be75f2a51", + "blockNumber": "0x113c3d8", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -2035,9 +2035,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x6b5169690d08bfc73922dc4e9c4b605bc945f540c6b33d4c1e2de5c693f408b0", - "blockNumber": "0x112ad7e", - "transactionHash": "0x51e82bbc383de644d11760cb5d937b8a7b4866477eee72b988dd9c7a14759415", + "blockHash": "0x459e69eb7851777a50cbe0fbd29b50f9321189b71cbcd59383c39f9be75f2a51", + "blockNumber": "0x113c3d8", + "transactionHash": "0x4b224a307012904534ef9b17502bbc6d23a57cac269dd360cce393d5717ddd3a", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2047,13 +2047,13 @@ "status": "0x1", "logsBloom": "0x00200004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000100080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xc4386a52" + "effectiveGasPrice": "0xc5deb4a2" }, { - "transactionHash": "0xb1415c09a5ec3d1863fc06eddf9f6353a3f547db4a9faa03832d9614d84babc1", + "transactionHash": "0x70c3a742749f45a59adca3c8f20aad2ec71580b438f87d3313620367e2f19476", "transactionIndex": "0x0", - "blockHash": "0x08f28b28018e9f4ac1c4e9e6cde7853511ae774a370101d95f243c256ab76776", - "blockNumber": "0x112ad7f", + "blockHash": "0x6ca13747c6e265b3bef7af53391c6f15b957697b6b9990b2e7ee64384e8ec37c", + "blockNumber": "0x113c3d9", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -2069,9 +2069,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x08f28b28018e9f4ac1c4e9e6cde7853511ae774a370101d95f243c256ab76776", - "blockNumber": "0x112ad7f", - "transactionHash": "0xb1415c09a5ec3d1863fc06eddf9f6353a3f547db4a9faa03832d9614d84babc1", + "blockHash": "0x6ca13747c6e265b3bef7af53391c6f15b957697b6b9990b2e7ee64384e8ec37c", + "blockNumber": "0x113c3d9", + "transactionHash": "0x70c3a742749f45a59adca3c8f20aad2ec71580b438f87d3313620367e2f19476", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2081,26 +2081,26 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000010000000000000000020000000000000200000000", "type": "0x2", - "effectiveGasPrice": "0xc20e8682" + "effectiveGasPrice": "0xc3805321" }, { - "transactionHash": "0xb77d7a7dcbf776903068d9572e760372f9ca381c0362f5ecd1053af13a4ec127", + "transactionHash": "0x9418fa9f719dbaeae2e979da67d0cdfe8bb19835a68a1c55aa3c3a2ade34c515", "transactionIndex": "0x0", - "blockHash": "0x594d84814972bf2cac864f41d39eac9180b3193517936049c966d121811cd0c5", - "blockNumber": "0x112ad80", + "blockHash": "0xb1be0b4d72bb314198e618b843612a292aaf41256630b9c98dfd3324441c82cf", + "blockNumber": "0x113c3da", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x30491a", - "gasUsed": "0x30491a", + "cumulativeGasUsed": "0x30b889", + "gasUsed": "0x30b889", "contractAddress": "0x5318a766EBEd5157D18347637A306Fba6Bb2Fc12", "logs": [ { "address": "0x5318a766EBEd5157D18347637A306Fba6Bb2Fc12", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x594d84814972bf2cac864f41d39eac9180b3193517936049c966d121811cd0c5", - "blockNumber": "0x112ad80", - "transactionHash": "0xb77d7a7dcbf776903068d9572e760372f9ca381c0362f5ecd1053af13a4ec127", + "blockHash": "0xb1be0b4d72bb314198e618b843612a292aaf41256630b9c98dfd3324441c82cf", + "blockNumber": "0x113c3da", + "transactionHash": "0x9418fa9f719dbaeae2e979da67d0cdfe8bb19835a68a1c55aa3c3a2ade34c515", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2110,17 +2110,17 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000200000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000004000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xc0297c04" + "effectiveGasPrice": "0xc16d5142" }, { - "transactionHash": "0xb7005973c0dc14f11e1aa011f71a3196b51907ed6d03f03d72c9cdef33c87069", + "transactionHash": "0x1021c719e2f92aa15b5105bfa35ab1abd61dad9fa1e33a49639af5267dc5615a", "transactionIndex": "0x0", - "blockHash": "0xfcced4bd7cfaa28c482612f387e823d05b6dcf40fb4699aad863466a8c3d3d95", - "blockNumber": "0x112ad81", + "blockHash": "0x3cfef4a3e8cb1280ee90ebc1fb18940197589830bcdfa61f8e95cee9ccb168b4", + "blockNumber": "0x113c3db", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x4aeb6", - "gasUsed": "0x4aeb6", + "cumulativeGasUsed": "0x4ae46", + "gasUsed": "0x4ae46", "contractAddress": "0x47f8F074c2C1eD281Aa6d69dB972FdeB4a0f9e14", "logs": [ { @@ -2130,9 +2130,9 @@ "0x0000000000000000000000005318a766ebed5157d18347637a306fba6bb2fc12" ], "data": "0x", - "blockHash": "0xfcced4bd7cfaa28c482612f387e823d05b6dcf40fb4699aad863466a8c3d3d95", - "blockNumber": "0x112ad81", - "transactionHash": "0xb7005973c0dc14f11e1aa011f71a3196b51907ed6d03f03d72c9cdef33c87069", + "blockHash": "0x3cfef4a3e8cb1280ee90ebc1fb18940197589830bcdfa61f8e95cee9ccb168b4", + "blockNumber": "0x113c3db", + "transactionHash": "0x1021c719e2f92aa15b5105bfa35ab1abd61dad9fa1e33a49639af5267dc5615a", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2142,9 +2142,9 @@ "address": "0x47f8F074c2C1eD281Aa6d69dB972FdeB4a0f9e14", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xfcced4bd7cfaa28c482612f387e823d05b6dcf40fb4699aad863466a8c3d3d95", - "blockNumber": "0x112ad81", - "transactionHash": "0xb7005973c0dc14f11e1aa011f71a3196b51907ed6d03f03d72c9cdef33c87069", + "blockHash": "0x3cfef4a3e8cb1280ee90ebc1fb18940197589830bcdfa61f8e95cee9ccb168b4", + "blockNumber": "0x113c3db", + "transactionHash": "0x1021c719e2f92aa15b5105bfa35ab1abd61dad9fa1e33a49639af5267dc5615a", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -2154,13 +2154,13 @@ "status": "0x1", "logsBloom": "0x00000000008000000000000000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000400000000000000000000000000080000000000000000020000000000000000000000000000000000000080000000000000000040000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xbed87493" + "effectiveGasPrice": "0xbffd3cf6" }, { - "transactionHash": "0x81ffbf4cad8562d0e805069c6594352f23a9149200b83384b439c06681f451a1", + "transactionHash": "0x4ec188d918c202f7a7604f6ec9cc541e73d82e7c2cbcac4a66a69075d4824b64", "transactionIndex": "0x0", - "blockHash": "0xf6e99ebc2693136bc364693cee09d4ac4f547cdf4bdff94650c0154b9e1e853d", - "blockNumber": "0x112ad82", + "blockHash": "0xdd4e93b2627ef335a9ffc7a32b8f6717039e0b18ea036af9c3cf2cf35c4c78e9", + "blockNumber": "0x113c3dc", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0xc8d7", @@ -2170,13 +2170,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xbd5f5227" + "effectiveGasPrice": "0xbe60405b" }, { - "transactionHash": "0xf2788fe6073e3b4a5e6ffc7a567279773127200b5aa86c8699d48f6bef8b377f", + "transactionHash": "0x57441df46cf40bfeb3d0d6b3faf56acda7540cd9ab79deb9f511820b941a2f7e", "transactionIndex": "0x0", - "blockHash": "0x527ce361e30393d706169886f4c279722c0f15f758ca673ccf8c846d7f7c5fcd", - "blockNumber": "0x112ad83", + "blockHash": "0xbbb59013f2ae305ee3820888b6b72e4672e9a844e87bbeffc2059d711c10fb8f", + "blockNumber": "0x113c3dd", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -2192,9 +2192,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x527ce361e30393d706169886f4c279722c0f15f758ca673ccf8c846d7f7c5fcd", - "blockNumber": "0x112ad83", - "transactionHash": "0xf2788fe6073e3b4a5e6ffc7a567279773127200b5aa86c8699d48f6bef8b377f", + "blockHash": "0xbbb59013f2ae305ee3820888b6b72e4672e9a844e87bbeffc2059d711c10fb8f", + "blockNumber": "0x113c3dd", + "transactionHash": "0x57441df46cf40bfeb3d0d6b3faf56acda7540cd9ab79deb9f511820b941a2f7e", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2204,13 +2204,13 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000800000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xbc0e9c1c" + "effectiveGasPrice": "0xbcef88b8" }, { - "transactionHash": "0xe717adcd28f4545b644128b4021eda57f19dbddc1e60b01c6e36a17cbd772d97", + "transactionHash": "0x66fe887b8a813f9fc65a8994c272680290db3470a256fb05abd621fe68a650c4", "transactionIndex": "0x0", - "blockHash": "0xf05920c7b55a5b9140c58f8bf8cbe5a8254d9e588d83b561051a549800fa9146", - "blockNumber": "0x112ad84", + "blockHash": "0x3cc768840b3dee067183c1ceae761247f391622de864864d216946cc5aefeb12", + "blockNumber": "0x113c3de", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -2226,9 +2226,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xf05920c7b55a5b9140c58f8bf8cbe5a8254d9e588d83b561051a549800fa9146", - "blockNumber": "0x112ad84", - "transactionHash": "0xe717adcd28f4545b644128b4021eda57f19dbddc1e60b01c6e36a17cbd772d97", + "blockHash": "0x3cc768840b3dee067183c1ceae761247f391622de864864d216946cc5aefeb12", + "blockNumber": "0x113c3de", + "transactionHash": "0x66fe887b8a813f9fc65a8994c272680290db3470a256fb05abd621fe68a650c4", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2238,13 +2238,13 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080200000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xbae87bf4" + "effectiveGasPrice": "0xbbad7341" }, { - "transactionHash": "0x349eb0b5cfc21cc0d51b201cc268616703c5ab8146d184399e6639b82c8d2011", + "transactionHash": "0xb6b2183376fac2ddfe1a27864f644ff108dca4a9029a15b35c156d56074095e3", "transactionIndex": "0x0", - "blockHash": "0x9ad99bbef2732d85da99f3533930ee9ac2bbcff20310271921940122543603ff", - "blockNumber": "0x112ad85", + "blockHash": "0x72dbd37719a99783245b1d0d7ce744e7c4796a162ea0ee29a37447f61ca88d2d", + "blockNumber": "0x113c3df", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -2260,9 +2260,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x9ad99bbef2732d85da99f3533930ee9ac2bbcff20310271921940122543603ff", - "blockNumber": "0x112ad85", - "transactionHash": "0x349eb0b5cfc21cc0d51b201cc268616703c5ab8146d184399e6639b82c8d2011", + "blockHash": "0x72dbd37719a99783245b1d0d7ce744e7c4796a162ea0ee29a37447f61ca88d2d", + "blockNumber": "0x113c3df", + "transactionHash": "0xb6b2183376fac2ddfe1a27864f644ff108dca4a9029a15b35c156d56074095e3", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2272,26 +2272,26 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000088000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb9e6eb2a" + "effectiveGasPrice": "0xba9366d0" }, { - "transactionHash": "0x6a347e0caf8aaf453dae69d18f90816d49477813030b58a5fa60442104012171", + "transactionHash": "0xcda3f96764a0a59659d0f2d9837aba08ad3e7e2b57ba95344d4a91c1ab1dfd93", "transactionIndex": "0x0", - "blockHash": "0x7ec545f41a58dd9ff6fcd2ede8f205db393528c6c64c7ad401cd40e5b47be161", - "blockNumber": "0x112ad86", + "blockHash": "0x56a804207e330b9166df09d104c64cfebb9e2e7f331ed0a91df5e37832b69b19", + "blockNumber": "0x113c3e0", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x454bc7", - "gasUsed": "0x454bc7", + "cumulativeGasUsed": "0x45526f", + "gasUsed": "0x45526f", "contractAddress": "0x773305308C2eDEE9Dbea7C0467953f165328B35D", "logs": [ { "address": "0x773305308C2eDEE9Dbea7C0467953f165328B35D", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x7ec545f41a58dd9ff6fcd2ede8f205db393528c6c64c7ad401cd40e5b47be161", - "blockNumber": "0x112ad86", - "transactionHash": "0x6a347e0caf8aaf453dae69d18f90816d49477813030b58a5fa60442104012171", + "blockHash": "0x56a804207e330b9166df09d104c64cfebb9e2e7f331ed0a91df5e37832b69b19", + "blockNumber": "0x113c3e0", + "transactionHash": "0xcda3f96764a0a59659d0f2d9837aba08ad3e7e2b57ba95344d4a91c1ab1dfd93", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2301,17 +2301,17 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000004000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb9055e5d" + "effectiveGasPrice": "0xb99c696f" }, { - "transactionHash": "0xd27c61b960e3a1291313786e3ef8d8a4abef6feb319e170c4a9bde554e17df91", + "transactionHash": "0xabd44ee4999b7f37707c7c08d1868e30ebdcc58d42d2a5e273c7aa3a65629232", "transactionIndex": "0x0", - "blockHash": "0x1991d860b05949da26f5b62eeee00b3aca8ef40eeeaa831b900f37387747a8ce", - "blockNumber": "0x112ad87", + "blockHash": "0x31c1272d25ffeae330416603ff1bb4dd7b3c3ee1dd9fe34559ef09d2df767039", + "blockNumber": "0x113c3e1", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x34851", - "gasUsed": "0x34851", + "cumulativeGasUsed": "0x347e1", + "gasUsed": "0x347e1", "contractAddress": "0xeC32DEF9D46A88CEa86171B4aBfc055c23220163", "logs": [ { @@ -2321,9 +2321,9 @@ "0x000000000000000000000000773305308c2edee9dbea7c0467953f165328b35d" ], "data": "0x", - "blockHash": "0x1991d860b05949da26f5b62eeee00b3aca8ef40eeeaa831b900f37387747a8ce", - "blockNumber": "0x112ad87", - "transactionHash": "0xd27c61b960e3a1291313786e3ef8d8a4abef6feb319e170c4a9bde554e17df91", + "blockHash": "0x31c1272d25ffeae330416603ff1bb4dd7b3c3ee1dd9fe34559ef09d2df767039", + "blockNumber": "0x113c3e1", + "transactionHash": "0xabd44ee4999b7f37707c7c08d1868e30ebdcc58d42d2a5e273c7aa3a65629232", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2333,9 +2333,9 @@ "address": "0xeC32DEF9D46A88CEa86171B4aBfc055c23220163", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x1991d860b05949da26f5b62eeee00b3aca8ef40eeeaa831b900f37387747a8ce", - "blockNumber": "0x112ad87", - "transactionHash": "0xd27c61b960e3a1291313786e3ef8d8a4abef6feb319e170c4a9bde554e17df91", + "blockHash": "0x31c1272d25ffeae330416603ff1bb4dd7b3c3ee1dd9fe34559ef09d2df767039", + "blockNumber": "0x113c3e1", + "transactionHash": "0xabd44ee4999b7f37707c7c08d1868e30ebdcc58d42d2a5e273c7aa3a65629232", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -2345,13 +2345,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000002000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080020000000000000100000000080000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb87ae104" + "effectiveGasPrice": "0xb904c861" }, { - "transactionHash": "0xc9fef419db5c4c20aaf9ba6247366fc53cbe9fa9b958fa5cc5853a9f05cd7df3", + "transactionHash": "0x338bc10419d7e9d2120ac2a2dd93d38716f6eee3a938aaf4cdac8fa2957aff8d", "transactionIndex": "0x0", - "blockHash": "0xc31d5a1fe49e477bbd9b4474fe6784894538d05eb7daa137aa5313a4db1dbe40", - "blockNumber": "0x112ad88", + "blockHash": "0xbea31bf17c5427a86cc99e8b86c85fefda6282fc8a49632ed0d97bca4cfc1576", + "blockNumber": "0x113c3e2", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0xc8c0", @@ -2361,13 +2361,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb7c82a51" + "effectiveGasPrice": "0xb84113ab" }, { - "transactionHash": "0xbc7201360c1cbed21a3ad399bb23a58e1657d97248354a832f6dc7be69756109", + "transactionHash": "0xe5ca0b65ef3a097777f1d1226c7976da876c2568c9afd2561eaa213798904055", "transactionIndex": "0x0", - "blockHash": "0x1dc92ac15f89b58c4cd3f93993311f9948e29525c2f1caf844cfbe4b5e4ec50d", - "blockNumber": "0x112ad89", + "blockHash": "0xdc1e6af2cb7108c52ab7800fd919873c8456c1c1a72f2c970973a2294449d3ff", + "blockNumber": "0x113c3e3", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x18a98", @@ -2383,9 +2383,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x1dc92ac15f89b58c4cd3f93993311f9948e29525c2f1caf844cfbe4b5e4ec50d", - "blockNumber": "0x112ad89", - "transactionHash": "0xbc7201360c1cbed21a3ad399bb23a58e1657d97248354a832f6dc7be69756109", + "blockHash": "0xdc1e6af2cb7108c52ab7800fd919873c8456c1c1a72f2c970973a2294449d3ff", + "blockNumber": "0x113c3e3", + "transactionHash": "0xe5ca0b65ef3a097777f1d1226c7976da876c2568c9afd2561eaa213798904055", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2395,26 +2395,26 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb729bc37" + "effectiveGasPrice": "0xb79395a7" }, { - "transactionHash": "0xe3b99733f79dc0448602da216a8bcca09ee0402f599bdc8562a22ecf32ce5d92", + "transactionHash": "0xf439538bd7bc6e79154187fcb0f41197b2962c898a7b7393946a867847846613", "transactionIndex": "0x0", - "blockHash": "0xaa5a7c37defa442e38b04d2293d1f827dcdd3fe99d5cf837fb421b175f70257c", - "blockNumber": "0x112ad8a", + "blockHash": "0xd5c59d3327bf7988844cb7c7bcea1c96d1c99695d04ed3d44ad8a767accf473e", + "blockNumber": "0x113c3e4", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x47f686", - "gasUsed": "0x47f686", + "cumulativeGasUsed": "0x47fd36", + "gasUsed": "0x47fd36", "contractAddress": "0x4b9E41D9bE1A76E9160c73af782012b9868d0cE4", "logs": [ { "address": "0x4b9E41D9bE1A76E9160c73af782012b9868d0cE4", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xaa5a7c37defa442e38b04d2293d1f827dcdd3fe99d5cf837fb421b175f70257c", - "blockNumber": "0x112ad8a", - "transactionHash": "0xe3b99733f79dc0448602da216a8bcca09ee0402f599bdc8562a22ecf32ce5d92", + "blockHash": "0xd5c59d3327bf7988844cb7c7bcea1c96d1c99695d04ed3d44ad8a767accf473e", + "blockNumber": "0x113c3e4", + "transactionHash": "0xf439538bd7bc6e79154187fcb0f41197b2962c898a7b7393946a867847846613", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2424,17 +2424,17 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080800000010000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb69f805f" + "effectiveGasPrice": "0xb6fc3571" }, { - "transactionHash": "0xe9b665bd1ab80e28e6b5e9a276b019dc1adf95a5c5718f33b9bfe793cece2750", + "transactionHash": "0x7ba6be8dab08ae54b1251c6b30df94d73cfc203bf85c88b6f6e557b3146a12b4", "transactionIndex": "0x0", - "blockHash": "0x08761d447ea5bdef3b6eb5901688ca28d98c14b3244faa036a41f1b15c72e454", - "blockNumber": "0x112ad8b", + "blockHash": "0x26d6b0f94fad00f8d942a3078f94396a2c7a6d25d4908bea2d95ec0881e1c565", + "blockNumber": "0x113c3e5", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x44ec8", - "gasUsed": "0x44ec8", + "cumulativeGasUsed": "0x44e58", + "gasUsed": "0x44e58", "contractAddress": "0x5aa6CA888B30105d9b5E42110850CA3Ba2FF7ABd", "logs": [ { @@ -2444,9 +2444,9 @@ "0x0000000000000000000000004b9e41d9be1a76e9160c73af782012b9868d0ce4" ], "data": "0x", - "blockHash": "0x08761d447ea5bdef3b6eb5901688ca28d98c14b3244faa036a41f1b15c72e454", - "blockNumber": "0x112ad8b", - "transactionHash": "0xe9b665bd1ab80e28e6b5e9a276b019dc1adf95a5c5718f33b9bfe793cece2750", + "blockHash": "0x26d6b0f94fad00f8d942a3078f94396a2c7a6d25d4908bea2d95ec0881e1c565", + "blockNumber": "0x113c3e5", + "transactionHash": "0x7ba6be8dab08ae54b1251c6b30df94d73cfc203bf85c88b6f6e557b3146a12b4", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2456,9 +2456,9 @@ "address": "0x5aa6CA888B30105d9b5E42110850CA3Ba2FF7ABd", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x08761d447ea5bdef3b6eb5901688ca28d98c14b3244faa036a41f1b15c72e454", - "blockNumber": "0x112ad8b", - "transactionHash": "0xe9b665bd1ab80e28e6b5e9a276b019dc1adf95a5c5718f33b9bfe793cece2750", + "blockHash": "0x26d6b0f94fad00f8d942a3078f94396a2c7a6d25d4908bea2d95ec0881e1c565", + "blockNumber": "0x113c3e5", + "transactionHash": "0x7ba6be8dab08ae54b1251c6b30df94d73cfc203bf85c88b6f6e557b3146a12b4", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -2468,13 +2468,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000020000000000000000000000000000000001000000400000000000000000000000000000004000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000", "type": "0x2", - "effectiveGasPrice": "0xb64bef0e" + "effectiveGasPrice": "0xb6a0b622" }, { - "transactionHash": "0xb9a5353f824400738df31cc90da5dc403273a1ad75df50edab798eec91a89f1a", + "transactionHash": "0x87b3e9380ac87d9c981448fa7d11b21f519f9823527b4f653beb6325aa69007e", "transactionIndex": "0x0", - "blockHash": "0xc9e79ab4cb47ce22d82907a7a3df63d18c25ba70ed28bf25903443172acd4309", - "blockNumber": "0x112ad8c", + "blockHash": "0x53215c2c3fb9c07f1500db0f60837fe39acf3013f04835eba788ff1a093b2a54", + "blockNumber": "0x113c3e6", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0xc8a0", @@ -2484,14 +2484,14 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb5de95e2" + "effectiveGasPrice": "0xb628f6e7" } ], "libraries": ["src/dollar/libraries/LibCreditNftManager.sol:LibCreditNftManager:0x5d00797f4d5a2eed04d75a8d3cff1721e859b35d"], "pending": [], "returns": {}, - "timestamp": 1693082257, + "timestamp": 1693944039, "chain": 31337, "multi": false, - "commit": "b4bcdc0d" + "commit": "dbad8e15" } diff --git a/packages/contracts/scripts/deploy/dollar/solidityScripting/02_UbiquityDollarToken.s.sol b/packages/contracts/scripts/deploy/dollar/solidityScripting/02_UbiquityDollarToken.s.sol index af5786e50..5c0c11150 100644 --- a/packages/contracts/scripts/deploy/dollar/solidityScripting/02_UbiquityDollarToken.s.sol +++ b/packages/contracts/scripts/deploy/dollar/solidityScripting/02_UbiquityDollarToken.s.sol @@ -2,15 +2,15 @@ pragma solidity 0.8.19; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; + import "./01_Diamond.s.sol"; -import {UupsProxy} from "../../../../test/helpers/UupsProxy.sol"; contract DollarScript is DiamondScript { address metapool; - UbiquityDollarToken public uDollarToken; - UbiquityDollarToken public dollar; - UupsProxy public proxyUDollarToken; + UbiquityDollarToken public dollarToken; + ERC1967Proxy public proxyDollarToken; function run() public virtual override { super.run(); @@ -19,18 +19,18 @@ contract DollarScript is DiamondScript { "initialize(address)", address(diamond) ); - uDollarToken = new UbiquityDollarToken(); - proxyUDollarToken = new UupsProxy( - address(uDollarToken), + + proxyDollarToken = new ERC1967Proxy( + address(new UbiquityDollarToken()), managerPayload ); - dollar = UbiquityDollarToken(address(proxyUDollarToken)); + dollarToken = UbiquityDollarToken(address(proxyDollarToken)); - IManager.setDollarTokenAddress(address(dollar)); + IManager.setDollarTokenAddress(address(dollarToken)); IAccessControl.grantRole(DOLLAR_TOKEN_MINTER_ROLE, address(diamond)); IAccessControl.grantRole(DOLLAR_TOKEN_BURNER_ROLE, address(diamond)); - dollar.mint(address(diamond), 10000e18); + dollarToken.mint(address(diamond), 10000e18); uint256 adminBal = IERC20(curve3PoolToken).balanceOf(admin); console.log("----ADMIN 3CRV bal:", adminBal); // deployer needs 10000 3CRV to deploy the pool diff --git a/packages/contracts/scripts/deploy/dollar/solidityScripting/03_UbiquityGovernanceToken.s.sol b/packages/contracts/scripts/deploy/dollar/solidityScripting/03_UbiquityGovernanceToken.s.sol index 34e215a6b..6bc686741 100644 --- a/packages/contracts/scripts/deploy/dollar/solidityScripting/03_UbiquityGovernanceToken.s.sol +++ b/packages/contracts/scripts/deploy/dollar/solidityScripting/03_UbiquityGovernanceToken.s.sol @@ -4,9 +4,8 @@ pragma solidity 0.8.19; import "./02_UbiquityDollarToken.s.sol"; contract GovernanceScript is DollarScript { - UbiquityGovernanceToken public uGovToken; - UbiquityGovernanceToken public governance; - UupsProxy public proxyUGovToken; + UbiquityGovernanceToken public governanceToken; + ERC1967Proxy public proxyGovernanceToken; function run() public virtual override { super.run(); @@ -17,11 +16,15 @@ contract GovernanceScript is DollarScript { address(diamond) ); - uGovToken = new UbiquityGovernanceToken(); - proxyUGovToken = new UupsProxy(address(uGovToken), managerPayload); - governance = UbiquityGovernanceToken(address(proxyUGovToken)); + proxyGovernanceToken = new ERC1967Proxy( + address(new UbiquityGovernanceToken()), + managerPayload + ); + governanceToken = UbiquityGovernanceToken( + address(proxyGovernanceToken) + ); - IManager.setGovernanceTokenAddress(address(governance)); + IManager.setGovernanceTokenAddress(address(governanceToken)); // grant diamond token admin rights IAccessControl.grantRole( GOVERNANCE_TOKEN_MINTER_ROLE, diff --git a/packages/contracts/scripts/deploy/dollar/solidityScripting/04_UbiquityCredit.s.sol b/packages/contracts/scripts/deploy/dollar/solidityScripting/04_UbiquityCredit.s.sol index 3d3f146a4..9a301446a 100644 --- a/packages/contracts/scripts/deploy/dollar/solidityScripting/04_UbiquityCredit.s.sol +++ b/packages/contracts/scripts/deploy/dollar/solidityScripting/04_UbiquityCredit.s.sol @@ -6,13 +6,11 @@ import {UbiquityCreditToken} from "../../../../src/dollar/core/UbiquityCreditTok import {CreditNft} from "../../../../src/dollar/core/CreditNft.sol"; contract CreditScript is GovernanceScript { - UbiquityCreditToken public uCreditToken; UbiquityCreditToken public creditToken; - UupsProxy public proxyUCreditToken; - CreditNft public creditNft; - CreditNft public IUbiquityNft; - UupsProxy public proxyCreditNft; + + ERC1967Proxy public proxyCreditToken; + ERC1967Proxy public proxyCreditNft; function run() public virtual override { super.run(); @@ -21,12 +19,12 @@ contract CreditScript is GovernanceScript { "initialize(address)", address(diamond) ); - uCreditToken = new UbiquityCreditToken(); - proxyUCreditToken = new UupsProxy( - address(uCreditToken), + + proxyCreditToken = new ERC1967Proxy( + address(new UbiquityCreditToken()), managerPayload ); - creditToken = UbiquityCreditToken(address(proxyUCreditToken)); + creditToken = UbiquityCreditToken(address(proxyCreditToken)); IManager.setCreditTokenAddress(address(creditToken)); @@ -34,11 +32,13 @@ contract CreditScript is GovernanceScript { IAccessControl.grantRole(CREDIT_TOKEN_BURNER_ROLE, address(diamond)); IAccessControl.grantRole(CREDIT_NFT_MANAGER_ROLE, address(diamond)); - creditNft = new CreditNft(); - proxyCreditNft = new UupsProxy(address(creditNft), managerPayload); - IUbiquityNft = CreditNft(address(proxyCreditNft)); + proxyCreditNft = new ERC1967Proxy( + address(new CreditNft()), + managerPayload + ); + creditNft = CreditNft(address(proxyCreditNft)); - IManager.setCreditNftAddress(address(IUbiquityNft)); + IManager.setCreditNftAddress(address(creditNft)); vm.stopBroadcast(); } diff --git a/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol b/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol index bb7379b65..9fbe8d5c6 100644 --- a/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol +++ b/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol @@ -5,8 +5,7 @@ import "./04_UbiquityCredit.s.sol"; contract StakingShareScript is CreditScript { StakingShare public stakingShare; - StakingShare public IStakingShareToken; - UupsProxy public proxyStakingShare; + ERC1967Proxy public proxyStakingShare; function run() public virtual override { super.run(); @@ -22,11 +21,11 @@ contract StakingShareScript is CreditScript { address(diamond), uri ); - IStakingShareToken = new StakingShare(); - proxyStakingShare = new UupsProxy( - address(IStakingShareToken), + proxyStakingShare = new ERC1967Proxy( + address(new StakingShare()), manAndUriPayload ); + stakingShare = StakingShare(address(proxyStakingShare)); IManager.setStakingShareAddress(address(stakingShare)); diff --git a/packages/contracts/src/dollar/core/CreditNft.sol b/packages/contracts/src/dollar/core/CreditNft.sol index 50a0ec9cc..f5f0a1584 100644 --- a/packages/contracts/src/dollar/core/CreditNft.sol +++ b/packages/contracts/src/dollar/core/CreditNft.sol @@ -52,19 +52,13 @@ contract CreditNft is ERC1155Ubiquity, ICreditNft { _; } - // /** - // * @notice Contract constructor - // * @dev URI param is if we want to add an off-chain meta data uri associated with this contract - // * @param _manager Access control address - // */ - // constructor(address _manager) ERC1155Ubiquity(_manager, "URI") { - // _totalOutstandingDebt = 0; - // } - + /// @notice Ensures initialize cannot be called on the implementation contract constructor() { _disableInitializers(); } + /// @notice Initializes the contract + /// @param _manager Address of the manager of the contract function initialize(address _manager) public initializer { __ERC1155Ubiquity_init(_manager, "URI"); _totalOutstandingDebt = 0; @@ -171,6 +165,8 @@ contract CreditNft is ERC1155Ubiquity, ICreditNft { return outstandingDebt; } + /// @notice Allows an admin to upgrade to another implementation contract + /// @param newImplementation Address of the new implementation contract function _authorizeUpgrade( address newImplementation ) internal override(ERC1155Ubiquity) onlyAdmin {} diff --git a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol index 4617ee9b8..468818584 100644 --- a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol @@ -73,24 +73,19 @@ contract ERC1155Ubiquity is _; } - // /** - // * @notice Contract constructor - // * @param _manager Access control address - // * @param uri Base URI - // */ - // constructor(address _manager, string memory uri) ERC1155(uri) { - // accessControl = IAccessControl(_manager); - // } - + /// @notice Ensures __ERC1155Ubiquity_init cannot be called on the implementation contract constructor() { _disableInitializers(); } + /// @notice Initializes this contract which is only possible through inheritance + /// @param _manager Address of the manager of the contract + /// @param _uri Base URI function __ERC1155Ubiquity_init( address _manager, - string memory uri + string memory _uri ) public initializer onlyInitializing { - __ERC1155_init(uri); + __ERC1155_init(_uri); __ERC1155Burnable_init(); __ERC1155Pausable_init(); __UUPSUpgradeable_init(); @@ -300,9 +295,12 @@ contract ERC1155Ubiquity is super._beforeTokenTransfer(operator, from, to, ids, amounts, data); } + /// @notice Allows an admin to upgrade to another implementation contract + /// @param newImplementation Address of the new implementation contract function _authorizeUpgrade( address newImplementation ) internal virtual override onlyAdmin {} + /// @notice Allows for future upgrades on the base contract without affecting the storage of the derived contract uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol index 97301a29c..be25bebd1 100644 --- a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol @@ -58,25 +58,15 @@ abstract contract ERC20Ubiquity is _; } - // /** - // * @notice Contract constructor - // * @param _manager Access control address - // * @param name_ Token name - // * @param symbol_ Token symbol - // */ - // constructor( - // address _manager, - // string memory name_, - // string memory symbol_ - // ) ERC20(name_, symbol_) ERC20Permit(name_) { - // _symbol = symbol_; - // accessControl = IAccessControl(_manager); - // } - + /// @notice Ensures __ERC20Ubiquity_init cannot be called on the implementation contract constructor() { _disableInitializers(); } + /// @notice Initializes this contract which is only possible through inheritance + /// @param _manager Address of the manager of the contract + /// @param name_ Token name + /// @param symbol_ Token symbol function __ERC20Ubiquity_init( address _manager, string memory name_, @@ -193,10 +183,6 @@ abstract contract ERC20Ubiquity is super._transfer(sender, recipient, amount); } - function _authorizeUpgrade( - address newImplementation - ) internal virtual override onlyAdmin {} - function allowance( address owner, address spender @@ -277,5 +263,12 @@ abstract contract ERC20Ubiquity is return super.transferFrom(sender, recipient, amount); } + /// @notice Allows an admin to upgrade to another implementation contract + /// @param newImplementation Address of the new implementation contract + function _authorizeUpgrade( + address newImplementation + ) internal virtual override onlyAdmin {} + + /// @notice Allows for future upgrades on the base contract without affecting the storage of the derived contract uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/StakingShare.sol b/packages/contracts/src/dollar/core/StakingShare.sol index fbb14ae0a..fc82a794f 100644 --- a/packages/contracts/src/dollar/core/StakingShare.sol +++ b/packages/contracts/src/dollar/core/StakingShare.sol @@ -70,20 +70,14 @@ contract StakingShare is _; } - // /** - // * @notice Contract constructor - // * @param _manager Access control address - // * @param _uri URI string - // */ - // constructor( - // address _manager, - // string memory _uri - // ) ERC1155Ubiquity(_manager, _uri) {} - + /// @notice Ensures initialize cannot be called on the implementation contract constructor() { _disableInitializers(); } + /// @notice Initializes this contract + /// @param _manager Address of the manager of the contract + /// @param _uri Base URI function initialize( address _manager, string memory _uri @@ -292,9 +286,9 @@ contract StakingShare is return _baseURI; } + /// @notice Allows an admin to upgrade to another implementation contract + /// @param newImplementation Address of the new implementation contract function _authorizeUpgrade( address newImplementation ) internal override onlyAdmin {} - - uint256[50] private __gap; } diff --git a/packages/contracts/src/dollar/core/UbiquityCreditToken.sol b/packages/contracts/src/dollar/core/UbiquityCreditToken.sol index 8d7c42d53..021438b08 100644 --- a/packages/contracts/src/dollar/core/UbiquityCreditToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityCreditToken.sol @@ -11,21 +11,13 @@ import "../libraries/Constants.sol"; * @notice Credit token contract */ contract UbiquityCreditToken is ERC20Ubiquity { - // /** - // * @notice Contract constructor - // * @param _manager Access control address - // */ - // constructor( - // address _manager - // ) - // // cspell: disable-next-line - // ERC20Ubiquity(_manager, "Ubiquity Credit", "uCR") - // {} // solhint-disable-line no-empty-blocks - + /// @notice Ensures initialize cannot be called on the implementation contract constructor() { _disableInitializers(); } + /// @notice Initializes the contract + /// @param _manager Address of the Ubiquity Manager function initialize(address _manager) public initializer { // cspell: disable-next-line __ERC20Ubiquity_init(_manager, "Ubiquity Credit", "uCR"); @@ -87,4 +79,10 @@ contract UbiquityCreditToken is ERC20Ubiquity { _mint(to, amount); emit Minting(to, _msgSender(), amount); } + + /// @notice Allows an admin to upgrade to another implementation contract + /// @param newImplementation Address of the new implementation contract + function _authorizeUpgrade( + address newImplementation + ) internal override onlyAdmin {} } diff --git a/packages/contracts/src/dollar/core/UbiquityDollarToken.sol b/packages/contracts/src/dollar/core/UbiquityDollarToken.sol index ed652187c..0c157185d 100644 --- a/packages/contracts/src/dollar/core/UbiquityDollarToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityDollarToken.sol @@ -23,21 +23,13 @@ contract UbiquityDollarToken is ERC20Ubiquity { address indexed _incentiveContract ); - // /** - // * @notice Contract constructor - // * @param _manager Access control address - // */ - // constructor( - // address _manager - // ) - // // cspell: disable-next-line - // ERC20Ubiquity(_manager, "Ubiquity Dollar", "uAD") - // {} // solhint-disable-line no-empty-blocks, max-line-length - + /// @notice Ensures initialize cannot be called on the implementation contract constructor() { _disableInitializers(); } + /// @notice Initializes the contract + /// @param _manager Address of the Ubiquity Manager function initialize(address _manager) public initializer { // cspell: disable-next-line __ERC20Ubiquity_init(_manager, "Ubiquity Dollar", "uAD"); @@ -191,4 +183,10 @@ contract UbiquityDollarToken is ERC20Ubiquity { _mint(to, amount); emit Minting(to, _msgSender(), amount); } + + /// @notice Allows an admin to upgrade to another implementation contract + /// @param newImplementation Address of the new implementation contract + function _authorizeUpgrade( + address newImplementation + ) internal override onlyAdmin {} } diff --git a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol index 512366b46..b40884af1 100644 --- a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol @@ -11,21 +11,13 @@ import "../libraries/Constants.sol"; * @notice Ubiquity Governance token contract */ contract UbiquityGovernanceToken is Initializable, ERC20Ubiquity { - // /** - // * @notice Contract constructor - // * @param _manager Access control address - // */ - // constructor( - // address _manager - // ) - // // cspell: disable-next-line - // ERC20Ubiquity(_manager, "Ubiquity", "UBQ") - // {} // solhint-disable-line no-empty-blocks, max-line-length - + /// @notice Ensures initialize cannot be called on the implementation contract constructor() { _disableInitializers(); } + /// @notice Initializes the contract + /// @param _manager Address of the Ubiquity Manager function initialize(address _manager) public initializer { // cspell: disable-next-line __ERC20Ubiquity_init(_manager, "Ubiquity", "UBQ"); @@ -76,4 +68,10 @@ contract UbiquityGovernanceToken is Initializable, ERC20Ubiquity { _mint(to, amount); emit Minting(to, _msgSender(), amount); } + + /// @notice Allows an admin to upgrade to another implementation contract + /// @param newImplementation Address of the new implementation contract + function _authorizeUpgrade( + address newImplementation + ) internal override onlyAdmin {} } diff --git a/packages/contracts/test/helpers/DiamondTestHelper.sol b/packages/contracts/test/helpers/DiamondTestHelper.sol index 5a5e7f603..a8ff88f3c 100644 --- a/packages/contracts/test/helpers/DiamondTestHelper.sol +++ b/packages/contracts/test/helpers/DiamondTestHelper.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -import {UupsProxy} from "./UupsProxy.sol"; +import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; import {UbiquityGovernanceToken} from "../../src/dollar/core/UbiquityGovernanceToken.sol"; import {UbiquityDollarToken} from "../../src/dollar/core/UbiquityDollarToken.sol"; import {UbiquityCreditToken} from "../../src/dollar/core/UbiquityCreditToken.sol"; @@ -35,13 +35,13 @@ contract UupsTestHelper { ERC1155Ubiquity public IUbiquiStick; ERC1155Ubiquity public stakingShareV1; - UupsProxy public proxyCreditNft; - UupsProxy public proxyStakingShare; - UupsProxy public proxyUCreditToken; - UupsProxy public proxyUDollarToken; - UupsProxy public proxyUGovToken; - UupsProxy public proxyUbiquiStick; - UupsProxy public proxyStakingShareV1; + ERC1967Proxy public proxyCreditNft; + ERC1967Proxy public proxyStakingShare; + ERC1967Proxy public proxyUCreditToken; + ERC1967Proxy public proxyUDollarToken; + ERC1967Proxy public proxyUGovToken; + ERC1967Proxy public proxyUbiquiStick; + ERC1967Proxy public proxyStakingShareV1; ManagerFacet iManager; AccessControlFacet IAccessControl; @@ -63,32 +63,32 @@ contract UupsTestHelper { ); creditNft = new CreditNft(); - proxyCreditNft = new UupsProxy(address(creditNft), managerPayload); + proxyCreditNft = new ERC1967Proxy(address(creditNft), managerPayload); IUbiquityNft = CreditNft(address(proxyCreditNft)); stakingShare = new StakingShare(); - proxyStakingShare = new UupsProxy( + proxyStakingShare = new ERC1967Proxy( address(stakingShare), manAndUriPayload ); IStakingShareToken = StakingShare(address(proxyStakingShare)); uCreditToken = new UbiquityCreditToken(); - proxyUCreditToken = new UupsProxy( + proxyUCreditToken = new ERC1967Proxy( address(uCreditToken), managerPayload ); creditToken = UbiquityCreditToken(address(proxyUCreditToken)); uDollarToken = new UbiquityDollarToken(); - proxyUDollarToken = new UupsProxy( + proxyUDollarToken = new ERC1967Proxy( address(uDollarToken), managerPayload ); IDollar = UbiquityDollarToken(address(proxyUDollarToken)); uGovToken = new UbiquityGovernanceToken(); - proxyUGovToken = new UupsProxy(address(uGovToken), managerPayload); + proxyUGovToken = new ERC1967Proxy(address(uGovToken), managerPayload); IGovToken = UbiquityGovernanceToken(address(proxyUGovToken)); bytes memory ubq1155Payload = abi.encodeWithSignature( @@ -98,11 +98,14 @@ contract UupsTestHelper { ); ubiquiStick = new ERC1155Ubiquity(); - proxyUbiquiStick = new UupsProxy(address(ubiquiStick), ubq1155Payload); + proxyUbiquiStick = new ERC1967Proxy( + address(ubiquiStick), + ubq1155Payload + ); IUbiquiStick = ERC1155Ubiquity(address(proxyUbiquiStick)); uStakingShareV1 = new ERC1155Ubiquity(); - proxyStakingShareV1 = new UupsProxy( + proxyStakingShareV1 = new ERC1967Proxy( address(uStakingShareV1), ubq1155Payload ); diff --git a/packages/contracts/test/helpers/UupsProxy.sol b/packages/contracts/test/helpers/UupsProxy.sol deleted file mode 100644 index 5fced9e22..000000000 --- a/packages/contracts/test/helpers/UupsProxy.sol +++ /dev/null @@ -1,11 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -pragma solidity ^0.8.19; - -import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; - -contract UupsProxy is ERC1967Proxy { - constructor( - address _implementation, - bytes memory _data - ) ERC1967Proxy(_implementation, _data) {} -} From 2309ee7c1b0bca7e2d640c02f489775d55eb2f02 Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Tue, 5 Sep 2023 21:25:12 +0100 Subject: [PATCH 07/21] fix: remove import missed comment --- packages/contracts/src/dollar/core/ERC20Ubiquity.sol | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol index be25bebd1..30e46ef13 100644 --- a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol @@ -1,8 +1,6 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -// import {ERC20, ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol"; -// import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol"; import {IAccessControl} from "../interfaces/IAccessControl.sol"; import {DEFAULT_ADMIN_ROLE, PAUSER_ROLE} from "../libraries/Constants.sol"; import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; From 5c83715462110311895448779ed33a3e9364ab81 Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Wed, 6 Sep 2023 12:48:11 +0100 Subject: [PATCH 08/21] fix: unneeded overrides removed unneeded overrides --- .../src/dollar/core/ERC20Ubiquity.sol | 80 ------------------- 1 file changed, 80 deletions(-) diff --git a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol index 30e46ef13..0d49bafd6 100644 --- a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol @@ -181,86 +181,6 @@ abstract contract ERC20Ubiquity is super._transfer(sender, recipient, amount); } - function allowance( - address owner, - address spender - ) public view override(ERC20Upgradeable) returns (uint256) { - return super.allowance(owner, spender); - } - - function approve( - address spender, - uint256 amount - ) public override(ERC20Upgradeable) returns (bool) { - return super.approve(spender, amount); - } - - function balanceOf( - address account - ) public view override(ERC20Upgradeable) returns (uint256) { - return super.balanceOf(account); - } - - function decimals() public view override returns (uint8) { - return super.decimals(); - } - - function decreaseAllowance( - address spender, - uint256 subtractedValue - ) public override returns (bool) { - return super.decreaseAllowance(spender, subtractedValue); - } - - function increaseAllowance( - address spender, - uint256 addedValue - ) public override returns (bool) { - return super.increaseAllowance(spender, addedValue); - } - - function nonces( - address owner - ) public view override(ERC20PermitUpgradeable) returns (uint256) { - return super.nonces(owner); - } - - function permit( - address owner, - address spender, - uint256 value, - uint256 deadline, - uint8 v, - bytes32 r, - bytes32 s - ) public override(ERC20PermitUpgradeable) { - super.permit(owner, spender, value, deadline, v, r, s); - } - - function totalSupply() - public - view - override(ERC20Upgradeable) - returns (uint256) - { - return super.totalSupply(); - } - - function transfer( - address recipient, - uint256 amount - ) public override(ERC20Upgradeable) returns (bool) { - return super.transfer(recipient, amount); - } - - function transferFrom( - address sender, - address recipient, - uint256 amount - ) public override(ERC20Upgradeable) returns (bool) { - return super.transferFrom(sender, recipient, amount); - } - /// @notice Allows an admin to upgrade to another implementation contract /// @param newImplementation Address of the new implementation contract function _authorizeUpgrade( From 0dc083e1810dc00eda953e1ebecfa770603e6e7e Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Thu, 7 Sep 2023 22:08:37 +0100 Subject: [PATCH 09/21] fix: event natspec mint and burn --- packages/contracts/src/dollar/core/ERC20Ubiquity.sol | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol index 0d49bafd6..21bdec08f 100644 --- a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol @@ -31,7 +31,10 @@ abstract contract ERC20Ubiquity is /// @notice Access control interface IAccessControl public accessControl; + /// @notice Emitted when tokens are burned event Burning(address indexed _burned, uint256 _amount); + + /// @notice Emitted when tokens are minted event Minting( address indexed _to, address indexed _minter, From 4dad177e879161b1a01245801cdbb4f00d88f303 Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Sun, 10 Sep 2023 21:04:48 +0100 Subject: [PATCH 10/21] fix: requested changes couple more tests too --- .../src/dollar/core/StakingShare.sol | 2 +- .../src/dollar/mocks/MockShareV1.sol | 19 ++- .../diamond/facets/BondingCurveFacet.t.sol | 2 +- .../test/diamond/facets/ChefFacet.t.sol | 6 +- .../facets/CreditNftManagerFacet.t.sol | 24 ++-- .../CreditNftRedemptionCalculatorFacet.t.sol | 2 +- .../CreditRedemptionCalculatorFacet.t.sol | 2 +- .../test/diamond/facets/StakingFacet.t.sol | 15 +- .../diamond/facets/UbiquityPoolFacet.t.sol | 2 - .../test/dollar/core/CreditNft.t.sol | 7 +- .../test/dollar/core/StakingShare.t.sol | 130 +++++++++++++++-- .../dollar/core/UbiquityCreditToken.t.sol | 2 - .../dollar/core/UbiquityGovernanceToken.t.sol | 6 +- .../test/helpers/DiamondTestHelper.sol | 131 +---------------- .../contracts/test/helpers/UUPSTestHelper.sol | 135 ++++++++++++++++++ 15 files changed, 299 insertions(+), 186 deletions(-) create mode 100644 packages/contracts/test/helpers/UUPSTestHelper.sol diff --git a/packages/contracts/src/dollar/core/StakingShare.sol b/packages/contracts/src/dollar/core/StakingShare.sol index fc82a794f..fad559bfb 100644 --- a/packages/contracts/src/dollar/core/StakingShare.sol +++ b/packages/contracts/src/dollar/core/StakingShare.sol @@ -81,7 +81,7 @@ contract StakingShare is function initialize( address _manager, string memory _uri - ) public initializer { + ) public virtual initializer { __ERC1155Ubiquity_init(_manager, _uri); } diff --git a/packages/contracts/src/dollar/mocks/MockShareV1.sol b/packages/contracts/src/dollar/mocks/MockShareV1.sol index 51b710255..9d13ed87e 100644 --- a/packages/contracts/src/dollar/mocks/MockShareV1.sol +++ b/packages/contracts/src/dollar/mocks/MockShareV1.sol @@ -1,10 +1,9 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; -import "../core/ERC1155Ubiquity.sol"; -import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; +import {StakingShare} from "../../../src/dollar/core/StakingShare.sol"; -contract BondingShare is Initializable, ERC1155Ubiquity { +contract BondingShare is StakingShare { // solhint-disable-next-line no-empty-blocks constructor() { _disableInitializers(); @@ -13,7 +12,19 @@ contract BondingShare is Initializable, ERC1155Ubiquity { function initialize( address _manager, string memory uri - ) public initializer { + ) public override initializer { __ERC1155Ubiquity_init(_manager, uri); } + + function hasUpgraded() public pure virtual returns (bool) { + return true; + } + + function getVersion() public view virtual returns (uint8) { + return super._getInitializedVersion(); + } + + function getImpl() public view virtual returns (address) { + return super._getImplementation(); + } } diff --git a/packages/contracts/test/diamond/facets/BondingCurveFacet.t.sol b/packages/contracts/test/diamond/facets/BondingCurveFacet.t.sol index 1ad545727..44a857fac 100644 --- a/packages/contracts/test/diamond/facets/BondingCurveFacet.t.sol +++ b/packages/contracts/test/diamond/facets/BondingCurveFacet.t.sol @@ -102,7 +102,7 @@ contract ZeroStateBonding is BondingCurveFacetTest { assertEq(collateralDeposited, finBal - initBal); assertEq(tokReturned, result); assertEq(tokReturned, IBondingCurveFacet.getShare(secondAccount)); - assertEq(tokReturned, IUbiquityNft.balanceOf(secondAccount, 1)); + assertEq(tokReturned, creditNft.balanceOf(secondAccount, 1)); } function testWithdraw(uint32 connectorWeight, uint256 baseY) public { diff --git a/packages/contracts/test/diamond/facets/ChefFacet.t.sol b/packages/contracts/test/diamond/facets/ChefFacet.t.sol index f06f46482..172acbcf4 100644 --- a/packages/contracts/test/diamond/facets/ChefFacet.t.sol +++ b/packages/contracts/test/diamond/facets/ChefFacet.t.sol @@ -170,8 +170,6 @@ contract ZeroStateChef is DiamondSetup { metapool.add_liquidity(amounts_, (dyuAD2LP * 99) / 100, fourthAccount); vm.startPrank(admin); - stakingShare = IStakingShareToken; - IManager.setStakingShareAddress(address(stakingShare)); IAccessControl.grantRole( GOVERNANCE_TOKEN_MINTER_ROLE, address(diamond) @@ -286,7 +284,7 @@ contract DepositStateChefTest is DepositStateChef { blocks = bound(blocks, 45361, 2 ** 128 - 1); assertEq(IChefFacet.totalShares(), shares); - uint256 preBal = IGovToken.balanceOf(fourthAccount); + uint256 preBal = governanceToken.balanceOf(fourthAccount); (uint256 lastRewardBlock, ) = IChefFacet.pool(); // currentBlock = block.number; vm.roll(currentBlock + blocks); @@ -303,7 +301,7 @@ contract DepositStateChefTest is DepositStateChef { uint256 userReward = (shares * governancePerShare) / 1e12; vm.prank(fourthAccount); IStakingFacet.removeLiquidity(amount, fourthID); - assertEq(preBal + userReward, IGovToken.balanceOf(fourthAccount)); + assertEq(preBal + userReward, governanceToken.balanceOf(fourthAccount)); } function testGetRewards(uint256 blocks) public { diff --git a/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol b/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol index faba75fc9..f33ac06a5 100644 --- a/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol +++ b/packages/contracts/test/diamond/facets/CreditNftManagerFacet.t.sol @@ -12,8 +12,6 @@ import {IERC20Ubiquity} from "../../../src/dollar/interfaces/IERC20Ubiquity.sol" import {CreditNft} from "../../../src/dollar/core/CreditNft.sol"; import {UbiquityCreditToken} from "../../../src/dollar/core/UbiquityCreditToken.sol"; -import "forge-std/Test.sol"; - contract CreditNftManagerFacetTest is DiamondSetup { CreditNft _creditNft; address dollarManagerAddress; @@ -34,7 +32,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { uint256 admSupply = IDollar.balanceOf(admin); assertEq(admSupply, 10000e18); - _creditNft = IUbiquityNft; + _creditNft = creditNft; vm.prank(admin); IManager.setCreditNftAddress(address(_creditNft)); @@ -157,7 +155,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { { address mockMessageSender = address(0x123); vm.prank(admin); - IUbiquityNft.mintCreditNft(mockMessageSender, 100, 500); + creditNft.mintCreditNft(mockMessageSender, 100, 500); vm.roll(1000); vm.prank(mockMessageSender); vm.expectRevert("User not enough Credit NFT"); @@ -168,7 +166,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { address mockMessageSender = address(0x123); uint256 expiryBlockNumber = 500; vm.startPrank(admin); - IUbiquityNft.mintCreditNft(mockMessageSender, 2e18, expiryBlockNumber); + creditNft.mintCreditNft(mockMessageSender, 2e18, expiryBlockNumber); IAccessControl.grantRole( keccak256("GOVERNANCE_TOKEN_MINTER_ROLE"), creditNftManagerAddress @@ -176,7 +174,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { vm.stopPrank(); vm.roll(1000); vm.startPrank(mockMessageSender); - IUbiquityNft.setApprovalForAll(address(diamond), true); + creditNft.setApprovalForAll(address(diamond), true); ICreditNftManagerFacet.burnExpiredCreditNftForGovernance( expiryBlockNumber, 1e18 @@ -204,7 +202,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { uint256 expiryBlockNumber = 500; vm.startPrank(admin); - IUbiquityNft.mintCreditNft(mockMessageSender, 2e18, expiryBlockNumber); + creditNft.mintCreditNft(mockMessageSender, 2e18, expiryBlockNumber); IAccessControl.grantRole( keccak256("GOVERNANCE_TOKEN_MINTER_ROLE"), creditNftManagerAddress @@ -212,7 +210,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { vm.stopPrank(); vm.startPrank(mockMessageSender); vm.warp(expiryBlockNumber - 1); - IUbiquityNft.setApprovalForAll(address(diamond), true); + creditNft.setApprovalForAll(address(diamond), true); ICreditNftManagerFacet.burnCreditNftForCredit(expiryBlockNumber, 1e18); vm.stopPrank(); uint256 redeemBalance = creditToken.balanceOf(mockMessageSender); @@ -267,7 +265,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { mockTwapFuncs(2e18); address account1 = address(0x123); uint256 expiryBlockNumber = 123123; - IUbiquityNft.mintCreditNft(account1, 100, expiryBlockNumber); + creditNft.mintCreditNft(account1, 100, expiryBlockNumber); vm.expectRevert("User not enough Credit NFT"); vm.prank(account1); vm.roll(expiryBlockNumber - 1); @@ -283,7 +281,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { mockTwapFuncs(2e18); address account1 = address(0x123); uint256 expiryBlockNumber = 123123; - IUbiquityNft.mintCreditNft(account1, 100, expiryBlockNumber); + creditNft.mintCreditNft(account1, 100, expiryBlockNumber); UbiquityCreditToken(creditTokenAddress).mint( creditNftManagerAddress, 20000e18 @@ -314,7 +312,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { mockDollarMintCalcFuncs(0); address account1 = address(0x123); uint256 expiryBlockNumber = 123123; - IUbiquityNft.mintCreditNft(account1, 100, expiryBlockNumber); + creditNft.mintCreditNft(account1, 100, expiryBlockNumber); // MockAutoRedeem(creditTokenAddress).mint(creditNftManagerAddress, 20000e18); // set excess dollar distributor for creditNftAddress @@ -343,7 +341,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { mockDollarMintCalcFuncs(20000e18); address account1 = address(0x123); uint256 expiryBlockNumber = 123123; - IUbiquityNft.mintCreditNft(account1, 100, expiryBlockNumber); + creditNft.mintCreditNft(account1, 100, expiryBlockNumber); creditToken.mint(creditNftManagerAddress, 10000e18); // set excess dollar distributor for debtCouponAddress @@ -355,7 +353,7 @@ contract CreditNftManagerFacetTest is DiamondSetup { abi.encode() ); vm.startPrank(account1); - IUbiquityNft.setApprovalForAll(address(diamond), true); + creditNft.setApprovalForAll(address(diamond), true); vm.roll(expiryBlockNumber - 1); uint256 unredeemedCreditNft = ICreditNftManagerFacet.redeemCreditNft( expiryBlockNumber, diff --git a/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol b/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol index 49fb4505b..06d32686e 100644 --- a/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol +++ b/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol @@ -13,7 +13,7 @@ contract CreditNftRedemptionCalculatorFacetTest is DiamondSetup { IDollar.mint(admin, 10000e18); uint256 admSupply = IDollar.balanceOf(admin); assertEq(admSupply, 10000e18); - _creditNft = IUbiquityNft; + _creditNft = creditNft; vm.startPrank(admin); IManager.setCreditNftAddress(address(_creditNft)); diff --git a/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol b/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol index f9f40aeb6..46cd25dda 100644 --- a/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol +++ b/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol @@ -15,7 +15,7 @@ contract CreditRedemptionCalculatorFacetTest is DiamondSetup { uint256 admSupply = IDollar.balanceOf(admin); assertEq(admSupply, 10000e18); - _creditNft = IUbiquityNft; + _creditNft = creditNft; vm.startPrank(admin); IAccessControl.grantRole(CREDIT_NFT_MANAGER_ROLE, address(this)); _creditNft.mintCreditNft(user1, 100, 10); diff --git a/packages/contracts/test/diamond/facets/StakingFacet.t.sol b/packages/contracts/test/diamond/facets/StakingFacet.t.sol index 679d56ede..f1c8d24ee 100644 --- a/packages/contracts/test/diamond/facets/StakingFacet.t.sol +++ b/packages/contracts/test/diamond/facets/StakingFacet.t.sol @@ -96,11 +96,10 @@ contract ZeroStateStaking is DiamondSetup { } vm.startPrank(admin); - IManager.setStakingShareAddress(address(stakingShareV1)); - stakingShareV1.setApprovalForAll(address(diamond), true); + stakingShare.setApprovalForAll(address(diamond), true); IAccessControl.grantRole( GOVERNANCE_TOKEN_MINTER_ROLE, - address(stakingShareV1) + address(stakingShare) ); ICurveFactory curvePoolFactory = ICurveFactory(new MockCurveFactory()); @@ -177,8 +176,6 @@ contract ZeroStateStaking is DiamondSetup { metapool.add_liquidity(amounts_, (dyuAD2LP * 99) / 100, fourthAccount); vm.startPrank(admin); - stakingShare = IStakingShareToken; - IManager.setStakingShareAddress(address(stakingShare)); IAccessControl.grantRole( GOVERNANCE_TOKEN_MINTER_ROLE, address(diamond) @@ -188,10 +185,10 @@ contract ZeroStateStaking is DiamondSetup { vm.stopPrank(); vm.prank(secondAccount); - stakingShareV1.setApprovalForAll(address(diamond), true); + stakingShare.setApprovalForAll(address(diamond), true); vm.prank(thirdAccount); - stakingShareV1.setApprovalForAll(address(diamond), true); + stakingShare.setApprovalForAll(address(diamond), true); } } @@ -315,7 +312,7 @@ contract DepositStateTest is DepositStateStaking { blocks = bound(blocks, 45361, 2 ** 128 - 1); assertEq(IChefFacet.totalShares(), shares); - uint256 preBal = IGovToken.balanceOf(fourthAccount); + uint256 preBal = governanceToken.balanceOf(fourthAccount); (uint256 lastRewardBlock, ) = IChefFacet.pool(); vm.roll(currentBlock + blocks); uint256 multiplier = (block.number - lastRewardBlock) * 1e18; @@ -333,7 +330,7 @@ contract DepositStateTest is DepositStateStaking { vm.prank(fourthAccount); IStakingFacet.removeLiquidity(amount, fourthID); - assertEq(preBal + userReward, IGovToken.balanceOf(fourthAccount)); + assertEq(preBal + userReward, governanceToken.balanceOf(fourthAccount)); } function testGetRewards(uint256 blocks) public { diff --git a/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol b/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol index c89e37366..9acde8c56 100644 --- a/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol +++ b/packages/contracts/test/diamond/facets/UbiquityPoolFacet.t.sol @@ -19,7 +19,6 @@ contract UbiquityPoolFacetTest is DiamondSetup { address curve3CrvToken; address metaPoolAddress; address twapOracleAddress; - IERC20Ubiquity governanceToken; IMetaPool metapool; address stakingMinAccount = address(0x9); @@ -75,7 +74,6 @@ contract UbiquityPoolFacetTest is DiamondSetup { GOVERNANCE_TOKEN_MINTER_ROLE, address(stakingShare) ); - governanceToken = IERC20Ubiquity(IManager.governanceTokenAddress()); // vm.stopPrank(); ICurveFactory curvePoolFactory = ICurveFactory(new MockCurveFactory()); address curve3CrvBasePool = address( diff --git a/packages/contracts/test/dollar/core/CreditNft.t.sol b/packages/contracts/test/dollar/core/CreditNft.t.sol index e8a9d48cd..9854f1034 100644 --- a/packages/contracts/test/dollar/core/CreditNft.t.sol +++ b/packages/contracts/test/dollar/core/CreditNft.t.sol @@ -26,7 +26,6 @@ contract CreditNftTest is LocalTestHelper { super.setUp(); // deploy Credit NFT token - creditNft = IUbiquityNft; creditNftAddress = address(creditNft); vm.prank(admin); IManager.setCreditNftAddress(address(creditNftAddress)); @@ -98,9 +97,9 @@ contract CreditNftTest is LocalTestHelper { function testUpdateTotalDebt_ShouldUpdateTotalDebt() public { vm.startPrank(admin); - creditNft.mintCreditNft(address(0x111), 10, 10000); // 10 -> amount, 10000 -> expiryBlockNumber - creditNft.mintCreditNft(address(0x222), 10, 20000); - creditNft.mintCreditNft(address(0x333), 10, 30000); + creditNft.mintCreditNft(vm.addr(0x111), 10, 10000); // 10 -> amount, 10000 -> expiryBlockNumber + creditNft.mintCreditNft(vm.addr(0x222), 10, 20000); + creditNft.mintCreditNft(vm.addr(0x333), 10, 30000); vm.stopPrank(); // sets block.number diff --git a/packages/contracts/test/dollar/core/StakingShare.t.sol b/packages/contracts/test/dollar/core/StakingShare.t.sol index 7476b6227..de7a20589 100644 --- a/packages/contracts/test/dollar/core/StakingShare.t.sol +++ b/packages/contracts/test/dollar/core/StakingShare.t.sol @@ -6,12 +6,7 @@ import "../../helpers/LocalTestHelper.sol"; import {IMetaPool} from "../../../src/dollar/interfaces/IMetaPool.sol"; import {StakingShare} from "../../../src/dollar/core/StakingShare.sol"; import "../../../src/dollar/libraries/Constants.sol"; - -contract StakingShareOneChange is StakingShare { - function hasUpgraded() public pure returns (bool) { - return true; - } -} +import {BondingShare} from "../../../src/dollar/mocks/MockShareV1.sol"; contract DepositStakingShare is LocalTestHelper { address treasury = address(0x3); @@ -74,7 +69,6 @@ contract DepositStakingShare is LocalTestHelper { IStakingFacet.deposit(depositAmounts[i], lockupWeeks[i]); vm.stopPrank(); } - stakingShare = IStakingShareToken; } } @@ -390,7 +384,7 @@ contract StakingShareTest is DepositStakingShare { } function testUUPS_ShouldUpgradeAndCall() external { - StakingShareOneChange stakingShareOneChange = new StakingShareOneChange(); + BondingShare bondingShare = new BondingShare(); string memory uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; @@ -398,19 +392,131 @@ contract StakingShareTest is DepositStakingShare { vm.startPrank(admin); bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); - (bool success, ) = address(IStakingShareToken).call(hasUpgradedCall); + // trying to directly call will fail and exit early so call it like this + (bool success, ) = address(stakingShare).call(hasUpgradedCall); assertEq(success, false, "should not have upgraded yet"); require(success == false, "should not have upgraded yet"); - IStakingShareToken.upgradeTo(address(stakingShareOneChange)); + stakingShare.upgradeTo(address(bondingShare)); - (success, ) = address(IStakingShareToken).call(hasUpgradedCall); + // It will also fail unless cast so we'll use the same pattern as above + (success, ) = address(stakingShare).call(hasUpgradedCall); assertEq(success, true, "should have upgraded"); require(success == true, "should have upgraded"); vm.expectRevert(); - IStakingShareToken.initialize(address(diamond), uri); + stakingShare.initialize(address(diamond), uri); vm.stopPrank(); } + + function testUUPS_ImplChanges() external { + BondingShare bondingShare = new BondingShare(); + + address oldImpl = address(IStakingShareToken); + address newImpl = address(bondingShare); + + vm.prank(admin); + stakingShare.upgradeTo(newImpl); + + bytes memory getImplCall = abi.encodeWithSignature("getImpl()"); + + (bool success, bytes memory data) = address(stakingShare).call( + getImplCall + ); + assertEq(success, true, "should have upgraded"); + + address newAddrViaNewFunc = abi.decode(data, (address)); + + assertEq( + newAddrViaNewFunc, + newImpl, + "should be the new implementation" + ); + assertTrue( + newAddrViaNewFunc != oldImpl, + "should not be the old implementation" + ); + } + + function testUUPS_InitializedVersion() external { + uint expectedVersion = 1; + uint baseExpectedVersion = 255; + + BondingShare bondingShare = new BondingShare(); + BondingShareT bondingShareT = new BondingShareT(); + + vm.startPrank(admin); + stakingShare.upgradeTo(address(bondingShare)); + + bytes memory getVersionCall = abi.encodeWithSignature("getVersion()"); + + (bool success, bytes memory data) = address(stakingShare).call( + getVersionCall + ); + assertEq(success, true, "should have upgraded"); + uint8 version = abi.decode(data, (uint8)); + + assertEq( + version, + expectedVersion, + "should be the same version as only initialized once" + ); + + stakingShare.upgradeTo(address(bondingShareT)); + + (success, data) = address(stakingShare).call(getVersionCall); + assertEq(success, true, "should have upgraded"); + version = abi.decode(data, (uint8)); + + assertEq( + version, + expectedVersion, + "should be the same version as only initialized once" + ); + + (success, data) = address(bondingShare).call(getVersionCall); + assertEq(success, true, "should succeed"); + version = abi.decode(data, (uint8)); + + //staking share doesn't expose a function to check the version but it follows the same logic + assertEq( + version, + baseExpectedVersion, + "should be maxed as initializers are disabled." + ); + } + + function testUUPS_initialization() external { + BondingShare bondingShare = new BondingShare(); + + vm.startPrank(admin); + vm.expectRevert(); + bondingShare.initialize(address(diamond), "test"); + + vm.expectRevert(); + IStakingShareToken.initialize(address(diamond), "test"); + + vm.expectRevert(); + stakingShare.initialize(address(diamond), "test"); + + stakingShare.upgradeTo(address(bondingShare)); + + vm.expectRevert(); + stakingShare.initialize(address(diamond), "test"); + } +} + +contract BondingShareT is BondingShare { + function hasUpgraded() public pure override returns (bool) { + return true; + } + + function getVersion() public view override returns (uint8) { + return super._getInitializedVersion(); + } + + function getImpl() public view override returns (address) { + return super._getImplementation(); + } } diff --git a/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol b/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol index ee6bb6647..ab8299cb2 100644 --- a/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol +++ b/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol @@ -9,8 +9,6 @@ contract UbiquityCreditTokenTest is LocalTestHelper { function setUp() public override { super.setUp(); - - vm.prank(admin); ubiquityCreditToken = creditToken; } diff --git a/packages/contracts/test/dollar/core/UbiquityGovernanceToken.t.sol b/packages/contracts/test/dollar/core/UbiquityGovernanceToken.t.sol index b4b1fa8b9..5a47b4013 100644 --- a/packages/contracts/test/dollar/core/UbiquityGovernanceToken.t.sol +++ b/packages/contracts/test/dollar/core/UbiquityGovernanceToken.t.sol @@ -23,13 +23,13 @@ contract UbiquityGovernanceTokenTest is LocalTestHelper { function testSetManager_ShouldRevert_WhenNotAdmin() public { vm.prank(address(0x123abc)); vm.expectRevert("ERC20Ubiquity: not admin"); - IGovToken.setManager(address(0x123abc)); + governanceToken.setManager(address(0x123abc)); } function testSetManager_ShouldSetManager() public { address newManager = address(0x123abc); vm.prank(admin); - IGovToken.setManager(newManager); - require(IGovToken.getManager() == newManager); + governanceToken.setManager(newManager); + require(governanceToken.getManager() == newManager); } } diff --git a/packages/contracts/test/helpers/DiamondTestHelper.sol b/packages/contracts/test/helpers/DiamondTestHelper.sol index 63fd7e01a..91c434d37 100644 --- a/packages/contracts/test/helpers/DiamondTestHelper.sol +++ b/packages/contracts/test/helpers/DiamondTestHelper.sol @@ -1,139 +1,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; -import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; -import {UbiquityGovernanceToken} from "../../src/dollar/core/UbiquityGovernanceToken.sol"; -import {UbiquityDollarToken} from "../../src/dollar/core/UbiquityDollarToken.sol"; -import {UbiquityCreditToken} from "../../src/dollar/core/UbiquityCreditToken.sol"; -import {StakingShare} from "../../src/dollar/core/StakingShare.sol"; -import {CreditNft} from "../../src/dollar/core/CreditNft.sol"; -import {ManagerFacet} from "../../src/dollar/facets/ManagerFacet.sol"; -import {AccessControlFacet} from "../../src/dollar/facets/AccessControlFacet.sol"; -import {ERC1155Ubiquity} from "../../src/dollar/core/ERC1155Ubiquity.sol"; -import "../../src/dollar/libraries/Constants.sol"; -import "forge-std/Test.sol"; - -import "forge-std/Test.sol"; -import "forge-std/Vm.sol"; import "../../src/dollar/interfaces/IDiamondCut.sol"; import "../../src/dollar/interfaces/IDiamondLoupe.sol"; -contract UupsTestHelper { - CreditNft public creditNft; - StakingShare public stakingShare; - ERC1155Ubiquity public uStakingShareV1; - UbiquityCreditToken public uCreditToken; - UbiquityDollarToken public uDollarToken; - UbiquityGovernanceToken public uGovToken; - ERC1155Ubiquity public ubiquiStick; - - CreditNft public IUbiquityNft; - StakingShare public IStakingShareToken; - UbiquityCreditToken public creditToken; - UbiquityDollarToken public IDollar; - UbiquityGovernanceToken public IGovToken; - ERC1155Ubiquity public IUbiquiStick; - ERC1155Ubiquity public stakingShareV1; - - ERC1967Proxy public proxyCreditNft; - ERC1967Proxy public proxyStakingShare; - ERC1967Proxy public proxyUCreditToken; - ERC1967Proxy public proxyUDollarToken; - ERC1967Proxy public proxyUGovToken; - ERC1967Proxy public proxyUbiquiStick; - ERC1967Proxy public proxyStakingShareV1; - - ManagerFacet iManager; - AccessControlFacet IAccessControl; - - function __setupUUPS(address manager) public { - iManager = ManagerFacet(manager); - IAccessControl = AccessControlFacet(manager); - string - memory uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; - - bytes memory managerPayload = abi.encodeWithSignature( - "initialize(address)", - manager - ); - bytes memory manAndUriPayload = abi.encodeWithSignature( - "initialize(address,string)", - manager, - uri - ); - - creditNft = new CreditNft(); - proxyCreditNft = new ERC1967Proxy(address(creditNft), managerPayload); - IUbiquityNft = CreditNft(address(proxyCreditNft)); - - stakingShare = new StakingShare(); - proxyStakingShare = new ERC1967Proxy( - address(stakingShare), - manAndUriPayload - ); - IStakingShareToken = StakingShare(address(proxyStakingShare)); - - uCreditToken = new UbiquityCreditToken(); - proxyUCreditToken = new ERC1967Proxy( - address(uCreditToken), - managerPayload - ); - creditToken = UbiquityCreditToken(address(proxyUCreditToken)); - - uDollarToken = new UbiquityDollarToken(); - proxyUDollarToken = new ERC1967Proxy( - address(uDollarToken), - managerPayload - ); - IDollar = UbiquityDollarToken(address(proxyUDollarToken)); - - uGovToken = new UbiquityGovernanceToken(); - proxyUGovToken = new ERC1967Proxy(address(uGovToken), managerPayload); - IGovToken = UbiquityGovernanceToken(address(proxyUGovToken)); - - bytes memory ubq1155Payload = abi.encodeWithSignature( - "__ERC1155Ubiquity_init(address,string)", - manager, - uri - ); - - ubiquiStick = new ERC1155Ubiquity(); - proxyUbiquiStick = new ERC1967Proxy( - address(ubiquiStick), - ubq1155Payload - ); - IUbiquiStick = ERC1155Ubiquity(address(proxyUbiquiStick)); - - uStakingShareV1 = new ERC1155Ubiquity(); - proxyStakingShareV1 = new ERC1967Proxy( - address(uStakingShareV1), - ubq1155Payload - ); - stakingShareV1 = ERC1155Ubiquity(address(proxyStakingShareV1)); - - iManager.setUbiquistickAddress(address(IUbiquiStick)); - iManager.setStakingShareAddress(address(IStakingShareToken)); - iManager.setCreditTokenAddress(address(creditToken)); - iManager.setDollarTokenAddress(address(IDollar)); - iManager.setGovernanceTokenAddress(address(IGovToken)); - iManager.setCreditNftAddress(address(IUbiquityNft)); - // grant diamond dollar minting and burning rights - IAccessControl.grantRole(DOLLAR_TOKEN_MINTER_ROLE, address(manager)); - IAccessControl.grantRole(DOLLAR_TOKEN_BURNER_ROLE, address(manager)); - // grand diamond Credit token minting and burning rights - IAccessControl.grantRole(CREDIT_TOKEN_MINTER_ROLE, address(manager)); - IAccessControl.grantRole(CREDIT_TOKEN_BURNER_ROLE, address(manager)); - // grant diamond token admin rights - IAccessControl.grantRole( - GOVERNANCE_TOKEN_MANAGER_ROLE, - address(manager) - ); - // grant diamond token minter rights - IAccessControl.grantRole(STAKING_SHARE_MINTER_ROLE, address(manager)); - } -} +import "./UUPSTestHelper.sol"; -contract DiamondTestHelper is IDiamondCut, IDiamondLoupe, UupsTestHelper, Test { +contract DiamondTestHelper is IDiamondCut, IDiamondLoupe, UUPSTestHelper, Test { uint256 private seed; modifier prankAs(address caller) { diff --git a/packages/contracts/test/helpers/UUPSTestHelper.sol b/packages/contracts/test/helpers/UUPSTestHelper.sol new file mode 100644 index 000000000..bc0554497 --- /dev/null +++ b/packages/contracts/test/helpers/UUPSTestHelper.sol @@ -0,0 +1,135 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.19; + +import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import {UbiquityGovernanceToken} from "../../src/dollar/core/UbiquityGovernanceToken.sol"; +import {UbiquityDollarToken} from "../../src/dollar/core/UbiquityDollarToken.sol"; +import {UbiquityCreditToken} from "../../src/dollar/core/UbiquityCreditToken.sol"; +import {StakingShare} from "../../src/dollar/core/StakingShare.sol"; +import {CreditNft} from "../../src/dollar/core/CreditNft.sol"; +import {ManagerFacet} from "../../src/dollar/facets/ManagerFacet.sol"; +import {AccessControlFacet} from "../../src/dollar/facets/AccessControlFacet.sol"; +import {ERC1155Ubiquity} from "../../src/dollar/core/ERC1155Ubiquity.sol"; +import "../../src/dollar/libraries/Constants.sol"; +import "forge-std/Test.sol"; + +import "../../src/dollar/interfaces/IDiamondCut.sol"; +import "../../src/dollar/interfaces/IDiamondLoupe.sol"; + +contract UUPSTestHelper { + CreditNft internal IUbiquityNft; + StakingShare internal IStakingShareToken; + ERC1155Ubiquity internal uStakingShareV1; + UbiquityCreditToken internal uCreditToken; + UbiquityDollarToken internal uDollarToken; + UbiquityGovernanceToken internal uGovToken; + ERC1155Ubiquity internal ubiquiStick; + + CreditNft internal creditNft; + StakingShare internal stakingShare; + UbiquityCreditToken internal creditToken; + UbiquityDollarToken internal IDollar; + UbiquityGovernanceToken internal governanceToken; + ERC1155Ubiquity internal IUbiquiStick; + ERC1155Ubiquity internal stakingShareV1; + + ERC1967Proxy internal proxyCreditNft; + ERC1967Proxy internal proxyStakingShare; + ERC1967Proxy internal proxyUCreditToken; + ERC1967Proxy internal proxyUDollarToken; + ERC1967Proxy internal proxyUGovToken; + ERC1967Proxy internal proxyUbiquiStick; + ERC1967Proxy internal proxyStakingShareV1; + + ManagerFacet internal iManager; + AccessControlFacet internal IAccessControl; + + function __setupUUPS(address manager) public { + iManager = ManagerFacet(manager); + IAccessControl = AccessControlFacet(manager); + string + memory uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; + + bytes memory managerPayload = abi.encodeWithSignature( + "initialize(address)", + manager + ); + bytes memory manAndUriPayload = abi.encodeWithSignature( + "initialize(address,string)", + manager, + uri + ); + + IUbiquityNft = new CreditNft(); + proxyCreditNft = new ERC1967Proxy( + address(IUbiquityNft), + managerPayload + ); + creditNft = CreditNft(address(proxyCreditNft)); + + IStakingShareToken = new StakingShare(); + proxyStakingShare = new ERC1967Proxy( + address(IStakingShareToken), + manAndUriPayload + ); + stakingShare = StakingShare(address(proxyStakingShare)); + + uCreditToken = new UbiquityCreditToken(); + proxyUCreditToken = new ERC1967Proxy( + address(uCreditToken), + managerPayload + ); + creditToken = UbiquityCreditToken(address(proxyUCreditToken)); + + uDollarToken = new UbiquityDollarToken(); + proxyUDollarToken = new ERC1967Proxy( + address(uDollarToken), + managerPayload + ); + IDollar = UbiquityDollarToken(address(proxyUDollarToken)); + + uGovToken = new UbiquityGovernanceToken(); + proxyUGovToken = new ERC1967Proxy(address(uGovToken), managerPayload); + governanceToken = UbiquityGovernanceToken(address(proxyUGovToken)); + + bytes memory ubq1155Payload = abi.encodeWithSignature( + "__ERC1155Ubiquity_init(address,string)", + manager, + uri + ); + + ubiquiStick = new ERC1155Ubiquity(); + proxyUbiquiStick = new ERC1967Proxy( + address(ubiquiStick), + ubq1155Payload + ); + IUbiquiStick = ERC1155Ubiquity(address(proxyUbiquiStick)); + + uStakingShareV1 = new ERC1155Ubiquity(); + proxyStakingShareV1 = new ERC1967Proxy( + address(uStakingShareV1), + ubq1155Payload + ); + stakingShareV1 = ERC1155Ubiquity(address(proxyStakingShareV1)); + + iManager.setUbiquistickAddress(address(IUbiquiStick)); + iManager.setStakingShareAddress(address(stakingShare)); + iManager.setCreditTokenAddress(address(creditToken)); + iManager.setDollarTokenAddress(address(IDollar)); + iManager.setGovernanceTokenAddress(address(governanceToken)); + iManager.setCreditNftAddress(address(creditNft)); + // grant diamond dollar minting and burning rights + IAccessControl.grantRole(DOLLAR_TOKEN_MINTER_ROLE, address(manager)); + IAccessControl.grantRole(DOLLAR_TOKEN_BURNER_ROLE, address(manager)); + // grand diamond Credit token minting and burning rights + IAccessControl.grantRole(CREDIT_TOKEN_MINTER_ROLE, address(manager)); + IAccessControl.grantRole(CREDIT_TOKEN_BURNER_ROLE, address(manager)); + // grant diamond token admin rights + IAccessControl.grantRole( + GOVERNANCE_TOKEN_MANAGER_ROLE, + address(manager) + ); + // grant diamond token minter rights + IAccessControl.grantRole(STAKING_SHARE_MINTER_ROLE, address(manager)); + } +} From 862b78edf1d6f5a4a438cf288df21ddb4206a963 Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Wed, 13 Sep 2023 18:44:44 +0100 Subject: [PATCH 11/21] fix: added tests covered uups basic tests --- .../31337/run-latest.json | 934 +++++++++--------- .../test/dollar/core/CreditNft.t.sol | 155 +++ .../test/dollar/core/StakingShare.t.sol | 27 +- .../dollar/core/UbiquityCreditToken.t.sol | 151 +++ .../dollar/core/UbiquityDollarToken.t.sol | 145 +++ .../dollar/core/UbiquityGovernanceToken.t.sol | 153 +++ .../contracts/test/helpers/UUPSTestHelper.sol | 3 - 7 files changed, 1094 insertions(+), 474 deletions(-) diff --git a/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json b/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json index ff00ce539..e4161802b 100644 --- a/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json +++ b/packages/contracts/broadcast/05_StakingShare.s.sol/31337/run-latest.json @@ -1,7 +1,7 @@ { "transactions": [ { - "hash": "0x0ddf078fffbf881f3f8d4ae32f1dca62bb871d480e8855905d911f31e8056fb1", + "hash": "0xd3d7e4d6d3e7c1ff4f8cc40d4540e8b91f168c57f4b13b045ce86f0e3deda277", "transactionType": "CREATE", "contractName": "LibCreditNftManager", "contractAddress": "0x5D00797F4d5A2eED04D75a8D3Cff1721E859b35d", @@ -11,7 +11,7 @@ "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x1ecfee", - "data": "0x611b6161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100715760003560e01c80635469bff11161005a5780635469bff1146100bf578063b5a3ff87146100df578063efa0982f146100ff57600080fd5b80630d65f47f146100765780632565aa42146100a8575b600080fd5b81801561008257600080fd5b50610096610091366004611a1e565b61011f565b60405190815260200160405180910390f35b8180156100b457600080fd5b506100bd6108b1565b005b8180156100cb57600080fd5b506100966100da366004611a1e565b610d00565b8180156100eb57600080fd5b506100966100fa366004611a1e565b610fdd565b81801561010b57600080fd5b5061009661011a366004611a40565b6113b3565b60008061012a611827565b9050670de0b6b3a764000081116101c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5072696365206d7573742062652061626f7665203120746f2072656465656d2060448201527f437265646974204e46540000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101d0611851565b6004015460ff16156102175760006101e6611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b60025460009073ffffffffffffffffffffffffffffffffffffffff1643861161029c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101879052859073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611a59565b1015610399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6103a16108b1565b600e82015460018301546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff928316929091169081906370a0823190602401602060405180830381865afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190611a59565b8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104af9190611a59565b111561053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f5468657265206172656e277420656e6f75676820446f6c6c617220746f20726560448201527f6465656d2063757272656e746c7900000000000000000000000000000000000060648201526084016101bf565b60008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae9190611a59565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015610618573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063c9190611a59565b6106469190611aa1565b905087818111156106545750805b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa1580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e59190611a59565b11610772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f5468657265206172656e277420616e7920446f6c6c617220746f20726564656560448201527f6d2063757272656e746c7900000000000000000000000000000000000000000060648201526084016101bf565b6040517ffd7fc16500000000000000000000000000000000000000000000000000000000815233600482015260248101829052604481018b905273ffffffffffffffffffffffffffffffffffffffff86169063fd7fc16590606401600060405180830381600087803b1580156107e757600080fd5b505af11580156107fb573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af1158015610872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108969190611ab4565b506108a1818a611aa1565b9750505050505050505b92915050565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b15801561091f57600080fd5b505af1158015610933573d6000803e3d6000fd5b5050505060003073ffffffffffffffffffffffffffffffffffffffff1663764263cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a89190611a59565b905060006109b4611851565b546109bf9083611aa1565b9050816109ca611851565b5560018401546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b158015610a4157600080fd5b505af1158015610a55573d6000803e3d6000fd5b50505050600e8501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91821691600091908416906370a0823190602401602060405180830381865afa158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af49190611a59565b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611a59565b8773ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd69190611a59565b610be09190611add565b905080821115610cf6576000610bf68284611aa1565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815230600482018190526024820183905291925073ffffffffffffffffffffffffffffffffffffffff87169063a9059cbb906044016020604051808303816000875af1158015610c6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c929190611ab4565b508073ffffffffffffffffffffffffffffffffffffffff1663651156bc6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cdb57600080fd5b505af1158015610cef573d6000803e3d6000fd5b5050505050505b5050505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff1643841115610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f437265646974204e465420686173206e6f74206578706972656400000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa158015610df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1b9190611a59565b1015610e83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b158015610ef857600080fd5b505af1158015610f0c573d6000803e3d6000fd5b505050506000610f1a600090565b600a015473ffffffffffffffffffffffffffffffffffffffff169050610f3e611851565b60030154610f4c9085611af0565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810182905290935073ffffffffffffffffffffffffffffffffffffffff8216906340c10f1990604401600060405180830381600087803b158015610fbd57600080fd5b505af1158015610fd1573d6000803e3d6000fd5b50505050505092915050565b60025460009073ffffffffffffffffffffffffffffffffffffffff16428411611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190611a59565b101561115f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b5050505060006111f6600090565b600e01546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810186905273ffffffffffffffffffffffffffffffffffffffff909116915081906340c10f1990604401600060405180830381600087803b15801561126c57600080fd5b505af1158015611280573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810187905273ffffffffffffffffffffffffffffffffffffffff8416925063a9059cbb91506044016020604051808303816000875af11580156112f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131b9190611ab4565b506040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8216906370a0823190602401602060405180830381865afa158015611386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113aa9190611a59565b95945050505050565b6000806113be611827565b9050670de0b6b3a76400008111611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5072696365206d7573742062652061626f76652031000000000000000000000060448201526064016101bf565b611439611851565b6004015460ff161561148057600061144f611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b600080600e01546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091169150849082906370a0823190602401602060405180830381865afa1580156114f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151b9190611a59565b10156115a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f5573657220646f65736e2774206861766520656e6f756768204372656469742060448201527f706f6f6c20746f6b656e732e000000000000000000000000000000000000000060648201526084016101bf565b600080600101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015611621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116459190611a59565b9050600081116116e8576116576108b1565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e59190611a59565b90505b85818111156116f45750805b6040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff8516906379cc679090604401600060405180830381600087803b15801561176257600080fd5b505af1158015611776573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af11580156117ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118119190611ab4565b5061181c8188611aa1565b979650505050505050565b600061184c816001015473ffffffffffffffffffffffffffffffffffffffff1661187f565b905090565b6000806108ab60017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297611aa1565b60008061188a6119f0565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116118f3575050505050815250509050611919600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361194957806040015191506119ea565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016101bf565b806060015191505b50919050565b6000806108ab60017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628611aa1565b60008060408385031215611a3157600080fd5b50508035926020909101359150565b600060208284031215611a5257600080fd5b5035919050565b600060208284031215611a6b57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156108ab576108ab611a72565b600060208284031215611ac657600080fd5b81518015158114611ad657600080fd5b9392505050565b808201808211156108ab576108ab611a72565b600082611b26577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220e1538f760459353b0dda49a46d78bd29d86eb2090e342f8bfd2a7237e181569a64736f6c63430008130033", + "data": "0x611b6161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100715760003560e01c80635469bff11161005a5780635469bff1146100bf578063b5a3ff87146100df578063efa0982f146100ff57600080fd5b80630d65f47f146100765780632565aa42146100a8575b600080fd5b81801561008257600080fd5b50610096610091366004611a1e565b61011f565b60405190815260200160405180910390f35b8180156100b457600080fd5b506100bd6108b1565b005b8180156100cb57600080fd5b506100966100da366004611a1e565b610d00565b8180156100eb57600080fd5b506100966100fa366004611a1e565b610fdd565b81801561010b57600080fd5b5061009661011a366004611a40565b6113b3565b60008061012a611827565b9050670de0b6b3a764000081116101c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5072696365206d7573742062652061626f7665203120746f2072656465656d2060448201527f437265646974204e46540000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6101d0611851565b6004015460ff16156102175760006101e6611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b60025460009073ffffffffffffffffffffffffffffffffffffffff1643861161029c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101879052859073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611a59565b1015610399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6103a16108b1565b600e82015460018301546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff928316929091169081906370a0823190602401602060405180830381865afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104409190611a59565b8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104af9190611a59565b111561053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f5468657265206172656e277420656e6f75676820446f6c6c617220746f20726560448201527f6465656d2063757272656e746c7900000000000000000000000000000000000060648201526084016101bf565b60008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae9190611a59565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015610618573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063c9190611a59565b6106469190611aa1565b905087818111156106545750805b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa1580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e59190611a59565b11610772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f5468657265206172656e277420616e7920446f6c6c617220746f20726564656560448201527f6d2063757272656e746c7900000000000000000000000000000000000000000060648201526084016101bf565b6040517ffd7fc16500000000000000000000000000000000000000000000000000000000815233600482015260248101829052604481018b905273ffffffffffffffffffffffffffffffffffffffff86169063fd7fc16590606401600060405180830381600087803b1580156107e757600080fd5b505af11580156107fb573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af1158015610872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108969190611ab4565b506108a1818a611aa1565b9750505050505050505b92915050565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b15801561091f57600080fd5b505af1158015610933573d6000803e3d6000fd5b5050505060003073ffffffffffffffffffffffffffffffffffffffff1663764263cf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a89190611a59565b905060006109b4611851565b546109bf9083611aa1565b9050816109ca611851565b5560018401546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b158015610a4157600080fd5b505af1158015610a55573d6000803e3d6000fd5b50505050600e8501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91821691600091908416906370a0823190602401602060405180830381865afa158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af49190611a59565b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611a59565b8773ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd69190611a59565b610be09190611add565b905080821115610cf6576000610bf68284611aa1565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815230600482018190526024820183905291925073ffffffffffffffffffffffffffffffffffffffff87169063a9059cbb906044016020604051808303816000875af1158015610c6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c929190611ab4565b508073ffffffffffffffffffffffffffffffffffffffff1663651156bc6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cdb57600080fd5b505af1158015610cef573d6000803e3d6000fd5b5050505050505b5050505050505050565b60025460009073ffffffffffffffffffffffffffffffffffffffff1643841115610d86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f437265646974204e465420686173206e6f74206578706972656400000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa158015610df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1b9190611a59565b1015610e83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b158015610ef857600080fd5b505af1158015610f0c573d6000803e3d6000fd5b505050506000610f1a600090565b600a015473ffffffffffffffffffffffffffffffffffffffff169050610f3e611851565b60030154610f4c9085611af0565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810182905290935073ffffffffffffffffffffffffffffffffffffffff8216906340c10f1990604401600060405180830381600087803b158015610fbd57600080fd5b505af1158015610fd1573d6000803e3d6000fd5b50505050505092915050565b60025460009073ffffffffffffffffffffffffffffffffffffffff16428411611062576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f437265646974204e46542068617320657870697265640000000000000000000060448201526064016101bf565b6040517efdd58e00000000000000000000000000000000000000000000000000000000815233600482015260248101859052839073ffffffffffffffffffffffffffffffffffffffff83169062fdd58e90604401602060405180830381865afa1580156110d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f79190611a59565b101561115f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f55736572206e6f7420656e6f75676820437265646974204e465400000000000060448201526064016101bf565b6040517ffd7fc165000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810185905273ffffffffffffffffffffffffffffffffffffffff82169063fd7fc16590606401600060405180830381600087803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b5050505060006111f6600090565b600e01546040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810186905273ffffffffffffffffffffffffffffffffffffffff909116915081906340c10f1990604401600060405180830381600087803b15801561126c57600080fd5b505af1158015611280573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810187905273ffffffffffffffffffffffffffffffffffffffff8416925063a9059cbb91506044016020604051808303816000875af11580156112f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131b9190611ab4565b506040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8216906370a0823190602401602060405180830381865afa158015611386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113aa9190611a59565b95945050505050565b6000806113be611827565b9050670de0b6b3a76400008111611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5072696365206d7573742062652061626f76652031000000000000000000000060448201526064016101bf565b611439611851565b6004015460ff161561148057600061144f611851565b60040180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790555b600080600e01546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091169150849082906370a0823190602401602060405180830381865afa1580156114f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151b9190611a59565b10156115a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f5573657220646f65736e2774206861766520656e6f756768204372656469742060448201527f706f6f6c20746f6b656e732e000000000000000000000000000000000000000060648201526084016101bf565b600080600101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015611621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116459190611a59565b9050600081116116e8576116576108b1565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e59190611a59565b90505b85818111156116f45750805b6040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff8516906379cc679090604401600060405180830381600087803b15801561176257600080fd5b505af1158015611776573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff8616925063a9059cbb91506044016020604051808303816000875af11580156117ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118119190611ab4565b5061181c8188611aa1565b979650505050505050565b600061184c816001015473ffffffffffffffffffffffffffffffffffffffff1661187f565b905090565b6000806108ab60017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297611aa1565b60008061188a6119f0565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116118f3575050505050815250509050611919600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361194957806040015191506119ea565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016101bf565b806060015191505b50919050565b6000806108ab60017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628611aa1565b60008060408385031215611a3157600080fd5b50508035926020909101359150565b600060208284031215611a5257600080fd5b5035919050565b600060208284031215611a6b57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156108ab576108ab611a72565b600060208284031215611ac657600080fd5b81518015158114611ad657600080fd5b9392505050565b808201808211156108ab576108ab611a72565b600082611b26577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220ad98a36cfae712ac4fa0804032691e332e37871b8ed2d3acfd407093a31e6ebd64736f6c63430008130033", "nonce": "0x0", "accessList": [] }, @@ -19,7 +19,7 @@ "isFixedGasLimit": false }, { - "hash": "0x5b4d77cd8129d5f46124c6277e3caa85789332d9ff15ce6ed34765c2bbd045f8", + "hash": "0x36b4a622a2e08c528fa248cc114f4e1e3707c30d9ba8db8a0dd97e7d2045c842", "transactionType": "CREATE", "contractName": "DiamondCutFacet", "contractAddress": "0xd20b46190da9B273a12E59895cF8a750C25541CC", @@ -30,7 +30,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x1ed455", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50611b66806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631f931c1c14610030575b600080fd5b61004361003e366004611496565b610045565b005b61004d61009e565b61009761005a8587611613565b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061015592505050565b5050505050565b6100a6610396565b6004015473ffffffffffffffffffffffffffffffffffffffff163314610153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b565b60005b835181101561034b5760008482815181106101755761017561176f565b6020026020010151602001519050600060028111156101965761019661179e565b8160028111156101a8576101a861179e565b036101f6576101f18583815181106101c2576101c261176f565b6020026020010151600001518684815181106101e0576101e061176f565b6020026020010151604001516103ca565b610338565b600181600281111561020a5761020a61179e565b03610253576101f18583815181106102245761022461176f565b6020026020010151600001518684815181106102425761024261176f565b602002602001015160400151610764565b60028160028111156102675761026761179e565b036102b0576101f18583815181106102815761028161176f565b60200260200101516000015186848151811061029f5761029f61176f565b602002602001015160400151610b0e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560448201527f74416374696f6e00000000000000000000000000000000000000000000000000606482015260840161014a565b5080610343816117fc565b915050610158565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161037f939291906118a2565b60405180910390a16103918282610cec565b505050565b6000806103c460017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c611a0a565b92915050565b600081511161045b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b6000610465610396565b905073ffffffffffffffffffffffffffffffffffffffff831661050a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201527f6520616464726573732830290000000000000000000000000000000000000000606482015260840161014a565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610552576105528285610de5565b60005b83518110156100975760008482815181106105725761057261176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff168015610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c7265616479206578697374730000000000000000000000606482015260840161014a565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790558361074c81611a1d565b9450505050808061075c906117fc565b915050610555565b60008151116107f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b60006107ff610396565b905073ffffffffffffffffffffffffffffffffffffffff83166108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201527f6520616464726573732830290000000000000000000000000000000000000000606482015260840161014a565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff821690036108ec576108ec8285610de5565b60005b835181101561009757600084828151811061090c5761090c61176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690871681036109f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000606482015260840161014a565b610a01858284610e74565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905583610af681611a1d565b94505050508080610b06906117fc565b9150506108ef565b6000815111610b9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b6000610ba9610396565b905073ffffffffffffffffffffffffffffffffffffffff831615610c4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d757374206265206164647265737328302900000000000000000000606482015260840161014a565b60005b8251811015610ce6576000838281518110610c6f57610c6f61176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529185905260409091205490915073ffffffffffffffffffffffffffffffffffffffff16610cd1848284610e74565b50508080610cde906117fc565b915050610c52565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b575050565b610d2d82604051806060016040528060288152602001611ae5602891396113e9565b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610d559190611a48565b600060405180830381855af49150503d8060008114610d90576040519150601f19603f3d011682016040523d82523d6000602084013e610d95565b606091505b509150915081610ce657805115610daf5780518082602001fd5b83836040517f192105d700000000000000000000000000000000000000000000000000000000815260040161014a929190611a64565b610e0781604051806060016040528060248152602001611b0d602491396113e9565b60028201805473ffffffffffffffffffffffffffffffffffffffff90921660008181526001948501602090815260408220860185905594840183559182529290200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff8216610f17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e2774206578697374000000000000000000606482015260840161014a565b3073ffffffffffffffffffffffffffffffffffffffff831603610fbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201527f7461626c652066756e6374696f6e000000000000000000000000000000000000606482015260840161014a565b7fffffffff0000000000000000000000000000000000000000000000000000000081166000908152602084815260408083205473ffffffffffffffffffffffffffffffffffffffff86168452600180880190935290832054740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff16929161104691611a0a565b905080821461118d5773ffffffffffffffffffffffffffffffffffffffff8416600090815260018601602052604081208054839081106110885761108861176f565b6000918252602080832060088304015473ffffffffffffffffffffffffffffffffffffffff8916845260018a019091526040909220805460079092166004026101000a90920460e01b9250829190859081106110e6576110e661176f565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790557fffffffff0000000000000000000000000000000000000000000000000000000092909216825286905260409020805473ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000006bffffffffffffffffffffffff8516021790555b73ffffffffffffffffffffffffffffffffffffffff8416600090815260018601602052604090208054806111c3576111c3611a9b565b6000828152602080822060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90940193840401805463ffffffff600460078716026101000a0219169055919092557fffffffff00000000000000000000000000000000000000000000000000000000851682528690526040812081905581900361009757600285015460009061125c90600190611a0a565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260018089016020526040909120015490915080821461134a5760008760020183815481106112a8576112a861176f565b60009182526020909120015460028901805473ffffffffffffffffffffffffffffffffffffffff90921692508291849081106112e6576112e661176f565b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055929091168152600189810190925260409020018190555b8660020180548061135d5761135d611a9b565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff88168252600189810190915260408220015550505050505050565b813b8181610ce6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014a9190611aca565b803573ffffffffffffffffffffffffffffffffffffffff8116811461144857600080fd5b919050565b60008083601f84011261145f57600080fd5b50813567ffffffffffffffff81111561147757600080fd5b60208301915083602082850101111561148f57600080fd5b9250929050565b6000806000806000606086880312156114ae57600080fd5b853567ffffffffffffffff808211156114c657600080fd5b818801915088601f8301126114da57600080fd5b8135818111156114e957600080fd5b8960208260051b85010111156114fe57600080fd5b6020830197508096505061151460208901611424565b9450604088013591508082111561152a57600080fd5b506115378882890161144d565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561159a5761159a611548565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156115e7576115e7611548565b604052919050565b600067ffffffffffffffff82111561160957611609611548565b5060051b60200190565b6000611626611621846115ef565b6115a0565b83815260208082019190600586811b86013681111561164457600080fd5b865b8181101561176257803567ffffffffffffffff808211156116675760008081fd5b818a0191506060823603121561167d5760008081fd5b611685611577565b61168e83611424565b815286830135600381106116a25760008081fd5b81880152604083810135838111156116ba5760008081fd5b939093019236601f8501126116d157600092508283fd5b833592506116e1611621846115ef565b83815292871b840188019288810190368511156116fe5760008081fd5b948901945b8486101561174b5785357fffffffff000000000000000000000000000000000000000000000000000000008116811461173c5760008081fd5b82529489019490890190611703565b918301919091525088525050948301948301611646565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361182d5761182d6117cd565b5060010190565b60005b8381101561184f578181015183820152602001611837565b50506000910152565b60008151808452611870816020860160208601611834565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b848110156119cd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8503018652815188850173ffffffffffffffffffffffffffffffffffffffff82511686528482015160038110611954577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b808310156119b85783517fffffffff00000000000000000000000000000000000000000000000000000000168252928601926001929092019190860190611976565b509785019795505050908201906001016118cb565b505073ffffffffffffffffffffffffffffffffffffffff8a169088015286810360408801526119fc8189611858565b9a9950505050505050505050565b818103818111156103c4576103c46117cd565b60006bffffffffffffffffffffffff808316818103611a3e57611a3e6117cd565b6001019392505050565b60008251611a5a818460208701611834565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000611a936040830184611858565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b602081526000611add6020830184611858565b939250505056fe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a2646970667358221220db18182ae730be02e712b605832489d7c6b8816990ac989b2b5f2678722a64b164736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50611b66806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80631f931c1c14610030575b600080fd5b61004361003e366004611496565b610045565b005b61004d61009e565b61009761005a8587611613565b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061015592505050565b5050505050565b6100a6610396565b6004015473ffffffffffffffffffffffffffffffffffffffff163314610153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b565b60005b835181101561034b5760008482815181106101755761017561176f565b6020026020010151602001519050600060028111156101965761019661179e565b8160028111156101a8576101a861179e565b036101f6576101f18583815181106101c2576101c261176f565b6020026020010151600001518684815181106101e0576101e061176f565b6020026020010151604001516103ca565b610338565b600181600281111561020a5761020a61179e565b03610253576101f18583815181106102245761022461176f565b6020026020010151600001518684815181106102425761024261176f565b602002602001015160400151610764565b60028160028111156102675761026761179e565b036102b0576101f18583815181106102815761028161176f565b60200260200101516000015186848151811061029f5761029f61176f565b602002602001015160400151610b0e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f7272656374204661636574437560448201527f74416374696f6e00000000000000000000000000000000000000000000000000606482015260840161014a565b5080610343816117fc565b915050610158565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161037f939291906118a2565b60405180910390a16103918282610cec565b505050565b6000806103c460017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c611a0a565b92915050565b600081511161045b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b6000610465610396565b905073ffffffffffffffffffffffffffffffffffffffff831661050a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201527f6520616464726573732830290000000000000000000000000000000000000000606482015260840161014a565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610552576105528285610de5565b60005b83518110156100975760008482815181106105725761057261176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff168015610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c7265616479206578697374730000000000000000000000606482015260840161014a565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790558361074c81611a1d565b9450505050808061075c906117fc565b915050610555565b60008151116107f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b60006107ff610396565b905073ffffffffffffffffffffffffffffffffffffffff83166108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201527f6520616464726573732830290000000000000000000000000000000000000000606482015260840161014a565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff821690036108ec576108ec8285610de5565b60005b835181101561009757600084828151811061090c5761090c61176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690871681036109f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e0000000000000000606482015260840161014a565b610a01858284610e74565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905583610af681611a1d565b94505050508080610b06906117fc565b9150506108ef565b6000815111610b9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201527f6163657420746f20637574000000000000000000000000000000000000000000606482015260840161014a565b6000610ba9610396565b905073ffffffffffffffffffffffffffffffffffffffff831615610c4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d757374206265206164647265737328302900000000000000000000606482015260840161014a565b60005b8251811015610ce6576000838281518110610c6f57610c6f61176f565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529185905260409091205490915073ffffffffffffffffffffffffffffffffffffffff16610cd1848284610e74565b50508080610cde906117fc565b915050610c52565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8216610d0b575050565b610d2d82604051806060016040528060288152602001611ae5602891396113e9565b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610d559190611a48565b600060405180830381855af49150503d8060008114610d90576040519150601f19603f3d011682016040523d82523d6000602084013e610d95565b606091505b509150915081610ce657805115610daf5780518082602001fd5b83836040517f192105d700000000000000000000000000000000000000000000000000000000815260040161014a929190611a64565b610e0781604051806060016040528060248152602001611b0d602491396113e9565b60028201805473ffffffffffffffffffffffffffffffffffffffff90921660008181526001948501602090815260408220860185905594840183559182529290200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff8216610f17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e2774206578697374000000000000000000606482015260840161014a565b3073ffffffffffffffffffffffffffffffffffffffff831603610fbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201527f7461626c652066756e6374696f6e000000000000000000000000000000000000606482015260840161014a565b7fffffffff0000000000000000000000000000000000000000000000000000000081166000908152602084815260408083205473ffffffffffffffffffffffffffffffffffffffff86168452600180880190935290832054740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff16929161104691611a0a565b905080821461118d5773ffffffffffffffffffffffffffffffffffffffff8416600090815260018601602052604081208054839081106110885761108861176f565b6000918252602080832060088304015473ffffffffffffffffffffffffffffffffffffffff8916845260018a019091526040909220805460079092166004026101000a90920460e01b9250829190859081106110e6576110e661176f565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790557fffffffff0000000000000000000000000000000000000000000000000000000092909216825286905260409020805473ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000006bffffffffffffffffffffffff8516021790555b73ffffffffffffffffffffffffffffffffffffffff8416600090815260018601602052604090208054806111c3576111c3611a9b565b6000828152602080822060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90940193840401805463ffffffff600460078716026101000a0219169055919092557fffffffff00000000000000000000000000000000000000000000000000000000851682528690526040812081905581900361009757600285015460009061125c90600190611a0a565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260018089016020526040909120015490915080821461134a5760008760020183815481106112a8576112a861176f565b60009182526020909120015460028901805473ffffffffffffffffffffffffffffffffffffffff90921692508291849081106112e6576112e661176f565b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055929091168152600189810190925260409020018190555b8660020180548061135d5761135d611a9b565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff88168252600189810190915260408220015550505050505050565b813b8181610ce6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014a9190611aca565b803573ffffffffffffffffffffffffffffffffffffffff8116811461144857600080fd5b919050565b60008083601f84011261145f57600080fd5b50813567ffffffffffffffff81111561147757600080fd5b60208301915083602082850101111561148f57600080fd5b9250929050565b6000806000806000606086880312156114ae57600080fd5b853567ffffffffffffffff808211156114c657600080fd5b818801915088601f8301126114da57600080fd5b8135818111156114e957600080fd5b8960208260051b85010111156114fe57600080fd5b6020830197508096505061151460208901611424565b9450604088013591508082111561152a57600080fd5b506115378882890161144d565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561159a5761159a611548565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156115e7576115e7611548565b604052919050565b600067ffffffffffffffff82111561160957611609611548565b5060051b60200190565b6000611626611621846115ef565b6115a0565b83815260208082019190600586811b86013681111561164457600080fd5b865b8181101561176257803567ffffffffffffffff808211156116675760008081fd5b818a0191506060823603121561167d5760008081fd5b611685611577565b61168e83611424565b815286830135600381106116a25760008081fd5b81880152604083810135838111156116ba5760008081fd5b939093019236601f8501126116d157600092508283fd5b833592506116e1611621846115ef565b83815292871b840188019288810190368511156116fe5760008081fd5b948901945b8486101561174b5785357fffffffff000000000000000000000000000000000000000000000000000000008116811461173c5760008081fd5b82529489019490890190611703565b918301919091525088525050948301948301611646565b5092979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361182d5761182d6117cd565b5060010190565b60005b8381101561184f578181015183820152602001611837565b50506000910152565b60008151808452611870816020860160208601611834565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b848110156119cd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8503018652815188850173ffffffffffffffffffffffffffffffffffffffff82511686528482015160038110611954577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b808310156119b85783517fffffffff00000000000000000000000000000000000000000000000000000000168252928601926001929092019190860190611976565b509785019795505050908201906001016118cb565b505073ffffffffffffffffffffffffffffffffffffffff8a169088015286810360408801526119fc8189611858565b9a9950505050505050505050565b818103818111156103c4576103c46117cd565b60006bffffffffffffffffffffffff808316818103611a3e57611a3e6117cd565b6001019392505050565b60008251611a5a818460208701611834565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000611a936040830184611858565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b602081526000611add6020830184611858565b939250505056fe4c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f6465a264697066735822122016186430e45f0b653cc6c310ec365fabf6482d0e0eaa09675efa7312834bd00464736f6c63430008130033", "nonce": "0x1", "accessList": [] }, @@ -38,7 +38,7 @@ "isFixedGasLimit": false }, { - "hash": "0x9932d38d2d7d37d29639983166a6df31d604986d94758c463f27d3e49be9b969", + "hash": "0xb28687c2ac9524ab60d5fefef1cff1a8cce52ea760e74349a760fda2c0156cf6", "transactionType": "CREATE", "contractName": "DiamondLoupeFacet", "contractAddress": "0x1f0BFD4230e54c8089A7Fc59c9090Fcb40C1cBdC", @@ -47,9 +47,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x97fef", + "gas": "0x97ffe", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506107be806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80637a0ed627116100505780637a0ed627146100a9578063adfca15e146100be578063cdffacc6146100de57600080fd5b806301ffc9a71461006c57806352ef6b2c14610094575b600080fd5b61007f61007a3660046104ff565b610116565b60405190151581526020015b60405180910390f35b61009c61015f565b60405161008b9190610548565b6100b16101d8565b60405161008b91906105ff565b6100d16100cc3660046106a7565b6103a5565b60405161008b91906106dd565b6100f16100ec3660046104ff565b610471565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161008b565b6000806101216104cb565b7fffffffff00000000000000000000000000000000000000000000000000000000909316600090815260039093016020525050604090205460ff1690565b6060600061016b6104cb565b600281018054604080516020808402820181019092528281529394508301828280156101cd57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116101a2575b505050505091505090565b606060006101e46104cb565b60028101549091508067ffffffffffffffff811115610205576102056106f0565b60405190808252806020026020018201604052801561024b57816020015b6040805180820190915260008152606060208201528152602001906001900390816102235790505b50925060005b8181101561039f5760008360020182815481106102705761027061071f565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808583815181106102b0576102b061071f565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff928316905290821660009081526001860182526040908190208054825181850281018501909352808352919290919083018282801561037157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161031e5790505b50505050508583815181106103885761038861071f565b602090810291909101810151015250600101610251565b50505090565b606060006103b16104cb565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600182016020908152604091829020805483518184028101840190945280845293945091929083018282801561046457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104115790505b5050505050915050919050565b60008061047c6104cb565b7fffffffff0000000000000000000000000000000000000000000000000000000090931660009081526020939093525050604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6000806104f960017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61074e565b92915050565b60006020828403121561051157600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461054157600080fd5b9392505050565b6020808252825182820181905260009190848201906040850190845b8181101561059657835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610564565b50909695505050505050565b600081518084526020808501945080840160005b838110156105f45781517fffffffff0000000000000000000000000000000000000000000000000000000016875295820195908201906001016105b6565b509495945050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610699578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452870151878401879052610686878501826105a2565b9588019593505090860190600101610626565b509098975050505050505050565b6000602082840312156106b957600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461054157600080fd5b60208152600061054160208301846105a2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b818103818111156104f9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212202efda5e61f2c592b2a4af7d5c31f8fbb0a33d3323a5a9660830081ceb6ce77b764736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b506107be806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80637a0ed627116100505780637a0ed627146100a9578063adfca15e146100be578063cdffacc6146100de57600080fd5b806301ffc9a71461006c57806352ef6b2c14610094575b600080fd5b61007f61007a3660046104ff565b610116565b60405190151581526020015b60405180910390f35b61009c61015f565b60405161008b9190610548565b6100b16101d8565b60405161008b91906105ff565b6100d16100cc3660046106a7565b6103a5565b60405161008b91906106dd565b6100f16100ec3660046104ff565b610471565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161008b565b6000806101216104cb565b7fffffffff00000000000000000000000000000000000000000000000000000000909316600090815260039093016020525050604090205460ff1690565b6060600061016b6104cb565b600281018054604080516020808402820181019092528281529394508301828280156101cd57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116101a2575b505050505091505090565b606060006101e46104cb565b60028101549091508067ffffffffffffffff811115610205576102056106f0565b60405190808252806020026020018201604052801561024b57816020015b6040805180820190915260008152606060208201528152602001906001900390816102235790505b50925060005b8181101561039f5760008360020182815481106102705761027061071f565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050808583815181106102b0576102b061071f565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff928316905290821660009081526001860182526040908190208054825181850281018501909352808352919290919083018282801561037157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161031e5790505b50505050508583815181106103885761038861071f565b602090810291909101810151015250600101610251565b50505090565b606060006103b16104cb565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600182016020908152604091829020805483518184028101840190945280845293945091929083018282801561046457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104115790505b5050505050915050919050565b60008061047c6104cb565b7fffffffff0000000000000000000000000000000000000000000000000000000090931660009081526020939093525050604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6000806104f960017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61074e565b92915050565b60006020828403121561051157600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461054157600080fd5b9392505050565b6020808252825182820181905260009190848201906040850190845b8181101561059657835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610564565b50909695505050505050565b600081518084526020808501945080840160005b838110156105f45781517fffffffff0000000000000000000000000000000000000000000000000000000016875295820195908201906001016105b6565b509495945050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610699578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452870151878401879052610686878501826105a2565b9588019593505090860190600101610626565b509098975050505050505050565b6000602082840312156106b957600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461054157600080fd5b60208152600061054160208301846105a2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b818103818111156104f9577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220209f8654b9675abd5b1b0c8c39def87574176450437dfc18c91076a58e43127b64736f6c63430008130033", "nonce": "0x2", "accessList": [] }, @@ -57,7 +57,7 @@ "isFixedGasLimit": false }, { - "hash": "0x8a0e1216e059ede35fff12670fc5cb1a4e9b9f70c0e2a8727fcff407aeba199f", + "hash": "0x640af1c4ca8ef61f632471c50b4c55ea1dbe5d4a23db6ab8333b436bc0c85e01", "transactionType": "CREATE", "contractName": "OwnershipFacet", "contractAddress": "0x1289805419dc74bcdeE5D4a06606444E9f1474Ed", @@ -66,9 +66,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x4eb67", + "gas": "0x4eb77", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b5061038d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b1461006c575b600080fd5b610043610081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f61007a3660046102e0565b610090565b005b600061008b61014c565b905090565b73ffffffffffffffffffffffffffffffffffffffff8116610138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f776e65727368697046616365743a204e6577206f776e65722063616e6e6f7460448201527f20626520746865207a65726f206164647265737300000000000000000000000060648201526084015b60405180910390fd5b610140610175565b61014981610227565b50565b60006101566102ac565b6004015473ffffffffffffffffffffffffffffffffffffffff16919050565b61017d6102ac565b6004015473ffffffffffffffffffffffffffffffffffffffff163314610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f6572000000000000000000000000000000000000000000000000000000000000606482015260840161012f565b565b60006102316102ac565b60048101805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6000806102da60017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61031d565b92915050565b6000602082840312156102f257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461031657600080fd5b9392505050565b818103818111156102da577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220346242b4a2dbd245cc413c3f122fb097e32ee2c4b76a8e003b29bc03dafefb6564736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b5061038d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b1461006c575b600080fd5b610043610081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61007f61007a3660046102e0565b610090565b005b600061008b61014c565b905090565b73ffffffffffffffffffffffffffffffffffffffff8116610138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f4f776e65727368697046616365743a204e6577206f776e65722063616e6e6f7460448201527f20626520746865207a65726f206164647265737300000000000000000000000060648201526084015b60405180910390fd5b610140610175565b61014981610227565b50565b60006101566102ac565b6004015473ffffffffffffffffffffffffffffffffffffffff16919050565b61017d6102ac565b6004015473ffffffffffffffffffffffffffffffffffffffff163314610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f6572000000000000000000000000000000000000000000000000000000000000606482015260840161012f565b565b60006102316102ac565b60048101805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6000806102da60017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61031d565b92915050565b6000602082840312156102f257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461031657600080fd5b9392505050565b818103818111156102da577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220b4272ccba13de30e5f727fa6ee7bcccbee70622fa68d247787bc1633e39dcde864736f6c63430008130033", "nonce": "0x3", "accessList": [] }, @@ -76,7 +76,7 @@ "isFixedGasLimit": false }, { - "hash": "0x91962b95263ca0b040ae512a975430f973f3e1b0a0c2efaf7b1cbd7a9156b4a2", + "hash": "0xc3ca6beee72d12ed893d8698d412b1ff7ee70c3862003afe90e84a0f2895765d", "transactionType": "CREATE", "contractName": "ManagerFacet", "contractAddress": "0x4e037B9A8Ce977462DA4E10Fc164363C827abfc6", @@ -87,7 +87,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x263645", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b5061222d806100206000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063923246111161017b578063c5f956af116100d8578063e8b734241161008c578063f6f172cb11610071578063f6f172cb14610627578063f986cd571461063a578063fbff3a411461064d57600080fd5b8063e8b73424146105eb578063ebef28a71461060957600080fd5b8063dd390ea0116100bd578063dd390ea0146105a7578063e0ee6855146105ba578063e2d443bd146105d857600080fd5b8063c5f956af1461056b578063d3815fb91461058957600080fd5b8063b42165d01161012f578063bc3ea01811610114578063bc3ea01814610527578063be1d86e114610545578063c0030add1461055857600080fd5b8063b42165d0146104f6578063ba2d8cdd1461051457600080fd5b8063a9b8b79611610160578063a9b8b79614610481578063ad3401ed146104ba578063b0bd67b4146104d857600080fd5b8063923246111461045b57806393e4e9ee1461046e57600080fd5b8063221e2e60116102295780636605bfda116101dd5780638b38ebb3116101c25780638b38ebb3146104555780638fe636831461045557806391df16d31461045557600080fd5b80636605bfda1461042f578063826d5b8b1461044257600080fd5b80633535f48b1161020e5780633535f48b146103d557806336c3df24146103f3578063421e108c1461041157600080fd5b8063221e2e60146103a457806333c5aa57146103c257600080fd5b806315f97398116102805780631a867af5116102655780631a867af5146103605780631c1f8aa314610373578063214f78821461038657600080fd5b806315f973981461032f5780631a47c9041461034257600080fd5b806283faee146102b1578063016afee7146102c6578063017df327146102d9578063147f1b961461031c575b600080fd5b6102c46102bf366004611e90565b610660565b005b6102c46102d4366004611eb4565b61071d565b60085473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6102c461032a366004611e90565b610822565b6102c461033d366004611e90565b6108da565b60125473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c461036e366004611e90565b610992565b6102c4610381366004611e90565b610a4a565b600d5473ffffffffffffffffffffffffffffffffffffffff166102f3565b600c5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46103d0366004611e90565b610b02565b60065473ffffffffffffffffffffffffffffffffffffffff166102f3565b600b5473ffffffffffffffffffffffffffffffffffffffff166102f3565b60115473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c461043d366004611e90565b610bba565b6102c4610450366004611e90565b610c72565b306102f3565b6102c4610469366004611e90565b610d2a565b6102c461047c366004611e90565b610de2565b6102f361048f366004611e90565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152601460205260409020541690565b60055473ffffffffffffffffffffffffffffffffffffffff166102f3565b60025473ffffffffffffffffffffffffffffffffffffffff166102f3565b600a5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610522366004611e90565b610e9a565b60015473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610553366004611e90565b610f52565b6102c4610566366004611e90565b61100a565b60095473ffffffffffffffffffffffffffffffffffffffff166102f3565b60075473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46105b5366004611e90565b6110c2565b60045473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46105e6366004611e90565b61117a565b60105473ffffffffffffffffffffffffffffffffffffffff166102f3565b600e5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610635366004611eb4565b611232565b6102c4610648366004611e90565b6112f6565b6102c461065b366004611eed565b6113ae565b61066b600033611deb565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064015b60405180910390fd5b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610728600033611deb565b61078e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b6001546040517fb6232c9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152838116602483015290911690819063b6232c9990604401600060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b50505050505050565b61082d600033611deb565b610893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6108e5600033611deb565b61094b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61099d600033611deb565b610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610a55600033611deb565b610abb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610b0d600033611deb565b610b73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610bc5600033611deb565b610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610c7d600033611deb565b610ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610d35600033611deb565b610d9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ded600033611deb565b610e53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ea5600033611deb565b610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610f5d600033611deb565b610fc3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611015600033611deb565b61107b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6110cd600033611deb565b611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611185600033611deb565b6111eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61123d600033611deb565b6112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260146020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b611301600033611deb565b611367576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6113b9600033611deb565b61141f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b60008573ffffffffffffffffffffffffffffffffffffffff1663e339eb4f86600060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156114ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526114f49190810190611f9b565b600154604080517f95d89b41000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff909216916395d89b41916004808201926000929091908290030181865afa158015611564573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115aa9190810190611f9b565b6001546040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1681526116039493929173ffffffffffffffffffffffffffffffffffffffff16908a908a906004016120b0565b6020604051808303816000875af1158015611622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116469190612110565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179091556040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152919250600091908616906370a0823190602401602060405180830381865afa1580156116e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170b919061212d565b6001546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925060009173ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa15801561177f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a3919061212d565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529192509087169063095ea7b3906044016020604051808303816000875af115801561181c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118409190612146565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905287169063095ea7b3906044016020604051808303816000875af11580156118b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118da9190612146565b506001546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529091169063095ea7b3906044016020604051808303816000875af1158015611954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119789190612146565b506001546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018490529091169063095ea7b3906044016020604051808303816000875af11580156119f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a169190612146565b506001546040517fc66106570000000000000000000000000000000000000000000000000000000081526000600482015273ffffffffffffffffffffffffffffffffffffffff9182169185169063c661065790602401602060405180830381865afa158015611a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aad9190612110565b73ffffffffffffffffffffffffffffffffffffffff16148015611b7757506040517fc66106570000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff808816919085169063c661065790602401602060405180830381865afa158015611b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5f9190612110565b73ffffffffffffffffffffffffffffffffffffffff16145b611bdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4d47523a20434f494e5f4f524445525f4d49534d41544348000000000000000060448201526064016106cd565b60408051808201918290526001547f70a0823100000000000000000000000000000000000000000000000000000000909252306044820152600091819073ffffffffffffffffffffffffffffffffffffffff166370a0823160648301602060405180830381865afa158015611c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7a919061212d565b81526040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260209091019073ffffffffffffffffffffffffffffffffffffffff8a16906370a0823190602401602060405180830381865afa158015611cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d10919061212d565b9052600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a8116919091179091556040517f0c3e4b54000000000000000000000000000000000000000000000000000000008152919250851690630c3e4b5490611d9c9084906000903390600401612168565b6020604051808303816000875af1158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061212d565b50505050505050505050565b6000611e3482611df9611e3d565b6000868152602091909152604090209073ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415155b90505b92915050565b600080611e3760017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776121bd565b73ffffffffffffffffffffffffffffffffffffffff81168114611e8d57600080fd5b50565b600060208284031215611ea257600080fd5b8135611ead81611e6b565b9392505050565b60008060408385031215611ec757600080fd5b8235611ed281611e6b565b91506020830135611ee281611e6b565b809150509250929050565b600080600080600060a08688031215611f0557600080fd5b8535611f1081611e6b565b94506020860135611f2081611e6b565b93506040860135611f3081611e6b565b94979396509394606081013594506080013592915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015611f92578181015183820152602001611f7a565b50506000910152565b600060208284031215611fad57600080fd5b815167ffffffffffffffff80821115611fc557600080fd5b818401915084601f830112611fd957600080fd5b815181811115611feb57611feb611f48565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561203157612031611f48565b8160405282815287602084870101111561204a57600080fd5b61205b836020830160208801611f77565b979650505050505050565b6000815180845261207e816020860160208601611f77565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835260c060208401526120e060c0840189612066565b83810360408501526120f28189612066565b91909616606084015260808301949094525060a00152949350505050565b60006020828403121561212257600080fd5b8151611ead81611e6b565b60006020828403121561213f57600080fd5b5051919050565b60006020828403121561215857600080fd5b81518015158114611ead57600080fd5b60808101818560005b6002811015612190578151835260209283019290910190600101612171565b50505083604083015273ffffffffffffffffffffffffffffffffffffffff83166060830152949350505050565b81810381811115611e37577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220bbce2e335f10c9fec3c075895dbeeb9f58d1aafdf0203eb80a492bc2bee2977164736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b5061222d806100206000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063923246111161017b578063c5f956af116100d8578063e8b734241161008c578063f6f172cb11610071578063f6f172cb14610627578063f986cd571461063a578063fbff3a411461064d57600080fd5b8063e8b73424146105eb578063ebef28a71461060957600080fd5b8063dd390ea0116100bd578063dd390ea0146105a7578063e0ee6855146105ba578063e2d443bd146105d857600080fd5b8063c5f956af1461056b578063d3815fb91461058957600080fd5b8063b42165d01161012f578063bc3ea01811610114578063bc3ea01814610527578063be1d86e114610545578063c0030add1461055857600080fd5b8063b42165d0146104f6578063ba2d8cdd1461051457600080fd5b8063a9b8b79611610160578063a9b8b79614610481578063ad3401ed146104ba578063b0bd67b4146104d857600080fd5b8063923246111461045b57806393e4e9ee1461046e57600080fd5b8063221e2e60116102295780636605bfda116101dd5780638b38ebb3116101c25780638b38ebb3146104555780638fe636831461045557806391df16d31461045557600080fd5b80636605bfda1461042f578063826d5b8b1461044257600080fd5b80633535f48b1161020e5780633535f48b146103d557806336c3df24146103f3578063421e108c1461041157600080fd5b8063221e2e60146103a457806333c5aa57146103c257600080fd5b806315f97398116102805780631a867af5116102655780631a867af5146103605780631c1f8aa314610373578063214f78821461038657600080fd5b806315f973981461032f5780631a47c9041461034257600080fd5b806283faee146102b1578063016afee7146102c6578063017df327146102d9578063147f1b961461031c575b600080fd5b6102c46102bf366004611e90565b610660565b005b6102c46102d4366004611eb4565b61071d565b60085473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6102c461032a366004611e90565b610822565b6102c461033d366004611e90565b6108da565b60125473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c461036e366004611e90565b610992565b6102c4610381366004611e90565b610a4a565b600d5473ffffffffffffffffffffffffffffffffffffffff166102f3565b600c5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46103d0366004611e90565b610b02565b60065473ffffffffffffffffffffffffffffffffffffffff166102f3565b600b5473ffffffffffffffffffffffffffffffffffffffff166102f3565b60115473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c461043d366004611e90565b610bba565b6102c4610450366004611e90565b610c72565b306102f3565b6102c4610469366004611e90565b610d2a565b6102c461047c366004611e90565b610de2565b6102f361048f366004611e90565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152601460205260409020541690565b60055473ffffffffffffffffffffffffffffffffffffffff166102f3565b60025473ffffffffffffffffffffffffffffffffffffffff166102f3565b600a5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610522366004611e90565b610e9a565b60015473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610553366004611e90565b610f52565b6102c4610566366004611e90565b61100a565b60095473ffffffffffffffffffffffffffffffffffffffff166102f3565b60075473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46105b5366004611e90565b6110c2565b60045473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c46105e6366004611e90565b61117a565b60105473ffffffffffffffffffffffffffffffffffffffff166102f3565b600e5473ffffffffffffffffffffffffffffffffffffffff166102f3565b6102c4610635366004611eb4565b611232565b6102c4610648366004611e90565b6112f6565b6102c461065b366004611eed565b6113ae565b61066b600033611deb565b6106d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064015b60405180910390fd5b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610728600033611deb565b61078e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b6001546040517fb6232c9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152838116602483015290911690819063b6232c9990604401600060405180830381600087803b15801561080557600080fd5b505af1158015610819573d6000803e3d6000fd5b50505050505050565b61082d600033611deb565b610893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6108e5600033611deb565b61094b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61099d600033611deb565b610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610a55600033611deb565b610abb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610b0d600033611deb565b610b73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610bc5600033611deb565b610c2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610c7d600033611deb565b610ce3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610d35600033611deb565b610d9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ded600033611deb565b610e53576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610ea5600033611deb565b610f0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610f5d600033611deb565b610fc3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611015600033611deb565b61107b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b601180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6110cd600033611deb565b611133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611185600033611deb565b6111eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61123d600033611deb565b6112a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260146020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b611301600033611deb565b611367576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6113b9600033611deb565b61141f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016106cd565b60008573ffffffffffffffffffffffffffffffffffffffff1663e339eb4f86600060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156114ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526114f49190810190611f9b565b600154604080517f95d89b41000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff909216916395d89b41916004808201926000929091908290030181865afa158015611564573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115aa9190810190611f9b565b6001546040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1681526116039493929173ffffffffffffffffffffffffffffffffffffffff16908a908a906004016120b0565b6020604051808303816000875af1158015611622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116469190612110565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179091556040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152919250600091908616906370a0823190602401602060405180830381865afa1580156116e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170b919061212d565b6001546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925060009173ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa15801561177f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a3919061212d565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529192509087169063095ea7b3906044016020604051808303816000875af115801561181c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118409190612146565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905287169063095ea7b3906044016020604051808303816000875af11580156118b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118da9190612146565b506001546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529091169063095ea7b3906044016020604051808303816000875af1158015611954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119789190612146565b506001546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018490529091169063095ea7b3906044016020604051808303816000875af11580156119f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a169190612146565b506001546040517fc66106570000000000000000000000000000000000000000000000000000000081526000600482015273ffffffffffffffffffffffffffffffffffffffff9182169185169063c661065790602401602060405180830381865afa158015611a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aad9190612110565b73ffffffffffffffffffffffffffffffffffffffff16148015611b7757506040517fc66106570000000000000000000000000000000000000000000000000000000081526001600482015273ffffffffffffffffffffffffffffffffffffffff808816919085169063c661065790602401602060405180830381865afa158015611b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5f9190612110565b73ffffffffffffffffffffffffffffffffffffffff16145b611bdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4d47523a20434f494e5f4f524445525f4d49534d41544348000000000000000060448201526064016106cd565b60408051808201918290526001547f70a0823100000000000000000000000000000000000000000000000000000000909252306044820152600091819073ffffffffffffffffffffffffffffffffffffffff166370a0823160648301602060405180830381865afa158015611c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7a919061212d565b81526040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260209091019073ffffffffffffffffffffffffffffffffffffffff8a16906370a0823190602401602060405180830381865afa158015611cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d10919061212d565b9052600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a8116919091179091556040517f0c3e4b54000000000000000000000000000000000000000000000000000000008152919250851690630c3e4b5490611d9c9084906000903390600401612168565b6020604051808303816000875af1158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061212d565b50505050505050505050565b6000611e3482611df9611e3d565b6000868152602091909152604090209073ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415155b90505b92915050565b600080611e3760017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776121bd565b73ffffffffffffffffffffffffffffffffffffffff81168114611e8d57600080fd5b50565b600060208284031215611ea257600080fd5b8135611ead81611e6b565b9392505050565b60008060408385031215611ec757600080fd5b8235611ed281611e6b565b91506020830135611ee281611e6b565b809150509250929050565b600080600080600060a08688031215611f0557600080fd5b8535611f1081611e6b565b94506020860135611f2081611e6b565b93506040860135611f3081611e6b565b94979396509394606081013594506080013592915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60005b83811015611f92578181015183820152602001611f7a565b50506000910152565b600060208284031215611fad57600080fd5b815167ffffffffffffffff80821115611fc557600080fd5b818401915084601f830112611fd957600080fd5b815181811115611feb57611feb611f48565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561203157612031611f48565b8160405282815287602084870101111561204a57600080fd5b61205b836020830160208801611f77565b979650505050505050565b6000815180845261207e816020860160208601611f77565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff808916835260c060208401526120e060c0840189612066565b83810360408501526120f28189612066565b91909616606084015260808301949094525060a00152949350505050565b60006020828403121561212257600080fd5b8151611ead81611e6b565b60006020828403121561213f57600080fd5b5051919050565b60006020828403121561215857600080fd5b81518015158114611ead57600080fd5b60808101818560005b6002811015612190578151835260209283019290910190600101612171565b50505083604083015273ffffffffffffffffffffffffffffffffffffffff83166060830152949350505050565b81810381811115611e37577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220c772bc9264676d7b4a6369b71e39044ab23a7dc97bb462e4e054201e0c54c58a64736f6c63430008130033", "nonce": "0x4", "accessList": [] }, @@ -95,7 +95,7 @@ "isFixedGasLimit": false }, { - "hash": "0x8bd5e9e95f62f1f702722e048a6d96c16d8a6e8bde2e78de2909583a560ac8d5", + "hash": "0x2fb40379a262db56d7f76ade85f84dd875654e377754cfcdac1e9d23b63b8aca", "transactionType": "CREATE", "contractName": "AccessControlFacet", "contractAddress": "0x58de01A211b2477ce1393c5512bF6089eFc59c25", @@ -106,7 +106,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0xeb648", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50610c8a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638456cb591161005b5780638456cb59146100e85780638bb9c5bf146100f057806391d1485414610103578063d547741f1461011657600080fd5b8063248a9ca31461008d5780632f2ff15d146100b35780633f4ba83a146100c85780635c975abb146100d0575b600080fd5b6100a061009b366004610a03565b610129565b6040519081526020015b60405180910390f35b6100c66100c1366004610a1c565b61013a565b005b6100c661015b565b6100d8610247565b60405190151581526020016100aa565b6100c661025a565b6100c66100fe366004610a03565b610340565b6100d8610111366004610a1c565b61034c565b6100c6610124366004610a1c565b61035f565b60006101348261037b565b92915050565b6101438261037b565b61014c81610399565b61015683836103a3565b505050565b60155460ff166101cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064015b60405180910390fd5b6101d760003361040e565b61023d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016101c3565b610245610431565b565b600061025560155460ff1690565b905090565b60155460ff16156102c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016101c3565b6102d260003361040e565b610338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016101c3565b61024561048f565b610349816104ea565b50565b6000610358838361040e565b9392505050565b6103688261037b565b61037181610399565b61015683836104f0565b600061038561055b565b600092835260205250604090206002015490565b6103498133610589565b6103c4816103af61055b565b60008581526020919091526040902090610634565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60006103588261041c61055b565b60008681526020919091526040902090610656565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610485565b61034981335b610511816104fc61055b565b60008581526020919091526040902090610685565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b90600090a45050565b60008061013460017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77610a94565b610593828261040e565b610630576105b68173ffffffffffffffffffffffffffffffffffffffff166106a7565b6105c18360206106c6565b6040516020016105d2929190610acb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526101c391600401610b4c565b5050565b60006103588373ffffffffffffffffffffffffffffffffffffffff84166108dd565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610358565b60006103588373ffffffffffffffffffffffffffffffffffffffff8416610920565b606061013473ffffffffffffffffffffffffffffffffffffffff831660145b606060006106d5836002610b9d565b6106e0906002610bb4565b67ffffffffffffffff8111156106f8576106f8610bc7565b6040519080825280601f01601f191660200182016040528015610722576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061075957610759610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106107bc576107bc610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600160028402015b60018111156108a4577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061083157610831610bf6565b1a60f81b82828151811061084757610847610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016107f3565b508315610358576040517fc913478500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600183016020526040812054610134575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b600081815260018301602052604081205480156109fc57835460009085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061097057610970610bf6565b906000526020600020015490508085600001600184038154811061099657610996610bf6565b60009182526020808320909101929092559182526001860190526040902081905583548490806109c8576109c8610c25565b6001900381819060005260206000200160009055905583600101600084815260200190815260200160002060009055600191505b5092915050565b600060208284031215610a1557600080fd5b5035919050565b60008060408385031215610a2f57600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff81168114610a5a57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561013457610134610a65565b60005b83811015610ac2578181015183820152602001610aaa565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610b03816017850160208801610aa7565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351610b40816028840160208801610aa7565b01602801949350505050565b6020815260008251806020840152610b6b816040850160208701610aa7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b808202811582820484141761013457610134610a65565b8082018082111561013457610134610a65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220db29da2fa5c943b6d514ecf95b50a43ffd43dd4fba1595ff5edb3312ac4e327364736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50610c8a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638456cb591161005b5780638456cb59146100e85780638bb9c5bf146100f057806391d1485414610103578063d547741f1461011657600080fd5b8063248a9ca31461008d5780632f2ff15d146100b35780633f4ba83a146100c85780635c975abb146100d0575b600080fd5b6100a061009b366004610a03565b610129565b6040519081526020015b60405180910390f35b6100c66100c1366004610a1c565b61013a565b005b6100c661015b565b6100d8610247565b60405190151581526020016100aa565b6100c661025a565b6100c66100fe366004610a03565b610340565b6100d8610111366004610a1c565b61034c565b6100c6610124366004610a1c565b61035f565b60006101348261037b565b92915050565b6101438261037b565b61014c81610399565b61015683836103a3565b505050565b60155460ff166101cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064015b60405180910390fd5b6101d760003361040e565b61023d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016101c3565b610245610431565b565b600061025560155460ff1690565b905090565b60155460ff16156102c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016101c3565b6102d260003361040e565b610338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d616e616765723a2043616c6c6572206973206e6f742061646d696e0000000060448201526064016101c3565b61024561048f565b610349816104ea565b50565b6000610358838361040e565b9392505050565b6103688261037b565b61037181610399565b61015683836104f0565b600061038561055b565b600092835260205250604090206002015490565b6103498133610589565b6103c4816103af61055b565b60008581526020919091526040902090610634565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60006103588261041c61055b565b60008681526020919091526040902090610656565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610485565b61034981335b610511816104fc61055b565b60008581526020919091526040902090610685565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b90600090a45050565b60008061013460017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77610a94565b610593828261040e565b610630576105b68173ffffffffffffffffffffffffffffffffffffffff166106a7565b6105c18360206106c6565b6040516020016105d2929190610acb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526101c391600401610b4c565b5050565b60006103588373ffffffffffffffffffffffffffffffffffffffff84166108dd565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610358565b60006103588373ffffffffffffffffffffffffffffffffffffffff8416610920565b606061013473ffffffffffffffffffffffffffffffffffffffff831660145b606060006106d5836002610b9d565b6106e0906002610bb4565b67ffffffffffffffff8111156106f8576106f8610bc7565b6040519080825280601f01601f191660200182016040528015610722576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061075957610759610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106107bc576107bc610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600160028402015b60018111156108a4577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061083157610831610bf6565b1a60f81b82828151811061084757610847610bf6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016107f3565b508315610358576040517fc913478500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600183016020526040812054610134575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b600081815260018301602052604081205480156109fc57835460009085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061097057610970610bf6565b906000526020600020015490508085600001600184038154811061099657610996610bf6565b60009182526020808320909101929092559182526001860190526040902081905583548490806109c8576109c8610c25565b6001900381819060005260206000200160009055905583600101600084815260200190815260200160002060009055600191505b5092915050565b600060208284031215610a1557600080fd5b5035919050565b60008060408385031215610a2f57600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff81168114610a5a57600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561013457610134610a65565b60005b83811015610ac2578181015183820152602001610aaa565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610b03816017850160208801610aa7565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351610b40816028840160208801610aa7565b01602801949350505050565b6020815260008251806020840152610b6b816040850160208701610aa7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b808202811582820484141761013457610134610a65565b8082018082111561013457610134610a65565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212208ff88f62f4ee39443adcb6672f2199c3c63808f26ec6acdb957b145ef43cc94e64736f6c63430008130033", "nonce": "0x5", "accessList": [] }, @@ -114,7 +114,7 @@ "isFixedGasLimit": false }, { - "hash": "0x0a99ed844a4cffcc6941f8b03ffb564cce5363cb25291489e08923a43163b0db", + "hash": "0x27c8e5f0243cbb3ca8437b66a3f2d1f2b2bc2d0a28b3b58863dcfad47772f939", "transactionType": "CREATE", "contractName": "TWAPOracleDollar3poolFacet", "contractAddress": "0xd7d3E9c9BC05aBA6B9AE47b27aD18d83e441BF32", @@ -125,7 +125,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x11ad3a", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50610f42806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063283583c6146100465780634e847fc71461006b578063a2e6204514610080575b600080fd5b610059610054366004610cf9565b610088565b60405190815260200160405180910390f35b61007e610079366004610d1d565b610099565b005b61007e6100af565b6000610093826100b9565b92915050565b6100a161022f565b6100ab82826102df565b5050565b6100b76108ac565b565b6000806100c4610aea565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161012d575050505050815250509050610153600090565b6001015473ffffffffffffffffffffffffffffffffffffffff908116908416036101835780604001519150610229565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610221576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064015b60405180910390fd5b806060015191505b50919050565b610237610b18565b6004015473ffffffffffffffffffffffffffffffffffffffff1633146100b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f65720000000000000000000000000000000000000000000000000000000000006064820152608401610218565b6000600101546040517fc66106570000000000000000000000000000000000000000000000000000000081526000600482015273ffffffffffffffffffffffffffffffffffffffff9182169184169063c661065790602401602060405180830381865afa158015610354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103789190610d56565b73ffffffffffffffffffffffffffffffffffffffff161461041b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f545741504f7261636c653a2046495253545f434f494e5f4e4f545f444f4c4c4160448201527f52000000000000000000000000000000000000000000000000000000000000006064820152608401610218565b6000610425610aea565b6040517fc66106570000000000000000000000000000000000000000000000000000000081526001600482015290915073ffffffffffffffffffffffffffffffffffffffff808416919085169063c661065790602401602060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc9190610d56565b73ffffffffffffffffffffffffffffffffffffffff1614610539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f545741504f7261636c653a20434f494e5f4f524445525f4d49534d41544348006044820152606401610218565b6040517f4903b0d10000000000000000000000000000000000000000000000000000000081526000600482018190529073ffffffffffffffffffffffffffffffffffffffff851690634903b0d190602401602060405180830381865afa1580156105a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cb9190610d73565b6dffffffffffffffffffffffffffff16905060008473ffffffffffffffffffffffffffffffffffffffff16634903b0d160016040518263ffffffff1660e01b815260040161061b91815260200190565b602060405180830381865afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065c9190610d73565b6dffffffffffffffffffffffffffff169050811580159061067c57508015155b6106e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f545741504f7261636c653a204e4f5f52455345525645530000000000000000006044820152606401610218565b80821461074b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f545741504f7261636c653a20504149525f554e42414c414e43454400000000006044820152606401610218565b8473ffffffffffffffffffffffffffffffffffffffff16634469e30e6040518163ffffffff1660e01b81526004016040805180830381865afa158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b99190610d8c565b6107c99060058501906002610c63565b508473ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610815573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108399190610d73565b60048401555050805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617825560018201805493909416921691909117909155670de0b6b3a764000060028201819055600390910155565b60006108b6610aea565b90506000806108c3610b46565b9150915060008360040154826108d99190610e33565b1115610ae5578254600484015460009173ffffffffffffffffffffffffffffffffffffffff1690630f6ba8e390600587019086906109179087610e33565b6040518463ffffffff1660e01b815260040161093593929190610e96565b6040805180830381865afa158015610951573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109759190610d8c565b84546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690637e42fc0c906109db90600090600190670de0b6b3a7640000908790600401610edc565b602060405180830381865afa1580156109f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1c9190610d73565b600285015583546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637e42fc0c90610a8690600190600090670de0b6b3a7640000908790600401610edc565b602060405180830381865afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac79190610d73565b6003850155610adb60058501846002610c63565b5050600483018190555b505050565b60008061009360017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628610e33565b60008061009360017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c610e33565b610b4e610ca1565b600080610b59610aea565b54604080517f4469e30e000000000000000000000000000000000000000000000000000000008152815173ffffffffffffffffffffffffffffffffffffffff90931693508392634469e30e926004808401939192918290030181865afa158015610bc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610beb9190610d8c565b92508073ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5c9190610d73565b9150509091565b8260028101928215610c91579160200282015b82811115610c91578251825591602001919060010190610c76565b50610c9d929150610cbf565b5090565b60405180604001604052806002906020820280368337509192915050565b5b80821115610c9d5760008155600101610cc0565b73ffffffffffffffffffffffffffffffffffffffff81168114610cf657600080fd5b50565b600060208284031215610d0b57600080fd5b8135610d1681610cd4565b9392505050565b60008060408385031215610d3057600080fd5b8235610d3b81610cd4565b91506020830135610d4b81610cd4565b809150509250929050565b600060208284031215610d6857600080fd5b8151610d1681610cd4565b600060208284031215610d8557600080fd5b5051919050565b600060408284031215610d9e57600080fd5b82601f830112610dad57600080fd5b6040516040810181811067ffffffffffffffff82111715610df7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250806040840185811115610e0e57600080fd5b845b81811015610e28578051835260209283019201610e10565b509195945050505050565b81810381811115610093577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8060005b6002811015610e90578151845260209384019390910190600101610e71565b50505050565b60a08101818560005b6002811015610ebe578154835260209092019160019182019101610e9f565b505050610ece6040830185610e6d565b826080830152949350505050565b600f85810b825284900b60208201526040810183905260a08101610f036060830184610e6d565b9594505050505056fea26469706673582212207fa352507acc0997d7844d4e33c3a1c6d053f281dfd6edabcd23822d7ccc6c4264736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50610f42806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063283583c6146100465780634e847fc71461006b578063a2e6204514610080575b600080fd5b610059610054366004610cf9565b610088565b60405190815260200160405180910390f35b61007e610079366004610d1d565b610099565b005b61007e6100af565b6000610093826100b9565b92915050565b6100a161022f565b6100ab82826102df565b5050565b6100b76108ac565b565b6000806100c4610aea565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161012d575050505050815250509050610153600090565b6001015473ffffffffffffffffffffffffffffffffffffffff908116908416036101835780604001519150610229565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610221576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064015b60405180910390fd5b806060015191505b50919050565b610237610b18565b6004015473ffffffffffffffffffffffffffffffffffffffff1633146100b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f65720000000000000000000000000000000000000000000000000000000000006064820152608401610218565b6000600101546040517fc66106570000000000000000000000000000000000000000000000000000000081526000600482015273ffffffffffffffffffffffffffffffffffffffff9182169184169063c661065790602401602060405180830381865afa158015610354573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103789190610d56565b73ffffffffffffffffffffffffffffffffffffffff161461041b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f545741504f7261636c653a2046495253545f434f494e5f4e4f545f444f4c4c4160448201527f52000000000000000000000000000000000000000000000000000000000000006064820152608401610218565b6000610425610aea565b6040517fc66106570000000000000000000000000000000000000000000000000000000081526001600482015290915073ffffffffffffffffffffffffffffffffffffffff808416919085169063c661065790602401602060405180830381865afa158015610498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc9190610d56565b73ffffffffffffffffffffffffffffffffffffffff1614610539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f545741504f7261636c653a20434f494e5f4f524445525f4d49534d41544348006044820152606401610218565b6040517f4903b0d10000000000000000000000000000000000000000000000000000000081526000600482018190529073ffffffffffffffffffffffffffffffffffffffff851690634903b0d190602401602060405180830381865afa1580156105a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cb9190610d73565b6dffffffffffffffffffffffffffff16905060008473ffffffffffffffffffffffffffffffffffffffff16634903b0d160016040518263ffffffff1660e01b815260040161061b91815260200190565b602060405180830381865afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065c9190610d73565b6dffffffffffffffffffffffffffff169050811580159061067c57508015155b6106e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f545741504f7261636c653a204e4f5f52455345525645530000000000000000006044820152606401610218565b80821461074b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f545741504f7261636c653a20504149525f554e42414c414e43454400000000006044820152606401610218565b8473ffffffffffffffffffffffffffffffffffffffff16634469e30e6040518163ffffffff1660e01b81526004016040805180830381865afa158015610795573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b99190610d8c565b6107c99060058501906002610c63565b508473ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610815573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108399190610d73565b60048401555050805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617825560018201805493909416921691909117909155670de0b6b3a764000060028201819055600390910155565b60006108b6610aea565b90506000806108c3610b46565b9150915060008360040154826108d99190610e33565b1115610ae5578254600484015460009173ffffffffffffffffffffffffffffffffffffffff1690630f6ba8e390600587019086906109179087610e33565b6040518463ffffffff1660e01b815260040161093593929190610e96565b6040805180830381865afa158015610951573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109759190610d8c565b84546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690637e42fc0c906109db90600090600190670de0b6b3a7640000908790600401610edc565b602060405180830381865afa1580156109f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1c9190610d73565b600285015583546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637e42fc0c90610a8690600190600090670de0b6b3a7640000908790600401610edc565b602060405180830381865afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac79190610d73565b6003850155610adb60058501846002610c63565b5050600483018190555b505050565b60008061009360017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628610e33565b60008061009360017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c610e33565b610b4e610ca1565b600080610b59610aea565b54604080517f4469e30e000000000000000000000000000000000000000000000000000000008152815173ffffffffffffffffffffffffffffffffffffffff90931693508392634469e30e926004808401939192918290030181865afa158015610bc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610beb9190610d8c565b92508073ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5c9190610d73565b9150509091565b8260028101928215610c91579160200282015b82811115610c91578251825591602001919060010190610c76565b50610c9d929150610cbf565b5090565b60405180604001604052806002906020820280368337509192915050565b5b80821115610c9d5760008155600101610cc0565b73ffffffffffffffffffffffffffffffffffffffff81168114610cf657600080fd5b50565b600060208284031215610d0b57600080fd5b8135610d1681610cd4565b9392505050565b60008060408385031215610d3057600080fd5b8235610d3b81610cd4565b91506020830135610d4b81610cd4565b809150509250929050565b600060208284031215610d6857600080fd5b8151610d1681610cd4565b600060208284031215610d8557600080fd5b5051919050565b600060408284031215610d9e57600080fd5b82601f830112610dad57600080fd5b6040516040810181811067ffffffffffffffff82111715610df7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250806040840185811115610e0e57600080fd5b845b81811015610e28578051835260209283019201610e10565b509195945050505050565b81810381811115610093577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8060005b6002811015610e90578151845260209384019390910190600101610e71565b50505050565b60a08101818560005b6002811015610ebe578154835260209092019160019182019101610e9f565b505050610ece6040830185610e6d565b826080830152949350505050565b600f85810b825284900b60208201526040810183905260a08101610f036060830184610e6d565b9594505050505056fea2646970667358221220a2ff211efdc5dc3930d6961d958ae4abf8a4355f9fee6a7afedb48ece7e438d564736f6c63430008130033", "nonce": "0x6", "accessList": [] }, @@ -133,7 +133,7 @@ "isFixedGasLimit": false }, { - "hash": "0x2dfae46114a17297bf70418ad6425bf91ba15772047ce672d1635508675678cd", + "hash": "0x92b6c572c8b7e45f3e00e31c6c04ab2f0904ab21da5d823b1ebde4d0a3f4558f", "transactionType": "CREATE", "contractName": "CollectableDustFacet", "contractAddress": "0x635caB41ff7b3b2FA5ebE9518129947a563719B6", @@ -144,7 +144,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x1140e0", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50610ee6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632db8c12914610046578063bf0d68e41461005b578063fa3305c91461006e575b600080fd5b610059610054366004610d07565b610081565b005b610059610069366004610d43565b610126565b61005961007c366004610d43565b6101c2565b6100ab7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b610116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e6167657200000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610121838383610287565b505050565b6101507fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b6101b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161010d565b6101bf81610554565b50565b6101ec7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b610252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161010d565b6101bf8161064c565b600061027e8261026961073e565b6000868152602091909152604090209061076c565b90505b92915050565b73ffffffffffffffffffffffffffffffffffffffff831661032a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f636f6c6c65637461626c652d647573743a3a63616e742d73656e642d6475737460448201527f2d746f2d7a65726f2d6164647265737300000000000000000000000000000000606482015260840161010d565b61033c8261033661079b565b9061076c565b156103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d69732d706172742d60448201527f6f662d7468652d70726f746f636f6c0000000000000000000000000000000000606482015260840161010d565b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8316016104d65760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610460576040519150601f19603f3d011682016040523d82523d6000602084013e610465565b606091505b50509050806104d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4661696c656420746f2073656e64204574686572000000000000000000000000604482015260640161010d565b506104f7565b6104f773ffffffffffffffffffffffffffffffffffffffff831684836107c9565b6040805173ffffffffffffffffffffffffffffffffffffffff8086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6105608161033661079b565b6105ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d6e6f742d7061727460448201527f2d6f662d7468652d70726f746f636f6c00000000000000000000000000000000606482015260840161010d565b6105fe816105f861079b565b90610856565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527fddd12a8c3ce9bea5c97a5d25c8b777caab85752828f56b7b8ad5a0b30340a25f906020015b60405180910390a150565b6106588161033661079b565b156106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d69732d706172742d60448201527f6f662d7468652d70726f746f636f6c0000000000000000000000000000000000606482015260840161010d565b6106f7816106f161079b565b90610878565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527fa3e4ba856dd0fdee3a33ab9b82499fd01f05236f3d08cc4e7108698c6e3e7e5090602001610641565b60008061028160017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77610d5e565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600183016020526040812054151561027e565b60008061028160017f7d2bc78964af80fada8ea0387e16a12e0e02e89e34c66d0d6a8f84654abaf517610d5e565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261012190849061089a565b600061027e8373ffffffffffffffffffffffffffffffffffffffff84166109a9565b600061027e8373ffffffffffffffffffffffffffffffffffffffff8416610a8c565b60006108fc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610acf9092919063ffffffff16565b905080516000148061091d57508080602001905181019061091d9190610d98565b610121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161010d565b60008181526001830160205260408120548015610a8557835460009085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106109f9576109f9610dc1565b9060005260206000200154905080856000016001840381548110610a1f57610a1f610dc1565b6000918252602080832090910192909255918252600186019052604090208190558354849080610a5157610a51610df0565b6001900381819060005260206000200160009055905583600101600084815260200190815260200160002060009055600191505b5092915050565b6000818152600183016020526040812054610281575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b6060610ade8484600085610ae6565b949350505050565b606082471015610b78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161010d565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ba19190610e43565b60006040518083038185875af1925050503d8060008114610bde576040519150601f19603f3d011682016040523d82523d6000602084013e610be3565b606091505b5091509150610bf487838387610bff565b979650505050505050565b60608315610c95578251600003610c8e5773ffffffffffffffffffffffffffffffffffffffff85163b610c8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161010d565b5081610ade565b610ade8383815115610caa5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010d9190610e5f565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d0257600080fd5b919050565b600080600060608486031215610d1c57600080fd5b610d2584610cde565b9250610d3360208501610cde565b9150604084013590509250925092565b600060208284031215610d5557600080fd5b61027e82610cde565b81810381811115610281577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060208284031215610daa57600080fd5b81518015158114610dba57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60005b83811015610e3a578181015183820152602001610e22565b50506000910152565b60008251610e55818460208701610e1f565b9190910192915050565b6020815260008251806020840152610e7e816040850160208701610e1f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212206ba7df5c26c164ccf92b2813cb2ac2306a0bf76840aee029dd89c7ba09cb23ae64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50610ee6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80632db8c12914610046578063bf0d68e41461005b578063fa3305c91461006e575b600080fd5b610059610054366004610d07565b610081565b005b610059610069366004610d43565b610126565b61005961007c366004610d43565b6101c2565b6100ab7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b610116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e6167657200000000000000000000000000000000000000000060448201526064015b60405180910390fd5b610121838383610287565b505050565b6101507fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b6101b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161010d565b6101bf81610554565b50565b6101ec7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b3361025b565b610252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161010d565b6101bf8161064c565b600061027e8261026961073e565b6000868152602091909152604090209061076c565b90505b92915050565b73ffffffffffffffffffffffffffffffffffffffff831661032a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f636f6c6c65637461626c652d647573743a3a63616e742d73656e642d6475737460448201527f2d746f2d7a65726f2d6164647265737300000000000000000000000000000000606482015260840161010d565b61033c8261033661079b565b9061076c565b156103c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d69732d706172742d60448201527f6f662d7468652d70726f746f636f6c0000000000000000000000000000000000606482015260840161010d565b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8316016104d65760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610460576040519150601f19603f3d011682016040523d82523d6000602084013e610465565b606091505b50509050806104d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4661696c656420746f2073656e64204574686572000000000000000000000000604482015260640161010d565b506104f7565b6104f773ffffffffffffffffffffffffffffffffffffffff831684836107c9565b6040805173ffffffffffffffffffffffffffffffffffffffff8086168252841660208201529081018290527f1e34c1aee8e83c2dcc14c21bb4bfeea7f46c0c998cb797ac7cc4d7a18f5c656b9060600160405180910390a1505050565b6105608161033661079b565b6105ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d6e6f742d7061727460448201527f2d6f662d7468652d70726f746f636f6c00000000000000000000000000000000606482015260840161010d565b6105fe816105f861079b565b90610856565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527fddd12a8c3ce9bea5c97a5d25c8b777caab85752828f56b7b8ad5a0b30340a25f906020015b60405180910390a150565b6106588161033661079b565b156106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f636f6c6c65637461626c652d647573743a3a746f6b656e2d69732d706172742d60448201527f6f662d7468652d70726f746f636f6c0000000000000000000000000000000000606482015260840161010d565b6106f7816106f161079b565b90610878565b5060405173ffffffffffffffffffffffffffffffffffffffff821681527fa3e4ba856dd0fdee3a33ab9b82499fd01f05236f3d08cc4e7108698c6e3e7e5090602001610641565b60008061028160017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77610d5e565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600183016020526040812054151561027e565b60008061028160017f7d2bc78964af80fada8ea0387e16a12e0e02e89e34c66d0d6a8f84654abaf517610d5e565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261012190849061089a565b600061027e8373ffffffffffffffffffffffffffffffffffffffff84166109a9565b600061027e8373ffffffffffffffffffffffffffffffffffffffff8416610a8c565b60006108fc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610acf9092919063ffffffff16565b905080516000148061091d57508080602001905181019061091d9190610d98565b610121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161010d565b60008181526001830160205260408120548015610a8557835460009085907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106109f9576109f9610dc1565b9060005260206000200154905080856000016001840381548110610a1f57610a1f610dc1565b6000918252602080832090910192909255918252600186019052604090208190558354849080610a5157610a51610df0565b6001900381819060005260206000200160009055905583600101600084815260200190815260200160002060009055600191505b5092915050565b6000818152600183016020526040812054610281575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b6060610ade8484600085610ae6565b949350505050565b606082471015610b78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161010d565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610ba19190610e43565b60006040518083038185875af1925050503d8060008114610bde576040519150601f19603f3d011682016040523d82523d6000602084013e610be3565b606091505b5091509150610bf487838387610bff565b979650505050505050565b60608315610c95578251600003610c8e5773ffffffffffffffffffffffffffffffffffffffff85163b610c8e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161010d565b5081610ade565b610ade8383815115610caa5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010d9190610e5f565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d0257600080fd5b919050565b600080600060608486031215610d1c57600080fd5b610d2584610cde565b9250610d3360208501610cde565b9150604084013590509250925092565b600060208284031215610d5557600080fd5b61027e82610cde565b81810381811115610281577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060208284031215610daa57600080fd5b81518015158114610dba57600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60005b83811015610e3a578181015183820152602001610e22565b50506000910152565b60008251610e55818460208701610e1f565b9190910192915050565b6020815260008251806020840152610e7e816040850160208701610e1f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122082ded3c39031c61cd8eb411e8356ffff2507bd859b0473c7182aa78e83e6889c64736f6c63430008130033", "nonce": "0x7", "accessList": [] }, @@ -152,7 +152,7 @@ "isFixedGasLimit": false }, { - "hash": "0xf347505a6f015af4f848f214b5bd614a037e9cbf4ead9d99f48e8d40f3430ade", + "hash": "0x81b623ac7e5ba0f6ad628a27ff6b3cbc81341ce44a42e4baaeb4ced1c9913fa9", "transactionType": "CREATE", "contractName": "ChefFacet", "contractAddress": "0x119E315502b87e67F1bc98577c735A3518eA47da", @@ -163,7 +163,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x2aac9d", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b5061265c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80635f3acd8e1161008157806378b3139b1161005b57806378b3139b14610184578063c0d8012c14610197578063ed7662ee146101aa57600080fd5b80635f3acd8e14610154578063702f01ee1461015c578063776a3bb51461017c57600080fd5b80633cf78574116100b25780633cf785741461011957806345889bd71461012c578063537bb5dc1461014157600080fd5b806316f0115b146100d957806321933933146100fb5780633a98ef3914610111575b600080fd5b6100e16101b2565b604080519283526020830191909152015b60405180910390f35b6101036101d1565b6040519081526020016100f2565b6101036101e0565b61010361012736600461240b565b6101ea565b61013f61013a36600461240b565b6101fb565b005b61013f61014f36600461240b565b6102c2565b610103610381565b61016f61016a36600461240b565b61038b565b6040516100f29190612424565b61010361039c565b61013f61019236600461240b565b6103a6565b6101036101a536600461240b565b610465565b610103610470565b60008060006101bf61047a565b80516020909101519094909350915050565b60006101db6104b7565b905090565b60006101db6104ca565b60006101f5826104dd565b92915050565b6102257f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b6102b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102bf816105de565b50565b6102ec7f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b610378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf81610616565b60006101db610626565b6103936123ed565b6101f582610639565b60006101db61068d565b6103d07f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b61045c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf8161069d565b60006101f5826106d8565b60006101db610873565b6040805180820190915260008082526020820152610496610886565b60408051808201909152600582015481526006909101546020820152919050565b60006104c1610886565b60020154905090565b60006104d4610886565b60080154905090565b6000806104e8610886565b60008481526007820160205260409020600682015460058301549293509091431180156105185750600883015415155b1561057e5760006105276108b4565b90506000670de0b6b3a76400008560000154836105449190612484565b61054e91906124ca565b60088601549091506105658264e8d4a51000612484565b61056f91906124ca565b6105799084612505565b925050505b6001820154825464e8d4a5100090610597908490612484565b6105a191906124ca565b6105ab9190612518565b95945050505050565b60006105d7826105c26108f1565b6000868152602091909152604090209061091f565b9392505050565b806105e7610886565b5560405181907ff913a361162eb00fb61dab047a285c02886f428329a3972518dd371ac3aa4af390600090a250565b8061061f610886565b6004015550565b6000610630610886565b60010154905090565b6106416123ed565b600061064b610886565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b6000610697610886565b54919050565b806106a6610886565b6002015560405181907fee9ca614114d0b14b7c182d61fbc2e9aed69823d5f4a3a6436f95da3a6d0a82490600090a250565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff9091169062fdd58e90604401602060405180830381865afa15801561074f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610773919061252b565b6001146107dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d533a2063616c6c6572206973206e6f74206f776e657200000000000000000060448201526064016102ad565b60006107e6610886565b6000848152600782016020526040902090915061080161094e565b6001810154600683015482546000929164e8d4a51000916108229190612484565b61082c91906124ca565b6108369190612518565b90506108423382610b4d565b6006830154825464e8d4a510009161085991612484565b61086391906124ca565b6001909201919091559392505050565b600061087d610886565b60040154905090565b6000806101f560017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612518565b6000806108bf610886565b60050154905060006108cf610886565b600101549050806108e08343612518565b6108ea9190612484565b9250505090565b6000806101f560017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612518565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156105d7565b6000610958610886565b60058101805491925090431161096c575050565b610974610c40565b81600801546000036109865743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109b06108b4565b90506000670de0b6b3a76400008660000154836109cd9190612484565b6109d791906124ca565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a4857600080fd5b505af1158015610a5c573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a8d91906124ca565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610af857600080fd5b505af1158015610b0c573d6000803e3d6000fd5b505050506008860154610b248264e8d4a51000612484565b610b2e91906124ca565b8560010154610b3d9190612505565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061252b565b905080831115610c1957610c1473ffffffffffffffffffffffffffffffffffffffff83168583610cc1565b610c3a565b610c3a73ffffffffffffffffffffffffffffffffffffffff83168585610cc1565b50505050565b6000610c4a610886565b90506000610c56610d4e565b905060008260030154821115610c825760028301546003840154610c7a9084612518565b119050610c9b565b8260020154828460030154610c979190612518565b1190505b8015610cbc57610caf836001015483610d73565b6001840155600383018290555b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cbc908490610ef1565b60006101db816001015473ffffffffffffffffffffffffffffffffffffffff16611000565b600080610d7f84611171565b90506000610d8c84611171565b90506000610da1670e92596fd6290000611171565b90506000610db6670de0b6b3a7640000611171565b90506000610e3a610e11610dec7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516876111df565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611209565b9050610ebe610e9782610e6f7fffffffffffffffffffffffffffffffff000000000000000000000000000000008916876117f4565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c1b565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612042565b9550674563918244f40000861180610edd57506702c68af0bb14000086105b15610ee6578795505b505050505092915050565b6000610f53826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121009092919063ffffffff16565b9050805160001480610f74575080806020019051810190610f749190612544565b610cbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102ad565b60008061100b612117565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161107457505050505081525050905061109a600090565b6001015473ffffffffffffffffffffffffffffffffffffffff908116908416036110ca578060400151915061116b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016102ad565b806060015191505b50919050565b60008160000361118357506000919050565b81600061118f82612145565b905060708110156111a8578060700382901b91506111bb565b60708111156111bb576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60006105d7837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112985780617fff0361128e577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112635784925050506101f5565b507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b84925050506101f5565b80617fff036112ab5783925050506101f5565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff1660008490036112e857600193506112fa565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036113375760019450611349565b6e010000000000000000000000000000175b826000036113b0577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113a057876113a3565b60005b96505050505050506101f5565b80600003611407577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113a057886113a3565b8486038215158515150361159357607081131561142d57899750505050505050506101f5565b600081131561143f5790811c9061148c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561147657889750505050505050506101f5565b600081121561148c578060000384901c93508596505b928101926e02000000000000000000000000000084106114b2576001968701969390931c925b86617fff0361151657846114e6577f7fff000000000000000000000000000000000000000000000000000000000000611508565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506101f5565b6e010000000000000000000000000000841015611536576000965061154a565b6dffffffffffffffffffffffffffff841693505b83607088901b8661155c57600061156e565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506101f5565b60008113156115ae57600184901b93506001870396506115c5565b60008112156115c557600182901b91506001860396505b60708113156115d75760019150611660565b60018113156115f4576001810360018303901c6001019150611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156116255760019350611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611660576001816000030360018503901c60010193505b81841061167157818403935061167a565b83820393508294505b836000036116935750600096506101f595505050505050565b600061169e85612145565b9050806071036116ca57600185901c6dffffffffffffffffffffffffffff169450600188019750611745565b607081101561173157607081900380891115611700578086901b6dffffffffffffffffffffffffffff169550808903985061172b565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611745565b6dffffffffffffffffffffffffffff851694505b87617fff036117aa5785611779577f7fff00000000000000000000000000000000000000000000000000000000000061179b565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506101f5565b84607089901b876117bc5760006117ce565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506101f5565b6000617fff60f084811c8216919084901c8116908290036119495780617fff036118c7577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611871575050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611263575050508181176101f5565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b80617fff036119d4577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119a757507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186101f5565b6dffffffffffffffffffffffffffff608086901c1660008390036119fb5760019250611a0d565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a345760019250611a46565b6e010000000000000000000000000000175b808202915081600003611ab0577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506101f5565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b15577c0100000000000000000000000000000000000000000000000000000000831015611b0e57611b0983612145565b611b18565b60e0611b18565b60e15b90506140708186011015611b33576000945060009250611bd7565b6140e08186011015611b7657614070851015611b5857846140700383901c9250611b6d565b614070851115611b6d57614070850383901b92505b60009450611bd7565b61c0dd8186011115611b9057617fff945060009250611bd7565b6070811115611ba7576070810383901c9250611bba565b6070811015611bba578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f084811c8216919084901c811690829003611c6a5780617fff0361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b80617fff03611cf1577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611cc457507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166101f5565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611dbf577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d7057507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176101f5565b6dffffffffffffffffffffffffffff608085901c166000829003611de65760019150611df8565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611e60578015611e5b576000611e2782612145565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611e75565b6e0100000000000000000000000000001760721b5b818181611e8457611e8461249b565b04905080600003611ebf577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b6d1000000000000000000000000000811015611edd57611edd612566565b60006e080000000000000000000000000000821015611f3d576e040000000000000000000000000000821015611f32576e020000000000000000000000000000821015611f2b576070611f35565b6071611f35565b60725b60ff16611f46565b611f4682612145565b905083614071018186011115611f6457617fff945060009150611ffe565b83818601613ffc011015611f7f576000945060009150611ffe565b83818601613f8c011015611fcc578385613ffc011115611faa578385613ffc010382901b9150611fc3565b8385613ffc011015611fc357613ffc8585030382901c91505b60009450611ffe565b6070811115611fdf576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f083901c16613fff8110156120605750600092915050565b6f80000000000000000000000000000000608084901c1061208057600080fd5b6140fe81111561208f57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120cb5761406f8290031c6105d7565b61406f8211156105d7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b606061210f84846000856121f5565b949350505050565b6000806101f560017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612518565b600080821161215357600080fd5b6000700100000000000000000000000000000000831061217557608092831c92015b68010000000000000000831061218d57604092831c92015b64010000000083106121a157602092831c92015b6201000083106121b357601092831c92015b61010083106121c457600892831c92015b601083106121d457600492831c92015b600483106121e457600292831c92015b600283106101f55760010192915050565b606082471015612287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102ad565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516122b091906125b9565b60006040518083038185875af1925050503d80600081146122ed576040519150601f19603f3d011682016040523d82523d6000602084013e6122f2565b606091505b50915091506123038783838761230e565b979650505050505050565b606083156123a457825160000361239d5773ffffffffffffffffffffffffffffffffffffffff85163b61239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ad565b508161210f565b61210f83838151156123b95781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ad91906125d5565b60405180604001604052806002906020820280368337509192915050565b60006020828403121561241d57600080fd5b5035919050565b60408101818360005b600281101561244c57815183526020928301929091019060010161242d565b50505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176101f5576101f5612455565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082612500577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808201808211156101f5576101f5612455565b818103818111156101f5576101f5612455565b60006020828403121561253d57600080fd5b5051919050565b60006020828403121561255657600080fd5b815180151581146105d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156125b0578181015183820152602001612598565b50506000910152565b600082516125cb818460208701612595565b9190910192915050565b60208152600082518060208401526125f4816040850160208701612595565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220e03bd35af8f63229d2e0d68d196ef1dadd1ae63d14d1455435d51bc0a915e2f564736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b5061265c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80635f3acd8e1161008157806378b3139b1161005b57806378b3139b14610184578063c0d8012c14610197578063ed7662ee146101aa57600080fd5b80635f3acd8e14610154578063702f01ee1461015c578063776a3bb51461017c57600080fd5b80633cf78574116100b25780633cf785741461011957806345889bd71461012c578063537bb5dc1461014157600080fd5b806316f0115b146100d957806321933933146100fb5780633a98ef3914610111575b600080fd5b6100e16101b2565b604080519283526020830191909152015b60405180910390f35b6101036101d1565b6040519081526020016100f2565b6101036101e0565b61010361012736600461240b565b6101ea565b61013f61013a36600461240b565b6101fb565b005b61013f61014f36600461240b565b6102c2565b610103610381565b61016f61016a36600461240b565b61038b565b6040516100f29190612424565b61010361039c565b61013f61019236600461240b565b6103a6565b6101036101a536600461240b565b610465565b610103610470565b60008060006101bf61047a565b80516020909101519094909350915050565b60006101db6104b7565b905090565b60006101db6104ca565b60006101f5826104dd565b92915050565b6102257f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b6102b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102bf816105de565b50565b6102ec7f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b610378576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf81610616565b60006101db610626565b6103936123ed565b6101f582610639565b60006101db61068d565b6103d07f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336105b4565b61045c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d6173746572436865663a206e6f7420476f7665726e616e636520546f6b656e60448201527f206d616e6167657200000000000000000000000000000000000000000000000060648201526084016102ad565b6102bf8161069d565b60006101f5826106d8565b60006101db610873565b6040805180820190915260008082526020820152610496610886565b60408051808201909152600582015481526006909101546020820152919050565b60006104c1610886565b60020154905090565b60006104d4610886565b60080154905090565b6000806104e8610886565b60008481526007820160205260409020600682015460058301549293509091431180156105185750600883015415155b1561057e5760006105276108b4565b90506000670de0b6b3a76400008560000154836105449190612484565b61054e91906124ca565b60088601549091506105658264e8d4a51000612484565b61056f91906124ca565b6105799084612505565b925050505b6001820154825464e8d4a5100090610597908490612484565b6105a191906124ca565b6105ab9190612518565b95945050505050565b60006105d7826105c26108f1565b6000868152602091909152604090209061091f565b9392505050565b806105e7610886565b5560405181907ff913a361162eb00fb61dab047a285c02886f428329a3972518dd371ac3aa4af390600090a250565b8061061f610886565b6004015550565b6000610630610886565b60010154905090565b6106416123ed565b600061064b610886565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b6000610697610886565b54919050565b806106a6610886565b6002015560405181907fee9ca614114d0b14b7c182d61fbc2e9aed69823d5f4a3a6436f95da3a6d0a82490600090a250565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff9091169062fdd58e90604401602060405180830381865afa15801561074f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610773919061252b565b6001146107dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d533a2063616c6c6572206973206e6f74206f776e657200000000000000000060448201526064016102ad565b60006107e6610886565b6000848152600782016020526040902090915061080161094e565b6001810154600683015482546000929164e8d4a51000916108229190612484565b61082c91906124ca565b6108369190612518565b90506108423382610b4d565b6006830154825464e8d4a510009161085991612484565b61086391906124ca565b6001909201919091559392505050565b600061087d610886565b60040154905090565b6000806101f560017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612518565b6000806108bf610886565b60050154905060006108cf610886565b600101549050806108e08343612518565b6108ea9190612484565b9250505090565b6000806101f560017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612518565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156105d7565b6000610958610886565b60058101805491925090431161096c575050565b610974610c40565b81600801546000036109865743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109b06108b4565b90506000670de0b6b3a76400008660000154836109cd9190612484565b6109d791906124ca565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a4857600080fd5b505af1158015610a5c573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a8d91906124ca565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610af857600080fd5b505af1158015610b0c573d6000803e3d6000fd5b505050506008860154610b248264e8d4a51000612484565b610b2e91906124ca565b8560010154610b3d9190612505565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be9919061252b565b905080831115610c1957610c1473ffffffffffffffffffffffffffffffffffffffff83168583610cc1565b610c3a565b610c3a73ffffffffffffffffffffffffffffffffffffffff83168585610cc1565b50505050565b6000610c4a610886565b90506000610c56610d4e565b905060008260030154821115610c825760028301546003840154610c7a9084612518565b119050610c9b565b8260020154828460030154610c979190612518565b1190505b8015610cbc57610caf836001015483610d73565b6001840155600383018290555b505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cbc908490610ef1565b60006101db816001015473ffffffffffffffffffffffffffffffffffffffff16611000565b600080610d7f84611171565b90506000610d8c84611171565b90506000610da1670e92596fd6290000611171565b90506000610db6670de0b6b3a7640000611171565b90506000610e3a610e11610dec7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516876111df565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611209565b9050610ebe610e9782610e6f7fffffffffffffffffffffffffffffffff000000000000000000000000000000008916876117f4565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c1b565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612042565b9550674563918244f40000861180610edd57506702c68af0bb14000086105b15610ee6578795505b505050505092915050565b6000610f53826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121009092919063ffffffff16565b9050805160001480610f74575080806020019051810190610f749190612544565b610cbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102ad565b60008061100b612117565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161107457505050505081525050905061109a600090565b6001015473ffffffffffffffffffffffffffffffffffffffff908116908416036110ca578060400151915061116b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611163576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016102ad565b806060015191505b50919050565b60008160000361118357506000919050565b81600061118f82612145565b905060708110156111a8578060700382901b91506111bb565b60708111156111bb576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60006105d7837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112985780617fff0361128e577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112635784925050506101f5565b507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b84925050506101f5565b80617fff036112ab5783925050506101f5565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff1660008490036112e857600193506112fa565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036113375760019450611349565b6e010000000000000000000000000000175b826000036113b0577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113a057876113a3565b60005b96505050505050506101f5565b80600003611407577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113a057886113a3565b8486038215158515150361159357607081131561142d57899750505050505050506101f5565b600081131561143f5790811c9061148c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561147657889750505050505050506101f5565b600081121561148c578060000384901c93508596505b928101926e02000000000000000000000000000084106114b2576001968701969390931c925b86617fff0361151657846114e6577f7fff000000000000000000000000000000000000000000000000000000000000611508565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506101f5565b6e010000000000000000000000000000841015611536576000965061154a565b6dffffffffffffffffffffffffffff841693505b83607088901b8661155c57600061156e565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506101f5565b60008113156115ae57600184901b93506001870396506115c5565b60008112156115c557600182901b91506001860396505b60708113156115d75760019150611660565b60018113156115f4576001810360018303901c6001019150611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156116255760019350611660565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611660576001816000030360018503901c60010193505b81841061167157818403935061167a565b83820393508294505b836000036116935750600096506101f595505050505050565b600061169e85612145565b9050806071036116ca57600185901c6dffffffffffffffffffffffffffff169450600188019750611745565b607081101561173157607081900380891115611700578086901b6dffffffffffffffffffffffffffff169550808903985061172b565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611745565b6dffffffffffffffffffffffffffff851694505b87617fff036117aa5785611779577f7fff00000000000000000000000000000000000000000000000000000000000061179b565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506101f5565b84607089901b876117bc5760006117ce565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506101f5565b6000617fff60f084811c8216919084901c8116908290036119495780617fff036118c7577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611871575050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611263575050508181176101f5565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186101f5565b80617fff036119d4577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119a757507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186101f5565b6dffffffffffffffffffffffffffff608086901c1660008390036119fb5760019250611a0d565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a345760019250611a46565b6e010000000000000000000000000000175b808202915081600003611ab0577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506101f5565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b15577c0100000000000000000000000000000000000000000000000000000000831015611b0e57611b0983612145565b611b18565b60e0611b18565b60e15b90506140708186011015611b33576000945060009250611bd7565b6140e08186011015611b7657614070851015611b5857846140700383901c9250611b6d565b614070851115611b6d57614070850383901b92505b60009450611bd7565b61c0dd8186011115611b9057617fff945060009250611bd7565b6070811115611ba7576070810383901c9250611bba565b6070811015611bba578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f084811c8216919084901c811690829003611c6a5780617fff0361191c57507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b80617fff03611cf1577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611cc457507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166101f5565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611dbf577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d7057507f7fff80000000000000000000000000000000000000000000000000000000000091506101f59050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176101f5565b6dffffffffffffffffffffffffffff608085901c166000829003611de65760019150611df8565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611e60578015611e5b576000611e2782612145565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611e75565b6e0100000000000000000000000000001760721b5b818181611e8457611e8461249b565b04905080600003611ebf577f800000000000000000000000000000000000000000000000000000000000000087871816611a83576000611aa5565b6d1000000000000000000000000000811015611edd57611edd612566565b60006e080000000000000000000000000000821015611f3d576e040000000000000000000000000000821015611f32576e020000000000000000000000000000821015611f2b576070611f35565b6071611f35565b60725b60ff16611f46565b611f4682612145565b905083614071018186011115611f6457617fff945060009150611ffe565b83818601613ffc011015611f7f576000945060009150611ffe565b83818601613f8c011015611fcc578385613ffc011115611faa578385613ffc010382901b9150611fc3565b8385613ffc011015611fc357613ffc8585030382901c91505b60009450611ffe565b6070811115611fdf576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506101f5565b6000617fff60f083901c16613fff8110156120605750600092915050565b6f80000000000000000000000000000000608084901c1061208057600080fd5b6140fe81111561208f57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120cb5761406f8290031c6105d7565b61406f8211156105d7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b606061210f84846000856121f5565b949350505050565b6000806101f560017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612518565b600080821161215357600080fd5b6000700100000000000000000000000000000000831061217557608092831c92015b68010000000000000000831061218d57604092831c92015b64010000000083106121a157602092831c92015b6201000083106121b357601092831c92015b61010083106121c457600892831c92015b601083106121d457600492831c92015b600483106121e457600292831c92015b600283106101f55760010192915050565b606082471015612287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102ad565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516122b091906125b9565b60006040518083038185875af1925050503d80600081146122ed576040519150601f19603f3d011682016040523d82523d6000602084013e6122f2565b606091505b50915091506123038783838761230e565b979650505050505050565b606083156123a457825160000361239d5773ffffffffffffffffffffffffffffffffffffffff85163b61239d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102ad565b508161210f565b61210f83838151156123b95781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ad91906125d5565b60405180604001604052806002906020820280368337509192915050565b60006020828403121561241d57600080fd5b5035919050565b60408101818360005b600281101561244c57815183526020928301929091019060010161242d565b50505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176101f5576101f5612455565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082612500577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808201808211156101f5576101f5612455565b818103818111156101f5576101f5612455565b60006020828403121561253d57600080fd5b5051919050565b60006020828403121561255657600080fd5b815180151581146105d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156125b0578181015183820152602001612598565b50506000910152565b600082516125cb818460208701612595565b9190910192915050565b60208152600082518060208401526125f4816040850160208701612595565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122025d761c94eeae621e531b9124d5c9f7c2b5c3732e9238c1f8c1d1b291756453064736f6c63430008130033", "nonce": "0x8", "accessList": [] }, @@ -171,7 +171,7 @@ "isFixedGasLimit": false }, { - "hash": "0x8697e1e925f0243e7b22ce8de678b1818fb971bb274b3fac788f9acffd66c6e4", + "hash": "0x254cf3c90806946e9a09666f5ef102afaf42d801cac26fcb5ef52b15e81a8427", "transactionType": "CREATE", "contractName": "StakingFacet", "contractAddress": "0x9F0259fe34BFC22d9cbEEb340Cd8d53F35CDEB80", @@ -182,7 +182,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x50c85d", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50614959806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806396908b5211610081578063aadc68a51161005b578063aadc68a514610182578063c5d1cb631461018a578063e2bbb1581461019d57600080fd5b806396908b52146101545780639d7de6b314610167578063aa1ec70a1461017a57600080fd5b806352159150116100b2578063521591501461011b5780636970d4731461012e5780637cc6bd411461014157600080fd5b80632f72589e146100d9578063422f1043146100ee5780634d8c28c414610101575b600080fd5b6100ec6100e7366004614507565b6101b0565b005b6100ec6100fc366004614520565b610251565b6101096102ce565b60405190815260200160405180910390f35b610109610129366004614507565b6102dd565b6100ec61013c366004614507565b6102ee565b6100ec61014f366004614507565b610387565b6100ec610162366004614507565b610420565b6100ec61017536600461454c565b6104b9565b610109610534565b61010961053e565b61010961019836600461454c565b610548565b6101096101ab36600461454c565b61055b565b6101da7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e6167657200000000000000000000000000000000000000000060448201526064015b60405180910390fd5b61024e816105fd565b50565b60155460ff16156102be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6102c9838383610641565b505050565b60006102d8610864565b905090565b60006102e882610874565b92915050565b6103187fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b61037e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610b7f565b6103b17fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610bb9565b61044a7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b6104b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610eba565b60155460ff1615610526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b61053082826110a1565b5050565b60006102d8611455565b60006102d8611468565b60006105548383611526565b9392505050565b600061056960155460ff1690565b156105d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6105548383611573565b6000610554826105e86116dc565b6000868152602091909152604090209061170a565b80610606611739565b600101556040518181527f3a1c0b7d3cdecbab83b82697d51cbcdb308b3bbae63e597cbc958deb9c830e50906020015b60405180910390a150565b60008061064d84611767565b8151919350915061065c611a05565b600061066c828460600151611526565b9050808360a001818151610680919061459d565b905250600061068d611739565b9050818160030160008282546106a391906145b0565b909155506106d6905033308a6106b7611c4c565b5473ffffffffffffffffffffffffffffffffffffffff16929190611c7a565b878460a0018181516106e8919061459d565b9052506106f6338489611d5c565b600061070b8560a00151888460000154611ede565b905061071833828a612033565b600182015461072790886145c3565b610731904361459d565b608086015261073e611a05565b64e8d4a5100082600201546107528a612155565b5161075d91906145c3565b6107679190614609565b606086015260006005015460a0860151606087015160808801516040517fe8b7c95e000000000000000000000000000000000000000000000000000000008152600481018d905260248101939093526044830191909152606482015273ffffffffffffffffffffffffffffffffffffffff9091169063e8b7c95e90608401600060405180830381600087803b1580156107ff57600080fd5b505af1158015610813573d6000803e3d6000fd5b50505060a086015160408051918252602082018490528a925033917f1e549269c96dd4bec3d648753e4995f8e57512249145959d6e7555136709bd48910160405180910390a3505050505050505050565b600061086e611739565b54919050565b60008061087f611739565b9050600080600501546040517fce325bf80000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff90911691508190600090829063ce325bf89060240160c060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190614673565b9050600061092d87612155565b90506000610939611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c9919061470f565b905085600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061470f565b610a49919061459d565b8110610b7157600086600401548573ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac5919061470f565b610acf919061459d565b610ad990836145b0565b6002880154600389015491925090821115610b36576000886003015483610b0091906145b0565b9050610b0a6121a9565b610b198264e8d4a510006145c3565b610b239190614609565b8960020154610b32919061459d565b9150505b6060850151845164e8d4a5100090610b4f9084906145c3565b610b599190614609565b610b6391906145b0565b9a9950505050505050505050565b506000979650505050505050565b80610b88611739565b556040518181527f33275dedaeefb2dabe4935e816773f7ed2c6400002b0c87595e05bde196b33a890602001610636565b6000610bc3611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311610c2c5750505091909252505081516040517f1a4d01d200000000000000000000000000000000000000000000000000000000815260048101869052600160248201526000604482018190529394509092915073ffffffffffffffffffffffffffffffffffffffff831690631a4d01d2906064016020604051808303816000875af1158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf2919061470f565b9050610cfc6121bc565b60208301516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d91919061470f565b9050836020015173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610dbb600090565b6009015460405160e083901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490526044016020604051808303816000875af1158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e559190614728565b506020808501516040805173ffffffffffffffffffffffffffffffffffffffff90921682529181018490529081018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a15050505050565b6000610ec4611c4c565b546040517f1a4d01d2000000000000000000000000000000000000000000000000000000008152600481018490526000602482018190526044820181905273ffffffffffffffffffffffffffffffffffffffff90921692508290631a4d01d2906064016020604051808303816000875af1158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a919061470f565b9050610f746121bc565b60008060018101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925073ffffffffffffffffffffffffffffffffffffffff169060009082906370a0823190602401602060405180830381865afa158015610fed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611011919061470f565b600984015490915061103d9073ffffffffffffffffffffffffffffffffffffffff8481169116836123f9565b60018301546040805173ffffffffffffffffffffffffffffffffffffffff90921682526020820186905281018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a1505050505050565b6000806110ad83611767565b91509150838160a00151101561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5374616b696e673a20616d6f756e7420746f6f20626967000000000000000000604482015260640161023c565b600061112c82848761244f565b9050611136611a05565b8251606083015160009161114991611526565b9050611156338387611d5c565b6000611160611c4c565b5473ffffffffffffffffffffffffffffffffffffffff1690506000611183611739565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff909116916000916112c591849163132c4feb9160048083019260209291908290030181865afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611222919061470f565b60038501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa158015611291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b5919061470f565b6112bf91906145b0565b8c6124bd565b9050848360030160008282546112db91906145b0565b92505081905550898760a0018181516112f491906145b0565b905250600283015464e8d4a510009061130c8b612155565b5161131791906145c3565b6113219190614609565b6060880181905260a088015160808901516040517fe8b7c95e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169363e8b7c95e9361139d938f9391929160040193845260208401929092526040830152606082015260800190565b600060405180830381600087803b1580156113b757600080fd5b505af11580156113cb573d6000803e3d6000fd5b505050506113fd3386836113df919061459d565b73ffffffffffffffffffffffffffffffffffffffff871691906123f9565b604080518b81526020810183905290810186905260608101879052899033907fc41873b026655739c834ac0fc390e515f2dcb3cf19938507067c2e31714b04959060800160405180910390a350505050505050505050565b600061145f611739565b60010154905090565b6000806114736121a9565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff9091169161151f91839163132c4feb916004808201926020929091908290030181865afa1580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611510919061470f565b83670de0b6b3a76400006124fe565b9250505090565b600080611531611739565b60028101549091501561156c578264e8d4a5100082600201548661155591906145c3565b61155f9190614609565b61156991906145b0565b91505b5092915050565b600081600111158015611587575060d08211155b611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f5374616b696e673a206475726174696f6e206d7573742062652062657477656560448201527f6e203120616e6420323038207765656b73000000000000000000000000000000606482015260840161023c565b61161b6121bc565b611623611a05565b6116313330856106b7611c4c565b600061163b611739565b9050600061164e85858460000154611ede565b9050600082600101548561166291906145c3565b61166c904361459d565b905061167a3387848461259a565b9350611687338386612033565b604080518781526020810184905290810186905260608101829052849033907ff943cf10ef4d1e3239f4716ddecdf546e8ba8ab0e41deafd9a71a99936827e459060800160405180910390a350505092915050565b6000806102e860017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776145b0565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610554565b6000806102e860017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea1276145b0565b61176f614496565b6117be6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810186905273ffffffffffffffffffffffffffffffffffffffff9091169150819062fdd58e90604401602060405180830381865afa158015611838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185c919061470f565b6001146118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5374616b696e673a2063616c6c6572206973206e6f74206f776e657200000000604482015260640161023c565b6040517fce325bf800000000000000000000000000000000000000000000000000000000815260048101859052819073ffffffffffffffffffffffffffffffffffffffff82169063ce325bf89060240160c060405180830381865afa158015611932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119569190614673565b9250826080015143116119eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f5374616b696e673a2052656465656d206e6f7420616c6c6f776564206265666f60448201527f7265207374616b696e672074696d650000000000000000000000000000000000606482015260840161023c565b6119f36121bc565b6119fc85612155565b93505050915091565b60055473ffffffffffffffffffffffffffffffffffffffff166000611a28611739565b9050816000611a35611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015611aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac5919061470f565b90506000611ad16121a9565b905083600401548373ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b47919061470f565b611b51919061459d565b8210158015611b605750600081115b15611c4557600084600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdb919061470f565b611be5919061459d565b611bef90846145b0565b90508460030154811115611c435781856003015482611c0e91906145b0565b611c1d9064e8d4a510006145c3565b611c279190614609565b8560020154611c36919061459d565b6002860155600385018190555b505b5050505050565b6000806102e860017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e6286145b0565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611d569085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261271c565b50505050565b6000611d6661282b565b60008381526007820160205260409020805491925090841115611de5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4d433a20616d6f756e7420746f6f206869676800000000000000000000000000604482015260640161023c565b611ded612859565b6001810154600683015482546000929164e8d4a5100091611e0e91906145c3565b611e189190614609565b611e2291906145b0565b9050611e2e8682612a58565b84826000016000828254611e4291906145b0565b90915550506006830154825464e8d4a5100091611e5e916145c3565b611e689190614609565b826001018190555084836008016000828254611e8491906145b0565b9091555050604051858152849073ffffffffffffffffffffffffffffffffffffffff8816907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689060200160405180910390a3505050505050565b600080611ef2670de0b6b3a7640000612b45565b90506000611eff85612b45565b90506000611f85611f5e83611f367fffffffffffffffffffffffffffffffff00000000000000000000000000000000821682612bb3565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690612bb3565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613005565b90506000611f9288612b45565b905061202761200082611fd887611fb086611f3689611f368f612b45565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690613281565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906136a8565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613c68565b98975050505050505050565b600061203d61282b565b60008381526007820160205260409020909150612058612859565b8054156120a2576001810154600683015482546000929164e8d4a510009161208091906145c3565b61208a9190614609565b61209491906145b0565b90506120a08682612a58565b505b838160000160008282546120b6919061459d565b90915550506006820154815464e8d4a51000916120d2916145c3565b6120dc9190614609565b6001820155836120ea61282b565b60080160008282546120fc919061459d565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b61215d614496565b600061216761282b565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b60006121b361282b565b60080154905090565b60006121c6611c4c565b90506000806121d3613d26565b9150915060008360040154826121e991906145b0565b11156102c9578254600484015460009173ffffffffffffffffffffffffffffffffffffffff1690630f6ba8e3906005870190869061222790876145b0565b6040518463ffffffff1660e01b81526004016122459392919061476d565b6040805180830381865afa158015612261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228591906147b3565b84546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690637e42fc0c906122eb90600090600190670de0b6b3a7640000908790600401614833565b602060405180830381865afa158015612308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232c919061470f565b600285015583546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637e42fc0c9061239690600190600090670de0b6b3a7640000908790600401614833565b602060405180830381865afa1580156123b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d7919061470f565b60038501556123eb600585018460026144b4565b505060048301819055505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526102c99084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611cd4565b8151600090819061245f90612b45565b9050600061246c84612b45565b9050600061247d8760a00151612b45565b90506124b261200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000871686612bb3565b979650505050505050565b600083831080156124ce5750600083115b1561156c576124f76120006124e286612b45565b611fb06124ee87612b45565b611f3687612b45565b9050610554565b60008061250a85612b45565b9050600061251785612b45565b9050600085156125525761254d7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683613281565b61255c565b61255c6001612b45565b9050600061256986612b45565b90506120276120007fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683612bb3565b6000806125a5611468565b905080600003612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5374616b696e673a2073686172652076616c75652073686f756c64206e6f742060448201527f6265206e756c6c00000000000000000000000000000000000000000000000000606482015260840161023c565b600064e8d4a51000612647611739565b6002015461265590876145c3565b61265f9190614609565b90506000600501546040517fa647e8ec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820189905260448201849052606482018790529091169063a647e8ec906084016020604051808303816000875af11580156126eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270f919061470f565b925050505b949350505050565b600061277e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613e439092919063ffffffff16565b905080516000148061279f57508080602001905181019061279f9190614728565b6102c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161023c565b6000806102e860017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f186145b0565b600061286361282b565b600581018054919250904311612877575050565b61287f613e52565b81600801546000036128915743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006128bb613ecf565b90506000670de0b6b3a76400008660000154836128d891906145c3565b6128e29190614609565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f19848860040154846129989190614609565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015612a0357600080fd5b505af1158015612a17573d6000803e3d6000fd5b505050506008860154612a2f8264e8d4a510006145c3565b612a399190614609565b8560010154612a48919061459d565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af4919061470f565b905080831115612b2457612b1f73ffffffffffffffffffffffffffffffffffffffff831685836123f9565b611d56565b611d5673ffffffffffffffffffffffffffffffffffffffff831685856123f9565b600081600003612b5757506000919050565b816000612b6382613f05565b90506070811015612b7c578060700382901b9150612b8f565b6070811115612b8f576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c811690829003612d335780617fff03612cb1577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c30575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003612c86575050508181176102e8565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b80617fff03612dbe577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003612d9157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e8565b6dffffffffffffffffffffffffffff608086901c166000839003612de55760019250612df7565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003612e1e5760019250612e30565b6e010000000000000000000000000000175b808202915081600003612e9a577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e8565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015612eff577c0100000000000000000000000000000000000000000000000000000000831015612ef857612ef383613f05565b612f02565b60e0612f02565b60e15b90506140708186011015612f1d576000945060009250612fc1565b6140e08186011015612f6057614070851015612f4257846140700383901c9250612f57565b614070851115612f5757614070850383901b92505b60009450612fc1565b61c0dd8186011115612f7a57617fff945060009250612fc1565b6070811115612f91576070810383901c9250612fa4565b6070811015612fa4578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b60006f80000000000000000000000000000000608083901c111561304a57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c811690819003613063575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361308a576001915061309c565b6e010000000000000000000000000000175b806000036130ae575060009392505050565b613fff8201600190811c9216158015613129576e01000000000000000000000000000082106130e357607182901b915061318d565b60006130ee83613f05565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b915061318d565b6e010000000000000000000000000000821061314b57607082901b915061318d565b600061315683613f05565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c908184816131b6576131b66145da565b048201901c905060018184816131ce576131ce6145da565b048201901c905060018184816131e6576131e66145da565b048201901c905060018184816131fe576131fe6145da565b048201901c90506001818481613216576132166145da565b048201901c9050600181848161322e5761322e6145da565b048201901c90506000818481613246576132466145da565b04905081811015613255578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b50919050565b6000617fff60f084811c8216919084901c8116908290036132d05780617fff03612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b80617fff03613357577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561332a57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e8565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003613425577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036133d657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e8565b6dffffffffffffffffffffffffffff608085901c16600082900361344c576001915061345e565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036134c65780156134c157600061348d82613f05565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6134db565b6e0100000000000000000000000000001760721b5b8181816134ea576134ea6145da565b04905080600003613525577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b6d100000000000000000000000000081101561354357613543614863565b60006e0800000000000000000000000000008210156135a3576e040000000000000000000000000000821015613598576e02000000000000000000000000000082101561359157607061359b565b607161359b565b60725b60ff166135ac565b6135ac82613f05565b9050836140710181860111156135ca57617fff945060009150613664565b83818601613ffc0110156135e5576000945060009150613664565b83818601613f8c011015613632578385613ffc011115613610578385613ffc010382901b9150613629565b8385613ffc01101561362957613ffc8585030382901c91505b60009450613664565b6070811115613645576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b6000617fff60f084811c8216919084901c81169082900361370c5780617fff03613702577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c865784925050506102e8565b84925050506102e8565b80617fff0361371f5783925050506102e8565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361375c576001935061376e565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036137ab57600194506137bd565b6e010000000000000000000000000000175b82600003613824577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146138145787613817565b60005b96505050505050506102e8565b8060000361387b577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146138145788613817565b84860382151585151503613a075760708113156138a157899750505050505050506102e8565b60008113156138b35790811c90613900565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156138ea57889750505050505050506102e8565b6000811215613900578060000384901c93508596505b928101926e0200000000000000000000000000008410613926576001968701969390931c925b86617fff0361398a578461395a577f7fff00000000000000000000000000000000000000000000000000000000000061397c565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e8565b6e0100000000000000000000000000008410156139aa57600096506139be565b6dffffffffffffffffffffffffffff841693505b83607088901b866139d05760006139e2565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e8565b6000811315613a2257600184901b9350600187039650613a39565b6000811215613a3957600182901b91506001860396505b6070811315613a4b5760019150613ad4565b6001811315613a68576001810360018303901c6001019150613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613a995760019350613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613ad4576001816000030360018503901c60010193505b818410613ae5578184039350613aee565b83820393508294505b83600003613b075750600096506102e895505050505050565b6000613b1285613f05565b905080607103613b3e57600185901c6dffffffffffffffffffffffffffff169450600188019750613bb9565b6070811015613ba557607081900380891115613b74578086901b6dffffffffffffffffffffffffffff1695508089039850613b9f565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613bb9565b6dffffffffffffffffffffffffffff851694505b87617fff03613c1e5785613bed577f7fff000000000000000000000000000000000000000000000000000000000000613c0f565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e8565b84607089901b87613c30576000613c42565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e8565b6000617fff60f083901c16613fff811015613c865750600092915050565b6f80000000000000000000000000000000608084901c10613ca657600080fd5b6140fe811115613cb557600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015613cf15761406f8290031c610554565b61406f821115610554577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b613d2e614496565b600080613d39611c4c565b54604080517f4469e30e000000000000000000000000000000000000000000000000000000008152815173ffffffffffffffffffffffffffffffffffffffff90931693508392634469e30e926004808401939192918290030181865afa158015613da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dcb91906147b3565b92508073ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3c919061470f565b9150509091565b60606127148484600085613fb5565b6000613e5c61282b565b90506000613e686140c3565b905060008260030154821115613e945760028301546003840154613e8c90846145b0565b119050613ead565b8260020154828460030154613ea991906145b0565b1190505b80156102c957613ec18360010154836140e8565b600184015550600390910155565b600080613eda61282b565b6005015490506000613eea61282b565b60010154905080613efb83436145b0565b61151f91906145c3565b6000808211613f1357600080fd5b60007001000000000000000000000000000000008310613f3557608092831c92015b680100000000000000008310613f4d57604092831c92015b6401000000008310613f6157602092831c92015b620100008310613f7357601092831c92015b6101008310613f8457600892831c92015b60108310613f9457600492831c92015b60048310613fa457600292831c92015b600283106102e85760010192915050565b606082471015614047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161023c565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161407091906148b6565b60006040518083038185875af1925050503d80600081146140ad576040519150601f19603f3d011682016040523d82523d6000602084013e6140b2565b606091505b509150915061270f87838387614217565b60006102d8816001015473ffffffffffffffffffffffffffffffffffffffff166142b7565b6000806140f484612b45565b9050600061410184612b45565b90506000614116670e92596fd6290000612b45565b9050600061412b670de0b6b3a7640000612b45565b905060006141af6141866141617fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687614424565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906136a8565b90506141e461200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687612bb3565b9550674563918244f4000086118061420357506702c68af0bb14000086105b1561420c578795505b505050505092915050565b606083156142ad5782516000036142a65773ffffffffffffffffffffffffffffffffffffffff85163b6142a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161023c565b5081612714565b6127148383614452565b6000806142c2611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161432b575050505050815250509050614351600090565b6001015473ffffffffffffffffffffffffffffffffffffffff90811690841603614381578060400151915061327b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461441a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e00000000000000604482015260640161023c565b6060015192915050565b6000610554837f800000000000000000000000000000000000000000000000000000000000000084186136a8565b8151156144625781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023c91906148d2565b60405180604001604052806002906020820280368337509192915050565b82600281019282156144e2579160200282015b828111156144e25782518255916020019190600101906144c7565b506144ee9291506144f2565b5090565b5b808211156144ee57600081556001016144f3565b60006020828403121561451957600080fd5b5035919050565b60008060006060848603121561453557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561455f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e8576102e861456e565b818103818111156102e8576102e861456e565b80820281158282048414176102e8576102e861456e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261463f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060c0828403121561468557600080fd5b60405160c0810181811067ffffffffffffffff821117156146a8576146a8614644565b604052825173ffffffffffffffffffffffffffffffffffffffff811681146146cf57600080fd5b808252506020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b60006020828403121561472157600080fd5b5051919050565b60006020828403121561473a57600080fd5b8151801515811461055457600080fd5b8060005b6002811015611d5657815184526020938401939091019060010161474e565b60a08101818560005b6002811015614795578154835260209092019160019182019101614776565b5050506147a5604083018561474a565b826080830152949350505050565b6000604082840312156147c557600080fd5b82601f8301126147d457600080fd5b6040516040810181811067ffffffffffffffff821117156147f7576147f7614644565b806040525080604084018581111561480e57600080fd5b845b81811015614828578051835260209283019201614810565b509195945050505050565b600f85810b825284900b60208201526040810183905260a0810161485a606083018461474a565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156148ad578181015183820152602001614895565b50506000910152565b600082516148c8818460208701614892565b9190910192915050565b60208152600082518060208401526148f1816040850160208701614892565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122083d9c4db80514e89023acf45144dc66d8e2b1ec8fa28eaeedb9dc1e3374c444964736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50614959806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806396908b5211610081578063aadc68a51161005b578063aadc68a514610182578063c5d1cb631461018a578063e2bbb1581461019d57600080fd5b806396908b52146101545780639d7de6b314610167578063aa1ec70a1461017a57600080fd5b806352159150116100b2578063521591501461011b5780636970d4731461012e5780637cc6bd411461014157600080fd5b80632f72589e146100d9578063422f1043146100ee5780634d8c28c414610101575b600080fd5b6100ec6100e7366004614507565b6101b0565b005b6100ec6100fc366004614520565b610251565b6101096102ce565b60405190815260200160405180910390f35b610109610129366004614507565b6102dd565b6100ec61013c366004614507565b6102ee565b6100ec61014f366004614507565b610387565b6100ec610162366004614507565b610420565b6100ec61017536600461454c565b6104b9565b610109610534565b61010961053e565b61010961019836600461454c565b610548565b6101096101ab36600461454c565b61055b565b6101da7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e6167657200000000000000000000000000000000000000000060448201526064015b60405180910390fd5b61024e816105fd565b50565b60155460ff16156102be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6102c9838383610641565b505050565b60006102d8610864565b905090565b60006102e882610874565b92915050565b6103187fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b61037e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610b7f565b6103b17fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b610417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610bb9565b61044a7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b336105da565b6104b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6e6f74206d616e61676572000000000000000000000000000000000000000000604482015260640161023c565b61024e81610eba565b60155460ff1615610526576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b61053082826110a1565b5050565b60006102d8611455565b60006102d8611468565b60006105548383611526565b9392505050565b600061056960155460ff1690565b156105d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161023c565b6105548383611573565b6000610554826105e86116dc565b6000868152602091909152604090209061170a565b80610606611739565b600101556040518181527f3a1c0b7d3cdecbab83b82697d51cbcdb308b3bbae63e597cbc958deb9c830e50906020015b60405180910390a150565b60008061064d84611767565b8151919350915061065c611a05565b600061066c828460600151611526565b9050808360a001818151610680919061459d565b905250600061068d611739565b9050818160030160008282546106a391906145b0565b909155506106d6905033308a6106b7611c4c565b5473ffffffffffffffffffffffffffffffffffffffff16929190611c7a565b878460a0018181516106e8919061459d565b9052506106f6338489611d5c565b600061070b8560a00151888460000154611ede565b905061071833828a612033565b600182015461072790886145c3565b610731904361459d565b608086015261073e611a05565b64e8d4a5100082600201546107528a612155565b5161075d91906145c3565b6107679190614609565b606086015260006005015460a0860151606087015160808801516040517fe8b7c95e000000000000000000000000000000000000000000000000000000008152600481018d905260248101939093526044830191909152606482015273ffffffffffffffffffffffffffffffffffffffff9091169063e8b7c95e90608401600060405180830381600087803b1580156107ff57600080fd5b505af1158015610813573d6000803e3d6000fd5b50505060a086015160408051918252602082018490528a925033917f1e549269c96dd4bec3d648753e4995f8e57512249145959d6e7555136709bd48910160405180910390a3505050505050505050565b600061086e611739565b54919050565b60008061087f611739565b9050600080600501546040517fce325bf80000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff90911691508190600090829063ce325bf89060240160c060405180830381865afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109209190614673565b9050600061092d87612155565b90506000610939611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c9919061470f565b905085600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f919061470f565b610a49919061459d565b8110610b7157600086600401548573ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac5919061470f565b610acf919061459d565b610ad990836145b0565b6002880154600389015491925090821115610b36576000886003015483610b0091906145b0565b9050610b0a6121a9565b610b198264e8d4a510006145c3565b610b239190614609565b8960020154610b32919061459d565b9150505b6060850151845164e8d4a5100090610b4f9084906145c3565b610b599190614609565b610b6391906145b0565b9a9950505050505050505050565b506000979650505050505050565b80610b88611739565b556040518181527f33275dedaeefb2dabe4935e816773f7ed2c6400002b0c87595e05bde196b33a890602001610636565b6000610bc3611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311610c2c5750505091909252505081516040517f1a4d01d200000000000000000000000000000000000000000000000000000000815260048101869052600160248201526000604482018190529394509092915073ffffffffffffffffffffffffffffffffffffffff831690631a4d01d2906064016020604051808303816000875af1158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf2919061470f565b9050610cfc6121bc565b60208301516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d91919061470f565b9050836020015173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb610dbb600090565b6009015460405160e083901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490526044016020604051808303816000875af1158015610e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e559190614728565b506020808501516040805173ffffffffffffffffffffffffffffffffffffffff90921682529181018490529081018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a15050505050565b6000610ec4611c4c565b546040517f1a4d01d2000000000000000000000000000000000000000000000000000000008152600481018490526000602482018190526044820181905273ffffffffffffffffffffffffffffffffffffffff90921692508290631a4d01d2906064016020604051808303816000875af1158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a919061470f565b9050610f746121bc565b60008060018101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925073ffffffffffffffffffffffffffffffffffffffff169060009082906370a0823190602401602060405180830381865afa158015610fed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611011919061470f565b600984015490915061103d9073ffffffffffffffffffffffffffffffffffffffff8481169116836123f9565b60018301546040805173ffffffffffffffffffffffffffffffffffffffff90921682526020820186905281018290527f621af463096d58966fa48f497088db472e960b9f399d8cbf787ec0f7d22533659060600160405180910390a1505050505050565b6000806110ad83611767565b91509150838160a00151101561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5374616b696e673a20616d6f756e7420746f6f20626967000000000000000000604482015260640161023c565b600061112c82848761244f565b9050611136611a05565b8251606083015160009161114991611526565b9050611156338387611d5c565b6000611160611c4c565b5473ffffffffffffffffffffffffffffffffffffffff1690506000611183611739565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff909116916000916112c591849163132c4feb9160048083019260209291908290030181865afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611222919061470f565b60038501546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa158015611291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b5919061470f565b6112bf91906145b0565b8c6124bd565b9050848360030160008282546112db91906145b0565b92505081905550898760a0018181516112f491906145b0565b905250600283015464e8d4a510009061130c8b612155565b5161131791906145c3565b6113219190614609565b6060880181905260a088015160808901516040517fe8b7c95e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169363e8b7c95e9361139d938f9391929160040193845260208401929092526040830152606082015260800190565b600060405180830381600087803b1580156113b757600080fd5b505af11580156113cb573d6000803e3d6000fd5b505050506113fd3386836113df919061459d565b73ffffffffffffffffffffffffffffffffffffffff871691906123f9565b604080518b81526020810183905290810186905260608101879052899033907fc41873b026655739c834ac0fc390e515f2dcb3cf19938507067c2e31714b04959060800160405180910390a350505050505050505050565b600061145f611739565b60010154905090565b6000806114736121a9565b600554604080517f132c4feb000000000000000000000000000000000000000000000000000000008152905192935073ffffffffffffffffffffffffffffffffffffffff9091169161151f91839163132c4feb916004808201926020929091908290030181865afa1580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611510919061470f565b83670de0b6b3a76400006124fe565b9250505090565b600080611531611739565b60028101549091501561156c578264e8d4a5100082600201548661155591906145c3565b61155f9190614609565b61156991906145b0565b91505b5092915050565b600081600111158015611587575060d08211155b611613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f5374616b696e673a206475726174696f6e206d7573742062652062657477656560448201527f6e203120616e6420323038207765656b73000000000000000000000000000000606482015260840161023c565b61161b6121bc565b611623611a05565b6116313330856106b7611c4c565b600061163b611739565b9050600061164e85858460000154611ede565b9050600082600101548561166291906145c3565b61166c904361459d565b905061167a3387848461259a565b9350611687338386612033565b604080518781526020810184905290810186905260608101829052849033907ff943cf10ef4d1e3239f4716ddecdf546e8ba8ab0e41deafd9a71a99936827e459060800160405180910390a350505092915050565b6000806102e860017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776145b0565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610554565b6000806102e860017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea1276145b0565b61176f614496565b6117be6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b600080600501546040517efdd58e0000000000000000000000000000000000000000000000000000000081523360048201526024810186905273ffffffffffffffffffffffffffffffffffffffff9091169150819062fdd58e90604401602060405180830381865afa158015611838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185c919061470f565b6001146118c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f5374616b696e673a2063616c6c6572206973206e6f74206f776e657200000000604482015260640161023c565b6040517fce325bf800000000000000000000000000000000000000000000000000000000815260048101859052819073ffffffffffffffffffffffffffffffffffffffff82169063ce325bf89060240160c060405180830381865afa158015611932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119569190614673565b9250826080015143116119eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f5374616b696e673a2052656465656d206e6f7420616c6c6f776564206265666f60448201527f7265207374616b696e672074696d650000000000000000000000000000000000606482015260840161023c565b6119f36121bc565b6119fc85612155565b93505050915091565b60055473ffffffffffffffffffffffffffffffffffffffff166000611a28611739565b9050816000611a35611c4c565b546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015611aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac5919061470f565b90506000611ad16121a9565b905083600401548373ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b47919061470f565b611b51919061459d565b8210158015611b605750600081115b15611c4557600084600401548473ffffffffffffffffffffffffffffffffffffffff1663132c4feb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdb919061470f565b611be5919061459d565b611bef90846145b0565b90508460030154811115611c435781856003015482611c0e91906145b0565b611c1d9064e8d4a510006145c3565b611c279190614609565b8560020154611c36919061459d565b6002860155600385018190555b505b5050505050565b6000806102e860017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e6286145b0565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611d569085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261271c565b50505050565b6000611d6661282b565b60008381526007820160205260409020805491925090841115611de5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4d433a20616d6f756e7420746f6f206869676800000000000000000000000000604482015260640161023c565b611ded612859565b6001810154600683015482546000929164e8d4a5100091611e0e91906145c3565b611e189190614609565b611e2291906145b0565b9050611e2e8682612a58565b84826000016000828254611e4291906145b0565b90915550506006830154825464e8d4a5100091611e5e916145c3565b611e689190614609565b826001018190555084836008016000828254611e8491906145b0565b9091555050604051858152849073ffffffffffffffffffffffffffffffffffffffff8816907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689060200160405180910390a3505050505050565b600080611ef2670de0b6b3a7640000612b45565b90506000611eff85612b45565b90506000611f85611f5e83611f367fffffffffffffffffffffffffffffffff00000000000000000000000000000000821682612bb3565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690612bb3565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613005565b90506000611f9288612b45565b905061202761200082611fd887611fb086611f3689611f368f612b45565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690613281565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906136a8565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016613c68565b98975050505050505050565b600061203d61282b565b60008381526007820160205260409020909150612058612859565b8054156120a2576001810154600683015482546000929164e8d4a510009161208091906145c3565b61208a9190614609565b61209491906145b0565b90506120a08682612a58565b505b838160000160008282546120b6919061459d565b90915550506006820154815464e8d4a51000916120d2916145c3565b6120dc9190614609565b6001820155836120ea61282b565b60080160008282546120fc919061459d565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b61215d614496565b600061216761282b565b60009384526007016020908152604093849020845180860186528154815260019091015481830190815285518087019096529051855251908401525090919050565b60006121b361282b565b60080154905090565b60006121c6611c4c565b90506000806121d3613d26565b9150915060008360040154826121e991906145b0565b11156102c9578254600484015460009173ffffffffffffffffffffffffffffffffffffffff1690630f6ba8e3906005870190869061222790876145b0565b6040518463ffffffff1660e01b81526004016122459392919061476d565b6040805180830381865afa158015612261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228591906147b3565b84546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff1690637e42fc0c906122eb90600090600190670de0b6b3a7640000908790600401614833565b602060405180830381865afa158015612308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232c919061470f565b600285015583546040517f7e42fc0c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637e42fc0c9061239690600190600090670de0b6b3a7640000908790600401614833565b602060405180830381865afa1580156123b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d7919061470f565b60038501556123eb600585018460026144b4565b505060048301819055505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526102c99084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611cd4565b8151600090819061245f90612b45565b9050600061246c84612b45565b9050600061247d8760a00151612b45565b90506124b261200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000871686612bb3565b979650505050505050565b600083831080156124ce5750600083115b1561156c576124f76120006124e286612b45565b611fb06124ee87612b45565b611f3687612b45565b9050610554565b60008061250a85612b45565b9050600061251785612b45565b9050600085156125525761254d7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683613281565b61255c565b61255c6001612b45565b9050600061256986612b45565b90506120276120007fffffffffffffffffffffffffffffffff00000000000000000000000000000000841683612bb3565b6000806125a5611468565b905080600003612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f5374616b696e673a2073686172652076616c75652073686f756c64206e6f742060448201527f6265206e756c6c00000000000000000000000000000000000000000000000000606482015260840161023c565b600064e8d4a51000612647611739565b6002015461265590876145c3565b61265f9190614609565b90506000600501546040517fa647e8ec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820189905260448201849052606482018790529091169063a647e8ec906084016020604051808303816000875af11580156126eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061270f919061470f565b925050505b949350505050565b600061277e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613e439092919063ffffffff16565b905080516000148061279f57508080602001905181019061279f9190614728565b6102c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161023c565b6000806102e860017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f186145b0565b600061286361282b565b600581018054919250904311612877575050565b61287f613e52565b81600801546000036128915743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006128bb613ecf565b90506000670de0b6b3a76400008660000154836128d891906145c3565b6128e29190614609565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b15801561295357600080fd5b505af1158015612967573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f19848860040154846129989190614609565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015612a0357600080fd5b505af1158015612a17573d6000803e3d6000fd5b505050506008860154612a2f8264e8d4a510006145c3565b612a399190614609565b8560010154612a48919061459d565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af4919061470f565b905080831115612b2457612b1f73ffffffffffffffffffffffffffffffffffffffff831685836123f9565b611d56565b611d5673ffffffffffffffffffffffffffffffffffffffff831685856123f9565b600081600003612b5757506000919050565b816000612b6382613f05565b90506070811015612b7c578060700382901b9150612b8f565b6070811115612b8f576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c811690829003612d335780617fff03612cb1577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c30575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003612c86575050508181176102e8565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e8565b80617fff03612dbe577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003612d9157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e8565b6dffffffffffffffffffffffffffff608086901c166000839003612de55760019250612df7565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003612e1e5760019250612e30565b6e010000000000000000000000000000175b808202915081600003612e9a577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e8565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015612eff577c0100000000000000000000000000000000000000000000000000000000831015612ef857612ef383613f05565b612f02565b60e0612f02565b60e15b90506140708186011015612f1d576000945060009250612fc1565b6140e08186011015612f6057614070851015612f4257846140700383901c9250612f57565b614070851115612f5757614070850383901b92505b60009450612fc1565b61c0dd8186011115612f7a57617fff945060009250612fc1565b6070811115612f91576070810383901c9250612fa4565b6070811015612fa4578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b60006f80000000000000000000000000000000608083901c111561304a57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c811690819003613063575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361308a576001915061309c565b6e010000000000000000000000000000175b806000036130ae575060009392505050565b613fff8201600190811c9216158015613129576e01000000000000000000000000000082106130e357607182901b915061318d565b60006130ee83613f05565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b915061318d565b6e010000000000000000000000000000821061314b57607082901b915061318d565b600061315683613f05565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c908184816131b6576131b66145da565b048201901c905060018184816131ce576131ce6145da565b048201901c905060018184816131e6576131e66145da565b048201901c905060018184816131fe576131fe6145da565b048201901c90506001818481613216576132166145da565b048201901c9050600181848161322e5761322e6145da565b048201901c90506000818481613246576132466145da565b04905081811015613255578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b50919050565b6000617fff60f084811c8216919084901c8116908290036132d05780617fff03612d0657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b80617fff03613357577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561332a57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e8565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003613425577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036133d657507f7fff80000000000000000000000000000000000000000000000000000000000091506102e89050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e8565b6dffffffffffffffffffffffffffff608085901c16600082900361344c576001915061345e565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036134c65780156134c157600061348d82613f05565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6134db565b6e0100000000000000000000000000001760721b5b8181816134ea576134ea6145da565b04905080600003613525577f800000000000000000000000000000000000000000000000000000000000000087871816612e6d576000612e8f565b6d100000000000000000000000000081101561354357613543614863565b60006e0800000000000000000000000000008210156135a3576e040000000000000000000000000000821015613598576e02000000000000000000000000000082101561359157607061359b565b607161359b565b60725b60ff166135ac565b6135ac82613f05565b9050836140710181860111156135ca57617fff945060009150613664565b83818601613ffc0110156135e5576000945060009150613664565b83818601613f8c011015613632578385613ffc011115613610578385613ffc010382901b9150613629565b8385613ffc01101561362957613ffc8585030382901c91505b60009450613664565b6070811115613645576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e8565b6000617fff60f084811c8216919084901c81169082900361370c5780617fff03613702577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603612c865784925050506102e8565b84925050506102e8565b80617fff0361371f5783925050506102e8565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361375c576001935061376e565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff1660008590036137ab57600194506137bd565b6e010000000000000000000000000000175b82600003613824577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146138145787613817565b60005b96505050505050506102e8565b8060000361387b577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146138145788613817565b84860382151585151503613a075760708113156138a157899750505050505050506102e8565b60008113156138b35790811c90613900565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156138ea57889750505050505050506102e8565b6000811215613900578060000384901c93508596505b928101926e0200000000000000000000000000008410613926576001968701969390931c925b86617fff0361398a578461395a577f7fff00000000000000000000000000000000000000000000000000000000000061397c565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e8565b6e0100000000000000000000000000008410156139aa57600096506139be565b6dffffffffffffffffffffffffffff841693505b83607088901b866139d05760006139e2565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e8565b6000811315613a2257600184901b9350600187039650613a39565b6000811215613a3957600182901b91506001860396505b6070811315613a4b5760019150613ad4565b6001811315613a68576001810360018303901c6001019150613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613a995760019350613ad4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613ad4576001816000030360018503901c60010193505b818410613ae5578184039350613aee565b83820393508294505b83600003613b075750600096506102e895505050505050565b6000613b1285613f05565b905080607103613b3e57600185901c6dffffffffffffffffffffffffffff169450600188019750613bb9565b6070811015613ba557607081900380891115613b74578086901b6dffffffffffffffffffffffffffff1695508089039850613b9f565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613bb9565b6dffffffffffffffffffffffffffff851694505b87617fff03613c1e5785613bed577f7fff000000000000000000000000000000000000000000000000000000000000613c0f565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e8565b84607089901b87613c30576000613c42565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e8565b6000617fff60f083901c16613fff811015613c865750600092915050565b6f80000000000000000000000000000000608084901c10613ca657600080fd5b6140fe811115613cb557600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015613cf15761406f8290031c610554565b61406f821115610554577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b613d2e614496565b600080613d39611c4c565b54604080517f4469e30e000000000000000000000000000000000000000000000000000000008152815173ffffffffffffffffffffffffffffffffffffffff90931693508392634469e30e926004808401939192918290030181865afa158015613da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dcb91906147b3565b92508073ffffffffffffffffffffffffffffffffffffffff166363543f066040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3c919061470f565b9150509091565b60606127148484600085613fb5565b6000613e5c61282b565b90506000613e686140c3565b905060008260030154821115613e945760028301546003840154613e8c90846145b0565b119050613ead565b8260020154828460030154613ea991906145b0565b1190505b80156102c957613ec18360010154836140e8565b600184015550600390910155565b600080613eda61282b565b6005015490506000613eea61282b565b60010154905080613efb83436145b0565b61151f91906145c3565b6000808211613f1357600080fd5b60007001000000000000000000000000000000008310613f3557608092831c92015b680100000000000000008310613f4d57604092831c92015b6401000000008310613f6157602092831c92015b620100008310613f7357601092831c92015b6101008310613f8457600892831c92015b60108310613f9457600492831c92015b60048310613fa457600292831c92015b600283106102e85760010192915050565b606082471015614047576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161023c565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161407091906148b6565b60006040518083038185875af1925050503d80600081146140ad576040519150601f19603f3d011682016040523d82523d6000602084013e6140b2565b606091505b509150915061270f87838387614217565b60006102d8816001015473ffffffffffffffffffffffffffffffffffffffff166142b7565b6000806140f484612b45565b9050600061410184612b45565b90506000614116670e92596fd6290000612b45565b9050600061412b670de0b6b3a7640000612b45565b905060006141af6141866141617fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687614424565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906136a8565b90506141e461200082611fb07fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687612bb3565b9550674563918244f4000086118061420357506702c68af0bb14000086105b1561420c578795505b505050505092915050565b606083156142ad5782516000036142a65773ffffffffffffffffffffffffffffffffffffffff85163b6142a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161023c565b5081612714565b6127148383614452565b6000806142c2611c4c565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b81548152602001906001019080831161432b575050505050815250509050614351600090565b6001015473ffffffffffffffffffffffffffffffffffffffff90811690841603614381578060400151915061327b565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461441a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e00000000000000604482015260640161023c565b6060015192915050565b6000610554837f800000000000000000000000000000000000000000000000000000000000000084186136a8565b8151156144625781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023c91906148d2565b60405180604001604052806002906020820280368337509192915050565b82600281019282156144e2579160200282015b828111156144e25782518255916020019190600101906144c7565b506144ee9291506144f2565b5090565b5b808211156144ee57600081556001016144f3565b60006020828403121561451957600080fd5b5035919050565b60008060006060848603121561453557600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561455f57600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e8576102e861456e565b818103818111156102e8576102e861456e565b80820281158282048414176102e8576102e861456e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261463f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060c0828403121561468557600080fd5b60405160c0810181811067ffffffffffffffff821117156146a8576146a8614644565b604052825173ffffffffffffffffffffffffffffffffffffffff811681146146cf57600080fd5b808252506020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b60006020828403121561472157600080fd5b5051919050565b60006020828403121561473a57600080fd5b8151801515811461055457600080fd5b8060005b6002811015611d5657815184526020938401939091019060010161474e565b60a08101818560005b6002811015614795578154835260209092019160019182019101614776565b5050506147a5604083018561474a565b826080830152949350505050565b6000604082840312156147c557600080fd5b82601f8301126147d457600080fd5b6040516040810181811067ffffffffffffffff821117156147f7576147f7614644565b806040525080604084018581111561480e57600080fd5b845b81811015614828578051835260209283019201614810565b509195945050505050565b600f85810b825284900b60208201526040810183905260a0810161485a606083018461474a565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b838110156148ad578181015183820152602001614895565b50506000910152565b600082516148c8818460208701614892565b9190910192915050565b60208152600082518060208401526148f1816040850160208701614892565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220211a6647eed3765fba1273d265b2a59819ed961d18d1c2a57d921a19336c98af64736f6c63430008130033", "nonce": "0x9", "accessList": [] }, @@ -190,7 +190,7 @@ "isFixedGasLimit": false }, { - "hash": "0x99daf3551599f45073dd154e193d11cc584c246f01a6d6c7f744f77dc836fff4", + "hash": "0xa1120696e1c820b22ac21449c16f59e47bc79ee315bb5377c0500d5ae2f5531e", "transactionType": "CREATE", "contractName": "StakingFormulasFacet", "contractAddress": "0x6169444aE7A834646f31f2179dbe9153C2Cfe79D", @@ -199,9 +199,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x1ad02e", + "gas": "0x1ad01f", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506117cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063a609d91211610050578063a609d912146100a4578063a64154f0146100b7578063d5a8cf64146100b757600080fd5b80635b374a401461006c578063629056cb14610091575b600080fd5b61007f61007a36600461159b565b6100ca565b60405190815260200160405180910390f35b61007f61009f36600461168f565b6100e1565b61007f6100b236600461159b565b6100ee565b61007f6100c536600461168f565b6100fb565b60006100d7848484610103565b90505b9392505050565b60006100d7848484610258565b60006100d78484846102c6565b6000816100d7565b600080610117670de0b6b3a764000061030e565b905060006101248561030e565b905060006101aa6101838361015b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082168261037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166107d0565b905060006101b78861030e565b905061024c610225826101fd876101d58661015b8961015b8f61030e565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610a46565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610e6d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001661142d565b98975050505050505050565b815160009081906102689061030e565b905060006102758461030e565b905060006102868760a0015161030e565b90506102bb610225826101d57fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168661037c565b979650505050505050565b600083831080156102d75750600083115b15610307576103006102256102eb8661030e565b6101d56102f78761030e565b61015b8761030e565b90506100da565b5092915050565b60008160000361032057506000919050565b81600061032c826114eb565b90506070811015610345578060700382901b9150610358565b6070811115610358576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036104fc5780617fff0361047a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036103f9575050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f80000000000000000000000000000000000000000000000000000000000000000361044f575050508181176107ca565b507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b80617fff03610587577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361055a57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186107ca565b6dffffffffffffffffffffffffffff608086901c1660008390036105ae57600192506105c0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c1660008390036105e757600192506105f9565b6e010000000000000000000000000000175b808202915081600003610663577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506107ca565b9282019260007c02000000000000000000000000000000000000000000000000000000008310156106c8577c01000000000000000000000000000000000000000000000000000000008310156106c1576106bc836114eb565b6106cb565b60e06106cb565b60e15b905061407081860110156106e657600094506000925061078a565b6140e081860110156107295761407085101561070b57846140700383901c9250610720565b61407085111561072057614070850383901b92505b6000945061078a565b61c0dd818601111561074357617fff94506000925061078a565b607081111561075a576070810383901c925061076d565b607081101561076d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b60006f80000000000000000000000000000000608083901c111561081557507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c81169081900361082e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036108555760019150610867565b6e010000000000000000000000000000175b80600003610879575060009392505050565b613fff8201600190811c92161580156108f4576e01000000000000000000000000000082106108ae57607182901b9150610958565b60006108b9836114eb565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b9150610958565b6e010000000000000000000000000000821061091657607082901b9150610958565b6000610921836114eb565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c9081848161098157610981611739565b048201901c9050600181848161099957610999611739565b048201901c905060018184816109b1576109b1611739565b048201901c905060018184816109c9576109c9611739565b048201901c905060018184816109e1576109e1611739565b048201901c905060018184816109f9576109f9611739565b048201901c90506000818481610a1157610a11611739565b04905081811015610a20578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b6000617fff60f084811c8216919084901c811690829003610a955780617fff036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b80617fff03610b1c577dffffffffffffffffffffffffffff00000000000000000000000000000000841615610aef57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166107ca565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610bea577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b9b57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176107ca565b6dffffffffffffffffffffffffffff608085901c166000829003610c115760019150610c23565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003610c8b578015610c86576000610c52826114eb565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b610ca0565b6e0100000000000000000000000000001760721b5b818181610caf57610caf611739565b04905080600003610cea577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b6d1000000000000000000000000000811015610d0857610d08611768565b60006e080000000000000000000000000000821015610d68576e040000000000000000000000000000821015610d5d576e020000000000000000000000000000821015610d56576070610d60565b6071610d60565b60725b60ff16610d71565b610d71826114eb565b905083614071018186011115610d8f57617fff945060009150610e29565b83818601613ffc011015610daa576000945060009150610e29565b83818601613f8c011015610df7578385613ffc011115610dd5578385613ffc010382901b9150610dee565b8385613ffc011015610dee57613ffc8585030382901c91505b60009450610e29565b6070811115610e0a576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506107ca565b6000617fff60f084811c8216919084901c811690829003610ed15780617fff03610ec7577fffffffffffffffffffffffffffffffff000000000000000000000000000000008085169086160361044f5784925050506107ca565b84925050506107ca565b80617fff03610ee45783925050506107ca565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f215760019350610f33565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610f705760019450610f82565b6e010000000000000000000000000000175b82600003610fe9577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014610fd95787610fdc565b60005b96505050505050506107ca565b80600003611040577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014610fd95788610fdc565b848603821515851515036111cc57607081131561106657899750505050505050506107ca565b60008113156110785790811c906110c5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156110af57889750505050505050506107ca565b60008112156110c5578060000384901c93508596505b928101926e02000000000000000000000000000084106110eb576001968701969390931c925b86617fff0361114f578461111f577f7fff000000000000000000000000000000000000000000000000000000000000611141565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506107ca565b6e01000000000000000000000000000084101561116f5760009650611183565b6dffffffffffffffffffffffffffff841693505b83607088901b866111955760006111a7565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506107ca565b60008113156111e757600184901b93506001870396506111fe565b60008112156111fe57600182901b91506001860396505b60708113156112105760019150611299565b600181131561122d576001810360018303901c6001019150611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561125e5760019350611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611299576001816000030360018503901c60010193505b8184106112aa5781840393506112b3565b83820393508294505b836000036112cc5750600096506107ca95505050505050565b60006112d7856114eb565b90508060710361130357600185901c6dffffffffffffffffffffffffffff16945060018801975061137e565b607081101561136a57607081900380891115611339578086901b6dffffffffffffffffffffffffffff1695508089039850611364565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b5061137e565b6dffffffffffffffffffffffffffff851694505b87617fff036113e357856113b2577f7fff0000000000000000000000000000000000000000000000000000000000006113d4565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506107ca565b84607089901b876113f5576000611407565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506107ca565b6000617fff60f083901c16613fff81101561144b5750600092915050565b6f80000000000000000000000000000000608084901c1061146b57600080fd5b6140fe81111561147a57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156114b65761406f8290031c6100da565b61406f8211156100da577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60008082116114f957600080fd5b6000700100000000000000000000000000000000831061151b57608092831c92015b68010000000000000000831061153357604092831c92015b640100000000831061154757602092831c92015b62010000831061155957601092831c92015b610100831061156a57600892831c92015b6010831061157a57600492831c92015b6004831061158a57600292831c92015b600283106107ca5760010192915050565b6000806000606084860312156115b057600080fd5b505081359360208301359350604090920135919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611619576116196115c7565b60405290565b600082601f83011261163057600080fd5b6040516040810181811067ffffffffffffffff82111715611653576116536115c7565b806040525080604084018581111561166a57600080fd5b845b8181101561168457803583526020928301920161166c565b509195945050505050565b60008060008385036101208112156116a657600080fd5b60c08112156116b457600080fd5b506116bd6115f6565b843573ffffffffffffffffffffffffffffffffffffffff811681146116e157600080fd5b808252506020850135602082015260408501356040820152606085013560608201526080850135608082015260a085013560a0820152809350506117288560c0860161161f565b915061010084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122069c7a8b1a65e19150bdeac191d736c9c12147d88cf3775eef1d58b2dab1b4ca064736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b506117cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063a609d91211610050578063a609d912146100a4578063a64154f0146100b7578063d5a8cf64146100b757600080fd5b80635b374a401461006c578063629056cb14610091575b600080fd5b61007f61007a36600461159b565b6100ca565b60405190815260200160405180910390f35b61007f61009f36600461168f565b6100e1565b61007f6100b236600461159b565b6100ee565b61007f6100c536600461168f565b6100fb565b60006100d7848484610103565b90505b9392505050565b60006100d7848484610258565b60006100d78484846102c6565b6000816100d7565b600080610117670de0b6b3a764000061030e565b905060006101248561030e565b905060006101aa6101838361015b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082168261037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061037c565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166107d0565b905060006101b78861030e565b905061024c610225826101fd876101d58661015b8961015b8f61030e565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610a46565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610e6d565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001661142d565b98975050505050505050565b815160009081906102689061030e565b905060006102758461030e565b905060006102868760a0015161030e565b90506102bb610225826101d57fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168661037c565b979650505050505050565b600083831080156102d75750600083115b15610307576103006102256102eb8661030e565b6101d56102f78761030e565b61015b8761030e565b90506100da565b5092915050565b60008160000361032057506000919050565b81600061032c826114eb565b90506070811015610345578060700382901b9150610358565b6070811115610358576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036104fc5780617fff0361047a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036103f9575050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f80000000000000000000000000000000000000000000000000000000000000000361044f575050508181176107ca565b507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186107ca565b80617fff03610587577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361055a57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186107ca565b6dffffffffffffffffffffffffffff608086901c1660008390036105ae57600192506105c0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c1660008390036105e757600192506105f9565b6e010000000000000000000000000000175b808202915081600003610663577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506107ca565b9282019260007c02000000000000000000000000000000000000000000000000000000008310156106c8577c01000000000000000000000000000000000000000000000000000000008310156106c1576106bc836114eb565b6106cb565b60e06106cb565b60e15b905061407081860110156106e657600094506000925061078a565b6140e081860110156107295761407085101561070b57846140700383901c9250610720565b61407085111561072057614070850383901b92505b6000945061078a565b61c0dd818601111561074357617fff94506000925061078a565b607081111561075a576070810383901c925061076d565b607081101561076d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b60006f80000000000000000000000000000000608083901c111561081557507f7fff800000000000000000000000000000000000000000000000000000000000919050565b617fff60f083901c81169081900361082e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036108555760019150610867565b6e010000000000000000000000000000175b80600003610879575060009392505050565b613fff8201600190811c92161580156108f4576e01000000000000000000000000000082106108ae57607182901b9150610958565b60006108b9836114eb565b60e20360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b9150610958565b6e010000000000000000000000000000821061091657607082901b9150610958565b6000610921836114eb565b60e10360fe167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810160011c909403939290921b91505b6e01000000000000000000000000000080830401600190811c9081848161098157610981611739565b048201901c9050600181848161099957610999611739565b048201901c905060018184816109b1576109b1611739565b048201901c905060018184816109c9576109c9611739565b048201901c905060018184816109e1576109e1611739565b048201901c905060018184816109f9576109f9611739565b048201901c90506000818481610a1157610a11611739565b04905081811015610a20578091505b816dffffffffffffffffffffffffffff16607086901b1760801b95505050505050919050565b6000617fff60f084811c8216919084901c811690829003610a955780617fff036104cf57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b80617fff03610b1c577dffffffffffffffffffffffffffff00000000000000000000000000000000841615610aef57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166107ca565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610bea577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b9b57507f7fff80000000000000000000000000000000000000000000000000000000000091506107ca9050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176107ca565b6dffffffffffffffffffffffffffff608085901c166000829003610c115760019150610c23565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003610c8b578015610c86576000610c52826114eb565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b610ca0565b6e0100000000000000000000000000001760721b5b818181610caf57610caf611739565b04905080600003610cea577f800000000000000000000000000000000000000000000000000000000000000087871816610636576000610658565b6d1000000000000000000000000000811015610d0857610d08611768565b60006e080000000000000000000000000000821015610d68576e040000000000000000000000000000821015610d5d576e020000000000000000000000000000821015610d56576070610d60565b6071610d60565b60725b60ff16610d71565b610d71826114eb565b905083614071018186011115610d8f57617fff945060009150610e29565b83818601613ffc011015610daa576000945060009150610e29565b83818601613f8c011015610df7578385613ffc011115610dd5578385613ffc010382901b9150610dee565b8385613ffc011015610dee57613ffc8585030382901c91505b60009450610e29565b6070811115610e0a576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506107ca565b6000617fff60f084811c8216919084901c811690829003610ed15780617fff03610ec7577fffffffffffffffffffffffffffffffff000000000000000000000000000000008085169086160361044f5784925050506107ca565b84925050506107ca565b80617fff03610ee45783925050506107ca565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f215760019350610f33565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610f705760019450610f82565b6e010000000000000000000000000000175b82600003610fe9577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014610fd95787610fdc565b60005b96505050505050506107ca565b80600003611040577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014610fd95788610fdc565b848603821515851515036111cc57607081131561106657899750505050505050506107ca565b60008113156110785790811c906110c5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156110af57889750505050505050506107ca565b60008112156110c5578060000384901c93508596505b928101926e02000000000000000000000000000084106110eb576001968701969390931c925b86617fff0361114f578461111f577f7fff000000000000000000000000000000000000000000000000000000000000611141565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506107ca565b6e01000000000000000000000000000084101561116f5760009650611183565b6dffffffffffffffffffffffffffff841693505b83607088901b866111955760006111a7565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506107ca565b60008113156111e757600184901b93506001870396506111fe565b60008112156111fe57600182901b91506001860396505b60708113156112105760019150611299565b600181131561122d576001810360018303901c6001019150611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561125e5760019350611299565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215611299576001816000030360018503901c60010193505b8184106112aa5781840393506112b3565b83820393508294505b836000036112cc5750600096506107ca95505050505050565b60006112d7856114eb565b90508060710361130357600185901c6dffffffffffffffffffffffffffff16945060018801975061137e565b607081101561136a57607081900380891115611339578086901b6dffffffffffffffffffffffffffff1695508089039850611364565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b5061137e565b6dffffffffffffffffffffffffffff851694505b87617fff036113e357856113b2577f7fff0000000000000000000000000000000000000000000000000000000000006113d4565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506107ca565b84607089901b876113f5576000611407565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506107ca565b6000617fff60f083901c16613fff81101561144b5750600092915050565b6f80000000000000000000000000000000608084901c1061146b57600080fd5b6140fe81111561147a57600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156114b65761406f8290031c6100da565b61406f8211156100da577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60008082116114f957600080fd5b6000700100000000000000000000000000000000831061151b57608092831c92015b68010000000000000000831061153357604092831c92015b640100000000831061154757602092831c92015b62010000831061155957601092831c92015b610100831061156a57600892831c92015b6010831061157a57600492831c92015b6004831061158a57600292831c92015b600283106107ca5760010192915050565b6000806000606084860312156115b057600080fd5b505081359360208301359350604090920135919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611619576116196115c7565b60405290565b600082601f83011261163057600080fd5b6040516040810181811067ffffffffffffffff82111715611653576116536115c7565b806040525080604084018581111561166a57600080fd5b845b8181101561168457803583526020928301920161166c565b509195945050505050565b60008060008385036101208112156116a657600080fd5b60c08112156116b457600080fd5b506116bd6115f6565b843573ffffffffffffffffffffffffffffffffffffffff811681146116e157600080fd5b808252506020850135602082015260408501356040820152606085013560608201526080850135608082015260a085013560a0820152809350506117288560c0860161161f565b915061010084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220cbf4a2534fdc2300e655102051edf1e62b6f36f5f3da6f1a5eb955e41087421664736f6c63430008130033", "nonce": "0xa", "accessList": [] }, @@ -209,7 +209,7 @@ "isFixedGasLimit": false }, { - "hash": "0x9736615288ef829d2b9748ad3405003d516f1b7c5fb4c11e9eff8b6be582ff55", + "hash": "0xa5941b71150c450cec9e9211bfd7e53d09b10eeb40dcb8080820bc132e5a5516", "transactionType": "CREATE", "contractName": "CreditNftManagerFacet", "contractAddress": "0x38963B77678eb09f9EcC19F42f0371ec3C3c9b79", @@ -220,7 +220,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x496c0a", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b506142e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063b5a3ff8711610097578063d2bdc9e011610066578063d2bdc9e014610204578063d3918c1d14610217578063efa0982f1461021f578063f23a6e611461023257600080fd5b8063b5a3ff8714610189578063b6170dcc1461019c578063bc197c81146101a4578063be5c6872146101f157600080fd5b80635469bff1116100d35780635469bff11461013d578063585765081461015057806371fc117114610163578063a35e50bc1461017657600080fd5b80630d65f47f146100fa5780632565aa42146101205780634e7c028d1461012a575b600080fd5b61010d610108366004613fc7565b610245565b6040519081526020015b60405180910390f35b6101286102e6565b005b610128610138366004613fe9565b610344565b61010d61014b366004613fc7565b61040b565b61010d61015e366004613fe9565b610466565b610128610171366004613fe9565b610471565b61010d610184366004613fe9565b610530565b61010d610197366004613fc7565b61053b565b61010d610596565b6101c06101b23660046140b4565b600098975050505050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610117565b61010d6101ff366004613fe9565b6105a5565b61010d610212366004613fe9565b6105b0565b61010d6105bb565b61010d61022d366004613fe9565b6105c5565b6101c061024036600461416f565b610655565b6040517f0d65f47f0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90630d65f47f906044015b602060405180830381865af41580156102b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102dd91906141e7565b90505b92915050565b735d00797f4d5a2eed04d75a8d3cff1721e859b35d632565aa426040518163ffffffff1660e01b815260040160006040518083038186803b15801561032a57600080fd5b505af415801561033e573d6000803e3d6000fd5b50505050565b61036e7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b6103ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61040881610695565b50565b6040517f5469bff10000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90635469bff19060440161029c565b60006102e0826106eb565b61049b7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b610527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b610408816109a9565b60006102e0826109ff565b6040517fb5a3ff870000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063b5a3ff879060440161029c565b60006105a0610cc2565b905090565b60006102e082610cd5565b60006102e082610ce3565b60006105a0610cee565b6040517fefa0982f00000000000000000000000000000000000000000000000000000000815260048101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063efa0982f90602401602060405180830381865af4158015610631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e091906141e7565b6000610665878787878787610d01565b90505b9695505050505050565b60006102dd82610680610d61565b60008681526020919091526040902090610d8f565b7f495d4b828a3c7e7928af095e028963932f9b19f26d4ff33cc8e066e7b350fa1b816106bf610dbe565b600301546040805192835260208301919091520160405180910390a1806106e4610dbe565b6003015550565b6000806106f6610dec565b9050670de0b6b3a7640000811061078e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f656469740000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b1580156107fc57600080fd5b505af1158015610810573d6000803e3d6000fd5b5050505061081c610dbe565b6004015460ff1661086c576000610831610dbe565b6004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155439082015560009055505b60006108838661087a610dbe565b60010154610e11565b60018401546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810189905291925073ffffffffffffffffffffffffffffffffffffffff16906379cc679090604401600060405180830381600087803b1580156108f857600080fd5b505af115801561090c573d6000803e3d6000fd5b50505050600e8301546040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b50939998505050505050505050565b7f628c688556988d19256692ff656a1966f574832b813a2d20382b5cf38f839b5e816109d3610dbe565b600201546040805192835260208301919091520160405180910390a1806109f8610dbe565b6002015550565b600080610a0a610dec565b9050670de0b6b3a76400008110610aa3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f65646974204e465400000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff90921691829163f7ffe84a91600480830192600092919082900301818387803b158015610b1057600080fd5b505af1158015610b24573d6000803e3d6000fd5b505050506000610b32610dbe565b600481015490915060ff16610b7b576004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091554390820155600081555b6000610b86866110ee565b90506000600101546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810188905273ffffffffffffffffffffffffffffffffffffffff909116906379cc679090604401600060405180830381600087803b158015610bfd57600080fd5b505af1158015610c11573d6000803e3d6000fd5b505050506000826002015443610c27919061422f565b6040517f91623d49000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906391623d4990606401600060405180830381600087803b158015610c9f57600080fd5b505af1158015610cb3573d6000803e3d6000fd5b50929998505050505050505050565b6000610ccc610dbe565b60020154905090565b60006102e08261087a610dbe565b60006102e0826110ee565b6000610cf8610dbe565b60030154905090565b6000610d2d7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b88610672565b15610d5957507ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97610668565b506000610668565b6000806102e060017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77614242565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156102dd565b6000806102e060017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297614242565b60006105a0816001015473ffffffffffffffffffffffffffffffffffffffff1661148d565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa158015610e90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb491906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2391906141e7565b10610f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f484947480060448201526064016103f6565b6000610fd9610fa0670de0b6b3a76400006115fe565b610fb1610fab611671565b546115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061169f565b90506000610fe6436115fe565b90506000610ff782610fb18a6115fe565b9050600061107c61105561102c7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516611b20565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000871690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f48565b905060006110df6110b8836110908e6115fe565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f7c565b9b9a5050505050505050505050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119191906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120091906141e7565b1061128d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f474800000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600061129960016115fe565b905060006113148373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130f91906141e7565b6115fe565b905060006113b661138d8760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061169f565b905060006114156113e97fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168461203b565b6110907fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168561203b565b905060006114457fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168361169f565b905061147f6110b86114568c6115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611b50565b9a9950505050505050505050565b600080611498612069565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311611501575050505050815250509050611527600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361155757806040015191506115f8565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146115f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016103f6565b806060015191505b50919050565b60008160000361161057506000919050565b81600061161c82612097565b90506070811015611635578060700382901b9150611648565b6070811115611648576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b6000806102e060017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665614242565b6000617fff60f084811c8216919084901c81169082900361171b5780617fff036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b80617fff036117a2577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561177557507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e0565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611870577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361182157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e0565b6dffffffffffffffffffffffffffff608085901c16600082900361189757600191506118a9565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361191157801561190c5760006118d882612097565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611926565b6e0100000000000000000000000000001760721b5b81818161193557611935614255565b0490508060000361199d577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e0565b6d10000000000000000000000000008110156119bb576119bb614284565b60006e080000000000000000000000000000821015611a1b576e040000000000000000000000000000821015611a10576e020000000000000000000000000000821015611a09576070611a13565b6071611a13565b60725b60ff16611a24565b611a2482612097565b905083614071018186011115611a4257617fff945060009150611adc565b83818601613ffc011015611a5d576000945060009150611adc565b83818601613f8c011015611aaa578385613ffc011115611a88578385613ffc010382901b9150611aa1565b8385613ffc011015611aa157613ffc8585030382901c91505b60009450611adc565b6070811115611abd576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611b2e83612147565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003611ca35780617fff03611c4e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611bcd575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611c23575050508181176102e0565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b80617fff03611d2e577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d0157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e0565b6dffffffffffffffffffffffffffff608086901c166000839003611d555760019250611d67565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611d8e5760019250611da0565b6e010000000000000000000000000000175b808202915081600003611ddd577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611e42577c0100000000000000000000000000000000000000000000000000000000831015611e3b57611e3683612097565b611e45565b60e0611e45565b60e15b90506140708186011015611e60576000945060009250611f04565b6140e08186011015611ea357614070851015611e8557846140700383901c9250611e9a565b614070851115611e9a57614070850383901b92505b60009450611f04565b61c0dd8186011115611ebd57617fff945060009250611f04565b6070811115611ed4576070810383901c9250611ee7565b6070811015611ee7578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611f77837f3fff71547652b82fe1777d0ffda0d23a00000000000000000000000000000000611b50565b6123fc565b6000617fff60f083901c16613fff811015611f9a5750600092915050565b6f80000000000000000000000000000000608084901c10611fba57600080fd5b6140fe811115611fc957600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120055761406f8290031c612034565b61406f821115612034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60006102dd837f80000000000000000000000000000000000000000000000000000000000000008418613a07565b6000806102e060017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628614242565b60008082116120a557600080fd5b600070010000000000000000000000000000000083106120c757608092831c92015b6801000000000000000083106120df57604092831c92015b64010000000083106120f357602092831c92015b62010000831061210557601092831c92015b610100831061211657600892831c92015b6010831061212657600492831c92015b6004831061213657600292831c92015b600283106102e05760010192915050565b60006f80000000000000000000000000000000608083901c111561218c57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff000000000000000000000000000000000000000000000000000000000000036121dd57506000919050565b617fff60f083901c8116908190036121f6575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361221d576001915061222f565b6e010000000000000000000000000000175b8060000361226057507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff85106122a35750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00184016122ed565b600192506e01000000000000000000000000000084106122d05784613ffe039050600f84901b93506122ed565b60006122db85612097565b607f8190039590951b9461406d039150505b836f800000000000000000000000000000000361232f57821561230e576001015b600061231982612097565b60700390508082901b91508083039250506123a6565b60008361233d576000612340565b60015b60ff1690505b6e0100000000000000000000000000008210156123a45793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b9082180190612346565b505b806dffffffffffffffffffffffffffff16607083901b846123c85760006123da565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff16908214801561244157508015155b1561247057507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d8211156124b157826124a5577f7fff0000000000000000000000000000000000000000000000000000000000006124a8565b60005b95945050505050565b613f7f8210156124e557507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b816000036124f65760019150612508565b6e010000000000000000000000000000175b613fef82111561253b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b61254d565b613fef82101561254d57613fef8290031c5b82801561256b575071406e0000000000000000000000000000000081115b1561257b57506000949350505050565b8215801561259a5750713fffffffffffffffffffffffffffffffffff81115b156125c957507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c8380156125ec57508115155b156125f8579019906001015b6f80000000000000000000000000000000828116156126285770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f40000000000000000000000000000000831615612657577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f20000000000000000000000000000000831615612686577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f100000000000000000000000000000008316156126b55770010b5586cf9890f6298b92b71842a983630260801c5b6f080000000000000000000000000000008316156126e4577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561271357700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156127425770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f0100000000000000000000000000000083161561277157700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e80000000000000000000000000000083161561279f5770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e4000000000000000000000000000008316156127cd577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e2000000000000000000000000000008316156127fb57700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615612829577001000b175effdc76ba38e31671ca9397250260801c5b6e08000000000000000000000000000083161561285757700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156128855770010002c5cc37da9491d0985c348c68e7b30260801c5b6e0200000000000000000000000000008316156128b3577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156128e15770010000b17255775c040618bf4a4ade83fc0260801c5b6d800000000000000000000000000083161561290e577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d400000000000000000000000000083161561293b57700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156129685770010000162e43f4f831060e02d839a9d16d0260801c5b6d100000000000000000000000000083161561299557700100000b1721bcfc99d9f890ea069117630260801c5b6d08000000000000000000000000008316156129c25770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d04000000000000000000000000008316156129ef577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d0200000000000000000000000000831615612a1c57700100000162e430e5a18f6119e3c02282a50260801c5b6d0100000000000000000000000000831615612a49577001000000b1721835514b86e6d96efd1bfe0260801c5b6c80000000000000000000000000831615612a7557700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c40000000000000000000000000831615612aa15770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615612acd577001000000162e42fff037df38aa2b219f060260801c5b6c10000000000000000000000000831615612af95770010000000b17217fba9c739aa5819f44f90260801c5b6c08000000000000000000000000831615612b25577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c04000000000000000000000000831615612b5157700100000002c5c85fe31f35a6a30da1be500260801c5b6c02000000000000000000000000831615612b7d5770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615612ba957700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615612bd45770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615612bff577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615612c2a57700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615612c55577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615612c8057700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615612cab5770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615612cd6577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615612d015770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615612d2b577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615612d5557700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615612d7f5770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615612da957700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615612dd35770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615612dfd577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615612e2757700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615612e51577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615612e7a57700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615612ea35770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615612ecc577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615612ef55770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615612f1e577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615612f4757700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615612f705770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615612f9957700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615612fc15770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615612fe9577001000000000000002c5c85fdf473de6eca0260801c5b6820000000000000000083161561301157700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615613039577001000000000000000b17217f7d1cf79afa0260801c5b6808000000000000000083161561306157700100000000000000058b90bfbe8e7bcd6d0260801c5b680400000000000000008316156130895770010000000000000002c5c85fdf473de6b20260801c5b680200000000000000008316156130b1577001000000000000000162e42fefa39ef3580260801c5b680100000000000000008316156130d95770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615613100577001000000000000000058b90bfbe8e7bcd50260801c5b67400000000000000083161561312757700100000000000000002c5c85fdf473de6a0260801c5b67200000000000000083161561314e5770010000000000000000162e42fefa39ef340260801c5b67100000000000000083161561317557700100000000000000000b17217f7d1cf7990260801c5b67080000000000000083161561319c5770010000000000000000058b90bfbe8e7bcc0260801c5b6704000000000000008316156131c3577001000000000000000002c5c85fdf473de50260801c5b6702000000000000008316156131ea57700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615613211577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561323757700100000000000000000058b90bfbe8e7bb0260801c5b664000000000000083161561325d5770010000000000000000002c5c85fdf473dd0260801c5b6620000000000000831615613283577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156132a95770010000000000000000000b17217f7d1cf60260801c5b66080000000000008316156132cf577001000000000000000000058b90bfbe8e7a0260801c5b66040000000000008316156132f557700100000000000000000002c5c85fdf473c0260801c5b660200000000000083161561331b5770010000000000000000000162e42fefa39d0260801c5b660100000000000083161561334157700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156133665770010000000000000000000058b90bfbe8e60260801c5b6540000000000083161561338b577001000000000000000000002c5c85fdf4720260801c5b652000000000008316156133b057700100000000000000000000162e42fefa380260801c5b651000000000008316156133d5577001000000000000000000000b17217f7d1b0260801c5b650800000000008316156133fa57700100000000000000000000058b90bfbe8d0260801c5b6504000000000083161561341f5770010000000000000000000002c5c85fdf460260801c5b65020000000000831615613444577001000000000000000000000162e42fefa20260801c5b650100000000008316156134695770010000000000000000000000b17217f7d00260801c5b64800000000083161561348d577001000000000000000000000058b90bfbe70260801c5b6440000000008316156134b157700100000000000000000000002c5c85fdf30260801c5b6420000000008316156134d55770010000000000000000000000162e42fef90260801c5b6410000000008316156134f957700100000000000000000000000b17217f7c0260801c5b64080000000083161561351d5770010000000000000000000000058b90bfbd0260801c5b640400000000831615613541577001000000000000000000000002c5c85fde0260801c5b64020000000083161561356557700100000000000000000000000162e42fee0260801c5b640100000000831615613589577001000000000000000000000000b17217f60260801c5b63800000008316156135ac57700100000000000000000000000058b90bfa0260801c5b63400000008316156135cf5770010000000000000000000000002c5c85fc0260801c5b63200000008316156135f2577001000000000000000000000000162e42fd0260801c5b63100000008316156136155770010000000000000000000000000b17217e0260801c5b6308000000831615613638577001000000000000000000000000058b90be0260801c5b630400000083161561365b57700100000000000000000000000002c5c85e0260801c5b630200000083161561367e5770010000000000000000000000000162e42e0260801c5b63010000008316156136a157700100000000000000000000000000b172160260801c5b628000008316156136c35770010000000000000000000000000058b90a0260801c5b624000008316156136e5577001000000000000000000000000002c5c840260801c5b6220000083161561370757700100000000000000000000000000162e410260801c5b62100000831615613729577001000000000000000000000000000b17200260801c5b6208000083161561374b57700100000000000000000000000000058b8f0260801c5b6204000083161561376d5770010000000000000000000000000002c5c70260801c5b6202000083161561378f577001000000000000000000000000000162e30260801c5b620100008316156137b15770010000000000000000000000000000b1710260801c5b6180008316156137d2577001000000000000000000000000000058b80260801c5b6140008316156137f357700100000000000000000000000000002c5b0260801c5b6120008316156138145770010000000000000000000000000000162d0260801c5b61100083161561383557700100000000000000000000000000000b160260801c5b6108008316156138565770010000000000000000000000000000058a0260801c5b610400831615613877577001000000000000000000000000000002c40260801c5b610200831615613898577001000000000000000000000000000001610260801c5b6101008316156138b9577001000000000000000000000000000000b00260801c5b60808316156138d9577001000000000000000000000000000000570260801c5b60408316156138f95770010000000000000000000000000000002b0260801c5b6020831615613919577001000000000000000000000000000000150260801c5b60108316156139395770010000000000000000000000000000000a0260801c5b6008831615613959577001000000000000000000000000000000040260801c5b6004831615613979577001000000000000000000000000000000010260801c5b846139a157600f81901c6dffffffffffffffffffffffffffff169050613fff820191506139f4565b613ffe82116139cd57600f81901c6dffffffffffffffffffffffffffff16905081613fff0391506139f4565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000617fff60f084811c8216919084901c811690829003613a6b5780617fff03613a61577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611c235784925050506102e0565b84925050506102e0565b80617fff03613a7e5783925050506102e0565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003613abb5760019350613acd565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003613b0a5760019450613b1c565b6e010000000000000000000000000000175b82600003613b83577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014613b735787613b76565b60005b96505050505050506102e0565b80600003613bda577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014613b735788613b76565b84860382151585151503613d66576070811315613c0057899750505050505050506102e0565b6000811315613c125790811c90613c5f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613c4957889750505050505050506102e0565b6000811215613c5f578060000384901c93508596505b928101926e0200000000000000000000000000008410613c85576001968701969390931c925b86617fff03613ce95784613cb9577f7fff000000000000000000000000000000000000000000000000000000000000613cdb565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e0565b6e010000000000000000000000000000841015613d095760009650613d1d565b6dffffffffffffffffffffffffffff841693505b83607088901b86613d2f576000613d41565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e0565b6000811315613d8157600184901b9350600187039650613d98565b6000811215613d9857600182901b91506001860396505b6070811315613daa5760019150613e33565b6001811315613dc7576001810360018303901c6001019150613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613df85760019350613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613e33576001816000030360018503901c60010193505b818410613e44578184039350613e4d565b83820393508294505b83600003613e665750600096506102e095505050505050565b6000613e7185612097565b905080607103613e9d57600185901c6dffffffffffffffffffffffffffff169450600188019750613f18565b6070811015613f0457607081900380891115613ed3578086901b6dffffffffffffffffffffffffffff1695508089039850613efe565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613f18565b6dffffffffffffffffffffffffffff851694505b87617fff03613f7d5785613f4c577f7fff000000000000000000000000000000000000000000000000000000000000613f6e565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e0565b84607089901b87613f8f576000613fa1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e0565b60008060408385031215613fda57600080fd5b50508035926020909101359150565b600060208284031215613ffb57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461166c57600080fd5b60008083601f84011261403857600080fd5b50813567ffffffffffffffff81111561405057600080fd5b6020830191508360208260051b850101111561406b57600080fd5b9250929050565b60008083601f84011261408457600080fd5b50813567ffffffffffffffff81111561409c57600080fd5b60208301915083602082850101111561406b57600080fd5b60008060008060008060008060a0898b0312156140d057600080fd5b6140d989614002565b97506140e760208a01614002565b9650604089013567ffffffffffffffff8082111561410457600080fd5b6141108c838d01614026565b909850965060608b013591508082111561412957600080fd5b6141358c838d01614026565b909650945060808b013591508082111561414e57600080fd5b5061415b8b828c01614072565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561418857600080fd5b61419187614002565b955061419f60208801614002565b94506040870135935060608701359250608087013567ffffffffffffffff8111156141c957600080fd5b6141d589828a01614072565b979a9699509497509295939492505050565b6000602082840312156141f957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e0576102e0614200565b818103818111156102e0576102e0614200565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212205f124268e9e329646ea19da121a5a8b41021da9ec891c61015f8c215f507bc3c64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b506142e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063b5a3ff8711610097578063d2bdc9e011610066578063d2bdc9e014610204578063d3918c1d14610217578063efa0982f1461021f578063f23a6e611461023257600080fd5b8063b5a3ff8714610189578063b6170dcc1461019c578063bc197c81146101a4578063be5c6872146101f157600080fd5b80635469bff1116100d35780635469bff11461013d578063585765081461015057806371fc117114610163578063a35e50bc1461017657600080fd5b80630d65f47f146100fa5780632565aa42146101205780634e7c028d1461012a575b600080fd5b61010d610108366004613fc7565b610245565b6040519081526020015b60405180910390f35b6101286102e6565b005b610128610138366004613fe9565b610344565b61010d61014b366004613fc7565b61040b565b61010d61015e366004613fe9565b610466565b610128610171366004613fe9565b610471565b61010d610184366004613fe9565b610530565b61010d610197366004613fc7565b61053b565b61010d610596565b6101c06101b23660046140b4565b600098975050505050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610117565b61010d6101ff366004613fe9565b6105a5565b61010d610212366004613fe9565b6105b0565b61010d6105bb565b61010d61022d366004613fe9565b6105c5565b6101c061024036600461416f565b610655565b6040517f0d65f47f0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90630d65f47f906044015b602060405180830381865af41580156102b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102dd91906141e7565b90505b92915050565b735d00797f4d5a2eed04d75a8d3cff1721e859b35d632565aa426040518163ffffffff1660e01b815260040160006040518083038186803b15801561032a57600080fd5b505af415801561033e573d6000803e3d6000fd5b50505050565b61036e7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b6103ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61040881610695565b50565b6040517f5469bff10000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d90635469bff19060440161029c565b60006102e0826106eb565b61049b7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b33610672565b610527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f43616c6c6572206973206e6f74206120437265646974204e4654206d616e616760448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b610408816109a9565b60006102e0826109ff565b6040517fb5a3ff870000000000000000000000000000000000000000000000000000000081526004810183905260248101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063b5a3ff879060440161029c565b60006105a0610cc2565b905090565b60006102e082610cd5565b60006102e082610ce3565b60006105a0610cee565b6040517fefa0982f00000000000000000000000000000000000000000000000000000000815260048101829052600090735d00797f4d5a2eed04d75a8d3cff1721e859b35d9063efa0982f90602401602060405180830381865af4158015610631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e091906141e7565b6000610665878787878787610d01565b90505b9695505050505050565b60006102dd82610680610d61565b60008681526020919091526040902090610d8f565b7f495d4b828a3c7e7928af095e028963932f9b19f26d4ff33cc8e066e7b350fa1b816106bf610dbe565b600301546040805192835260208301919091520160405180910390a1806106e4610dbe565b6003015550565b6000806106f6610dec565b9050670de0b6b3a7640000811061078e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f656469740000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691829163f7ffe84a91600480820192879290919082900301818387803b1580156107fc57600080fd5b505af1158015610810573d6000803e3d6000fd5b5050505061081c610dbe565b6004015460ff1661086c576000610831610dbe565b6004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155439082015560009055505b60006108838661087a610dbe565b60010154610e11565b60018401546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810189905291925073ffffffffffffffffffffffffffffffffffffffff16906379cc679090604401600060405180830381600087803b1580156108f857600080fd5b505af115801561090c573d6000803e3d6000fd5b50505050600e8301546040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169081906340c10f1990604401600060405180830381600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b50939998505050505050505050565b7f628c688556988d19256692ff656a1966f574832b813a2d20382b5cf38f839b5e816109d3610dbe565b600201546040805192835260208301919091520160405180910390a1806109f8610dbe565b6002015550565b600080610a0a610dec565b9050670de0b6b3a76400008110610aa3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5072696365206d7573742062652062656c6f77203120746f206d696e7420437260448201527f65646974204e465400000000000000000000000000000000000000000000000060648201526084016103f6565b600254604080517ff7ffe84a000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff90921691829163f7ffe84a91600480830192600092919082900301818387803b158015610b1057600080fd5b505af1158015610b24573d6000803e3d6000fd5b505050506000610b32610dbe565b600481015490915060ff16610b7b576004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091554390820155600081555b6000610b86866110ee565b90506000600101546040517f79cc67900000000000000000000000000000000000000000000000000000000081523360048201526024810188905273ffffffffffffffffffffffffffffffffffffffff909116906379cc679090604401600060405180830381600087803b158015610bfd57600080fd5b505af1158015610c11573d6000803e3d6000fd5b505050506000826002015443610c27919061422f565b6040517f91623d49000000000000000000000000000000000000000000000000000000008152336004820152602481018490526044810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906391623d4990606401600060405180830381600087803b158015610c9f57600080fd5b505af1158015610cb3573d6000803e3d6000fd5b50929998505050505050505050565b6000610ccc610dbe565b60020154905090565b60006102e08261087a610dbe565b60006102e0826110ee565b6000610cf8610dbe565b60030154905090565b6000610d2d7f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b88610672565b15610d5957507ff23a6e612e1ff4830e658fe43f4e3cb4a5f8170bd5d9e69fb5d7a7fa9e4fdf97610668565b506000610668565b6000806102e060017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77614242565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415156102dd565b6000806102e060017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297614242565b60006105a0816001015473ffffffffffffffffffffffffffffffffffffffff1661148d565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa158015610e90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb491906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2391906141e7565b10610f8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f484947480060448201526064016103f6565b6000610fd9610fa0670de0b6b3a76400006115fe565b610fb1610fab611671565b546115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061169f565b90506000610fe6436115fe565b90506000610ff782610fb18a6115fe565b9050600061107c61105561102c7fffffffffffffffffffffffffffffffff000000000000000000000000000000008516611b20565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000871690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f48565b905060006110df6110b8836110908e6115fe565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611b50565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016611f7c565b9b9a5050505050505050505050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119191906141e7565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120091906141e7565b1061128d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f474800000000000000000000000000000000000000000000000000000000000060648201526084016103f6565b600061129960016115fe565b905060006113148373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130f91906141e7565b6115fe565b905060006113b661138d8760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112eb573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061169f565b905060006114156113e97fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168461203b565b6110907fffffffffffffffffffffffffffffffff0000000000000000000000000000000087168561203b565b905060006114457fffffffffffffffffffffffffffffffff0000000000000000000000000000000086168361169f565b905061147f6110b86114568c6115fe565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690611b50565b9a9950505050505050505050565b600080611498612069565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b815481526020019060010190808311611501575050505050815250509050611527600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361155757806040015191506115f8565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146115f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016103f6565b806060015191505b50919050565b60008160000361161057506000919050565b81600061161c82612097565b90506070811015611635578060700382901b9150611648565b6070811115611648576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b6000806102e060017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665614242565b6000617fff60f084811c8216919084901c81169082900361171b5780617fff036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b80617fff036117a2577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561177557507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166102e0565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611870577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361182157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176102e0565b6dffffffffffffffffffffffffffff608085901c16600082900361189757600191506118a9565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361191157801561190c5760006118d882612097565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611926565b6e0100000000000000000000000000001760721b5b81818161193557611935614255565b0490508060000361199d577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506102e0565b6d10000000000000000000000000008110156119bb576119bb614284565b60006e080000000000000000000000000000821015611a1b576e040000000000000000000000000000821015611a10576e020000000000000000000000000000821015611a09576070611a13565b6071611a13565b60725b60ff16611a24565b611a2482612097565b905083614071018186011115611a4257617fff945060009150611adc565b83818601613ffc011015611a5d576000945060009150611adc565b83818601613f8c011015611aaa578385613ffc011115611a88578385613ffc010382901b9150611aa1565b8385613ffc011015611aa157613ffc8585030382901c91505b60009450611adc565b6070811115611abd576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611b2e83612147565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003611ca35780617fff03611c4e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611bcd575050507f8000000000000000000000000000000000000000000000000000000000000000811682186102e0565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003611c23575050508181176102e0565b507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036116ee57507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b80617fff03611d2e577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611d0157507f7fff80000000000000000000000000000000000000000000000000000000000091506102e09050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186102e0565b6dffffffffffffffffffffffffffff608086901c166000839003611d555760019250611d67565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611d8e5760019250611da0565b6e010000000000000000000000000000175b808202915081600003611ddd577f800000000000000000000000000000000000000000000000000000000000000087871816611970576000611992565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611e42577c0100000000000000000000000000000000000000000000000000000000831015611e3b57611e3683612097565b611e45565b60e0611e45565b60e15b90506140708186011015611e60576000945060009250611f04565b6140e08186011015611ea357614070851015611e8557846140700383901c9250611e9a565b614070851115611e9a57614070850383901b92505b60009450611f04565b61c0dd8186011115611ebd57617fff945060009250611f04565b6070811115611ed4576070810383901c9250611ee7565b6070811015611ee7578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506102e0565b60006102e0611f77837f3fff71547652b82fe1777d0ffda0d23a00000000000000000000000000000000611b50565b6123fc565b6000617fff60f083901c16613fff811015611f9a5750600092915050565b6f80000000000000000000000000000000608084901c10611fba57600080fd5b6140fe811115611fc957600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156120055761406f8290031c612034565b61406f821115612034577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60006102dd837f80000000000000000000000000000000000000000000000000000000000000008418613a07565b6000806102e060017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628614242565b60008082116120a557600080fd5b600070010000000000000000000000000000000083106120c757608092831c92015b6801000000000000000083106120df57604092831c92015b64010000000083106120f357602092831c92015b62010000831061210557601092831c92015b610100831061211657600892831c92015b6010831061212657600492831c92015b6004831061213657600292831c92015b600283106102e05760010192915050565b60006f80000000000000000000000000000000608083901c111561218c57507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff000000000000000000000000000000000000000000000000000000000000036121dd57506000919050565b617fff60f083901c8116908190036121f6575090919050565b6dffffffffffffffffffffffffffff608084901c16600082900361221d576001915061222f565b6e010000000000000000000000000000175b8060000361226057507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff85106122a35750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00184016122ed565b600192506e01000000000000000000000000000084106122d05784613ffe039050600f84901b93506122ed565b60006122db85612097565b607f8190039590951b9461406d039150505b836f800000000000000000000000000000000361232f57821561230e576001015b600061231982612097565b60700390508082901b91508083039250506123a6565b60008361233d576000612340565b60015b60ff1690505b6e0100000000000000000000000000008210156123a45793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b9082180190612346565b505b806dffffffffffffffffffffffffffff16607083901b846123c85760006123da565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff16908214801561244157508015155b1561247057507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d8211156124b157826124a5577f7fff0000000000000000000000000000000000000000000000000000000000006124a8565b60005b95945050505050565b613f7f8210156124e557507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b816000036124f65760019150612508565b6e010000000000000000000000000000175b613fef82111561253b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b61254d565b613fef82101561254d57613fef8290031c5b82801561256b575071406e0000000000000000000000000000000081115b1561257b57506000949350505050565b8215801561259a5750713fffffffffffffffffffffffffffffffffff81115b156125c957507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c8380156125ec57508115155b156125f8579019906001015b6f80000000000000000000000000000000828116156126285770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f40000000000000000000000000000000831615612657577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f20000000000000000000000000000000831615612686577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f100000000000000000000000000000008316156126b55770010b5586cf9890f6298b92b71842a983630260801c5b6f080000000000000000000000000000008316156126e4577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561271357700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156127425770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f0100000000000000000000000000000083161561277157700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e80000000000000000000000000000083161561279f5770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e4000000000000000000000000000008316156127cd577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e2000000000000000000000000000008316156127fb57700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615612829577001000b175effdc76ba38e31671ca9397250260801c5b6e08000000000000000000000000000083161561285757700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156128855770010002c5cc37da9491d0985c348c68e7b30260801c5b6e0200000000000000000000000000008316156128b3577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156128e15770010000b17255775c040618bf4a4ade83fc0260801c5b6d800000000000000000000000000083161561290e577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d400000000000000000000000000083161561293b57700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156129685770010000162e43f4f831060e02d839a9d16d0260801c5b6d100000000000000000000000000083161561299557700100000b1721bcfc99d9f890ea069117630260801c5b6d08000000000000000000000000008316156129c25770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d04000000000000000000000000008316156129ef577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d0200000000000000000000000000831615612a1c57700100000162e430e5a18f6119e3c02282a50260801c5b6d0100000000000000000000000000831615612a49577001000000b1721835514b86e6d96efd1bfe0260801c5b6c80000000000000000000000000831615612a7557700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c40000000000000000000000000831615612aa15770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615612acd577001000000162e42fff037df38aa2b219f060260801c5b6c10000000000000000000000000831615612af95770010000000b17217fba9c739aa5819f44f90260801c5b6c08000000000000000000000000831615612b25577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c04000000000000000000000000831615612b5157700100000002c5c85fe31f35a6a30da1be500260801c5b6c02000000000000000000000000831615612b7d5770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615612ba957700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615612bd45770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615612bff577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615612c2a57700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615612c55577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615612c8057700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615612cab5770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615612cd6577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615612d015770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615612d2b577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615612d5557700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615612d7f5770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615612da957700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615612dd35770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615612dfd577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615612e2757700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615612e51577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615612e7a57700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615612ea35770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615612ecc577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615612ef55770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615612f1e577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615612f4757700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615612f705770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615612f9957700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615612fc15770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615612fe9577001000000000000002c5c85fdf473de6eca0260801c5b6820000000000000000083161561301157700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615613039577001000000000000000b17217f7d1cf79afa0260801c5b6808000000000000000083161561306157700100000000000000058b90bfbe8e7bcd6d0260801c5b680400000000000000008316156130895770010000000000000002c5c85fdf473de6b20260801c5b680200000000000000008316156130b1577001000000000000000162e42fefa39ef3580260801c5b680100000000000000008316156130d95770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615613100577001000000000000000058b90bfbe8e7bcd50260801c5b67400000000000000083161561312757700100000000000000002c5c85fdf473de6a0260801c5b67200000000000000083161561314e5770010000000000000000162e42fefa39ef340260801c5b67100000000000000083161561317557700100000000000000000b17217f7d1cf7990260801c5b67080000000000000083161561319c5770010000000000000000058b90bfbe8e7bcc0260801c5b6704000000000000008316156131c3577001000000000000000002c5c85fdf473de50260801c5b6702000000000000008316156131ea57700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615613211577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561323757700100000000000000000058b90bfbe8e7bb0260801c5b664000000000000083161561325d5770010000000000000000002c5c85fdf473dd0260801c5b6620000000000000831615613283577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156132a95770010000000000000000000b17217f7d1cf60260801c5b66080000000000008316156132cf577001000000000000000000058b90bfbe8e7a0260801c5b66040000000000008316156132f557700100000000000000000002c5c85fdf473c0260801c5b660200000000000083161561331b5770010000000000000000000162e42fefa39d0260801c5b660100000000000083161561334157700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156133665770010000000000000000000058b90bfbe8e60260801c5b6540000000000083161561338b577001000000000000000000002c5c85fdf4720260801c5b652000000000008316156133b057700100000000000000000000162e42fefa380260801c5b651000000000008316156133d5577001000000000000000000000b17217f7d1b0260801c5b650800000000008316156133fa57700100000000000000000000058b90bfbe8d0260801c5b6504000000000083161561341f5770010000000000000000000002c5c85fdf460260801c5b65020000000000831615613444577001000000000000000000000162e42fefa20260801c5b650100000000008316156134695770010000000000000000000000b17217f7d00260801c5b64800000000083161561348d577001000000000000000000000058b90bfbe70260801c5b6440000000008316156134b157700100000000000000000000002c5c85fdf30260801c5b6420000000008316156134d55770010000000000000000000000162e42fef90260801c5b6410000000008316156134f957700100000000000000000000000b17217f7c0260801c5b64080000000083161561351d5770010000000000000000000000058b90bfbd0260801c5b640400000000831615613541577001000000000000000000000002c5c85fde0260801c5b64020000000083161561356557700100000000000000000000000162e42fee0260801c5b640100000000831615613589577001000000000000000000000000b17217f60260801c5b63800000008316156135ac57700100000000000000000000000058b90bfa0260801c5b63400000008316156135cf5770010000000000000000000000002c5c85fc0260801c5b63200000008316156135f2577001000000000000000000000000162e42fd0260801c5b63100000008316156136155770010000000000000000000000000b17217e0260801c5b6308000000831615613638577001000000000000000000000000058b90be0260801c5b630400000083161561365b57700100000000000000000000000002c5c85e0260801c5b630200000083161561367e5770010000000000000000000000000162e42e0260801c5b63010000008316156136a157700100000000000000000000000000b172160260801c5b628000008316156136c35770010000000000000000000000000058b90a0260801c5b624000008316156136e5577001000000000000000000000000002c5c840260801c5b6220000083161561370757700100000000000000000000000000162e410260801c5b62100000831615613729577001000000000000000000000000000b17200260801c5b6208000083161561374b57700100000000000000000000000000058b8f0260801c5b6204000083161561376d5770010000000000000000000000000002c5c70260801c5b6202000083161561378f577001000000000000000000000000000162e30260801c5b620100008316156137b15770010000000000000000000000000000b1710260801c5b6180008316156137d2577001000000000000000000000000000058b80260801c5b6140008316156137f357700100000000000000000000000000002c5b0260801c5b6120008316156138145770010000000000000000000000000000162d0260801c5b61100083161561383557700100000000000000000000000000000b160260801c5b6108008316156138565770010000000000000000000000000000058a0260801c5b610400831615613877577001000000000000000000000000000002c40260801c5b610200831615613898577001000000000000000000000000000001610260801c5b6101008316156138b9577001000000000000000000000000000000b00260801c5b60808316156138d9577001000000000000000000000000000000570260801c5b60408316156138f95770010000000000000000000000000000002b0260801c5b6020831615613919577001000000000000000000000000000000150260801c5b60108316156139395770010000000000000000000000000000000a0260801c5b6008831615613959577001000000000000000000000000000000040260801c5b6004831615613979577001000000000000000000000000000000010260801c5b846139a157600f81901c6dffffffffffffffffffffffffffff169050613fff820191506139f4565b613ffe82116139cd57600f81901c6dffffffffffffffffffffffffffff16905081613fff0391506139f4565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000617fff60f084811c8216919084901c811690829003613a6b5780617fff03613a61577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603611c235784925050506102e0565b84925050506102e0565b80617fff03613a7e5783925050506102e0565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003613abb5760019350613acd565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003613b0a5760019450613b1c565b6e010000000000000000000000000000175b82600003613b83577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014613b735787613b76565b60005b96505050505050506102e0565b80600003613bda577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014613b735788613b76565b84860382151585151503613d66576070811315613c0057899750505050505050506102e0565b6000811315613c125790811c90613c5f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613c4957889750505050505050506102e0565b6000811215613c5f578060000384901c93508596505b928101926e0200000000000000000000000000008410613c85576001968701969390931c925b86617fff03613ce95784613cb9577f7fff000000000000000000000000000000000000000000000000000000000000613cdb565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506102e0565b6e010000000000000000000000000000841015613d095760009650613d1d565b6dffffffffffffffffffffffffffff841693505b83607088901b86613d2f576000613d41565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506102e0565b6000811315613d8157600184901b9350600187039650613d98565b6000811215613d9857600182901b91506001860396505b6070811315613daa5760019150613e33565b6001811315613dc7576001810360018303901c6001019150613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90811215613df85760019350613e33565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811215613e33576001816000030360018503901c60010193505b818410613e44578184039350613e4d565b83820393508294505b83600003613e665750600096506102e095505050505050565b6000613e7185612097565b905080607103613e9d57600185901c6dffffffffffffffffffffffffffff169450600188019750613f18565b6070811015613f0457607081900380891115613ed3578086901b6dffffffffffffffffffffffffffff1695508089039850613efe565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50613f18565b6dffffffffffffffffffffffffffff851694505b87617fff03613f7d5785613f4c577f7fff000000000000000000000000000000000000000000000000000000000000613f6e565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506102e0565b84607089901b87613f8f576000613fa1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506102e0565b60008060408385031215613fda57600080fd5b50508035926020909101359150565b600060208284031215613ffb57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461166c57600080fd5b60008083601f84011261403857600080fd5b50813567ffffffffffffffff81111561405057600080fd5b6020830191508360208260051b850101111561406b57600080fd5b9250929050565b60008083601f84011261408457600080fd5b50813567ffffffffffffffff81111561409c57600080fd5b60208301915083602082850101111561406b57600080fd5b60008060008060008060008060a0898b0312156140d057600080fd5b6140d989614002565b97506140e760208a01614002565b9650604089013567ffffffffffffffff8082111561410457600080fd5b6141108c838d01614026565b909850965060608b013591508082111561412957600080fd5b6141358c838d01614026565b909650945060808b013591508082111561414e57600080fd5b5061415b8b828c01614072565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561418857600080fd5b61419187614002565b955061419f60208801614002565b94506040870135935060608701359250608087013567ffffffffffffffff8111156141c957600080fd5b6141d589828a01614072565b979a9699509497509295939492505050565b6000602082840312156141f957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156102e0576102e0614200565b818103818111156102e0576102e0614200565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220e8bcfcf0560d6e6b4c6392d21dd7dfb52a1bbc7809c991d2d93e41a56a3fb58764736f6c63430008130033", "nonce": "0xb", "accessList": [] }, @@ -228,7 +228,7 @@ "isFixedGasLimit": false }, { - "hash": "0xd0cc06edd0ff7a18b21490c573c2ec2c8520e5d4a1e47ed5f18149a7a5797c7b", + "hash": "0xdd96f5df7319b75a0b0df1093ff5f64f65796578328c0269f6804b3cc8950b60", "transactionType": "CREATE", "contractName": "CreditNftRedemptionCalculatorFacet", "contractAddress": "0x82aCf7DE62Ab6B0C240873339C19461A34260794", @@ -239,7 +239,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x182ffd", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50611568806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c4b4a9ff14610030575b600080fd5b61004361003e3660046114a2565b610055565b60405190815260200160405180910390f35b600061006082610066565b92915050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156100e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010991906114bb565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610154573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017891906114bb565b10610209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f4748000000000000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b60006102156001610458565b905060006102908373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028b91906114bb565b610458565b905060006103326103098760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906104c6565b905060006103b96103657fffffffffffffffffffffffffffffffff00000000000000000000000000000000861684610947565b6103917fffffffffffffffffffffffffffffffff00000000000000000000000000000000871685610947565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061097c565b905060006103e97fffffffffffffffffffffffffffffffff000000000000000000000000000000008616836104c6565b905061044a6104236103fa8c610458565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061097c565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610d74565b9a9950505050505050505050565b60008160000361046a57506000919050565b81600061047682610e32565b9050607081101561048f578060700382901b91506104a2565b60708111156104a2576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036105425780617fff0361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b80617fff036105c9577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561059c57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610060565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610697577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361064857507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610060565b6dffffffffffffffffffffffffffff608085901c1660008290036106be57600191506106d0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036107385780156107335760006106ff82610e32565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61074d565b6e0100000000000000000000000000001760721b5b81818161075c5761075c6114d4565b049050806000036107c4577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610060565b6d10000000000000000000000000008110156107e2576107e2611503565b60006e080000000000000000000000000000821015610842576e040000000000000000000000000000821015610837576e02000000000000000000000000000082101561083057607061083a565b607161083a565b60725b60ff1661084b565b61084b82610e32565b90508361407101818601111561086957617fff945060009150610903565b83818601613ffc011015610884576000945060009150610903565b83818601613f8c0110156108d1578385613ffc0111156108af578385613ffc010382901b91506108c8565b8385613ffc0110156108c857613ffc8585030382901c91505b60009450610903565b60708111156108e4576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000610975837f80000000000000000000000000000000000000000000000000000000000000008418610ee2565b9392505050565b6000617fff60f084811c8216919084901c811690829003610acf5780617fff03610a7a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036109f9575050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a4f57505050818117610060565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b80617fff03610b5a577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b2d57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610060565b6dffffffffffffffffffffffffffff608086901c166000839003610b815760019250610b93565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bba5760019250610bcc565b6e010000000000000000000000000000175b808202915081600003610c09577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610c6e577c0100000000000000000000000000000000000000000000000000000000831015610c6757610c6283610e32565b610c71565b60e0610c71565b60e15b90506140708186011015610c8c576000945060009250610d30565b6140e08186011015610ccf57614070851015610cb157846140700383901c9250610cc6565b614070851115610cc657614070850383901b92505b60009450610d30565b61c0dd8186011115610ce957617fff945060009250610d30565b6070811115610d00576070810383901c9250610d13565b6070811015610d13578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000617fff60f083901c16613fff811015610d925750600092915050565b6f80000000000000000000000000000000608084901c10610db257600080fd5b6140fe811115610dc157600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610dfd5761406f8290031c610975565b61406f821115610975577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b6000808211610e4057600080fd5b60007001000000000000000000000000000000008310610e6257608092831c92015b680100000000000000008310610e7a57604092831c92015b6401000000008310610e8e57602092831c92015b620100008310610ea057601092831c92015b6101008310610eb157600892831c92015b60108310610ec157600492831c92015b60048310610ed157600292831c92015b600283106100605760010192915050565b6000617fff60f084811c8216919084901c811690829003610f465780617fff03610f3c577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a4f578492505050610060565b8492505050610060565b80617fff03610f59578392505050610060565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f965760019350610fa8565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610fe55760019450610ff7565b6e010000000000000000000000000000175b8260000361105e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f80000000000000000000000000000000000000000000000000000000000000001461104e5787611051565b60005b9650505050505050610060565b806000036110b5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f80000000000000000000000000000000000000000000000000000000000000001461104e5788611051565b848603821515851515036112415760708113156110db5789975050505050505050610060565b60008113156110ed5790811c9061113a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156111245788975050505050505050610060565b600081121561113a578060000384901c93508596505b928101926e0200000000000000000000000000008410611160576001968701969390931c925b86617fff036111c45784611194577f7fff0000000000000000000000000000000000000000000000000000000000006111b6565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610060565b6e0100000000000000000000000000008410156111e457600096506111f8565b6dffffffffffffffffffffffffffff841693505b83607088901b8661120a57600061121c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610060565b600081131561125c57600184901b9350600187039650611273565b600081121561127357600182901b91506001860396505b6070811315611285576001915061130e565b60018113156112a2576001810360018303901c600101915061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156112d3576001935061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81121561130e576001816000030360018503901c60010193505b81841061131f578184039350611328565b83820393508294505b8360000361134157506000965061006095505050505050565b600061134c85610e32565b90508060710361137857600185901c6dffffffffffffffffffffffffffff1694506001880197506113f3565b60708110156113df576070819003808911156113ae578086901b6dffffffffffffffffffffffffffff16955080890398506113d9565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b506113f3565b6dffffffffffffffffffffffffffff851694505b87617fff036114585785611427577f7fff000000000000000000000000000000000000000000000000000000000000611449565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610060565b84607089901b8761146a57600061147c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610060565b6000602082840312156114b457600080fd5b5035919050565b6000602082840312156114cd57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220641fc71030afc3be4f700c188484220ebe658421bea0f5052af5ae659f34bf2b64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50611568806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c4b4a9ff14610030575b600080fd5b61004361003e3660046114a2565b610055565b60405190815260200160405180910390f35b600061006082610066565b92915050565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156100e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010991906114bb565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610154573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017891906114bb565b10610209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4372656469744e667420746f20446f6c6c61723a20444542545f544f4f5f484960448201527f4748000000000000000000000000000000000000000000000000000000000000606482015260840160405180910390fd5b60006102156001610458565b905060006102908373ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028b91906114bb565b610458565b905060006103326103098760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610267573d6000803e3d6000fd5b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008416906104c6565b905060006103b96103657fffffffffffffffffffffffffffffffff00000000000000000000000000000000861684610947565b6103917fffffffffffffffffffffffffffffffff00000000000000000000000000000000871685610947565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169061097c565b905060006103e97fffffffffffffffffffffffffffffffff000000000000000000000000000000008616836104c6565b905061044a6104236103fa8c610458565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061097c565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610d74565b9a9950505050505050505050565b60008160000361046a57506000919050565b81600061047682610e32565b9050607081101561048f578060700382901b91506104a2565b60708111156104a2576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036105425780617fff0361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b80617fff036105c9577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561059c57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610060565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610697577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361064857507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610060565b6dffffffffffffffffffffffffffff608085901c1660008290036106be57600191506106d0565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036107385780156107335760006106ff82610e32565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61074d565b6e0100000000000000000000000000001760721b5b81818161075c5761075c6114d4565b049050806000036107c4577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610060565b6d10000000000000000000000000008110156107e2576107e2611503565b60006e080000000000000000000000000000821015610842576e040000000000000000000000000000821015610837576e02000000000000000000000000000082101561083057607061083a565b607161083a565b60725b60ff1661084b565b61084b82610e32565b90508361407101818601111561086957617fff945060009150610903565b83818601613ffc011015610884576000945060009150610903565b83818601613f8c0110156108d1578385613ffc0111156108af578385613ffc010382901b91506108c8565b8385613ffc0110156108c857613ffc8585030382901c91505b60009450610903565b60708111156108e4576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000610975837f80000000000000000000000000000000000000000000000000000000000000008418610ee2565b9392505050565b6000617fff60f084811c8216919084901c811690829003610acf5780617fff03610a7a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036109f9575050507f800000000000000000000000000000000000000000000000000000000000000081168218610060565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a4f57505050818117610060565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361051557507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b80617fff03610b5a577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b2d57507f7fff80000000000000000000000000000000000000000000000000000000000091506100609050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610060565b6dffffffffffffffffffffffffffff608086901c166000839003610b815760019250610b93565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bba5760019250610bcc565b6e010000000000000000000000000000175b808202915081600003610c09577f8000000000000000000000000000000000000000000000000000000000000000878718166107975760006107b9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610c6e577c0100000000000000000000000000000000000000000000000000000000831015610c6757610c6283610e32565b610c71565b60e0610c71565b60e15b90506140708186011015610c8c576000945060009250610d30565b6140e08186011015610ccf57614070851015610cb157846140700383901c9250610cc6565b614070851115610cc657614070850383901b92505b60009450610d30565b61c0dd8186011115610ce957617fff945060009250610d30565b6070811115610d00576070810383901c9250610d13565b6070811015610d13578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610060565b6000617fff60f083901c16613fff811015610d925750600092915050565b6f80000000000000000000000000000000608084901c10610db257600080fd5b6140fe811115610dc157600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610dfd5761406f8290031c610975565b61406f821115610975577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b6000808211610e4057600080fd5b60007001000000000000000000000000000000008310610e6257608092831c92015b680100000000000000008310610e7a57604092831c92015b6401000000008310610e8e57602092831c92015b620100008310610ea057601092831c92015b6101008310610eb157600892831c92015b60108310610ec157600492831c92015b60048310610ed157600292831c92015b600283106100605760010192915050565b6000617fff60f084811c8216919084901c811690829003610f465780617fff03610f3c577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a4f578492505050610060565b8492505050610060565b80617fff03610f59578392505050610060565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f965760019350610fa8565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610fe55760019450610ff7565b6e010000000000000000000000000000175b8260000361105e577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f80000000000000000000000000000000000000000000000000000000000000001461104e5787611051565b60005b9650505050505050610060565b806000036110b5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f80000000000000000000000000000000000000000000000000000000000000001461104e5788611051565b848603821515851515036112415760708113156110db5789975050505050505050610060565b60008113156110ed5790811c9061113a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156111245788975050505050505050610060565b600081121561113a578060000384901c93508596505b928101926e0200000000000000000000000000008410611160576001968701969390931c925b86617fff036111c45784611194577f7fff0000000000000000000000000000000000000000000000000000000000006111b6565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610060565b6e0100000000000000000000000000008410156111e457600096506111f8565b6dffffffffffffffffffffffffffff841693505b83607088901b8661120a57600061121c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610060565b600081131561125c57600184901b9350600187039650611273565b600081121561127357600182901b91506001860396505b6070811315611285576001915061130e565b60018113156112a2576001810360018303901c600101915061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156112d3576001935061130e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81121561130e576001816000030360018503901c60010193505b81841061131f578184039350611328565b83820393508294505b8360000361134157506000965061006095505050505050565b600061134c85610e32565b90508060710361137857600185901c6dffffffffffffffffffffffffffff1694506001880197506113f3565b60708110156113df576070819003808911156113ae578086901b6dffffffffffffffffffffffffffff16955080890398506113d9565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b506113f3565b6dffffffffffffffffffffffffffff851694505b87617fff036114585785611427577f7fff000000000000000000000000000000000000000000000000000000000000611449565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610060565b84607089901b8761146a57600061147c565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610060565b6000602082840312156114b457600080fd5b5035919050565b6000602082840312156114cd57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea264697066735822122022f45a0c57a3f06e2fef148657f96e56d1bcddc3419e99c0e591e19fb2282bbe64736f6c63430008130033", "nonce": "0xc", "accessList": [] }, @@ -247,7 +247,7 @@ "isFixedGasLimit": false }, { - "hash": "0x68aeb04d2a9513b870e81d9e2ab7f82bcb4e9cd63270529a62f72e112a2f031b", + "hash": "0xce0f6335fdc8a360ecd5ce43164645bf080ae12aa22755768c4470a664ad156a", "transactionType": "CREATE", "contractName": "CreditRedemptionCalculatorFacet", "contractAddress": "0xb66709Aa65AaC2b8a6294062d0a0531207481036", @@ -258,7 +258,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x2dddaa", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50612991806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063993fba5c14610046578063ac5068061461006b578063f13a38a614610080575b600080fd5b61005961005436600461286f565b610088565b60405190815260200160405180910390f35b61007e610079366004612891565b61009d565b005b61005961013e565b6000610094838361014d565b90505b92915050565b6100c77faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d3361042a565b610132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f43726564697443616c633a206e6f742061646d696e000000000000000000000060448201526064015b60405180910390fd5b61013b8161044d565b50565b600061014861045a565b905090565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156101cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f091906128aa565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561023b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025f91906128aa565b106102c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f48494748006044820152606401610129565b60006103156102dc670de0b6b3a764000061046a565b6102ed6102e76104d8565b5461046a565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610506565b905060006103224361046a565b90506000610333826102ed8a61046a565b905060006103b86103916103687fffffffffffffffffffffffffffffffff000000000000000000000000000000008516610987565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008716906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610daf565b9050600061041b6103f4836103cc8e61046a565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610de3565b9b9a5050505050505050505050565b600061009482610438610ea2565b60008681526020919091526040902090610ed0565b806104566104d8565b5550565b60006104646104d8565b54919050565b60008160000361047c57506000919050565b81600061048882610eff565b905060708110156104a1578060700382901b91506104b4565b60708111156104b4576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60008061009760017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace6656128c3565b6000617fff60f084811c8216919084901c8116908290036105825780617fff0361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b80617fff03610609577dffffffffffffffffffffffffffff000000000000000000000000000000008416156105dc57507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610097565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036106d7577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361068857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610097565b6dffffffffffffffffffffffffffff608085901c1660008290036106fe5760019150610710565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361077857801561077357600061073f82610eff565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61078d565b6e0100000000000000000000000000001760721b5b81818161079c5761079c6128fd565b04905080600003610804577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610097565b6d10000000000000000000000000008110156108225761082261292c565b60006e080000000000000000000000000000821015610882576e040000000000000000000000000000821015610877576e02000000000000000000000000000082101561087057607061087a565b607161087a565b60725b60ff1661088b565b61088b82610eff565b9050836140710181860111156108a957617fff945060009150610943565b83818601613ffc0110156108c4576000945060009150610943565b83818601613f8c011015610911578385613ffc0111156108ef578385613ffc010382901b9150610908565b8385613ffc01101561090857613ffc8585030382901c91505b60009450610943565b6070811115610924576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b600061009761099583610faf565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003610b0a5780617fff03610ab5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a34575050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a8a57505050818117610097565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b80617fff03610b95577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b6857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610097565b6dffffffffffffffffffffffffffff608086901c166000839003610bbc5760019250610bce565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bf55760019250610c07565b6e010000000000000000000000000000175b808202915081600003610c44577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610ca9577c0100000000000000000000000000000000000000000000000000000000831015610ca257610c9d83610eff565b610cac565b60e0610cac565b60e15b90506140708186011015610cc7576000945060009250610d6b565b6140e08186011015610d0a57614070851015610cec57846140700383901c9250610d01565b614070851115610d0157614070850383901b92505b60009450610d6b565b61c0dd8186011115610d2457617fff945060009250610d6b565b6070811115610d3b576070810383901c9250610d4e565b6070811015610d4e578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b6000610097610dde837f3fff71547652b82fe1777d0ffda0d23a000000000000000000000000000000006109b7565b611264565b6000617fff60f083901c16613fff811015610e015750600092915050565b6f80000000000000000000000000000000608084901c10610e2157600080fd5b6140fe811115610e3057600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610e6c5761406f8290031c610e9b565b61406f821115610e9b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60008061009760017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776128c3565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610094565b6000808211610f0d57600080fd5b60007001000000000000000000000000000000008310610f2f57608092831c92015b680100000000000000008310610f4757604092831c92015b6401000000008310610f5b57602092831c92015b620100008310610f6d57601092831c92015b6101008310610f7e57600892831c92015b60108310610f8e57600492831c92015b60048310610f9e57600292831c92015b600283106100975760010192915050565b60006f80000000000000000000000000000000608083901c1115610ff457507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff0000000000000000000000000000000000000000000000000000000000000361104557506000919050565b617fff60f083901c81169081900361105e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036110855760019150611097565b6e010000000000000000000000000000175b806000036110c857507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff851061110b5750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018401611155565b600192506e01000000000000000000000000000084106111385784613ffe039050600f84901b9350611155565b600061114385610eff565b607f8190039590951b9461406d039150505b836f8000000000000000000000000000000003611197578215611176576001015b600061118182610eff565b60700390508082901b915080830392505061120e565b6000836111a55760006111a8565b60015b60ff1690505b6e01000000000000000000000000000082101561120c5793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b90821801906111ae565b505b806dffffffffffffffffffffffffffff16607083901b84611230576000611242565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff1690821480156112a957508015155b156112d857507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d821115611319578261130d577f7fff000000000000000000000000000000000000000000000000000000000000611310565b60005b95945050505050565b613f7f82101561134d57507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b8160000361135e5760019150611370565b6e010000000000000000000000000000175b613fef8211156113a3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b6113b5565b613fef8210156113b557613fef8290031c5b8280156113d3575071406e0000000000000000000000000000000081115b156113e357506000949350505050565b821580156114025750713fffffffffffffffffffffffffffffffffff81115b1561143157507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c83801561145457508115155b15611460579019906001015b6f80000000000000000000000000000000828116156114905770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f400000000000000000000000000000008316156114bf577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f200000000000000000000000000000008316156114ee577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f1000000000000000000000000000000083161561151d5770010b5586cf9890f6298b92b71842a983630260801c5b6f0800000000000000000000000000000083161561154c577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561157b57700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156115aa5770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f010000000000000000000000000000008316156115d957700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e8000000000000000000000000000008316156116075770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e400000000000000000000000000000831615611635577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e20000000000000000000000000000083161561166357700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615611691577001000b175effdc76ba38e31671ca9397250260801c5b6e0800000000000000000000000000008316156116bf57700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156116ed5770010002c5cc37da9491d0985c348c68e7b30260801c5b6e02000000000000000000000000000083161561171b577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156117495770010000b17255775c040618bf4a4ade83fc0260801c5b6d8000000000000000000000000000831615611776577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d40000000000000000000000000008316156117a357700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156117d05770010000162e43f4f831060e02d839a9d16d0260801c5b6d10000000000000000000000000008316156117fd57700100000b1721bcfc99d9f890ea069117630260801c5b6d080000000000000000000000000083161561182a5770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d0400000000000000000000000000831615611857577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d020000000000000000000000000083161561188457700100000162e430e5a18f6119e3c02282a50260801c5b6d01000000000000000000000000008316156118b1577001000000b1721835514b86e6d96efd1bfe0260801c5b6c800000000000000000000000008316156118dd57700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c400000000000000000000000008316156119095770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615611935577001000000162e42fff037df38aa2b219f060260801c5b6c100000000000000000000000008316156119615770010000000b17217fba9c739aa5819f44f90260801c5b6c0800000000000000000000000083161561198d577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c040000000000000000000000008316156119b957700100000002c5c85fe31f35a6a30da1be500260801c5b6c020000000000000000000000008316156119e55770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615611a1157700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615611a3c5770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615611a67577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615611a9257700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615611abd577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615611ae857700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615611b135770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615611b3e577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615611b695770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615611b93577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615611bbd57700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615611be75770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615611c1157700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615611c3b5770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615611c65577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615611c8f57700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615611cb9577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615611ce257700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615611d0b5770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615611d34577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615611d5d5770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615611d86577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615611daf57700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615611dd85770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615611e0157700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615611e295770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615611e51577001000000000000002c5c85fdf473de6eca0260801c5b68200000000000000000831615611e7957700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615611ea1577001000000000000000b17217f7d1cf79afa0260801c5b68080000000000000000831615611ec957700100000000000000058b90bfbe8e7bcd6d0260801c5b68040000000000000000831615611ef15770010000000000000002c5c85fdf473de6b20260801c5b68020000000000000000831615611f19577001000000000000000162e42fefa39ef3580260801c5b68010000000000000000831615611f415770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615611f68577001000000000000000058b90bfbe8e7bcd50260801c5b674000000000000000831615611f8f57700100000000000000002c5c85fdf473de6a0260801c5b672000000000000000831615611fb65770010000000000000000162e42fefa39ef340260801c5b671000000000000000831615611fdd57700100000000000000000b17217f7d1cf7990260801c5b6708000000000000008316156120045770010000000000000000058b90bfbe8e7bcc0260801c5b67040000000000000083161561202b577001000000000000000002c5c85fdf473de50260801c5b67020000000000000083161561205257700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615612079577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561209f57700100000000000000000058b90bfbe8e7bb0260801c5b66400000000000008316156120c55770010000000000000000002c5c85fdf473dd0260801c5b66200000000000008316156120eb577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156121115770010000000000000000000b17217f7d1cf60260801c5b6608000000000000831615612137577001000000000000000000058b90bfbe8e7a0260801c5b660400000000000083161561215d57700100000000000000000002c5c85fdf473c0260801c5b66020000000000008316156121835770010000000000000000000162e42fefa39d0260801c5b66010000000000008316156121a957700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156121ce5770010000000000000000000058b90bfbe8e60260801c5b654000000000008316156121f3577001000000000000000000002c5c85fdf4720260801c5b6520000000000083161561221857700100000000000000000000162e42fefa380260801c5b6510000000000083161561223d577001000000000000000000000b17217f7d1b0260801c5b6508000000000083161561226257700100000000000000000000058b90bfbe8d0260801c5b650400000000008316156122875770010000000000000000000002c5c85fdf460260801c5b650200000000008316156122ac577001000000000000000000000162e42fefa20260801c5b650100000000008316156122d15770010000000000000000000000b17217f7d00260801c5b6480000000008316156122f5577001000000000000000000000058b90bfbe70260801c5b64400000000083161561231957700100000000000000000000002c5c85fdf30260801c5b64200000000083161561233d5770010000000000000000000000162e42fef90260801c5b64100000000083161561236157700100000000000000000000000b17217f7c0260801c5b6408000000008316156123855770010000000000000000000000058b90bfbd0260801c5b6404000000008316156123a9577001000000000000000000000002c5c85fde0260801c5b6402000000008316156123cd57700100000000000000000000000162e42fee0260801c5b6401000000008316156123f1577001000000000000000000000000b17217f60260801c5b638000000083161561241457700100000000000000000000000058b90bfa0260801c5b63400000008316156124375770010000000000000000000000002c5c85fc0260801c5b632000000083161561245a577001000000000000000000000000162e42fd0260801c5b631000000083161561247d5770010000000000000000000000000b17217e0260801c5b63080000008316156124a0577001000000000000000000000000058b90be0260801c5b63040000008316156124c357700100000000000000000000000002c5c85e0260801c5b63020000008316156124e65770010000000000000000000000000162e42e0260801c5b630100000083161561250957700100000000000000000000000000b172160260801c5b6280000083161561252b5770010000000000000000000000000058b90a0260801c5b6240000083161561254d577001000000000000000000000000002c5c840260801c5b6220000083161561256f57700100000000000000000000000000162e410260801c5b62100000831615612591577001000000000000000000000000000b17200260801c5b620800008316156125b357700100000000000000000000000000058b8f0260801c5b620400008316156125d55770010000000000000000000000000002c5c70260801c5b620200008316156125f7577001000000000000000000000000000162e30260801c5b620100008316156126195770010000000000000000000000000000b1710260801c5b61800083161561263a577001000000000000000000000000000058b80260801c5b61400083161561265b57700100000000000000000000000000002c5b0260801c5b61200083161561267c5770010000000000000000000000000000162d0260801c5b61100083161561269d57700100000000000000000000000000000b160260801c5b6108008316156126be5770010000000000000000000000000000058a0260801c5b6104008316156126df577001000000000000000000000000000002c40260801c5b610200831615612700577001000000000000000000000000000001610260801c5b610100831615612721577001000000000000000000000000000000b00260801c5b6080831615612741577001000000000000000000000000000000570260801c5b60408316156127615770010000000000000000000000000000002b0260801c5b6020831615612781577001000000000000000000000000000000150260801c5b60108316156127a15770010000000000000000000000000000000a0260801c5b60088316156127c1577001000000000000000000000000000000040260801c5b60048316156127e1577001000000000000000000000000000000010260801c5b8461280957600f81901c6dffffffffffffffffffffffffffff169050613fff8201915061285c565b613ffe821161283557600f81901c6dffffffffffffffffffffffffffff16905081613fff03915061285c565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000806040838503121561288257600080fd5b50508035926020909101359150565b6000602082840312156128a357600080fd5b5035919050565b6000602082840312156128bc57600080fd5b5051919050565b81810381811115610097577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea26469706673582212206c68a092d596fed70ad9494b42496e37901cfccd8354120d4ddbcb498dea93d764736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50612991806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063993fba5c14610046578063ac5068061461006b578063f13a38a614610080575b600080fd5b61005961005436600461286f565b610088565b60405190815260200160405180910390f35b61007e610079366004612891565b61009d565b005b61005961013e565b6000610094838361014d565b90505b92915050565b6100c77faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d3361042a565b610132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f43726564697443616c633a206e6f742061646d696e000000000000000000000060448201526064015b60405180910390fd5b61013b8161044d565b50565b600061014861045a565b905090565b600254600154604080517f18160ddd0000000000000000000000000000000000000000000000000000000081529051600093849373ffffffffffffffffffffffffffffffffffffffff91821693849392909116916318160ddd916004808201926020929091908290030181865afa1580156101cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f091906128aa565b8173ffffffffffffffffffffffffffffffffffffffff1663db87b1ff6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561023b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025f91906128aa565b106102c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43726564697420746f20446f6c6c61723a20444542545f544f4f5f48494748006044820152606401610129565b60006103156102dc670de0b6b3a764000061046a565b6102ed6102e76104d8565b5461046a565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610506565b905060006103224361046a565b90506000610333826102ed8a61046a565b905060006103b86103916103687fffffffffffffffffffffffffffffffff000000000000000000000000000000008516610987565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008716906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610daf565b9050600061041b6103f4836103cc8e61046a565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906109b7565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610de3565b9b9a5050505050505050505050565b600061009482610438610ea2565b60008681526020919091526040902090610ed0565b806104566104d8565b5550565b60006104646104d8565b54919050565b60008160000361047c57506000919050565b81600061048882610eff565b905060708110156104a1578060700382901b91506104b4565b60708111156104b4576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b60008061009760017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace6656128c3565b6000617fff60f084811c8216919084901c8116908290036105825780617fff0361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b80617fff03610609577dffffffffffffffffffffffffffff000000000000000000000000000000008416156105dc57507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610097565b7f7fffffffffffffffffffffffffffffff0000000000000000000000000000000084166000036106d7577f7fffffffffffffffffffffffffffffff00000000000000000000000000000000851660000361068857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610097565b6dffffffffffffffffffffffffffff608085901c1660008290036106fe5760019150610710565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c16600084900361077857801561077357600061073f82610eff565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b61078d565b6e0100000000000000000000000000001760721b5b81818161079c5761079c6128fd565b04905080600003610804577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610097565b6d10000000000000000000000000008110156108225761082261292c565b60006e080000000000000000000000000000821015610882576e040000000000000000000000000000821015610877576e02000000000000000000000000000082101561087057607061087a565b607161087a565b60725b60ff1661088b565b61088b82610eff565b9050836140710181860111156108a957617fff945060009150610943565b83818601613ffc0110156108c4576000945060009150610943565b83818601613f8c011015610911578385613ffc0111156108ef578385613ffc010382901b9150610908565b8385613ffc01101561090857613ffc8585030382901c91505b60009450610943565b6070811115610924576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b600061009761099583610faf565b7f3ffe62e42fefa39ef35793c7673007e5000000000000000000000000000000005b6000617fff60f084811c8216919084901c811690829003610b0a5780617fff03610ab5577fffffffffffffffffffffffffffffffff0000000000000000000000000000000080851690861603610a34575050507f800000000000000000000000000000000000000000000000000000000000000081168218610097565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f800000000000000000000000000000000000000000000000000000000000000003610a8a57505050818117610097565b507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361055557507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b80617fff03610b95577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610b6857507f7fff80000000000000000000000000000000000000000000000000000000000091506100979050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610097565b6dffffffffffffffffffffffffffff608086901c166000839003610bbc5760019250610bce565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610bf55760019250610c07565b6e010000000000000000000000000000175b808202915081600003610c44577f8000000000000000000000000000000000000000000000000000000000000000878718166107d75760006107f9565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610ca9577c0100000000000000000000000000000000000000000000000000000000831015610ca257610c9d83610eff565b610cac565b60e0610cac565b60e15b90506140708186011015610cc7576000945060009250610d6b565b6140e08186011015610d0a57614070851015610cec57846140700383901c9250610d01565b614070851115610d0157614070850383901b92505b60009450610d6b565b61c0dd8186011115610d2457617fff945060009250610d6b565b6070811115610d3b576070810383901c9250610d4e565b6070811015610d4e578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610097565b6000610097610dde837f3fff71547652b82fe1777d0ffda0d23a000000000000000000000000000000006109b7565b611264565b6000617fff60f083901c16613fff811015610e015750600092915050565b6f80000000000000000000000000000000608084901c10610e2157600080fd5b6140fe811115610e3057600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610e6c5761406f8290031c610e9b565b61406f821115610e9b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60008061009760017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd776128c3565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610094565b6000808211610f0d57600080fd5b60007001000000000000000000000000000000008310610f2f57608092831c92015b680100000000000000008310610f4757604092831c92015b6401000000008310610f5b57602092831c92015b620100008310610f6d57601092831c92015b6101008310610f7e57600892831c92015b60108310610f8e57600492831c92015b60048310610f9e57600292831c92015b600283106100975760010192915050565b60006f80000000000000000000000000000000608083901c1115610ff457507f7fff800000000000000000000000000000000000000000000000000000000000919050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082167f3fff0000000000000000000000000000000000000000000000000000000000000361104557506000919050565b617fff60f083901c81169081900361105e575090919050565b6dffffffffffffffffffffffffffff608084901c1660008290036110855760019150611097565b6e010000000000000000000000000000175b806000036110c857507fffff0000000000000000000000000000000000000000000000000000000000009392505050565b600061406f81613fff851061110b5750600f9290921b91600091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018401611155565b600192506e01000000000000000000000000000084106111385784613ffe039050600f84901b9350611155565b600061114385610eff565b607f8190039590951b9461406d039150505b836f8000000000000000000000000000000003611197578215611176576001015b600061118182610eff565b60700390508082901b915080830392505061120e565b6000836111a55760006111a8565b60015b60ff1690505b6e01000000000000000000000000000082101561120c5793800260ff81901c607f81019190911c947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff939093019260019290921b90821801906111ae565b505b806dffffffffffffffffffffffffffff16607083901b84611230576000611242565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b979650505050505050565b60006f80000000000000000000000000000000608083901c90811190617fff60f085901c8116916dffffffffffffffffffffffffffff1690821480156112a957508015155b156112d857507f7fff800000000000000000000000000000000000000000000000000000000000949350505050565b61400d821115611319578261130d577f7fff000000000000000000000000000000000000000000000000000000000000611310565b60005b95945050505050565b613f7f82101561134d57507f3fff000000000000000000000000000000000000000000000000000000000000949350505050565b8160000361135e5760019150611370565b6e010000000000000000000000000000175b613fef8211156113a3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01182011b6113b5565b613fef8210156113b557613fef8290031c5b8280156113d3575071406e0000000000000000000000000000000081115b156113e357506000949350505050565b821580156114025750713fffffffffffffffffffffffffffffffffff81115b1561143157507f7fff000000000000000000000000000000000000000000000000000000000000949350505050565b6fffffffffffffffffffffffffffffffff81169060801c83801561145457508115155b15611460579019906001015b6f80000000000000000000000000000000828116156114905770016a09e667f3bcc908b2fb1366ea957d3e0260801c5b6f400000000000000000000000000000008316156114bf577001306fe0a31b7152de8d5a46305c85edec0260801c5b6f200000000000000000000000000000008316156114ee577001172b83c7d517adcdf7c8c50eb14a791f0260801c5b6f1000000000000000000000000000000083161561151d5770010b5586cf9890f6298b92b71842a983630260801c5b6f0800000000000000000000000000000083161561154c577001059b0d31585743ae7c548eb68ca417fd0260801c5b6f0400000000000000000000000000000083161561157b57700102c9a3e778060ee6f7caca4f7a29bde80260801c5b6f020000000000000000000000000000008316156115aa5770010163da9fb33356d84a66ae336dcdfa3f0260801c5b6f010000000000000000000000000000008316156115d957700100b1afa5abcbed6129ab13ec11dc95430260801c5b6e8000000000000000000000000000008316156116075770010058c86da1c09ea1ff19d294cf2f679b0260801c5b6e400000000000000000000000000000831615611635577001002c605e2e8cec506d21bfc89a23a00f0260801c5b6e20000000000000000000000000000083161561166357700100162f3904051fa128bca9c55c31e5df0260801c5b6e100000000000000000000000000000831615611691577001000b175effdc76ba38e31671ca9397250260801c5b6e0800000000000000000000000000008316156116bf57700100058ba01fb9f96d6cacd4b180917c3d0260801c5b6e0400000000000000000000000000008316156116ed5770010002c5cc37da9491d0985c348c68e7b30260801c5b6e02000000000000000000000000000083161561171b577001000162e525ee054754457d59952920260260801c5b6e0100000000000000000000000000008316156117495770010000b17255775c040618bf4a4ade83fc0260801c5b6d8000000000000000000000000000831615611776577001000058b91b5bc9ae2eed81e9b7d4cfab0260801c5b6d40000000000000000000000000008316156117a357700100002c5c89d5ec6ca4d7c8acc017b7c90260801c5b6d20000000000000000000000000008316156117d05770010000162e43f4f831060e02d839a9d16d0260801c5b6d10000000000000000000000000008316156117fd57700100000b1721bcfc99d9f890ea069117630260801c5b6d080000000000000000000000000083161561182a5770010000058b90cf1e6d97f9ca14dbcc16280260801c5b6d0400000000000000000000000000831615611857577001000002c5c863b73f016468f6bac5ca2b0260801c5b6d020000000000000000000000000083161561188457700100000162e430e5a18f6119e3c02282a50260801c5b6d01000000000000000000000000008316156118b1577001000000b1721835514b86e6d96efd1bfe0260801c5b6c800000000000000000000000008316156118dd57700100000058b90c0b48c6be5df846c5b2ef0260801c5b6c400000000000000000000000008316156119095770010000002c5c8601cc6b9e94213c72737a0260801c5b6c20000000000000000000000000831615611935577001000000162e42fff037df38aa2b219f060260801c5b6c100000000000000000000000008316156119615770010000000b17217fba9c739aa5819f44f90260801c5b6c0800000000000000000000000083161561198d577001000000058b90bfcdee5acd3c1cedc8230260801c5b6c040000000000000000000000008316156119b957700100000002c5c85fe31f35a6a30da1be500260801c5b6c020000000000000000000000008316156119e55770010000000162e42ff0999ce3541b9fffcf0260801c5b6c01000000000000000000000000831615611a1157700100000000b17217f80f4ef5aadda455540260801c5b6b800000000000000000000000831615611a3c5770010000000058b90bfbf8479bd5a81b51ad0260801c5b6b400000000000000000000000831615611a67577001000000002c5c85fdf84bd62ae30a74cc0260801c5b6b200000000000000000000000831615611a9257700100000000162e42fefb2fed257559bdaa0260801c5b6b100000000000000000000000831615611abd577001000000000b17217f7d5a7716bba4a9ae0260801c5b6b080000000000000000000000831615611ae857700100000000058b90bfbe9ddbac5e109cce0260801c5b6b040000000000000000000000831615611b135770010000000002c5c85fdf4b15de6f17eb0d0260801c5b6b020000000000000000000000831615611b3e577001000000000162e42fefa494f1478fde050260801c5b6b010000000000000000000000831615611b695770010000000000b17217f7d20cf927c8e94c0260801c5b6a8000000000000000000000831615611b93577001000000000058b90bfbe8f71cb4e4b33d0260801c5b6a4000000000000000000000831615611bbd57700100000000002c5c85fdf477b662b269450260801c5b6a2000000000000000000000831615611be75770010000000000162e42fefa3ae53369388c0260801c5b6a1000000000000000000000831615611c1157700100000000000b17217f7d1d351a389d400260801c5b6a0800000000000000000000831615611c3b5770010000000000058b90bfbe8e8b2d3d4ede0260801c5b6a0400000000000000000000831615611c65577001000000000002c5c85fdf4741bea6e77e0260801c5b6a0200000000000000000000831615611c8f57700100000000000162e42fefa39fe95583c20260801c5b6a0100000000000000000000831615611cb9577001000000000000b17217f7d1cfb72b45e10260801c5b6980000000000000000000831615611ce257700100000000000058b90bfbe8e7cc35c3f00260801c5b6940000000000000000000831615611d0b5770010000000000002c5c85fdf473e242ea380260801c5b6920000000000000000000831615611d34577001000000000000162e42fefa39f02b772c0260801c5b6910000000000000000000831615611d5d5770010000000000000b17217f7d1cf7d83c1a0260801c5b6908000000000000000000831615611d86577001000000000000058b90bfbe8e7bdcbe2e0260801c5b6904000000000000000000831615611daf57700100000000000002c5c85fdf473dea871f0260801c5b6902000000000000000000831615611dd85770010000000000000162e42fefa39ef44d910260801c5b6901000000000000000000831615611e0157700100000000000000b17217f7d1cf79e9490260801c5b68800000000000000000831615611e295770010000000000000058b90bfbe8e7bce5440260801c5b68400000000000000000831615611e51577001000000000000002c5c85fdf473de6eca0260801c5b68200000000000000000831615611e7957700100000000000000162e42fefa39ef366f0260801c5b68100000000000000000831615611ea1577001000000000000000b17217f7d1cf79afa0260801c5b68080000000000000000831615611ec957700100000000000000058b90bfbe8e7bcd6d0260801c5b68040000000000000000831615611ef15770010000000000000002c5c85fdf473de6b20260801c5b68020000000000000000831615611f19577001000000000000000162e42fefa39ef3580260801c5b68010000000000000000831615611f415770010000000000000000b17217f7d1cf79ab0260801c5b678000000000000000831615611f68577001000000000000000058b90bfbe8e7bcd50260801c5b674000000000000000831615611f8f57700100000000000000002c5c85fdf473de6a0260801c5b672000000000000000831615611fb65770010000000000000000162e42fefa39ef340260801c5b671000000000000000831615611fdd57700100000000000000000b17217f7d1cf7990260801c5b6708000000000000008316156120045770010000000000000000058b90bfbe8e7bcc0260801c5b67040000000000000083161561202b577001000000000000000002c5c85fdf473de50260801c5b67020000000000000083161561205257700100000000000000000162e42fefa39ef20260801c5b670100000000000000831615612079577001000000000000000000b17217f7d1cf780260801c5b668000000000000083161561209f57700100000000000000000058b90bfbe8e7bb0260801c5b66400000000000008316156120c55770010000000000000000002c5c85fdf473dd0260801c5b66200000000000008316156120eb577001000000000000000000162e42fefa39ee0260801c5b66100000000000008316156121115770010000000000000000000b17217f7d1cf60260801c5b6608000000000000831615612137577001000000000000000000058b90bfbe8e7a0260801c5b660400000000000083161561215d57700100000000000000000002c5c85fdf473c0260801c5b66020000000000008316156121835770010000000000000000000162e42fefa39d0260801c5b66010000000000008316156121a957700100000000000000000000b17217f7d1ce0260801c5b658000000000008316156121ce5770010000000000000000000058b90bfbe8e60260801c5b654000000000008316156121f3577001000000000000000000002c5c85fdf4720260801c5b6520000000000083161561221857700100000000000000000000162e42fefa380260801c5b6510000000000083161561223d577001000000000000000000000b17217f7d1b0260801c5b6508000000000083161561226257700100000000000000000000058b90bfbe8d0260801c5b650400000000008316156122875770010000000000000000000002c5c85fdf460260801c5b650200000000008316156122ac577001000000000000000000000162e42fefa20260801c5b650100000000008316156122d15770010000000000000000000000b17217f7d00260801c5b6480000000008316156122f5577001000000000000000000000058b90bfbe70260801c5b64400000000083161561231957700100000000000000000000002c5c85fdf30260801c5b64200000000083161561233d5770010000000000000000000000162e42fef90260801c5b64100000000083161561236157700100000000000000000000000b17217f7c0260801c5b6408000000008316156123855770010000000000000000000000058b90bfbd0260801c5b6404000000008316156123a9577001000000000000000000000002c5c85fde0260801c5b6402000000008316156123cd57700100000000000000000000000162e42fee0260801c5b6401000000008316156123f1577001000000000000000000000000b17217f60260801c5b638000000083161561241457700100000000000000000000000058b90bfa0260801c5b63400000008316156124375770010000000000000000000000002c5c85fc0260801c5b632000000083161561245a577001000000000000000000000000162e42fd0260801c5b631000000083161561247d5770010000000000000000000000000b17217e0260801c5b63080000008316156124a0577001000000000000000000000000058b90be0260801c5b63040000008316156124c357700100000000000000000000000002c5c85e0260801c5b63020000008316156124e65770010000000000000000000000000162e42e0260801c5b630100000083161561250957700100000000000000000000000000b172160260801c5b6280000083161561252b5770010000000000000000000000000058b90a0260801c5b6240000083161561254d577001000000000000000000000000002c5c840260801c5b6220000083161561256f57700100000000000000000000000000162e410260801c5b62100000831615612591577001000000000000000000000000000b17200260801c5b620800008316156125b357700100000000000000000000000000058b8f0260801c5b620400008316156125d55770010000000000000000000000000002c5c70260801c5b620200008316156125f7577001000000000000000000000000000162e30260801c5b620100008316156126195770010000000000000000000000000000b1710260801c5b61800083161561263a577001000000000000000000000000000058b80260801c5b61400083161561265b57700100000000000000000000000000002c5b0260801c5b61200083161561267c5770010000000000000000000000000000162d0260801c5b61100083161561269d57700100000000000000000000000000000b160260801c5b6108008316156126be5770010000000000000000000000000000058a0260801c5b6104008316156126df577001000000000000000000000000000002c40260801c5b610200831615612700577001000000000000000000000000000001610260801c5b610100831615612721577001000000000000000000000000000000b00260801c5b6080831615612741577001000000000000000000000000000000570260801c5b60408316156127615770010000000000000000000000000000002b0260801c5b6020831615612781577001000000000000000000000000000000150260801c5b60108316156127a15770010000000000000000000000000000000a0260801c5b60088316156127c1577001000000000000000000000000000000040260801c5b60048316156127e1577001000000000000000000000000000000010260801c5b8461280957600f81901c6dffffffffffffffffffffffffffff169050613fff8201915061285c565b613ffe821161283557600f81901c6dffffffffffffffffffffffffffff16905081613fff03915061285c565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc011011c5b60709190911b1760801b95945050505050565b6000806040838503121561288257600080fd5b50508035926020909101359150565b6000602082840312156128a357600080fd5b5035919050565b6000602082840312156128bc57600080fd5b5051919050565b81810381811115610097577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea2646970667358221220fe2ea85339e0337efdf88c7cda3a9027fb68f82605f3dcc85dafd7c823e8188664736f6c63430008130033", "nonce": "0xd", "accessList": [] }, @@ -266,7 +266,7 @@ "isFixedGasLimit": false }, { - "hash": "0x9fc5c60fc8ea4183202e91768ee13e83d50e3a1006cde84f0f13123e8ead9fe8", + "hash": "0xb3ae73c02428ac2947f949025b993da0c98f6b0857cafea2d7255143d5d0e6bd", "transactionType": "CREATE", "contractName": "DollarMintCalculatorFacet", "contractAddress": "0x5D4905664E98A76cf56EBBd023D38C420d465770", @@ -277,7 +277,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x180197", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b5061153a806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063764263cf14610030575b600080fd5b61003861004a565b60405190815260200160405180910390f35b6000610054610059565b905090565b600154600090819081906100829073ffffffffffffffffffffffffffffffffffffffff16610268565b9050670de0b6b3a764000081116100fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f446f6c6c61724d696e7443616c63756c61746f723a206e6f74203e203100000060448201526064015b60405180910390fd5b600061010d670de0b6b3a76400006103d9565b90506102606102396101dc836101b48760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af9190611453565b6103d9565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610447565b610211846101e9876103d9565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906108ca565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906108ff565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610cf7565b935050505090565b600080610273610db5565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116102dc575050505050815250509050610302600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361033257806040015191506103d3565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146103cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016100f1565b806060015191505b50919050565b6000816000036103eb57506000919050565b8160006103f782610de3565b90506070811015610410578060700382901b9150610423565b6070811115610423576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036104c35780617fff0361049657507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186108c4565b80617fff0361054a577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561051d57507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166108c4565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610618577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036105c957507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176108c4565b6dffffffffffffffffffffffffffff608085901c16600082900361063f5760019150610651565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036106b95780156106b457600061068082610de3565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6106ce565b6e0100000000000000000000000000001760721b5b8181816106dd576106dd61146c565b04905080600003610745577f80000000000000000000000000000000000000000000000000000000000000008787181661071857600061073a565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506108c4565b6d10000000000000000000000000008110156107635761076361149b565b60006e0800000000000000000000000000008210156107c3576e0400000000000000000000000000008210156107b8576e0200000000000000000000000000008210156107b15760706107bb565b60716107bb565b60725b60ff166107cc565b6107cc82610de3565b9050836140710181860111156107ea57617fff945060009150610884565b83818601613ffc011015610805576000945060009150610884565b83818601613f8c011015610852578385613ffc011115610830578385613ffc010382901b9150610849565b8385613ffc01101561084957613ffc8585030382901c91505b60009450610884565b6070811115610865576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b60006108f8837f80000000000000000000000000000000000000000000000000000000000000008418610e93565b9392505050565b6000617fff60f084811c8216919084901c811690829003610a525780617fff036109fd577fffffffffffffffffffffffffffffffff000000000000000000000000000000008085169086160361097c575050507f8000000000000000000000000000000000000000000000000000000000000000811682186108c4565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f8000000000000000000000000000000000000000000000000000000000000000036109d2575050508181176108c4565b507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361049657507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b80617fff03610add577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610ab057507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186108c4565b6dffffffffffffffffffffffffffff608086901c166000839003610b045760019250610b16565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610b3d5760019250610b4f565b6e010000000000000000000000000000175b808202915081600003610b8c577f80000000000000000000000000000000000000000000000000000000000000008787181661071857600061073a565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610bf1577c0100000000000000000000000000000000000000000000000000000000831015610bea57610be583610de3565b610bf4565b60e0610bf4565b60e15b90506140708186011015610c0f576000945060009250610cb3565b6140e08186011015610c5257614070851015610c3457846140700383901c9250610c49565b614070851115610c4957614070850383901b92505b60009450610cb3565b61c0dd8186011115610c6c57617fff945060009250610cb3565b6070811115610c83576070810383901c9250610c96565b6070811015610c96578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506108c4565b6000617fff60f083901c16613fff811015610d155750600092915050565b6f80000000000000000000000000000000608084901c10610d3557600080fd5b6140fe811115610d4457600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610d805761406f8290031c6108f8565b61406f8211156108f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b6000806108c460017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e6286114ca565b6000808211610df157600080fd5b60007001000000000000000000000000000000008310610e1357608092831c92015b680100000000000000008310610e2b57604092831c92015b6401000000008310610e3f57602092831c92015b620100008310610e5157601092831c92015b6101008310610e6257600892831c92015b60108310610e7257600492831c92015b60048310610e8257600292831c92015b600283106108c45760010192915050565b6000617fff60f084811c8216919084901c811690829003610ef75780617fff03610eed577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036109d25784925050506108c4565b84925050506108c4565b80617fff03610f0a5783925050506108c4565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f475760019350610f59565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610f965760019450610fa8565b6e010000000000000000000000000000175b8260000361100f577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014610fff5787611002565b60005b96505050505050506108c4565b80600003611066577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014610fff5788611002565b848603821515851515036111f257607081131561108c57899750505050505050506108c4565b600081131561109e5790811c906110eb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156110d557889750505050505050506108c4565b60008112156110eb578060000384901c93508596505b928101926e0200000000000000000000000000008410611111576001968701969390931c925b86617fff036111755784611145577f7fff000000000000000000000000000000000000000000000000000000000000611167565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506108c4565b6e01000000000000000000000000000084101561119557600096506111a9565b6dffffffffffffffffffffffffffff841693505b83607088901b866111bb5760006111cd565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506108c4565b600081131561120d57600184901b9350600187039650611224565b600081121561122457600182901b91506001860396505b607081131561123657600191506112bf565b6001811315611253576001810360018303901c60010191506112bf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561128457600193506112bf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8112156112bf576001816000030360018503901c60010193505b8184106112d05781840393506112d9565b83820393508294505b836000036112f25750600096506108c495505050505050565b60006112fd85610de3565b90508060710361132957600185901c6dffffffffffffffffffffffffffff1694506001880197506113a4565b60708110156113905760708190038089111561135f578086901b6dffffffffffffffffffffffffffff169550808903985061138a565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b506113a4565b6dffffffffffffffffffffffffffff851694505b87617fff0361140957856113d8577f7fff0000000000000000000000000000000000000000000000000000000000006113fa565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506108c4565b84607089901b8761141b57600061142d565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506108c4565b60006020828403121561146557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b818103818111156108c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212205f7ff5eb4e7bf07c1e83c19b27362f7311c93f91383143a9467c5b3922eabcd464736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b5061153a806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063764263cf14610030575b600080fd5b61003861004a565b60405190815260200160405180910390f35b6000610054610059565b905090565b600154600090819081906100829073ffffffffffffffffffffffffffffffffffffffff16610268565b9050670de0b6b3a764000081116100fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f446f6c6c61724d696e7443616c63756c61746f723a206e6f74203e203100000060448201526064015b60405180910390fd5b600061010d670de0b6b3a76400006103d9565b90506102606102396101dc836101b48760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af9190611453565b6103d9565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610447565b610211846101e9876103d9565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906108ca565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016906108ff565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016610cf7565b935050505090565b600080610273610db5565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116102dc575050505050815250509050610302600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361033257806040015191506103d3565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146103cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016100f1565b806060015191505b50919050565b6000816000036103eb57506000919050565b8160006103f782610de3565b90506070811015610410578060700382901b9150610423565b6070811115610423576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036104c35780617fff0361049657507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186108c4565b80617fff0361054a577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561051d57507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166108c4565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610618577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036105c957507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176108c4565b6dffffffffffffffffffffffffffff608085901c16600082900361063f5760019150610651565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036106b95780156106b457600061068082610de3565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6106ce565b6e0100000000000000000000000000001760721b5b8181816106dd576106dd61146c565b04905080600003610745577f80000000000000000000000000000000000000000000000000000000000000008787181661071857600061073a565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506108c4565b6d10000000000000000000000000008110156107635761076361149b565b60006e0800000000000000000000000000008210156107c3576e0400000000000000000000000000008210156107b8576e0200000000000000000000000000008210156107b15760706107bb565b60716107bb565b60725b60ff166107cc565b6107cc82610de3565b9050836140710181860111156107ea57617fff945060009150610884565b83818601613ffc011015610805576000945060009150610884565b83818601613f8c011015610852578385613ffc011115610830578385613ffc010382901b9150610849565b8385613ffc01101561084957613ffc8585030382901c91505b60009450610884565b6070811115610865576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b60006108f8837f80000000000000000000000000000000000000000000000000000000000000008418610e93565b9392505050565b6000617fff60f084811c8216919084901c811690829003610a525780617fff036109fd577fffffffffffffffffffffffffffffffff000000000000000000000000000000008085169086160361097c575050507f8000000000000000000000000000000000000000000000000000000000000000811682186108c4565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f8000000000000000000000000000000000000000000000000000000000000000036109d2575050508181176108c4565b507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361049657507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b80617fff03610add577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003610ab057507f7fff80000000000000000000000000000000000000000000000000000000000091506108c49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000821681186108c4565b6dffffffffffffffffffffffffffff608086901c166000839003610b045760019250610b16565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003610b3d5760019250610b4f565b6e010000000000000000000000000000175b808202915081600003610b8c577f80000000000000000000000000000000000000000000000000000000000000008787181661071857600061073a565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015610bf1577c0100000000000000000000000000000000000000000000000000000000831015610bea57610be583610de3565b610bf4565b60e0610bf4565b60e15b90506140708186011015610c0f576000945060009250610cb3565b6140e08186011015610c5257614070851015610c3457846140700383901c9250610c49565b614070851115610c4957614070850383901b92505b60009450610cb3565b61c0dd8186011115610c6c57617fff945060009250610cb3565b6070811115610c83576070810383901c9250610c96565b6070811015610c96578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050506108c4565b6000617fff60f083901c16613fff811015610d155750600092915050565b6f80000000000000000000000000000000608084901c10610d3557600080fd5b6140fe811115610d4457600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f821015610d805761406f8290031c6108f8565b61406f8211156108f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b6000806108c460017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e6286114ca565b6000808211610df157600080fd5b60007001000000000000000000000000000000008310610e1357608092831c92015b680100000000000000008310610e2b57604092831c92015b6401000000008310610e3f57602092831c92015b620100008310610e5157601092831c92015b6101008310610e6257600892831c92015b60108310610e7257600492831c92015b60048310610e8257600292831c92015b600283106108c45760010192915050565b6000617fff60f084811c8216919084901c811690829003610ef75780617fff03610eed577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036109d25784925050506108c4565b84925050506108c4565b80617fff03610f0a5783925050506108c4565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff166000849003610f475760019350610f59565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff166000859003610f965760019450610fa8565b6e010000000000000000000000000000175b8260000361100f577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f800000000000000000000000000000000000000000000000000000000000000014610fff5787611002565b60005b96505050505050506108c4565b80600003611066577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f800000000000000000000000000000000000000000000000000000000000000014610fff5788611002565b848603821515851515036111f257607081131561108c57899750505050505050506108c4565b600081131561109e5790811c906110eb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156110d557889750505050505050506108c4565b60008112156110eb578060000384901c93508596505b928101926e0200000000000000000000000000008410611111576001968701969390931c925b86617fff036111755784611145577f7fff000000000000000000000000000000000000000000000000000000000000611167565b7fffff0000000000000000000000000000000000000000000000000000000000005b9750505050505050506108c4565b6e01000000000000000000000000000084101561119557600096506111a9565b6dffffffffffffffffffffffffffff841693505b83607088901b866111bb5760006111cd565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b9750505050505050506108c4565b600081131561120d57600184901b9350600187039650611224565b600081121561122457600182901b91506001860396505b607081131561123657600191506112bf565b6001811315611253576001810360018303901c60010191506112bf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561128457600193506112bf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8112156112bf576001816000030360018503901c60010193505b8184106112d05781840393506112d9565b83820393508294505b836000036112f25750600096506108c495505050505050565b60006112fd85610de3565b90508060710361132957600185901c6dffffffffffffffffffffffffffff1694506001880197506113a4565b60708110156113905760708190038089111561135f578086901b6dffffffffffffffffffffffffffff169550808903985061138a565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b506113a4565b6dffffffffffffffffffffffffffff851694505b87617fff0361140957856113d8577f7fff0000000000000000000000000000000000000000000000000000000000006113fa565b7fffff0000000000000000000000000000000000000000000000000000000000005b985050505050505050506108c4565b84607089901b8761141b57600061142d565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b985050505050505050506108c4565b60006020828403121561146557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b818103818111156108c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212204cf989c15ed1e29df91530f8e6723ae152b55df7127f03c1214b8dc920e257d564736f6c63430008130033", "nonce": "0xe", "accessList": [] }, @@ -285,7 +285,7 @@ "isFixedGasLimit": false }, { - "hash": "0x5f69a08e435fbf62f8eea946c28bbfc8c1ae5fa3f6f2d8227274c46e3c91a8ed", + "hash": "0xc39f685d525c3e03d9741a088d80ed1bfdbb90d365e3d16ad4254acaee103c12", "transactionType": "CREATE", "contractName": "DollarMintExcessFacet", "contractAddress": "0xD64465FC4c7d3BAbaBA5d0E4AfF6DffC278bfd18", @@ -296,7 +296,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x1ca8a9", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b5061196c806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063651156bc14610030575b600080fd5b61003861003a565b005b610042610044565b565b60008060018101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925073ffffffffffffffffffffffffffffffffffffffff169060009082906370a0823190602401602060405180830381865afa1580156100bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e1919061157b565b905068056bc75e2d631000008111156101e457600983015473ffffffffffffffffffffffffffffffffffffffff166000610179610152610121600a6101e9565b61012a866101e9565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610257565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166106da565b9050600061019661015261018d60026101e9565b61012a876101e9565b90506101b973ffffffffffffffffffffffffffffffffffffffff86168483610799565b6101c28261086d565b6101df826101d083876115c3565b6101da91906115c3565b610a66565b505050505b505050565b6000816000036101fb57506000919050565b81600061020782610e69565b90506070811015610220578060700382901b9150610233565b6070811115610233576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036102d35780617fff036102a657507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186106d4565b80617fff0361035a577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561032d57507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166106d4565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610428577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036103d957507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176106d4565b6dffffffffffffffffffffffffffff608085901c16600082900361044f5760019150610461565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036104c95780156104c457600061049082610e69565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6104de565b6e0100000000000000000000000000001760721b5b8181816104ed576104ed6115d6565b04905080600003610555577f80000000000000000000000000000000000000000000000000000000000000008787181661052857600061054a565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506106d4565b6d100000000000000000000000000081101561057357610573611605565b60006e0800000000000000000000000000008210156105d3576e0400000000000000000000000000008210156105c8576e0200000000000000000000000000008210156105c15760706105cb565b60716105cb565b60725b60ff166105dc565b6105dc82610e69565b9050836140710181860111156105fa57617fff945060009150610694565b83818601613ffc011015610615576000945060009150610694565b83818601613f8c011015610662578385613ffc011115610640578385613ffc010382901b9150610659565b8385613ffc01101561065957613ffc8585030382901c91505b60009450610694565b6070811115610675576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b6000617fff60f083901c16613fff8110156106f85750600092915050565b6f80000000000000000000000000000000608084901c1061071857600080fd5b6140fe81111561072757600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156107635761406f8290031c610792565b61406f821115610792577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526101e49084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610f19565b600061088561087c60026101e9565b61012a846101e9565b600154600a5491925073ffffffffffffffffffffffffffffffffffffffff90811691166108c88273d9e1ce17f2641f24ae83637ab66a2cca9c378b9f600061102d565b60006108d3846111af565b905061090b73ffffffffffffffffffffffffffffffffffffffff831673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f600061102d565b61094073ffffffffffffffffffffffffffffffffffffffff831673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f8361102d565b73d9e1ce17f2641f24ae83637ab66a2cca9c378b9f63e8e3370084846109877fffffffffffffffffffffffffffffffff0000000000000000000000000000000089166106da565b8560008080610997426064611634565b60405160e08a901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9889166004820152968816602488015260448701959095526064860193909352608485019190915260a484015290921660c482015260e4810191909152610104016060604051808303816000875af1158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c9190611647565b5050505050505050565b600080806007810154600882015491925073ffffffffffffffffffffffffffffffffffffffff9081169116600080600101546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529091169150819063095ea7b3906044016020604051808303816000875af1158015610b11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b359190611675565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820188905282169063095ea7b3906044016020604051808303816000875af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190611675565b506040517f3df021240000000000000000000000000000000000000000000000000000000081526000600482018190526001602483015260448201889052606482018190529073ffffffffffffffffffffffffffffffffffffffff851690633df02124906084016020604051808303816000875af1158015610c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c79919061157b565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152600060248301529192509084169063095ea7b3906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190611675565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af1158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db09190611675565b5060408051808201825260008082526020820184905291517f0c3e4b5400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871691630c3e4b5491610e1a919085903090600401611697565b6020604051808303816000875af1158015610e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5d919061157b565b98975050505050505050565b6000808211610e7757600080fd5b60007001000000000000000000000000000000008310610e9957608092831c92015b680100000000000000008310610eb157604092831c92015b6401000000008310610ec557602092831c92015b620100008310610ed757601092831c92015b6101008310610ee857600892831c92015b60108310610ef857600492831c92015b60048310610f0857600292831c92015b600283106106d45760010192915050565b6000610f7b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661136c9092919063ffffffff16565b9050805160001480610f9c575080806020019051810190610f9c9190611675565b6101e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b8015806110cd57506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156110a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cb919061157b565b155b611159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401611024565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526101e49084907f095ea7b300000000000000000000000000000000000000000000000000000000906064016107eb565b604080516002808252606082018352600092839291906020830190803683375050600154825192935060009273ffffffffffffffffffffffffffffffffffffffff9091169150839083906112055761120561171b565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600a8201548351911690839060019081106112455761124561171b565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600073d9e1ce17f2641f24ae83637ab66a2cca9c378b9f6338ed17396112b17fffffffffffffffffffffffffffffffff0000000000000000000000000000000088166106da565b600086306112c0426064611634565b6040518663ffffffff1660e01b81526004016112e095949392919061174a565b6000604051808303816000875af11580156112ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261134591908101906117d5565b90508060018151811061135a5761135a61171b565b60200260200101519350505050919050565b606061137b8484600085611383565b949350505050565b606082471015611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611024565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161143e91906118c9565b60006040518083038185875af1925050503d806000811461147b576040519150601f19603f3d011682016040523d82523d6000602084013e611480565b606091505b50915091506114918783838761149c565b979650505050505050565b6060831561153257825160000361152b5773ffffffffffffffffffffffffffffffffffffffff85163b61152b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611024565b508161137b565b61137b83838151156115475781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102491906118e5565b60006020828403121561158d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156106d4576106d4611594565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b808201808211156106d4576106d4611594565b60008060006060848603121561165c57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561168757600080fd5b8151801515811461079257600080fd5b60808101818560005b60028110156116bf5781518352602092830192909101906001016116a0565b50505083604083015273ffffffffffffffffffffffffffffffffffffffff83166060830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117a757845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101611775565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b600060208083850312156117e857600080fd5b825167ffffffffffffffff8082111561180057600080fd5b818501915085601f83011261181457600080fd5b815181811115611826576118266116ec565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715611869576118696116ec565b60405291825284820192508381018501918883111561188757600080fd5b938501935b82851015610e5d5784518452938501939285019261188c565b60005b838110156118c05781810151838201526020016118a8565b50506000910152565b600082516118db8184602087016118a5565b9190910192915050565b60208152600082518060208401526119048160408501602087016118a5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220330a8e15f048a7c4edfc7141015064b035be083c810be175b46edd66acde7e2c64736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b5061196c806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063651156bc14610030575b600080fd5b61003861003a565b005b610042610044565b565b60008060018101546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015291925073ffffffffffffffffffffffffffffffffffffffff169060009082906370a0823190602401602060405180830381865afa1580156100bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e1919061157b565b905068056bc75e2d631000008111156101e457600983015473ffffffffffffffffffffffffffffffffffffffff166000610179610152610121600a6101e9565b61012a866101e9565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690610257565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000166106da565b9050600061019661015261018d60026101e9565b61012a876101e9565b90506101b973ffffffffffffffffffffffffffffffffffffffff86168483610799565b6101c28261086d565b6101df826101d083876115c3565b6101da91906115c3565b610a66565b505050505b505050565b6000816000036101fb57506000919050565b81600061020782610e69565b90506070811015610220578060700382901b9150610233565b6070811115610233576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b6000617fff60f084811c8216919084901c8116908290036102d35780617fff036102a657507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050507f8000000000000000000000000000000000000000000000000000000000000000811682186106d4565b80617fff0361035a577dffffffffffffffffffffffffffff0000000000000000000000000000000084161561032d57507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000166106d4565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003610428577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036103d957507f7fff80000000000000000000000000000000000000000000000000000000000091506106d49050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff000000000000000000000000000000000000000000000000000000000000176106d4565b6dffffffffffffffffffffffffffff608085901c16600082900361044f5760019150610461565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c1660008490036104c95780156104c457600061049082610e69565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b6104de565b6e0100000000000000000000000000001760721b5b8181816104ed576104ed6115d6565b04905080600003610555577f80000000000000000000000000000000000000000000000000000000000000008787181661052857600061054a565b7f80000000000000000000000000000000000000000000000000000000000000005b9450505050506106d4565b6d100000000000000000000000000081101561057357610573611605565b60006e0800000000000000000000000000008210156105d3576e0400000000000000000000000000008210156105c8576e0200000000000000000000000000008210156105c15760706105cb565b60716105cb565b60725b60ff166105dc565b6105dc82610e69565b9050836140710181860111156105fa57617fff945060009150610694565b83818601613ffc011015610615576000945060009150610694565b83818601613f8c011015610662578385613ffc011115610640578385613ffc010382901b9150610659565b8385613ffc01101561065957613ffc8585030382901c91505b60009450610694565b6070811115610675576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b955050505050505b92915050565b6000617fff60f083901c16613fff8110156106f85750600092915050565b6f80000000000000000000000000000000608084901c1061071857600080fd5b6140fe81111561072757600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f8210156107635761406f8290031c610792565b61406f821115610792577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b5b9392505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526101e49084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610f19565b600061088561087c60026101e9565b61012a846101e9565b600154600a5491925073ffffffffffffffffffffffffffffffffffffffff90811691166108c88273d9e1ce17f2641f24ae83637ab66a2cca9c378b9f600061102d565b60006108d3846111af565b905061090b73ffffffffffffffffffffffffffffffffffffffff831673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f600061102d565b61094073ffffffffffffffffffffffffffffffffffffffff831673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f8361102d565b73d9e1ce17f2641f24ae83637ab66a2cca9c378b9f63e8e3370084846109877fffffffffffffffffffffffffffffffff0000000000000000000000000000000089166106da565b8560008080610997426064611634565b60405160e08a901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff9889166004820152968816602488015260448701959095526064860193909352608485019190915260a484015290921660c482015260e4810191909152610104016060604051808303816000875af1158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c9190611647565b5050505050505050565b600080806007810154600882015491925073ffffffffffffffffffffffffffffffffffffffff9081169116600080600101546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152600060248301529091169150819063095ea7b3906044016020604051808303816000875af1158015610b11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b359190611675565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820188905282169063095ea7b3906044016020604051808303816000875af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190611675565b506040517f3df021240000000000000000000000000000000000000000000000000000000081526000600482018190526001602483015260448201889052606482018190529073ffffffffffffffffffffffffffffffffffffffff851690633df02124906084016020604051808303816000875af1158015610c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c79919061157b565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152600060248301529192509084169063095ea7b3906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190611675565b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af1158015610d8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db09190611675565b5060408051808201825260008082526020820184905291517f0c3e4b5400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871691630c3e4b5491610e1a919085903090600401611697565b6020604051808303816000875af1158015610e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5d919061157b565b98975050505050505050565b6000808211610e7757600080fd5b60007001000000000000000000000000000000008310610e9957608092831c92015b680100000000000000008310610eb157604092831c92015b6401000000008310610ec557602092831c92015b620100008310610ed757601092831c92015b6101008310610ee857600892831c92015b60108310610ef857600492831c92015b60048310610f0857600292831c92015b600283106106d45760010192915050565b6000610f7b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661136c9092919063ffffffff16565b9050805160001480610f9c575080806020019051810190610f9c9190611675565b6101e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b8015806110cd57506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156110a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cb919061157b565b155b611159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401611024565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526101e49084907f095ea7b300000000000000000000000000000000000000000000000000000000906064016107eb565b604080516002808252606082018352600092839291906020830190803683375050600154825192935060009273ffffffffffffffffffffffffffffffffffffffff9091169150839083906112055761120561171b565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600a8201548351911690839060019081106112455761124561171b565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600073d9e1ce17f2641f24ae83637ab66a2cca9c378b9f6338ed17396112b17fffffffffffffffffffffffffffffffff0000000000000000000000000000000088166106da565b600086306112c0426064611634565b6040518663ffffffff1660e01b81526004016112e095949392919061174a565b6000604051808303816000875af11580156112ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261134591908101906117d5565b90508060018151811061135a5761135a61171b565b60200260200101519350505050919050565b606061137b8484600085611383565b949350505050565b606082471015611415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611024565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161143e91906118c9565b60006040518083038185875af1925050503d806000811461147b576040519150601f19603f3d011682016040523d82523d6000602084013e611480565b606091505b50915091506114918783838761149c565b979650505050505050565b6060831561153257825160000361152b5773ffffffffffffffffffffffffffffffffffffffff85163b61152b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611024565b508161137b565b61137b83838151156115475781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102491906118e5565b60006020828403121561158d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156106d4576106d4611594565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b808201808211156106d4576106d4611594565b60008060006060848603121561165c57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561168757600080fd5b8151801515811461079257600080fd5b60808101818560005b60028110156116bf5781518352602092830192909101906001016116a0565b50505083604083015273ffffffffffffffffffffffffffffffffffffffff83166060830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117a757845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101611775565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b600060208083850312156117e857600080fd5b825167ffffffffffffffff8082111561180057600080fd5b818501915085601f83011261181457600080fd5b815181811115611826576118266116ec565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715611869576118696116ec565b60405291825284820192508381018501918883111561188757600080fd5b938501935b82851015610e5d5784518452938501939285019261188c565b60005b838110156118c05781810151838201526020016118a8565b50506000910152565b600082516118db8184602087016118a5565b9190910192915050565b60208152600082518060208401526119048160408501602087016118a5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212204f0a36eb5f09a01776effdac9d397c6112b8ac81fb0731c371cd19c25dd1514f64736f6c63430008130033", "nonce": "0xf", "accessList": [] }, @@ -304,7 +304,7 @@ "isFixedGasLimit": false }, { - "hash": "0x2f2cdafe34129558e4f750a376e18fdcd8f12e243cc816d5a1be2ab54a98aea8", + "hash": "0xbf64fe37360d8b9fc837d807f835eaa9c53f814658cbb9637b920465011c34d7", "transactionType": "CREATE", "contractName": "DiamondInit", "contractAddress": "0x7f7A6fA77E3De3e90be433834f23E24214bbe3C8", @@ -315,7 +315,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x2ddcd6", "value": "0x0", - "data": "0x608060405234801561001057600080fd5b50612947806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806311567a5714610030575b600080fd5b61004361003e3660046125fc565b610045565b005b600061004f610455565b7f01ffc9a7000000000000000000000000000000000000000000000000000000006000908152600382016020526040808220805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681179092557f1f931c1c00000000000000000000000000000000000000000000000000000000845282842080548216831790557f48e2b09300000000000000000000000000000000000000000000000000000000845282842080548216831790557f7f5828d00000000000000000000000000000000000000000000000000000000084529183208054909216179055835191925061014691610489565b6101747fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe188360000151610489565b6101a27fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab3548360000151610489565b6101d07ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b99199228360000151610489565b6101fe7fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e28360000151610489565b61022c7f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd8360000151610489565b61025a7fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a08360000151610489565b6102887f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8360000151610489565b6102b67f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b8360000151610489565b6102e47fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b8360000151610489565b6103127faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d8360000151610489565b6103407f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb8360000151610489565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690558151600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556000806103b96104f4565b66038d7ea4c68000815561b131600182015590506103d76001600055565b6103f38460200151856040015186606001518760800151610522565b8360a001516104006106e6565b6002018190555060026104116106e6565b60030155670de0b6b3a7640000610426610714565b556000610431610742565b6000600682018190556007820155670de0b6b3a7640000600e909101555050505050565b60008061048360017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c612708565b92915050565b6104aa81610495610770565b6000858152602091909152604090209061079e565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008061048360017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea127612708565b600061052c6107c7565b4360058083019190915560006006830155600482015566038d7ea4c680006002820155670de0b6b3a7640000600382018190556001820155828155855185519192509081146105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5f616d6f756e7473206172726179206e6f742073616d65206c656e677468000060448201526064015b60405180910390fd5b8351811461066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f5f7374616b696e675368617265494473206172726179206e6f742073616d652060448201527f6c656e677468000000000000000000000000000000000000000000000000000060648201526084016105d3565b60005b818110156106dd576106cd87828151811061068c5761068c61271b565b60200260200101518783815181106106a6576106a661271b565b60200260200101518784815181106106c0576106c061271b565b60200260200101516107f5565b6106d68161274a565b905061066f565b50505050505050565b60008061048360017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297612708565b60008061048360017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665612708565b60008061048360017f2a1c4d9e43cc908458204ba8dd637dd73ede6adc739c3209ac617ae953246cc1612708565b60008061048360017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612708565b60006107c08373ffffffffffffffffffffffffffffffffffffffff8416610917565b9392505050565b60008061048360017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612708565b60006107ff6107c7565b6000838152600782016020526040902090915061081a61095a565b805415610864576001810154600683015482546000929164e8d4a51000916108429190612782565b61084c91906127c8565b6108569190612708565b90506108628682610b59565b505b838160000160008282546108789190612803565b90915550506006820154815464e8d4a510009161089491612782565b61089e91906127c8565b6001820155836108ac6107c7565b60080160008282546108be9190612803565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b6000818152600183016020526040812054610483575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b60006109646107c7565b600581018054919250904311610978575050565b610980610c4c565b81600801546000036109925743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109bc610ccd565b90506000670de0b6b3a76400008660000154836109d99190612782565b6109e391906127c8565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a9991906127c8565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610b0457600080fd5b505af1158015610b18573d6000803e3d6000fd5b505050506008860154610b308264e8d4a51000612782565b610b3a91906127c8565b8560010154610b499190612803565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf59190612816565b905080831115610c2557610c2073ffffffffffffffffffffffffffffffffffffffff83168583610d0a565b610c46565b610c4673ffffffffffffffffffffffffffffffffffffffff83168585610d0a565b50505050565b6000610c566107c7565b90506000610c62610d97565b905060008260030154821115610c8e5760028301546003840154610c869084612708565b119050610ca7565b8260020154828460030154610ca39190612708565b1190505b8015610cc857610cbb836001015483610dc1565b6001840155600383018290555b505050565b600080610cd86107c7565b6005015490506000610ce86107c7565b60010154905080610cf98343612708565b610d039190612782565b9250505090565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cc8908490610f3f565b6000610dbc816001015473ffffffffffffffffffffffffffffffffffffffff1661104e565b905090565b600080610dcd846111bf565b90506000610dda846111bf565b90506000610def670e92596fd62900006111bf565b90506000610e04670de0b6b3a76400006111bf565b90506000610e88610e5f610e3a7fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687611232565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061125c565b9050610f0c610ee582610ebd7fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687611847565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c6e565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612095565b9550674563918244f40000861180610f2b57506702c68af0bb14000086105b15610f34578795505b505050505092915050565b6000610fa1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121539092919063ffffffff16565b9050805160001480610fc2575080806020019051810190610fc2919061282f565b610cc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016105d3565b60008061105961216a565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116110c25750505050508152505090506110e8600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361111857806040015191506111b9565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146111b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016105d3565b806060015191505b50919050565b6000816000036111d157506000919050565b8160006111dd82612198565b905060708110156111f6578060700382901b9150611209565b6070811115611209576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b60006107c0837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112eb5780617fff036112e1577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112b6578492505050610483565b507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b8492505050610483565b80617fff036112fe578392505050610483565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361133b576001935061134d565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff16600085900361138a576001945061139c565b6e010000000000000000000000000000175b82600003611403577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113f357876113f6565b60005b9650505050505050610483565b8060000361145a577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113f357886113f6565b848603821515851515036115e65760708113156114805789975050505050505050610483565b60008113156114925790811c906114df565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156114c95788975050505050505050610483565b60008112156114df578060000384901c93508596505b928101926e0200000000000000000000000000008410611505576001968701969390931c925b86617fff036115695784611539577f7fff00000000000000000000000000000000000000000000000000000000000061155b565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610483565b6e010000000000000000000000000000841015611589576000965061159d565b6dffffffffffffffffffffffffffff841693505b83607088901b866115af5760006115c1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610483565b600081131561160157600184901b9350600187039650611618565b600081121561161857600182901b91506001860396505b607081131561162a57600191506116b3565b6001811315611647576001810360018303901c60010191506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561167857600193506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8112156116b3576001816000030360018503901c60010193505b8184106116c45781840393506116cd565b83820393508294505b836000036116e657506000965061048395505050505050565b60006116f185612198565b90508060710361171d57600185901c6dffffffffffffffffffffffffffff169450600188019750611798565b607081101561178457607081900380891115611753578086901b6dffffffffffffffffffffffffffff169550808903985061177e565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611798565b6dffffffffffffffffffffffffffff851694505b87617fff036117fd57856117cc577f7fff0000000000000000000000000000000000000000000000000000000000006117ee565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610483565b84607089901b8761180f576000611821565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610483565b6000617fff60f084811c8216919084901c81169082900361199c5780617fff0361191a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036118c4575050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f8000000000000000000000000000000000000000000000000000000000000000036112b657505050818117610483565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b80617fff03611a27577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119fa57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610483565b6dffffffffffffffffffffffffffff608086901c166000839003611a4e5760019250611a60565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a875760019250611a99565b6e010000000000000000000000000000175b808202915081600003611b03577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610483565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b68577c0100000000000000000000000000000000000000000000000000000000831015611b6157611b5c83612198565b611b6b565b60e0611b6b565b60e15b90506140708186011015611b86576000945060009250611c2a565b6140e08186011015611bc957614070851015611bab57846140700383901c9250611bc0565b614070851115611bc057614070850383901b92505b60009450611c2a565b61c0dd8186011115611be357617fff945060009250611c2a565b6070811115611bfa576070810383901c9250611c0d565b6070811015611c0d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f084811c8216919084901c811690829003611cbd5780617fff0361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b80617fff03611d44577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611d1757507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610483565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611e12577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611dc357507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610483565b6dffffffffffffffffffffffffffff608085901c166000829003611e395760019150611e4b565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611eb3578015611eae576000611e7a82612198565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611ec8565b6e0100000000000000000000000000001760721b5b818181611ed757611ed7612799565b04905080600003611f12577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b6d1000000000000000000000000000811015611f3057611f30612851565b60006e080000000000000000000000000000821015611f90576e040000000000000000000000000000821015611f85576e020000000000000000000000000000821015611f7e576070611f88565b6071611f88565b60725b60ff16611f99565b611f9982612198565b905083614071018186011115611fb757617fff945060009150612051565b83818601613ffc011015611fd2576000945060009150612051565b83818601613f8c01101561201f578385613ffc011115611ffd578385613ffc010382901b9150612016565b8385613ffc01101561201657613ffc8585030382901c91505b60009450612051565b6070811115612032576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f083901c16613fff8110156120b35750600092915050565b6f80000000000000000000000000000000608084901c106120d357600080fd5b6140fe8111156120e257600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f82101561211e5761406f8290031c6107c0565b61406f8211156107c0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60606121628484600085612248565b949350505050565b60008061048360017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612708565b60008082116121a657600080fd5b600070010000000000000000000000000000000083106121c857608092831c92015b6801000000000000000083106121e057604092831c92015b64010000000083106121f457602092831c92015b62010000831061220657601092831c92015b610100831061221757600892831c92015b6010831061222757600492831c92015b6004831061223757600292831c92015b600283106104835760010192915050565b6060824710156122da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016105d3565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161230391906128a4565b60006040518083038185875af1925050503d8060008114612340576040519150601f19603f3d011682016040523d82523d6000602084013e612345565b606091505b509150915061235687838387612361565b979650505050505050565b606083156123f75782516000036123f05773ffffffffffffffffffffffffffffffffffffffff85163b6123f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105d3565b5081612162565b612162838381511561240c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d391906128c0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561249257612492612440565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156124df576124df612440565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461122d57600080fd5b600067ffffffffffffffff82111561252557612525612440565b5060051b60200190565b600082601f83011261254057600080fd5b813560206125556125508361250b565b612498565b82815260059290921b8401810191818101908684111561257457600080fd5b8286015b8481101561259657612589816124e7565b8352918301918301612578565b509695505050505050565b600082601f8301126125b257600080fd5b813560206125c26125508361250b565b82815260059290921b840181019181810190868411156125e157600080fd5b8286015b8481101561259657803583529183019183016125e5565b60006020828403121561260e57600080fd5b813567ffffffffffffffff8082111561262657600080fd5b9083019060c0828603121561263a57600080fd5b61264261246f565b61264b836124e7565b815260208301358281111561265f57600080fd5b61266b8782860161252f565b60208301525060408301358281111561268357600080fd5b61268f878286016125a1565b6040830152506060830135828111156126a757600080fd5b6126b3878286016125a1565b6060830152506080830135608082015260a083013560a082015280935050505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361277b5761277b6126d9565b5060010190565b8082028115828204841417610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826127fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610483576104836126d9565b60006020828403121561282857600080fd5b5051919050565b60006020828403121561284157600080fd5b815180151581146107c057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b8381101561289b578181015183820152602001612883565b50506000910152565b600082516128b6818460208701612880565b9190910192915050565b60208152600082518060208401526128df816040850160208701612880565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220a1233ff8441cb4254bbba18ec4fda9e42c7f3a05e05d5f16960f885021953bb964736f6c63430008130033", + "data": "0x608060405234801561001057600080fd5b50612947806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806311567a5714610030575b600080fd5b61004361003e3660046125fc565b610045565b005b600061004f610455565b7f01ffc9a7000000000000000000000000000000000000000000000000000000006000908152600382016020526040808220805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681179092557f1f931c1c00000000000000000000000000000000000000000000000000000000845282842080548216831790557f48e2b09300000000000000000000000000000000000000000000000000000000845282842080548216831790557f7f5828d00000000000000000000000000000000000000000000000000000000084529183208054909216179055835191925061014691610489565b6101747fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe188360000151610489565b6101a27fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab3548360000151610489565b6101d07ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b99199228360000151610489565b6101fe7fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e28360000151610489565b61022c7f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd8360000151610489565b61025a7fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a08360000151610489565b6102887f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8360000151610489565b6102b67f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b8360000151610489565b6102e47fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b8360000151610489565b6103127faf1a415cb2281de448f1771a3c8144f554e6e38bb3bc1acc8218c01a5d75721d8360000151610489565b6103407f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb8360000151610489565b601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690558151600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556000806103b96104f4565b66038d7ea4c68000815561b131600182015590506103d76001600055565b6103f38460200151856040015186606001518760800151610522565b8360a001516104006106e6565b6002018190555060026104116106e6565b60030155670de0b6b3a7640000610426610714565b556000610431610742565b6000600682018190556007820155670de0b6b3a7640000600e909101555050505050565b60008061048360017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c612708565b92915050565b6104aa81610495610770565b6000858152602091909152604090209061079e565b50604051339073ffffffffffffffffffffffffffffffffffffffff83169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008061048360017f90ef46a964399d9534661d43e2a7eca61b5554da1d640d825ee17430f07ea127612708565b600061052c6107c7565b4360058083019190915560006006830155600482015566038d7ea4c680006002820155670de0b6b3a7640000600382018190556001820155828155855185519192509081146105dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f5f616d6f756e7473206172726179206e6f742073616d65206c656e677468000060448201526064015b60405180910390fd5b8351811461066c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f5f7374616b696e675368617265494473206172726179206e6f742073616d652060448201527f6c656e677468000000000000000000000000000000000000000000000000000060648201526084016105d3565b60005b818110156106dd576106cd87828151811061068c5761068c61271b565b60200260200101518783815181106106a6576106a661271b565b60200260200101518784815181106106c0576106c061271b565b60200260200101516107f5565b6106d68161274a565b905061066f565b50505050505050565b60008061048360017fbca6c7d392eb6669dce6857bc30fb4d8757ac1e2266db9ec99d5edccc97e4297612708565b60008061048360017f018285a200fda197f1f7d80045f4f712bab87dbd8d58da9f096cff3860ace665612708565b60008061048360017f2a1c4d9e43cc908458204ba8dd637dd73ede6adc739c3209ac617ae953246cc1612708565b60008061048360017f7a9158dd65ad6382295fd9a8aad0a64b5d99867a77a0a1b2bc38a4f50be8bd77612708565b60006107c08373ffffffffffffffffffffffffffffffffffffffff8416610917565b9392505050565b60008061048360017f70cc3e2e4451981fbf42e6425c3258ca1dd9a72cf607c2ec581ad3ee46914f18612708565b60006107ff6107c7565b6000838152600782016020526040902090915061081a61095a565b805415610864576001810154600683015482546000929164e8d4a51000916108429190612782565b61084c91906127c8565b6108569190612708565b90506108628682610b59565b505b838160000160008282546108789190612803565b90915550506006820154815464e8d4a510009161089491612782565b61089e91906127c8565b6001820155836108ac6107c7565b60080160008282546108be9190612803565b9091555050604051848152839073ffffffffffffffffffffffffffffffffffffffff8716907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a35050505050565b6000818152600183016020526040812054610483575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b60006109646107c7565b600581018054919250904311610978575050565b610980610c4c565b81600801546000036109925743905550565b600a5460095473ffffffffffffffffffffffffffffffffffffffff918216911660006109bc610ccd565b90506000670de0b6b3a76400008660000154836109d99190612782565b6109e391906127c8565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081523060048201526024810182905290915073ffffffffffffffffffffffffffffffffffffffff8516906340c10f1990604401600060405180830381600087803b158015610a5457600080fd5b505af1158015610a68573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff166340c10f1984886004015484610a9991906127c8565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401600060405180830381600087803b158015610b0457600080fd5b505af1158015610b18573d6000803e3d6000fd5b505050506008860154610b308264e8d4a51000612782565b610b3a91906127c8565b8560010154610b499190612803565b6001860155505043909255505050565b600080600a01546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116915060009082906370a0823190602401602060405180830381865afa158015610bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf59190612816565b905080831115610c2557610c2073ffffffffffffffffffffffffffffffffffffffff83168583610d0a565b610c46565b610c4673ffffffffffffffffffffffffffffffffffffffff83168585610d0a565b50505050565b6000610c566107c7565b90506000610c62610d97565b905060008260030154821115610c8e5760028301546003840154610c869084612708565b119050610ca7565b8260020154828460030154610ca39190612708565b1190505b8015610cc857610cbb836001015483610dc1565b6001840155600383018290555b505050565b600080610cd86107c7565b6005015490506000610ce86107c7565b60010154905080610cf98343612708565b610d039190612782565b9250505090565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610cc8908490610f3f565b6000610dbc816001015473ffffffffffffffffffffffffffffffffffffffff1661104e565b905090565b600080610dcd846111bf565b90506000610dda846111bf565b90506000610def670e92596fd62900006111bf565b90506000610e04670de0b6b3a76400006111bf565b90506000610e88610e5f610e3a7fffffffffffffffffffffffffffffffff00000000000000000000000000000000851687611232565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000001690565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000084169061125c565b9050610f0c610ee582610ebd7fffffffffffffffffffffffffffffffff00000000000000000000000000000000891687611847565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000001690611c6e565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016612095565b9550674563918244f40000861180610f2b57506702c68af0bb14000086105b15610f34578795505b505050505092915050565b6000610fa1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121539092919063ffffffff16565b9050805160001480610fc2575080806020019051810190610fc2919061282f565b610cc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016105d3565b60008061105961216a565b6040805160c081018252825473ffffffffffffffffffffffffffffffffffffffff9081168252600184015416602082015260028084015482840152600384015460608301526004840154608083015282518084019384905291939260a085019291600585019182845b8154815260200190600101908083116110c25750505050508152505090506110e8600090565b6001015473ffffffffffffffffffffffffffffffffffffffff9081169084160361111857806040015191506111b9565b806020015173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146111b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f545741504f7261636c653a20494e56414c49445f544f4b454e0000000000000060448201526064016105d3565b806060015191505b50919050565b6000816000036111d157506000919050565b8160006111dd82612198565b905060708110156111f6578060700382901b9150611209565b6070811115611209576070810382901c91505b613fff0160701b6dffffffffffffffffffffffffffff919091161760801b92915050565b919050565b60006107c0837f800000000000000000000000000000000000000000000000000000000000000084185b6000617fff60f084811c8216919084901c8116908290036112eb5780617fff036112e1577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036112b6578492505050610483565b507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b8492505050610483565b80617fff036112fe578392505050610483565b6f80000000000000000000000000000000608086901c90811015906dffffffffffffffffffffffffffff16600084900361133b576001935061134d565b6e010000000000000000000000000000175b6f80000000000000000000000000000000608087901c90811015906dffffffffffffffffffffffffffff16600085900361138a576001945061139c565b6e010000000000000000000000000000175b82600003611403577fffffffffffffffffffffffffffffffff0000000000000000000000000000000088167f8000000000000000000000000000000000000000000000000000000000000000146113f357876113f6565b60005b9650505050505050610483565b8060000361145a577fffffffffffffffffffffffffffffffff0000000000000000000000000000000089167f8000000000000000000000000000000000000000000000000000000000000000146113f357886113f6565b848603821515851515036115e65760708113156114805789975050505050505050610483565b60008113156114925790811c906114df565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908112156114c95788975050505050505050610483565b60008112156114df578060000384901c93508596505b928101926e0200000000000000000000000000008410611505576001968701969390931c925b86617fff036115695784611539577f7fff00000000000000000000000000000000000000000000000000000000000061155b565b7fffff0000000000000000000000000000000000000000000000000000000000005b975050505050505050610483565b6e010000000000000000000000000000841015611589576000965061159d565b6dffffffffffffffffffffffffffff841693505b83607088901b866115af5760006115c1565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b975050505050505050610483565b600081131561160157600184901b9350600187039650611618565b600081121561161857600182901b91506001860396505b607081131561162a57600191506116b3565b6001811315611647576001810360018303901c60010191506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081121561167857600193506116b3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8112156116b3576001816000030360018503901c60010193505b8184106116c45781840393506116cd565b83820393508294505b836000036116e657506000965061048395505050505050565b60006116f185612198565b90508060710361171d57600185901c6dffffffffffffffffffffffffffff169450600188019750611798565b607081101561178457607081900380891115611753578086901b6dffffffffffffffffffffffffffff169550808903985061177e565b6000987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019590951b945b50611798565b6dffffffffffffffffffffffffffff851694505b87617fff036117fd57856117cc577f7fff0000000000000000000000000000000000000000000000000000000000006117ee565b7fffff0000000000000000000000000000000000000000000000000000000000005b98505050505050505050610483565b84607089901b8761180f576000611821565b6f800000000000000000000000000000005b6fffffffffffffffffffffffffffffffff16171760801b98505050505050505050610483565b6000617fff60f084811c8216919084901c81169082900361199c5780617fff0361191a577fffffffffffffffffffffffffffffffff00000000000000000000000000000000808516908616036118c4575050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000858518167f8000000000000000000000000000000000000000000000000000000000000000036112b657505050818117610483565b7f7fffffffffffffffffffffffffffffff00000000000000000000000000000000841660000361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000081168218610483565b80617fff03611a27577f7fffffffffffffffffffffffffffffff0000000000000000000000000000000085166000036119fa57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050507f800000000000000000000000000000000000000000000000000000000000000082168118610483565b6dffffffffffffffffffffffffffff608086901c166000839003611a4e5760019250611a60565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608086901c166000839003611a875760019250611a99565b6e010000000000000000000000000000175b808202915081600003611b03577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b7f80000000000000000000000000000000000000000000000000000000000000005b945050505050610483565b9282019260007c0200000000000000000000000000000000000000000000000000000000831015611b68577c0100000000000000000000000000000000000000000000000000000000831015611b6157611b5c83612198565b611b6b565b60e0611b6b565b60e15b90506140708186011015611b86576000945060009250611c2a565b6140e08186011015611bc957614070851015611bab57846140700383901c9250611bc0565b614070851115611bc057614070850383901b92505b60009450611c2a565b61c0dd8186011115611be357617fff945060009250611c2a565b6070811115611bfa576070810383901c9250611c0d565b6070811015611c0d578060700383901b92505b6dffffffffffffffffffffffffffff831692506140df8186010394505b82607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f084811c8216919084901c811690829003611cbd5780617fff0361196f57507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b80617fff03611d44577dffffffffffffffffffffffffffff00000000000000000000000000000000841615611d1757507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f800000000000000000000000000000000000000000000000000000000000000016610483565b7f7fffffffffffffffffffffffffffffff000000000000000000000000000000008416600003611e12577f7fffffffffffffffffffffffffffffff000000000000000000000000000000008516600003611dc357507f7fff80000000000000000000000000000000000000000000000000000000000091506104839050565b5050508082187f8000000000000000000000000000000000000000000000000000000000000000167f7fff00000000000000000000000000000000000000000000000000000000000017610483565b6dffffffffffffffffffffffffffff608085901c166000829003611e395760019150611e4b565b6e010000000000000000000000000000175b6dffffffffffffffffffffffffffff608087901c166000849003611eb3578015611eae576000611e7a82612198565b6001955060e2039384017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e01939190911b90505b611ec8565b6e0100000000000000000000000000001760721b5b818181611ed757611ed7612799565b04905080600003611f12577f800000000000000000000000000000000000000000000000000000000000000087871816611ad6576000611af8565b6d1000000000000000000000000000811015611f3057611f30612851565b60006e080000000000000000000000000000821015611f90576e040000000000000000000000000000821015611f85576e020000000000000000000000000000821015611f7e576070611f88565b6071611f88565b60725b60ff16611f99565b611f9982612198565b905083614071018186011115611fb757617fff945060009150612051565b83818601613ffc011015611fd2576000945060009150612051565b83818601613f8c01101561201f578385613ffc011115611ffd578385613ffc010382901b9150612016565b8385613ffc01101561201657613ffc8585030382901c91505b60009450612051565b6070811115612032576070810382901c91505b6dffffffffffffffffffffffffffff8216915083818601613f8d010394505b81607086901b888a186f8000000000000000000000000000000060801b1660801c6fffffffffffffffffffffffffffffffff16171760801b95505050505050610483565b6000617fff60f083901c16613fff8110156120b35750600092915050565b6f80000000000000000000000000000000608084901c106120d357600080fd5b6140fe8111156120e257600080fd5b6e0100000000000000000000000000006dffffffffffffffffffffffffffff608085901c161761406f82101561211e5761406f8290031c6107c0565b61406f8211156107c0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf9182011b9392505050565b60606121628484600085612248565b949350505050565b60008061048360017f6b6964d3163571843d9243709093eabadac35e1c5a00008af94bd58d4c94e628612708565b60008082116121a657600080fd5b600070010000000000000000000000000000000083106121c857608092831c92015b6801000000000000000083106121e057604092831c92015b64010000000083106121f457602092831c92015b62010000831061220657601092831c92015b610100831061221757600892831c92015b6010831061222757600492831c92015b6004831061223757600292831c92015b600283106104835760010192915050565b6060824710156122da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016105d3565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161230391906128a4565b60006040518083038185875af1925050503d8060008114612340576040519150601f19603f3d011682016040523d82523d6000602084013e612345565b606091505b509150915061235687838387612361565b979650505050505050565b606083156123f75782516000036123f05773ffffffffffffffffffffffffffffffffffffffff85163b6123f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105d3565b5081612162565b612162838381511561240c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d391906128c0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561249257612492612440565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156124df576124df612440565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461122d57600080fd5b600067ffffffffffffffff82111561252557612525612440565b5060051b60200190565b600082601f83011261254057600080fd5b813560206125556125508361250b565b612498565b82815260059290921b8401810191818101908684111561257457600080fd5b8286015b8481101561259657612589816124e7565b8352918301918301612578565b509695505050505050565b600082601f8301126125b257600080fd5b813560206125c26125508361250b565b82815260059290921b840181019181810190868411156125e157600080fd5b8286015b8481101561259657803583529183019183016125e5565b60006020828403121561260e57600080fd5b813567ffffffffffffffff8082111561262657600080fd5b9083019060c0828603121561263a57600080fd5b61264261246f565b61264b836124e7565b815260208301358281111561265f57600080fd5b61266b8782860161252f565b60208301525060408301358281111561268357600080fd5b61268f878286016125a1565b6040830152506060830135828111156126a757600080fd5b6126b3878286016125a1565b6060830152506080830135608082015260a083013560a082015280935050505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361277b5761277b6126d9565b5060010190565b8082028115828204841417610483576104836126d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826127fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610483576104836126d9565b60006020828403121561282857600080fd5b5051919050565b60006020828403121561284157600080fd5b815180151581146107c057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60005b8381101561289b578181015183820152602001612883565b50506000910152565b600082516128b6818460208701612880565b9190910192915050565b60208152600082518060208401526128df816040850160208701612880565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220e8eca827c45b9e288befa8eb55420cf52a6f0566bb712f34d321524db83d6ab864736f6c63430008130033", "nonce": "0x10", "accessList": [] }, @@ -323,7 +323,7 @@ "isFixedGasLimit": false }, { - "hash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "hash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionType": "CREATE", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -337,7 +337,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x6f2fa5", "value": "0x0", - "data": "0x60806040523480156200001157600080fd5b506040516200170538038062001705833981016040819052620000349162001174565b8151620000419062000064565b6200005c8183602001518460400151620000c660201b60201c565b5050620014e4565b60006200007062000321565b6004810180546001600160a01b038581166001600160a01b031983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b8351811015620002d2576000848281518110620000ea57620000ea6200128c565b6020026020010151602001519050600060028111156200010e576200010e620012a2565b816002811115620001235762000123620012a2565b0362000181576200017b8583815181106200014257620001426200128c565b6020026020010151600001518684815181106200016357620001636200128c565b6020026020010151604001516200035760201b60201c565b620002bc565b6001816002811115620001985762000198620012a2565b03620001f0576200017b858381518110620001b757620001b76200128c565b602002602001015160000151868481518110620001d857620001d86200128c565b602002602001015160400151620005e260201b60201c565b6002816002811115620002075762000207620012a2565b036200025f576200017b8583815181106200022657620002266200128c565b6020026020010151600001518684815181106200024757620002476200128c565b6020026020010151604001516200087860201b60201c565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b60648201526084015b60405180910390fd5b5080620002c981620012ce565b915050620000c9565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051620003089392919062001318565b60405180910390a16200031c8282620009dc565b505050565b6000806200035160017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6200141f565b92915050565b6000815111620003ad5760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b6000620003b962000321565b90506001600160a01b038316620004175760405162461bcd60e51b815260206004820152602c6024820152600080516020620016a183398151915260448201526b65206164647265737328302960a01b6064820152608401620002b3565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620004505762000450828562000aae565b60005b8351811015620005db5760008482815181106200047457620004746200128c565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156200051c5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608401620002b3565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b03191617905583620005c08162001435565b94505050508080620005d290620012ce565b91505062000453565b5050505050565b6000815111620006385760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b60006200064462000321565b90506001600160a01b038316620006a25760405162461bcd60e51b815260206004820152602c6024820152600080516020620016a183398151915260448201526b65206164647265737328302960a01b6064820152608401620002b3565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620006db57620006db828562000aae565b60005b8351811015620005db576000848281518110620006ff57620006ff6200128c565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b039081169087168103620007ac5760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401620002b3565b620007b985828462000b1b565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b031916179055836200085d8162001435565b945050505080806200086f90620012ce565b915050620006de565b6000815111620008ce5760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b6000620008da62000321565b90506001600160a01b038316156200095b5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608401620002b3565b60005b8251811015620009d65760008382815181106200097f576200097f6200128c565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b0316620009be84828462000b1b565b50508080620009cd90620012ce565b9150506200095e565b50505050565b6001600160a01b038216620009ef575050565b62000a1482604051806060016040528060288152602001620016796028913962000efb565b600080836001600160a01b03168360405162000a31919062001466565b600060405180830381855af49150503d806000811462000a6e576040519150601f19603f3d011682016040523d82523d6000602084013e62000a73565b606091505b509150915081620009d65780511562000a8f5780518082602001fd5b838360405163192105d760e01b8152600401620002b392919062001484565b62000ad381604051806060016040528060248152602001620016c16024913962000efb565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160a01b03821662000b995760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401620002b3565b306001600160a01b0383160362000c0a5760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401620002b3565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b0316929162000c5b916200141f565b905080821462000d54576001600160a01b0384166000908152600186016020526040812080548390811062000c945762000c946200128c565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b92508291908590811062000ce85762000ce86200128c565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b0384166000908152600186016020526040902080548062000d805762000d80620014b2565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b03198516825286905260408120819055819003620005db57600285015460009062000de6906001906200141f565b6001600160a01b038616600090815260018089016020526040909120015490915080821462000e9c57600087600201838154811062000e295762000e296200128c565b6000918252602090912001546002890180546001600160a01b03909216925082918490811062000e5d5762000e5d6200128c565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b8660020180548062000eb25762000eb2620014b2565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b8181620009d65760405162461bcd60e51b8152600401620002b39190620014c8565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171562000f5a5762000f5a62000f1f565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000f8b5762000f8b62000f1f565b604052919050565b80516001600160a01b038116811462000fab57600080fd5b919050565b60005b8381101562000fcd57818101518382015260200162000fb3565b50506000910152565b60006001600160401b0382111562000ff25762000ff262000f1f565b5060051b60200190565b600082601f8301126200100e57600080fd5b8151602062001027620010218362000fd6565b62000f60565b828152600592831b85018201928282019190878511156200104757600080fd5b8387015b85811015620011675780516001600160401b03808211156200106d5760008081fd5b908901906060828c03601f1901811315620010885760008081fd5b6200109262000f35565b6200109f89850162000f93565b815260408085015160038110620010b65760008081fd5b828b0152918401519183831115620010ce5760008081fd5b82850194508d603f860112620010e657600093508384fd5b898501519350620010fb620010218562000fd6565b84815293871b85018101938a810193508e8511156200111a5760008081fd5b948101945b84861015620011525785516001600160e01b031981168114620011425760008081fd5b8452948a0194928a01926200111f565b9082015287525050509284019284016200104b565b5090979650505050505050565b600080604083850312156200118857600080fd5b82516001600160401b0380821115620011a057600080fd5b9084019060608287031215620011b557600080fd5b620011bf62000f35565b620011ca8362000f93565b81526020620011db81850162000f93565b81830152604084015183811115620011f257600080fd5b80850194505087601f8501126200120857600080fd5b8351838111156200121d576200121d62000f1f565b62001231601f8201601f1916830162000f60565b81815289838388010111156200124657600080fd5b620012578284830185890162000fb0565b6040840152508601519094509150808211156200127357600080fd5b50620012828582860162000ffc565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620012e357620012e3620012b8565b5060010190565b600081518084526200130481602086016020860162000fb0565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015620013ed57898403607f19018652815180516001600160a01b031685528381015189860190600381106200138957634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015620013d75783516001600160e01b0319168252928601926001929092019190860190620013ab565b5097850197955050509082019060010162001341565b50506001600160a01b038a16908801528681036040880152620014118189620012ea565b9a9950505050505050505050565b81810381811115620003515762000351620012b8565b60006001600160601b038281166002600160601b031981016200145c576200145c620012b8565b6001019392505050565b600082516200147a81846020870162000fb0565b9190910192915050565b6001600160a01b0383168152604060208201819052600090620014aa90830184620012ea565b949350505050565b634e487b7160e01b600052603160045260246000fd5b602081526000620014dd6020830184620012ea565b9392505050565b61018580620014f46000396000f3fe608060405260008061003260017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61010f565b600080357fffffffff000000000000000000000000000000000000000000000000000000001681526020829052604090205490925082915073ffffffffffffffffffffffffffffffffffffffff16806100eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374604482015260640160405180910390fd5b3660008037600080366000845af43d6000803e80801561010a573d6000f35b3d6000fd5b81810381811115610149577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea2646970667358221220e216c34f71150a56863c11c7e892a83c49317bfd2bdaa4cf7807e8dbca2d7d1b64736f6c634300081300334c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204164642066616365742063616e277420624c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f64654c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc0000000000000000000000007f7a6fa77e3de3e90be433834f23e24214bbe3c80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014411567a570000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000008e00000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000013a00000000000000000000000000000000000000000000000000000000000001440000000000000000000000000000000000000000000000000000000000000152000000000000000000000000000000000000000000000000000000000000015c0000000000000000000000000d20b46190da9b273a12e59895cf8a750c25541cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c000000000000000000000000000000000000000000000000000000000000000000000000000000001f0bfd4230e54c8089a7fc59c9090fcb40c1cbdc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000057a0ed62700000000000000000000000000000000000000000000000000000000adfca15e0000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000cdffacc60000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000000000000000000000000000001289805419dc74bcdee5d4a06606444e9f1474ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002f2fde38b000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000000000000000000000000000004e037b9a8ce977462da4e10fc164363c827abfc6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020ba2d8cdd00000000000000000000000000000000000000000000000000000000dd390ea000000000000000000000000000000000000000000000000000000000e2d443bd00000000000000000000000000000000000000000000000000000000f986cd5700000000000000000000000000000000000000000000000000000000147f1b96000000000000000000000000000000000000000000000000000000001a867af500000000000000000000000000000000000000000000000000000000f6f172cb00000000000000000000000000000000000000000000000000000000be1d86e10000000000000000000000000000000000000000000000000000000015f97398000000000000000000000000000000000000000000000000000000000083faee0000000000000000000000000000000000000000000000000000000092324611000000000000000000000000000000000000000000000000000000001c1f8aa3000000000000000000000000000000000000000000000000000000006605bfda00000000000000000000000000000000000000000000000000000000016afee700000000000000000000000000000000000000000000000000000000fbff3a41000000000000000000000000000000000000000000000000000000008fe6368300000000000000000000000000000000000000000000000000000000bc3ea01800000000000000000000000000000000000000000000000000000000ebef28a700000000000000000000000000000000000000000000000000000000b0bd67b400000000000000000000000000000000000000000000000000000000017df32700000000000000000000000000000000000000000000000000000000b42165d00000000000000000000000000000000000000000000000000000000036c3df240000000000000000000000000000000000000000000000000000000091df16d3000000000000000000000000000000000000000000000000000000008b38ebb300000000000000000000000000000000000000000000000000000000e0ee685500000000000000000000000000000000000000000000000000000000a9b8b79600000000000000000000000000000000000000000000000000000000221e2e6000000000000000000000000000000000000000000000000000000000214f788200000000000000000000000000000000000000000000000000000000ad3401ed00000000000000000000000000000000000000000000000000000000d3815fb9000000000000000000000000000000000000000000000000000000003535f48b00000000000000000000000000000000000000000000000000000000c5f956af0000000000000000000000000000000000000000000000000000000000000000000000000000000058de01a211b2477ce1393c5512bf6089efc59c250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000082f2ff15d0000000000000000000000000000000000000000000000000000000091d14854000000000000000000000000000000000000000000000000000000008bb9c5bf00000000000000000000000000000000000000000000000000000000248a9ca300000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000003f4ba83a000000000000000000000000000000000000000000000000000000005c975abb00000000000000000000000000000000000000000000000000000000000000000000000000000000d7d3e9c9bc05aba6b9ae47b27ad18d83e441bf320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000034e847fc700000000000000000000000000000000000000000000000000000000a2e6204500000000000000000000000000000000000000000000000000000000283583c600000000000000000000000000000000000000000000000000000000000000000000000000000000635cab41ff7b3b2fa5ebe9518129947a563719b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003fa3305c900000000000000000000000000000000000000000000000000000000bf0d68e4000000000000000000000000000000000000000000000000000000002db8c12900000000000000000000000000000000000000000000000000000000000000000000000000000000119e315502b87e67f1bc98577c735a3518ea47da00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c5f3acd8e0000000000000000000000000000000000000000000000000000000045889bd700000000000000000000000000000000000000000000000000000000776a3bb500000000000000000000000000000000000000000000000000000000ed7662ee000000000000000000000000000000000000000000000000000000002193393300000000000000000000000000000000000000000000000000000000537bb5dc0000000000000000000000000000000000000000000000000000000078b3139b00000000000000000000000000000000000000000000000000000000c0d8012c000000000000000000000000000000000000000000000000000000003cf7857400000000000000000000000000000000000000000000000000000000702f01ee000000000000000000000000000000000000000000000000000000003a98ef390000000000000000000000000000000000000000000000000000000016f0115b000000000000000000000000000000000000000000000000000000000000000000000000000000009f0259fe34bfc22d9cbeeb340cd8d53f35cdeb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c96908b52000000000000000000000000000000000000000000000000000000007cc6bd41000000000000000000000000000000000000000000000000000000006970d473000000000000000000000000000000000000000000000000000000004d8c28c4000000000000000000000000000000000000000000000000000000002f72589e00000000000000000000000000000000000000000000000000000000aa1ec70a00000000000000000000000000000000000000000000000000000000e2bbb15800000000000000000000000000000000000000000000000000000000422f1043000000000000000000000000000000000000000000000000000000009d7de6b3000000000000000000000000000000000000000000000000000000005215915000000000000000000000000000000000000000000000000000000000c5d1cb6300000000000000000000000000000000000000000000000000000000aadc68a5000000000000000000000000000000000000000000000000000000000000000000000000000000006169444ae7a834646f31f2179dbe9153c2cfe79d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005629056cb00000000000000000000000000000000000000000000000000000000a64154f000000000000000000000000000000000000000000000000000000000d5a8cf6400000000000000000000000000000000000000000000000000000000a609d912000000000000000000000000000000000000000000000000000000005b374a400000000000000000000000000000000000000000000000000000000000000000000000000000000038963b77678eb09f9ecc19f42f0371ec3c3c9b7900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000fb6170dcc00000000000000000000000000000000000000000000000000000000d3918c1d000000000000000000000000000000000000000000000000000000004e7c028d0000000000000000000000000000000000000000000000000000000071fc117100000000000000000000000000000000000000000000000000000000a35e50bc000000000000000000000000000000000000000000000000000000005857650800000000000000000000000000000000000000000000000000000000d2bdc9e000000000000000000000000000000000000000000000000000000000be5c687200000000000000000000000000000000000000000000000000000000f23a6e6100000000000000000000000000000000000000000000000000000000bc197c81000000000000000000000000000000000000000000000000000000005469bff100000000000000000000000000000000000000000000000000000000b5a3ff8700000000000000000000000000000000000000000000000000000000efa0982f000000000000000000000000000000000000000000000000000000000d65f47f000000000000000000000000000000000000000000000000000000002565aa420000000000000000000000000000000000000000000000000000000000000000000000000000000082acf7de62ab6b0c240873339c19461a34260794000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001c4b4a9ff00000000000000000000000000000000000000000000000000000000000000000000000000000000b66709aa65aac2b8a6294062d0a0531207481036000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003ac50680600000000000000000000000000000000000000000000000000000000f13a38a600000000000000000000000000000000000000000000000000000000993fba5c000000000000000000000000000000000000000000000000000000000000000000000000000000005d4905664e98a76cf56ebbd023d38c420d465770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001764263cf00000000000000000000000000000000000000000000000000000000000000000000000000000000d64465fc4c7d3bababa5d0e4aff6dffc278bfd18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001651156bc00000000000000000000000000000000000000000000000000000000", + "data": "0x60806040523480156200001157600080fd5b506040516200170538038062001705833981016040819052620000349162001174565b8151620000419062000064565b6200005c8183602001518460400151620000c660201b60201c565b5050620014e4565b60006200007062000321565b6004810180546001600160a01b038581166001600160a01b031983168117909355604051939450169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b8351811015620002d2576000848281518110620000ea57620000ea6200128c565b6020026020010151602001519050600060028111156200010e576200010e620012a2565b816002811115620001235762000123620012a2565b0362000181576200017b8583815181106200014257620001426200128c565b6020026020010151600001518684815181106200016357620001636200128c565b6020026020010151604001516200035760201b60201c565b620002bc565b6001816002811115620001985762000198620012a2565b03620001f0576200017b858381518110620001b757620001b76200128c565b602002602001015160000151868481518110620001d857620001d86200128c565b602002602001015160400151620005e260201b60201c565b6002816002811115620002075762000207620012a2565b036200025f576200017b8583815181106200022657620002266200128c565b6020026020010151600001518684815181106200024757620002476200128c565b6020026020010151604001516200087860201b60201c565b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b60648201526084015b60405180910390fd5b5080620002c981620012ce565b915050620000c9565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051620003089392919062001318565b60405180910390a16200031c8282620009dc565b505050565b6000806200035160017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6200141f565b92915050565b6000815111620003ad5760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b6000620003b962000321565b90506001600160a01b038316620004175760405162461bcd60e51b815260206004820152602c6024820152600080516020620016a183398151915260448201526b65206164647265737328302960a01b6064820152608401620002b3565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620004505762000450828562000aae565b60005b8351811015620005db5760008482815181106200047457620004746200128c565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b031680156200051c5760405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608401620002b3565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b03191617905583620005c08162001435565b94505050508080620005d290620012ce565b91505062000453565b5050505050565b6000815111620006385760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b60006200064462000321565b90506001600160a01b038316620006a25760405162461bcd60e51b815260206004820152602c6024820152600080516020620016a183398151915260448201526b65206164647265737328302960a01b6064820152608401620002b3565b6001600160a01b0383166000908152600182016020526040812054906001600160601b0382169003620006db57620006db828562000aae565b60005b8351811015620005db576000848281518110620006ff57620006ff6200128c565b6020908102919091018101516001600160e01b031981166000908152918690526040909120549091506001600160a01b039081169087168103620007ac5760405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608401620002b3565b620007b985828462000b1b565b6001600160e01b0319821660008181526020878152604080832080546001600160a01b03908116600160a01b6001600160601b038c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281546001600160a01b031916179055836200085d8162001435565b945050505080806200086f90620012ce565b915050620006de565b6000815111620008ce5760405162461bcd60e51b815260206004820152602b6024820152600080516020620016e583398151915260448201526a1858d95d081d1bc818dd5d60aa1b6064820152608401620002b3565b6000620008da62000321565b90506001600160a01b038316156200095b5760405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608401620002b3565b60005b8251811015620009d65760008382815181106200097f576200097f6200128c565b6020908102919091018101516001600160e01b031981166000908152918590526040909120549091506001600160a01b0316620009be84828462000b1b565b50508080620009cd90620012ce565b9150506200095e565b50505050565b6001600160a01b038216620009ef575050565b62000a1482604051806060016040528060288152602001620016796028913962000efb565b600080836001600160a01b03168360405162000a31919062001466565b600060405180830381855af49150503d806000811462000a6e576040519150601f19603f3d011682016040523d82523d6000602084013e62000a73565b606091505b509150915081620009d65780511562000a8f5780518082602001fd5b838360405163192105d760e01b8152600401620002b392919062001484565b62000ad381604051806060016040528060248152602001620016c16024913962000efb565b6002820180546001600160a01b0390921660008181526001948501602090815260408220860185905594840183559182529290200180546001600160a01b0319169091179055565b6001600160a01b03821662000b995760405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608401620002b3565b306001600160a01b0383160362000c0a5760405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608401620002b3565b6001600160e01b03198116600090815260208481526040808320546001600160a01b0386168452600180880190935290832054600160a01b9091046001600160601b0316929162000c5b916200141f565b905080821462000d54576001600160a01b0384166000908152600186016020526040812080548390811062000c945762000c946200128c565b600091825260208083206008830401546001600160a01b038916845260018a019091526040909220805460079092166004026101000a90920460e01b92508291908590811062000ce85762000ce86200128c565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790556001600160e01b03199290921682528690526040902080546001600160a01b0316600160a01b6001600160601b038516021790555b6001600160a01b0384166000908152600186016020526040902080548062000d805762000d80620014b2565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b03198516825286905260408120819055819003620005db57600285015460009062000de6906001906200141f565b6001600160a01b038616600090815260018089016020526040909120015490915080821462000e9c57600087600201838154811062000e295762000e296200128c565b6000918252602090912001546002890180546001600160a01b03909216925082918490811062000e5d5762000e5d6200128c565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055929091168152600189810190925260409020018190555b8660020180548062000eb25762000eb2620014b2565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0388168252600189810190915260408220015550505050505050565b813b8181620009d65760405162461bcd60e51b8152600401620002b39190620014c8565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171562000f5a5762000f5a62000f1f565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000f8b5762000f8b62000f1f565b604052919050565b80516001600160a01b038116811462000fab57600080fd5b919050565b60005b8381101562000fcd57818101518382015260200162000fb3565b50506000910152565b60006001600160401b0382111562000ff25762000ff262000f1f565b5060051b60200190565b600082601f8301126200100e57600080fd5b8151602062001027620010218362000fd6565b62000f60565b828152600592831b85018201928282019190878511156200104757600080fd5b8387015b85811015620011675780516001600160401b03808211156200106d5760008081fd5b908901906060828c03601f1901811315620010885760008081fd5b6200109262000f35565b6200109f89850162000f93565b815260408085015160038110620010b65760008081fd5b828b0152918401519183831115620010ce5760008081fd5b82850194508d603f860112620010e657600093508384fd5b898501519350620010fb620010218562000fd6565b84815293871b85018101938a810193508e8511156200111a5760008081fd5b948101945b84861015620011525785516001600160e01b031981168114620011425760008081fd5b8452948a0194928a01926200111f565b9082015287525050509284019284016200104b565b5090979650505050505050565b600080604083850312156200118857600080fd5b82516001600160401b0380821115620011a057600080fd5b9084019060608287031215620011b557600080fd5b620011bf62000f35565b620011ca8362000f93565b81526020620011db81850162000f93565b81830152604084015183811115620011f257600080fd5b80850194505087601f8501126200120857600080fd5b8351838111156200121d576200121d62000f1f565b62001231601f8201601f1916830162000f60565b81815289838388010111156200124657600080fd5b620012578284830185890162000fb0565b6040840152508601519094509150808211156200127357600080fd5b50620012828582860162000ffc565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620012e357620012e3620012b8565b5060010190565b600081518084526200130481602086016020860162000fb0565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015620013ed57898403607f19018652815180516001600160a01b031685528381015189860190600381106200138957634e487b7160e01b600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b80831015620013d75783516001600160e01b0319168252928601926001929092019190860190620013ab565b5097850197955050509082019060010162001341565b50506001600160a01b038a16908801528681036040880152620014118189620012ea565b9a9950505050505050505050565b81810381811115620003515762000351620012b8565b60006001600160601b038281166002600160601b031981016200145c576200145c620012b8565b6001019392505050565b600082516200147a81846020870162000fb0565b9190910192915050565b6001600160a01b0383168152604060208201819052600090620014aa90830184620012ea565b949350505050565b634e487b7160e01b600052603160045260246000fd5b602081526000620014dd6020830184620012ea565b9392505050565b61018580620014f46000396000f3fe608060405260008061003260017fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c61010f565b600080357fffffffff000000000000000000000000000000000000000000000000000000001681526020829052604090205490925082915073ffffffffffffffffffffffffffffffffffffffff16806100eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f74206578697374604482015260640160405180910390fd5b3660008037600080366000845af43d6000803e80801561010a573d6000f35b3d6000fd5b81810381811115610149577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea264697066735822122006f7eade8665106bc07455cb3ae89d55f0682c27e2773d808e1ab5c5fcc5cc0c64736f6c634300081300334c69624469616d6f6e644375743a205f696e6974206164647265737320686173206e6f20636f64654c69624469616d6f6e644375743a204164642066616365742063616e277420624c69624469616d6f6e644375743a204e657720666163657420686173206e6f20636f64654c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc0000000000000000000000007f7a6fa77e3de3e90be433834f23e24214bbe3c80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000014411567a570000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000008e00000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000013a00000000000000000000000000000000000000000000000000000000000001440000000000000000000000000000000000000000000000000000000000000152000000000000000000000000000000000000000000000000000000000000015c0000000000000000000000000d20b46190da9b273a12e59895cf8a750c25541cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c000000000000000000000000000000000000000000000000000000000000000000000000000000001f0bfd4230e54c8089a7fc59c9090fcb40c1cbdc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000057a0ed62700000000000000000000000000000000000000000000000000000000adfca15e0000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000cdffacc60000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000000000000000000000000000001289805419dc74bcdee5d4a06606444e9f1474ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002f2fde38b000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000000000000000000000000000004e037b9a8ce977462da4e10fc164363c827abfc6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020ba2d8cdd00000000000000000000000000000000000000000000000000000000dd390ea000000000000000000000000000000000000000000000000000000000e2d443bd00000000000000000000000000000000000000000000000000000000f986cd5700000000000000000000000000000000000000000000000000000000147f1b96000000000000000000000000000000000000000000000000000000001a867af500000000000000000000000000000000000000000000000000000000f6f172cb00000000000000000000000000000000000000000000000000000000be1d86e10000000000000000000000000000000000000000000000000000000015f97398000000000000000000000000000000000000000000000000000000000083faee0000000000000000000000000000000000000000000000000000000092324611000000000000000000000000000000000000000000000000000000001c1f8aa3000000000000000000000000000000000000000000000000000000006605bfda00000000000000000000000000000000000000000000000000000000016afee700000000000000000000000000000000000000000000000000000000fbff3a41000000000000000000000000000000000000000000000000000000008fe6368300000000000000000000000000000000000000000000000000000000bc3ea01800000000000000000000000000000000000000000000000000000000ebef28a700000000000000000000000000000000000000000000000000000000b0bd67b400000000000000000000000000000000000000000000000000000000017df32700000000000000000000000000000000000000000000000000000000b42165d00000000000000000000000000000000000000000000000000000000036c3df240000000000000000000000000000000000000000000000000000000091df16d3000000000000000000000000000000000000000000000000000000008b38ebb300000000000000000000000000000000000000000000000000000000e0ee685500000000000000000000000000000000000000000000000000000000a9b8b79600000000000000000000000000000000000000000000000000000000221e2e6000000000000000000000000000000000000000000000000000000000214f788200000000000000000000000000000000000000000000000000000000ad3401ed00000000000000000000000000000000000000000000000000000000d3815fb9000000000000000000000000000000000000000000000000000000003535f48b00000000000000000000000000000000000000000000000000000000c5f956af0000000000000000000000000000000000000000000000000000000000000000000000000000000058de01a211b2477ce1393c5512bf6089efc59c250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000082f2ff15d0000000000000000000000000000000000000000000000000000000091d14854000000000000000000000000000000000000000000000000000000008bb9c5bf00000000000000000000000000000000000000000000000000000000248a9ca300000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000003f4ba83a000000000000000000000000000000000000000000000000000000005c975abb00000000000000000000000000000000000000000000000000000000000000000000000000000000d7d3e9c9bc05aba6b9ae47b27ad18d83e441bf320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000034e847fc700000000000000000000000000000000000000000000000000000000a2e6204500000000000000000000000000000000000000000000000000000000283583c600000000000000000000000000000000000000000000000000000000000000000000000000000000635cab41ff7b3b2fa5ebe9518129947a563719b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003fa3305c900000000000000000000000000000000000000000000000000000000bf0d68e4000000000000000000000000000000000000000000000000000000002db8c12900000000000000000000000000000000000000000000000000000000000000000000000000000000119e315502b87e67f1bc98577c735a3518ea47da00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c5f3acd8e0000000000000000000000000000000000000000000000000000000045889bd700000000000000000000000000000000000000000000000000000000776a3bb500000000000000000000000000000000000000000000000000000000ed7662ee000000000000000000000000000000000000000000000000000000002193393300000000000000000000000000000000000000000000000000000000537bb5dc0000000000000000000000000000000000000000000000000000000078b3139b00000000000000000000000000000000000000000000000000000000c0d8012c000000000000000000000000000000000000000000000000000000003cf7857400000000000000000000000000000000000000000000000000000000702f01ee000000000000000000000000000000000000000000000000000000003a98ef390000000000000000000000000000000000000000000000000000000016f0115b000000000000000000000000000000000000000000000000000000000000000000000000000000009f0259fe34bfc22d9cbeeb340cd8d53f35cdeb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c96908b52000000000000000000000000000000000000000000000000000000007cc6bd41000000000000000000000000000000000000000000000000000000006970d473000000000000000000000000000000000000000000000000000000004d8c28c4000000000000000000000000000000000000000000000000000000002f72589e00000000000000000000000000000000000000000000000000000000aa1ec70a00000000000000000000000000000000000000000000000000000000e2bbb15800000000000000000000000000000000000000000000000000000000422f1043000000000000000000000000000000000000000000000000000000009d7de6b3000000000000000000000000000000000000000000000000000000005215915000000000000000000000000000000000000000000000000000000000c5d1cb6300000000000000000000000000000000000000000000000000000000aadc68a5000000000000000000000000000000000000000000000000000000000000000000000000000000006169444ae7a834646f31f2179dbe9153c2cfe79d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005629056cb00000000000000000000000000000000000000000000000000000000a64154f000000000000000000000000000000000000000000000000000000000d5a8cf6400000000000000000000000000000000000000000000000000000000a609d912000000000000000000000000000000000000000000000000000000005b374a400000000000000000000000000000000000000000000000000000000000000000000000000000000038963b77678eb09f9ecc19f42f0371ec3c3c9b7900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000fb6170dcc00000000000000000000000000000000000000000000000000000000d3918c1d000000000000000000000000000000000000000000000000000000004e7c028d0000000000000000000000000000000000000000000000000000000071fc117100000000000000000000000000000000000000000000000000000000a35e50bc000000000000000000000000000000000000000000000000000000005857650800000000000000000000000000000000000000000000000000000000d2bdc9e000000000000000000000000000000000000000000000000000000000be5c687200000000000000000000000000000000000000000000000000000000f23a6e6100000000000000000000000000000000000000000000000000000000bc197c81000000000000000000000000000000000000000000000000000000005469bff100000000000000000000000000000000000000000000000000000000b5a3ff8700000000000000000000000000000000000000000000000000000000efa0982f000000000000000000000000000000000000000000000000000000000d65f47f000000000000000000000000000000000000000000000000000000002565aa420000000000000000000000000000000000000000000000000000000000000000000000000000000082acf7de62ab6b0c240873339c19461a34260794000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001c4b4a9ff00000000000000000000000000000000000000000000000000000000000000000000000000000000b66709aa65aac2b8a6294062d0a0531207481036000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003ac50680600000000000000000000000000000000000000000000000000000000f13a38a600000000000000000000000000000000000000000000000000000000993fba5c000000000000000000000000000000000000000000000000000000000000000000000000000000005d4905664e98a76cf56ebbd023d38c420d465770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001764263cf00000000000000000000000000000000000000000000000000000000000000000000000000000000d64465fc4c7d3bababa5d0e4aff6dffc278bfd18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001651156bc00000000000000000000000000000000000000000000000000000000", "nonce": "0x11", "accessList": [] }, @@ -345,7 +345,7 @@ "isFixedGasLimit": false }, { - "hash": "0x52afb5b7669abee51d4e73359ffff83f6f9360ed268335d7ddb46424339654cd", + "hash": "0xf545e185066a5b6fbdd77e44627f90323afe068f4a420737e032e1c75bc044d1", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -365,7 +365,7 @@ "isFixedGasLimit": false }, { - "hash": "0xdc15c6b31827e0179be9cfc116af3583ad35e788866de4ec851c5c472a32cbed", + "hash": "0xa5a6ef2c53d02fc060c8dc24e86ca84d07d5b2b2487c392b8299719ba5938303", "transactionType": "CREATE", "contractName": "UbiquityDollarToken", "contractAddress": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", @@ -374,9 +374,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x44fbd8", + "gas": "0x44e2f8", "value": "0x0", - "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613dbd620001296000396000818161080f015281816108a501528181610cc801528181610d5e0152610e8d0152613dbd6000f3fe6080604052600436106101e35760003560e01c806370a0823111610102578063b6232c9911610095578063d0ebdbe711610064578063d0ebdbe714610598578063d5009584146105b8578063d505accf146105e4578063dd62ed3e1461060457600080fd5b8063b6232c99146104f4578063b84c824614610514578063bc701e7514610534578063c4d66de81461057857600080fd5b806384b0196e116100d157806384b0196e1461047757806395d89b411461049f578063a457c2d7146104b4578063a9059cbb146104d457600080fd5b806370a082311461040257806379cc6790146104225780637ecebe00146104425780638456cb591461046257600080fd5b80633659cfe61161017a57806342966c681161014957806342966c68146103a15780634f1ef286146103c157806352d1902d146103d45780635c975abb146103e957600080fd5b80633659cfe61461032c578063395093511461034c5780633f4ba83a1461036c57806340c10f191461038157600080fd5b806320713877116101b657806320713877146102b957806323b872dd146102db578063313ce567146102fb5780633644e5151461031757600080fd5b806306fdde03146101e8578063095ea7b31461021357806313007d551461024357806318160ddd14610296575b600080fd5b3480156101f457600080fd5b506101fd610624565b60405161020a91906136bb565b60405180910390f35b34801561021f57600080fd5b5061023361022e3660046136f7565b6106b6565b604051901515815260200161020a565b34801561024f57600080fd5b50610195546102719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161020a565b3480156102a257600080fd5b506102ab6106cb565b60405190815260200161020a565b3480156102c557600080fd5b506102d96102d4366004613804565b6106db565b005b3480156102e757600080fd5b506102336102f6366004613878565b6107d9565b34801561030757600080fd5b506040516012815260200161020a565b34801561032357600080fd5b506102ab6107ee565b34801561033857600080fd5b506102d96103473660046138b4565b6107f8565b34801561035857600080fd5b506102336103673660046136f7565b6109c9565b34801561037857600080fd5b506102d96109d5565b34801561038d57600080fd5b506102d961039c3660046136f7565b610ae4565b3480156103ad57600080fd5b506102d96103bc3660046138cf565b610c67565b6102d96103cf3660046138e8565b610cb1565b3480156103e057600080fd5b506102ab610e73565b3480156103f557600080fd5b506101305460ff16610233565b34801561040e57600080fd5b506102ab61041d3660046138b4565b610f45565b34801561042e57600080fd5b506102d961043d3660046136f7565b610f70565b34801561044e57600080fd5b506102ab61045d3660046138b4565b6110f6565b34801561046e57600080fd5b506102d9611101565b34801561048357600080fd5b5061048c61120e565b60405161020a979695949392919061394a565b3480156104ab57600080fd5b506101fd6112d0565b3480156104c057600080fd5b506102336104cf3660046136f7565b6112e0565b3480156104e057600080fd5b506102336104ef3660046136f7565b6112ec565b34801561050057600080fd5b506102d961050f366004613a09565b6112f8565b34801561052057600080fd5b506102d961052f366004613a3c565b611495565b34801561054057600080fd5b5061027161054f3660046138b4565b6101c86020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561058457600080fd5b506102d96105933660046138b4565b611588565b3480156105a457600080fd5b506102d96105b33660046138b4565b61176d565b3480156105c457600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff16610271565b3480156105f057600080fd5b506102d96105ff366004613a71565b61189b565b34801561061057600080fd5b506102ab61061f366004613a09565b6118b3565b6060609a805461063390613ae4565b80601f016020809104026020016040519081016040528092919081815260200182805461065f90613ae4565b80156106ac5780601f10610681576101008083540402835291602001916106ac565b820191906000526020600020905b81548152906001019060200180831161068f57829003601f168201915b5050505050905090565b60006106c283836118ed565b90505b92915050565b60006106d660995490565b905090565b600054610100900460ff1661075d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107678282611905565b6107708261198c565b610778611a48565b610780611acd565b61019461078d8282613b7f565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b60006107e6848484611b4a565b949350505050565b60006106d6611b6e565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108a35760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610754565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109187f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109a15760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610754565b6109aa81611b78565b604080516000808252602082019092526109c691839190611c5e565b50565b60006106c28383611e2e565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8e9190613c99565b610ada5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610754565b610ae2611e50565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190613c99565b610c045760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206d696e74657200000000000000006044820152606401610754565b610c0c611ece565b610c168282611f22565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610c6f611ece565b610c793382612009565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d5c5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610754565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610dd17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e5a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610754565b610e6382611b78565b610e6f82826001611c5e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f205760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610754565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff81166000908152609760205260408120546106c5565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a0336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611020573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110449190613c99565b6110905760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206275726e657200000000000000006044820152606401610754565b611098611ece565b6110a28282612009565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe47826040516110ea91815260200190565b60405180910390a25050565b60006106c5826121a7565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611196573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ba9190613c99565b6112065760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610754565b610ae26121d2565b60006060806000806000606060c9546000801b14801561122e575060ca54155b61127a5760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610754565b61128261222e565b61128a61223d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060610194805461063390613ae4565b60006106c2838361224c565b60006106c283836122df565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156113a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cc9190613c99565b6114185760405162461bcd60e51b815260206004820152601c60248201527f446f6c6c61723a206d75737420686176652061646d696e20726f6c65000000006044820152606401610754565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526101c8602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f88bb9e877881758e827c849b8a0e38421bd5ff916f4ef79ed65aec74cc04a5da9190a35050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561150b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152f9190613c99565b61157b5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b610194610e6f8282613b7f565b600054610100900460ff16158080156115a85750600054600160ff909116105b806115c25750303b1580156115c2575060005460ff166001145b6116345760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610754565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561169257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611707826040518060400160405280600f81526020017f556269717569747920446f6c6c617200000000000000000000000000000000008152506040518060400160405280600381526020017f75414400000000000000000000000000000000000000000000000000000000008152506106db565b8015610e6f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156117e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118079190613c99565b6118535760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6118aa878787878787876122ed565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526098602090815260408083209385168352929052908120546106c2565b6000336118fb818585612478565b5060019392505050565b600054610100900460ff166119825760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b610e6f82826125f7565b600054610100900460ff16611a095760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b6109c6816040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525061268d565b600054610100900460ff16611ac55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b610ae2612732565b600054610100900460ff16610ae25760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b600033611b588582856127da565b611b63858585612872565b506001949350505050565b60006106d6612888565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c129190613c99565b6109c65760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610754565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611c9657611c91836128fc565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611d1b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611d1891810190613cc2565b60015b611d8d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610754565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611e225760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610754565b50611c918383836129ec565b6000336118fb818585611e4183836118b3565b611e4b9190613cdb565b612478565b611e58612a11565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610ae25760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610754565b73ffffffffffffffffffffffffffffffffffffffff8216611f855760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610754565b611f9160008383612a64565b8060996000828254611fa39190613cdb565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff82166120925760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610754565b61209e82600083612a64565b73ffffffffffffffffffffffffffffffffffffffff82166000908152609760205260409020548181101561213a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd60205260408120546106c5565b6121da611ece565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611ea43390565b606060cb805461063390613ae4565b606060cc805461063390613ae4565b6000338161225a82866118b3565b9050838110156122d25760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610754565b611b638286868403612478565b6000336118fb818585612872565b8342111561233d5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610754565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861236c8c612a6f565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006123d482612aa4565b905060006123e482878787612aec565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146124615760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610754565b61246c8a8a8a612478565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166125005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff82166125895760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff166126745760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b609a6126808382613b7f565b50609b611c918282613b7f565b600054610100900460ff1661270a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b60cb6127168382613b7f565b5060cc6127238282613b7f565b5050600060c981905560ca5550565b600054610100900460ff166127af5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610754565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60006127e684846118b3565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461286c578181101561285f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610754565b61286c8484848403612478565b50505050565b61287d838383612b14565b611c91838383612b27565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6128b3612f20565b6128bb612f79565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b6129865760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610754565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6129f583612faa565b600082511180612a025750805b15611c915761286c8383612ff7565b6101305460ff16610ae25760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610754565b611c9183838361301c565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b60006106c5612ab1611b6e565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000612afd87878787613096565b91509150612b0a81613185565b5095945050505050565b612b1c611ece565b611c918383836132ea565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526101c86020526040902054168015612c0b5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d85853360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101859052608401600060405180830381600087803b158015612bf257600080fd5b505af1158015612c06573d6000803e3d6000fd5b505050505b73ffffffffffffffffffffffffffffffffffffffff80841660009081526101c86020526040902054168015612cef5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d86863360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101869052608401600060405180830381600087803b158015612cd657600080fd5b505af1158015612cea573d6000803e3d6000fd5b505050505b3360008181526101c8602052604090205473ffffffffffffffffffffffffffffffffffffffff9081169190871614801590612d4057503373ffffffffffffffffffffffffffffffffffffffff861614155b8015612d61575073ffffffffffffffffffffffffffffffffffffffff811615155b15612e1b5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d87873360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101879052608401600060405180830381600087803b158015612e0257600080fd5b505af1158015612e16573d6000803e3d6000fd5b505050505b600080526101c86020527fe7d134a666cf0d3dc2e93021cf030a95aab267df826f43722f067fee94cb84875473ffffffffffffffffffffffffffffffffffffffff1680156118aa5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d88883360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101889052608401600060405180830381600087803b158015612eff57600080fd5b505af1158015612f13573d6000803e3d6000fd5b5050505050505050505050565b600080612f2b61222e565b805190915015612f42578051602090910120919050565b60c9548015612f515792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612f8461223d565b805190915015612f9b578051602090910120919050565b60ca548015612f515792915050565b612fb3816128fc565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606106c28383604051806060016040528060278152602001613d616027913961351d565b6101305460ff1615611c915760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c6520706175736564000000000000000000000000000000000000000000006064820152608401610754565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156130cd575060009050600361317c565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613121573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166131755760006001925092505061317c565b9150600090505b94509492505050565b600081600481111561319957613199613d15565b036131a15750565b60018160048111156131b5576131b5613d15565b036132025760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610754565b600281600481111561321657613216613d15565b036132635760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610754565b600381600481111561327757613277613d15565b036109c65760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff83166133735760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff82166133fc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610754565b613407838383612a64565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260976020526040902054818110156134a35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610754565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906135109086815260200190565b60405180910390a361286c565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516135479190613d44565b600060405180830381855af49150503d8060008114613582576040519150601f19603f3d011682016040523d82523d6000602084013e613587565b606091505b5091509150613598868383876135a2565b9695505050505050565b6060831561361e5782516000036136175773ffffffffffffffffffffffffffffffffffffffff85163b6136175760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610754565b50816107e6565b6107e683838151156136335781518083602001fd5b8060405162461bcd60e51b815260040161075491906136bb565b60005b83811015613668578181015183820152602001613650565b50506000910152565b6000815180845261368981602086016020860161364d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106c26020830184613671565b803573ffffffffffffffffffffffffffffffffffffffff811681146136f257600080fd5b919050565b6000806040838503121561370a57600080fd5b613713836136ce565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff8084111561376b5761376b613721565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156137b1576137b1613721565b816040528093508581528686860111156137ca57600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126137f557600080fd5b6106c283833560208501613750565b60008060006060848603121561381957600080fd5b613822846136ce565b9250602084013567ffffffffffffffff8082111561383f57600080fd5b61384b878388016137e4565b9350604086013591508082111561386157600080fd5b5061386e868287016137e4565b9150509250925092565b60008060006060848603121561388d57600080fd5b613896846136ce565b92506138a4602085016136ce565b9150604084013590509250925092565b6000602082840312156138c657600080fd5b6106c2826136ce565b6000602082840312156138e157600080fd5b5035919050565b600080604083850312156138fb57600080fd5b613904836136ce565b9150602083013567ffffffffffffffff81111561392057600080fd5b8301601f8101851361393157600080fd5b61394085823560208401613750565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261398660e084018a613671565b8381036040850152613998818a613671565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156139f7578351835292840192918401916001016139db565b50909c9b505050505050505050505050565b60008060408385031215613a1c57600080fd5b613a25836136ce565b9150613a33602084016136ce565b90509250929050565b600060208284031215613a4e57600080fd5b813567ffffffffffffffff811115613a6557600080fd5b6107e6848285016137e4565b600080600080600080600060e0888a031215613a8c57600080fd5b613a95886136ce565b9650613aa3602089016136ce565b95506040880135945060608801359350608088013560ff81168114613ac757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600181811c90821680613af857607f821691505b602082108103612a9e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611c9157600081815260208120601f850160051c81016020861015613b585750805b601f850160051c820191505b81811015613b7757828155600101613b64565b505050505050565b815167ffffffffffffffff811115613b9957613b99613721565b613bad81613ba78454613ae4565b84613b31565b602080601f831160018114613c005760008415613bca5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613b77565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613c4d57888601518255948401946001909101908401613c2e565b5085821015613c8957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215613cab57600080fd5b81518015158114613cbb57600080fd5b9392505050565b600060208284031215613cd457600080fd5b5051919050565b808201808211156106c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251613d5681846020870161364d565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208b05090dd0b8e3bc8ffe589faa2e748661136206e12180da8076cc2d948de77c64736f6c63430008130033", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613da6620001296000396000818161086a0152818161090001528181610d6301528181610df90152610f280152613da66000f3fe6080604052600436106101e35760003560e01c806370a0823111610102578063b6232c9911610095578063d0ebdbe711610064578063d0ebdbe7146105b7578063d5009584146105d7578063d505accf14610603578063dd62ed3e1461062357600080fd5b8063b6232c9914610513578063b84c824614610533578063bc701e7514610553578063c4d66de81461059757600080fd5b806384b0196e116100d157806384b0196e1461049657806395d89b41146104be578063a457c2d7146104d3578063a9059cbb146104f357600080fd5b806370a08231146103fe57806379cc6790146104415780637ecebe00146104615780638456cb591461048157600080fd5b80633659cfe61161017a57806342966c681161014957806342966c681461039d5780634f1ef286146103bd57806352d1902d146103d05780635c975abb146103e557600080fd5b80633659cfe61461032857806339509351146103485780633f4ba83a1461036857806340c10f191461037d57600080fd5b806320713877116101b657806320713877146102b557806323b872dd146102d7578063313ce567146102f75780633644e5151461031357600080fd5b806306fdde03146101e8578063095ea7b31461021357806313007d551461024357806318160ddd14610296575b600080fd5b3480156101f457600080fd5b506101fd610676565b60405161020a91906136ab565b60405180910390f35b34801561021f57600080fd5b5061023361022e3660046136e7565b610708565b604051901515815260200161020a565b34801561024f57600080fd5b50610195546102719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161020a565b3480156102a257600080fd5b506099545b60405190815260200161020a565b3480156102c157600080fd5b506102d56102d03660046137f4565b610722565b005b3480156102e357600080fd5b506102336102f2366004613868565b610820565b34801561030357600080fd5b506040516012815260200161020a565b34801561031f57600080fd5b506102a7610844565b34801561033457600080fd5b506102d56103433660046138a4565b610853565b34801561035457600080fd5b506102336103633660046136e7565b610a24565b34801561037457600080fd5b506102d5610a70565b34801561038957600080fd5b506102d56103983660046136e7565b610b7f565b3480156103a957600080fd5b506102d56103b83660046138bf565b610d02565b6102d56103cb3660046138d8565b610d4c565b3480156103dc57600080fd5b506102a7610f0e565b3480156103f157600080fd5b506101305460ff16610233565b34801561040a57600080fd5b506102a76104193660046138a4565b73ffffffffffffffffffffffffffffffffffffffff1660009081526097602052604090205490565b34801561044d57600080fd5b506102d561045c3660046136e7565b610fe0565b34801561046d57600080fd5b506102a761047c3660046138a4565b611166565b34801561048d57600080fd5b506102d5611191565b3480156104a257600080fd5b506104ab61129e565b60405161020a979695949392919061393a565b3480156104ca57600080fd5b506101fd611360565b3480156104df57600080fd5b506102336104ee3660046136e7565b611370565b3480156104ff57600080fd5b5061023361050e3660046136e7565b611427565b34801561051f57600080fd5b506102d561052e3660046139f9565b611435565b34801561053f57600080fd5b506102d561054e366004613a2c565b6115d2565b34801561055f57600080fd5b5061027161056e3660046138a4565b6101c86020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156105a357600080fd5b506102d56105b23660046138a4565b6116c5565b3480156105c357600080fd5b506102d56105d23660046138a4565b6118aa565b3480156105e357600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff16610271565b34801561060f57600080fd5b506102d561061e366004613a61565b6119d8565b34801561062f57600080fd5b506102a761063e3660046139f9565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260986020908152604080832093909416825291909152205490565b6060609a805461068590613ad4565b80601f01602080910402602001604051908101604052809291908181526020018280546106b190613ad4565b80156106fe5780601f106106d3576101008083540402835291602001916106fe565b820191906000526020600020905b8154815290600101906020018083116106e157829003601f168201915b5050505050905090565b600033610716818585611b63565b60019150505b92915050565b600054610100900460ff166107a45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107ae8282611ce2565b6107b782611d69565b6107bf611e25565b6107c7611eaa565b6101946107d48282613b6f565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b60003361082e858285611f27565b610839858585611fe4565b506001949350505050565b600061084e611fff565b905090565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108fe5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840161079b565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109737f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109fc5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840161079b565b610a0581612009565b60408051600080825260208201909252610a21918391906120ef565b50565b33600081815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906107169082908690610a6b908790613c89565b611b63565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610b05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b299190613cc3565b610b755760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f742070617573657200000000000000604482015260640161079b565b610b7d6122ba565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547f2fa9c45d1262dc83e302ea747fa1a6189169018ef59e5bf5bff35c386ec653cd336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610c2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c539190613cc3565b610c9f5760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206d696e7465720000000000000000604482015260640161079b565b610ca7612338565b610cb1828261238c565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610d0a612338565b610d143382612473565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610df75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840161079b565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610e6c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610ef55760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840161079b565b610efe82612009565b610f0a828260016120ef565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610fbb5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161079b565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fd59228754c59506641ecd586d489c0e7d376eb0bc93b21e1c031933d8d48c3a0336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b49190613cc3565b6111005760405162461bcd60e51b815260206004820152601860248201527f446f6c6c617220746f6b656e3a206e6f74206275726e65720000000000000000604482015260640161079b565b611108612338565b6111128282612473565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161115a91815260200190565b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604081205461071c565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611226573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124a9190613cc3565b6112965760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f742070617573657200000000000000604482015260640161079b565b610b7d612611565b60006060806000806000606060c9546000801b1480156112be575060ca54155b61130a5760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a65640000000000000000000000604482015260640161079b565b61131261266d565b61131a61267c565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060610194805461068590613ad4565b33600081815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091908381101561141a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161079b565b6108398286868403611b63565b600033610716818585611fe4565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547f921f663981c1beb7a484a4210df2eefbe89bb6e3752c925fca7a933a759dbecb336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156114e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115099190613cc3565b6115555760405162461bcd60e51b815260206004820152601c60248201527f446f6c6c61723a206d75737420686176652061646d696e20726f6c6500000000604482015260640161079b565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526101c8602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f88bb9e877881758e827c849b8a0e38421bd5ff916f4ef79ed65aec74cc04a5da9190a35050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166c9190613cc3565b6116b85760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161079b565b610194610f0a8282613b6f565b600054610100900460ff16158080156116e55750600054600160ff909116105b806116ff5750303b1580156116ff575060005460ff166001145b6117715760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161079b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156117cf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611844826040518060400160405280600f81526020017f556269717569747920446f6c6c617200000000000000000000000000000000008152506040518060400160405280600381526020017f7541440000000000000000000000000000000000000000000000000000000000815250610722565b8015610f0a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119449190613cc3565b6119905760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161079b565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b83421115611a285760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161079b565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888611a578c61268b565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000611abf826126c0565b90506000611acf82878787612708565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611b4c5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161079b565b611b578a8a8a611b63565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316611beb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161079b565b73ffffffffffffffffffffffffffffffffffffffff8216611c745760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161079b565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff16611d5f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161079b565b610f0a8282612732565b600054610100900460ff16611de65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161079b565b610a21816040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506127c8565b600054610100900460ff16611ea25760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161079b565b610b7d61286d565b600054610100900460ff16610b7d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161079b565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152609860209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611fde5781811015611fd15760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161079b565b611fde8484848403611b63565b50505050565b611fef838383612915565b611ffa838383612928565b505050565b600061084e612d22565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561207f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120a39190613cc3565b610a215760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161079b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561212257611ffa83612d96565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156121a7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526121a491810190613ce5565b60015b6122195760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840161079b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146122ae5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840161079b565b50611ffa838383612e86565b6122c2612eab565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610b7d5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161079b565b73ffffffffffffffffffffffffffffffffffffffff82166123ef5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161079b565b6123fb60008383612efe565b806099600082825461240d9190613c89565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff82166124fc5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161079b565b61250882600083612efe565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260976020526040902054818110156125a45760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161079b565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b612619612338565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861230e3390565b606060cb805461068590613ad4565b606060cc805461068590613ad4565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b600061071c6126cd611fff565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600061271987878787612f09565b9150915061272681612ff8565b5090505b949350505050565b600054610100900460ff166127af5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161079b565b609a6127bb8382613b6f565b50609b611ffa8282613b6f565b600054610100900460ff166128455760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161079b565b60cb6128518382613b6f565b5060cc61285e8282613b6f565b5050600060c981905560ca5550565b600054610100900460ff166128ea5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161079b565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b61291d612338565b611ffa83838361315d565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526101c86020526040902054168015612a0c5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d85853360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101859052608401600060405180830381600087803b1580156129f357600080fd5b505af1158015612a07573d6000803e3d6000fd5b505050505b73ffffffffffffffffffffffffffffffffffffffff80841660009081526101c86020526040902054168015612af05773ffffffffffffffffffffffffffffffffffffffff8116636e22230d86863360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101869052608401600060405180830381600087803b158015612ad757600080fd5b505af1158015612aeb573d6000803e3d6000fd5b505050505b3360008181526101c8602052604090205473ffffffffffffffffffffffffffffffffffffffff9081169190871614801590612b4157503373ffffffffffffffffffffffffffffffffffffffff861614155b8015612b62575073ffffffffffffffffffffffffffffffffffffffff811615155b15612c1c5773ffffffffffffffffffffffffffffffffffffffff8116636e22230d87873360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101879052608401600060405180830381600087803b158015612c0357600080fd5b505af1158015612c17573d6000803e3d6000fd5b505050505b600080526101c86020527fe7d134a666cf0d3dc2e93021cf030a95aab267df826f43722f067fee94cb84875473ffffffffffffffffffffffffffffffffffffffff168015612d195773ffffffffffffffffffffffffffffffffffffffff8116636e22230d88883360405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff93841660048201529183166024830152909116604482015260648101889052608401600060405180830381600087803b158015612d0057600080fd5b505af1158015612d14573d6000803e3d6000fd5b505050505b50505050505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612d4d613390565b612d556133e9565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b612e205760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840161079b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612e8f8361341a565b600082511180612e9c5750805b15611ffa57611fde8383613467565b6101305460ff16610b7d5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161079b565b611ffa838383613493565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612f405750600090506003612fef565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612f94573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612fe857600060019250925050612fef565b9150600090505b94509492505050565b600081600481111561300c5761300c613cfe565b036130145750565b600181600481111561302857613028613cfe565b036130755760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161079b565b600281600481111561308957613089613cfe565b036130d65760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161079b565b60038160048111156130ea576130ea613cfe565b03610a215760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161079b565b73ffffffffffffffffffffffffffffffffffffffff83166131e65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161079b565b73ffffffffffffffffffffffffffffffffffffffff821661326f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161079b565b61327a838383612efe565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260976020526040902054818110156133165760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161079b565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906133839086815260200190565b60405180910390a3611fde565b60008061339b61266d565b8051909150156133b2578051602090910120919050565b60c95480156133c15792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b6000806133f461267c565b80519091501561340b578051602090910120919050565b60ca5480156133c15792915050565b61342381612d96565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061348c8383604051806060016040528060278152602001613d4a6027913961350d565b9392505050565b6101305460ff1615611ffa5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c652070617573656400000000000000000000000000000000000000000000606482015260840161079b565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516135379190613d2d565b600060405180830381855af49150503d8060008114613572576040519150601f19603f3d011682016040523d82523d6000602084013e613577565b606091505b509150915061358886838387613592565b9695505050505050565b6060831561360e5782516000036136075773ffffffffffffffffffffffffffffffffffffffff85163b6136075760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161079b565b508161272a565b61272a83838151156136235781518083602001fd5b8060405162461bcd60e51b815260040161079b91906136ab565b60005b83811015613658578181015183820152602001613640565b50506000910152565b6000815180845261367981602086016020860161363d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061348c6020830184613661565b803573ffffffffffffffffffffffffffffffffffffffff811681146136e257600080fd5b919050565b600080604083850312156136fa57600080fd5b613703836136be565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff8084111561375b5761375b613711565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156137a1576137a1613711565b816040528093508581528686860111156137ba57600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126137e557600080fd5b61348c83833560208501613740565b60008060006060848603121561380957600080fd5b613812846136be565b9250602084013567ffffffffffffffff8082111561382f57600080fd5b61383b878388016137d4565b9350604086013591508082111561385157600080fd5b5061385e868287016137d4565b9150509250925092565b60008060006060848603121561387d57600080fd5b613886846136be565b9250613894602085016136be565b9150604084013590509250925092565b6000602082840312156138b657600080fd5b61348c826136be565b6000602082840312156138d157600080fd5b5035919050565b600080604083850312156138eb57600080fd5b6138f4836136be565b9150602083013567ffffffffffffffff81111561391057600080fd5b8301601f8101851361392157600080fd5b61393085823560208401613740565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261397660e084018a613661565b8381036040850152613988818a613661565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156139e7578351835292840192918401916001016139cb565b50909c9b505050505050505050505050565b60008060408385031215613a0c57600080fd5b613a15836136be565b9150613a23602084016136be565b90509250929050565b600060208284031215613a3e57600080fd5b813567ffffffffffffffff811115613a5557600080fd5b61272a848285016137d4565b600080600080600080600060e0888a031215613a7c57600080fd5b613a85886136be565b9650613a93602089016136be565b95506040880135945060608801359350608088013560ff81168114613ab757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600181811c90821680613ae857607f821691505b6020821081036126ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611ffa57600081815260208120601f850160051c81016020861015613b485750805b601f850160051c820191505b81811015613b6757828155600101613b54565b505050505050565b815167ffffffffffffffff811115613b8957613b89613711565b613b9d81613b978454613ad4565b84613b21565b602080601f831160018114613bf05760008415613bba5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613b67565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613c3d57888601518255948401946001909101908401613c1e565b5085821015613c7957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b8082018082111561071c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060208284031215613cd557600080fd5b8151801515811461348c57600080fd5b600060208284031215613cf757600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251613d3f81846020870161363d565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205e69131ec0ef7f9b7a6feeb4ee897ea6f6a76c55160c3d004c521c20c857fc4e64736f6c63430008130033", "nonce": "0x13", "accessList": [] }, @@ -384,7 +384,7 @@ "isFixedGasLimit": false }, { - "hash": "0xec2e9c5892fddf7386071d75f55f397bb1e0669156668a77f0f14e6efe7d418e", + "hash": "0xfbed2a3785b0e0df46f85b2de10a7398141904029f4a1d199c916f0bca5b9d95", "transactionType": "CREATE", "contractName": "ERC1967Proxy", "contractAddress": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", @@ -393,7 +393,7 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x615eb", + "gas": "0x615e5", "value": "0x0", "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220ee73825c3965854f7394eef8f358ef2aad4b717396c04da27f3a5227ed3523f664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000f98f9083a9226b200da8cbc4bfecdae58da5988900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", "nonce": "0x14", @@ -403,7 +403,7 @@ "isFixedGasLimit": false }, { - "hash": "0xc883bdff4777e54577bf71108eb4252c138856b49a0a47e7e9c7a014b91f11dd", + "hash": "0xcdb9c3e4664d95dba9f19d336c90a734900c0d7bbd1102e8ef26fc205869b2c4", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -423,7 +423,7 @@ "isFixedGasLimit": false }, { - "hash": "0x9546b39494e1dde43fe6b89d33f3026efe77ca60db25858af0ea31b63b5812aa", + "hash": "0x60daa295a1ff646585a56067351596a03308c7370f925fab1be7a962a7650c45", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -443,7 +443,7 @@ "isFixedGasLimit": false }, { - "hash": "0x31dbee091db69b8ce6ef471fdabc889ddd745b9e6f61bc3c48809ee627d70597", + "hash": "0xc28af4805c9cbcc405bab6725f4ee192654b46e0b8ce6990bde3c1d096fe4671", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -463,7 +463,7 @@ "isFixedGasLimit": false }, { - "hash": "0xf16ee266b60d0445a9a00376c4fbeb7b5ac81072e965fb6950b4d3f3729efe5e", + "hash": "0x677e3a192bdde4b5ecd4f5256975c8ea8c3ff855b416aacf858964d647787410", "transactionType": "CALL", "contractName": "ERC1967Proxy", "contractAddress": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", @@ -483,7 +483,7 @@ "isFixedGasLimit": false }, { - "hash": "0xe8a09c70ab8a0b228954a66181e22d0d2cb3fbb80e98c01912f26542e360f367", + "hash": "0x0255cd673f11b3f2d283bfbbcc442f1e58e0dfb327d8ca7a289bce3c0bf90c0b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490", @@ -503,7 +503,7 @@ "isFixedGasLimit": false }, { - "hash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "hash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -513,7 +513,7 @@ "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "to": "0xbe0efabc83686a81903c1d4a2515f8111e53b5cb", - "gas": "0x194041", + "gas": "0x17ce7f", "value": "0x0", "data": "0xfbff3a41000000000000000000000000b9fc157394af804a3578134a6585c0dc9cc990d4000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c70000000000000000000000006c3f90f043a72fa612cbac8115ee7e52bde6e490000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000004c4b40", "nonce": "0x1a", @@ -522,14 +522,14 @@ "additionalContracts": [ { "transactionType": "CREATE", - "address": "0x59063699125def4aA6D3Dbf384E1144BBb1083a1", + "address": "0xC3FE3EEdd7002842f2971183B5e87F89CC1ee848", "initCode": "602d3d8160093d39f3363d3d373d3d3d363d73213be373fdff327658139c7df330817dad2d5bbe5af43d82803e903d91602b57fd5bf3" } ], "isFixedGasLimit": false }, { - "hash": "0xb41a0c038933c9621888f628f493017cc48c1f499f2287afa012105f251439be", + "hash": "0x63bdbfdb53c581f6a1431a645115845f1087ea65107878e1f4d31024c5ef74b0", "transactionType": "CREATE", "contractName": "UbiquityGovernanceToken", "contractAddress": "0xEbCe0D06fE2a715c7eebbda0A9eB40f2Ba15BB05", @@ -538,9 +538,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x3e46c9", + "gas": "0x3e2cea", "value": "0x0", - "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161379762000129600039600081816107950152818161082b01528181610c4e01528181610ce40152610e1301526137976000f3fe6080604052600436106101cd5760003560e01c80635c975abb116100f7578063a457c2d711610095578063d0ebdbe711610064578063d0ebdbe71461051e578063d50095841461053e578063d505accf1461056a578063dd62ed3e1461058a57600080fd5b8063a457c2d71461049e578063a9059cbb146104be578063b84c8246146104de578063c4d66de8146104fe57600080fd5b80637ecebe00116100d15780637ecebe001461042c5780638456cb591461044c57806384b0196e1461046157806395d89b411461048957600080fd5b80635c975abb146103d357806370a08231146103ec57806379cc67901461040c57600080fd5b80633644e5151161016f57806340c10f191161013e57806340c10f191461036b57806342966c681461038b5780634f1ef286146103ab57806352d1902d146103be57600080fd5b80633644e515146103015780633659cfe61461031657806339509351146103365780633f4ba83a1461035657600080fd5b806318160ddd116101ab57806318160ddd1461028057806320713877146102a357806323b872dd146102c5578063313ce567146102e557600080fd5b806306fdde03146101d2578063095ea7b3146101fd57806313007d551461022d575b600080fd5b3480156101de57600080fd5b506101e76105aa565b6040516101f49190613095565b60405180910390f35b34801561020957600080fd5b5061021d6102183660046130d1565b61063c565b60405190151581526020016101f4565b34801561023957600080fd5b506101955461025b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f4565b34801561028c57600080fd5b50610295610651565b6040519081526020016101f4565b3480156102af57600080fd5b506102c36102be3660046131de565b610661565b005b3480156102d157600080fd5b5061021d6102e0366004613252565b61075f565b3480156102f157600080fd5b50604051601281526020016101f4565b34801561030d57600080fd5b50610295610774565b34801561032257600080fd5b506102c361033136600461328e565b61077e565b34801561034257600080fd5b5061021d6103513660046130d1565b61094f565b34801561036257600080fd5b506102c361095b565b34801561037757600080fd5b506102c36103863660046130d1565b610a6a565b34801561039757600080fd5b506102c36103a63660046132a9565b610bed565b6102c36103b93660046132c2565b610c37565b3480156103ca57600080fd5b50610295610df9565b3480156103df57600080fd5b506101305460ff1661021d565b3480156103f857600080fd5b5061029561040736600461328e565b610ecb565b34801561041857600080fd5b506102c36104273660046130d1565b610ef6565b34801561043857600080fd5b5061029561044736600461328e565b61107c565b34801561045857600080fd5b506102c3611087565b34801561046d57600080fd5b50610476611194565b6040516101f49796959493929190613324565b34801561049557600080fd5b506101e7611256565b3480156104aa57600080fd5b5061021d6104b93660046130d1565b611266565b3480156104ca57600080fd5b5061021d6104d93660046130d1565b611272565b3480156104ea57600080fd5b506102c36104f93660046133e3565b61127e565b34801561050a57600080fd5b506102c361051936600461328e565b611371565b34801561052a57600080fd5b506102c361053936600461328e565b611556565b34801561054a57600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff1661025b565b34801561057657600080fd5b506102c3610585366004613418565b611684565b34801561059657600080fd5b506102956105a536600461348b565b61169c565b6060609a80546105b9906134be565b80601f01602080910402602001604051908101604052809291908181526020018280546105e5906134be565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050905090565b600061064883836116d6565b90505b92915050565b600061065c60995490565b905090565b600054610100900460ff166106e35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6106ed82826116ee565b6106f682611775565b6106fe611831565b6107066118b6565b6101946107138282613559565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b600061076c848484611933565b949350505050565b600061065c611957565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108295760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106da565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661089e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109275760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106da565b61093081611961565b6040805160008082526020820190925261094c91839190611a47565b50565b60006106488383611c17565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156109f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a149190613673565b610a605760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f74207061757365720000000000000060448201526064016106da565b610a68611c39565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3e9190613673565b610b8a5760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206d696e7465720000000060448201526064016106da565b610b92611cb7565b610b9c8282611d0b565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610bf5611cb7565b610bff3382611df2565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610ce25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106da565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610d577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610de05760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106da565b610de982611961565b610df582826001611a47565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ea65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106da565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff811660009081526097602052604081205461064b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab354336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fca9190613673565b6110165760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206275726e65720000000060448201526064016106da565b61101e611cb7565b6110288282611df2565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161107091815260200190565b60405180910390a25050565b600061064b82611f90565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561111c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111409190613673565b61118c5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f74207061757365720000000000000060448201526064016106da565b610a68611fbb565b60006060806000806000606060c9546000801b1480156111b4575060ca54155b6112005760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a6564000000000000000000000060448201526064016106da565b611208612017565b611210612026565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b606061019480546105b9906134be565b60006106488383612035565b600061064883836120c8565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113189190613673565b6113645760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b610194610df58282613559565b600054610100900460ff16158080156113915750600054600160ff909116105b806113ab5750303b1580156113ab575060005460ff166001145b61141d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106da565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561147b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6114f0826040518060400160405280600881526020017f55626971756974790000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f5542510000000000000000000000000000000000000000000000000000000000815250610661565b8015610df557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156115cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f09190613673565b61163c5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611693878787878787876120d6565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152609860209081526040808320938516835292905290812054610648565b6000336116e4818585612261565b5060019392505050565b600054610100900460ff1661176b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b610df582826123e0565b600054610100900460ff166117f25760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b61094c816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250612476565b600054610100900460ff166118ae5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b610a6861251b565b600054610100900460ff16610a685760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b6000336119418582856125c3565b61194c85858561265b565b506001949350505050565b600061065c61266e565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156119d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fb9190613673565b61094c5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106da565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611a7f57611a7a836126e2565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611b04575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611b019181019061369c565b60015b611b765760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106da565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611c0b5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106da565b50611a7a8383836127d2565b6000336116e4818585611c2a838361169c565b611c3491906136b5565b612261565b611c416127f7565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610a685760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106da565b73ffffffffffffffffffffffffffffffffffffffff8216611d6e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106da565b611d7a6000838361284a565b8060996000828254611d8c91906136b5565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611e7b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106da565b611e878260008361284a565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205481811015611f235760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604081205461064b565b611fc3611cb7565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c8d3390565b606060cb80546105b9906134be565b606060cc80546105b9906134be565b60003381612043828661169c565b9050838110156120bb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106da565b61194c8286868403612261565b6000336116e481858561265b565b834211156121265760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016106da565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886121558c612855565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006121bd8261288a565b905060006121cd828787876128d2565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461224a5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016106da565b6122558a8a8a612261565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166122e95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff82166123725760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff1661245d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b609a6124698382613559565b50609b611a7a8282613559565b600054610100900460ff166124f35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b60cb6124ff8382613559565b5060cc61250c8282613559565b5050600060c981905560ca5550565b600054610100900460ff166125985760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106da565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60006125cf848461169c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461265557818110156126485760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106da565b6126558484848403612261565b50505050565b612663611cb7565b611a7a8383836128fa565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612699612b2d565b6126a1612b86565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b61276c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106da565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6127db83612bb7565b6000825111806127e85750805b15611a7a576126558383612c04565b6101305460ff16610a685760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016106da565b611a7a838383612c29565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b600061064b612897611957565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b60008060006128e387878787612ca3565b915091506128f081612d92565b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff83166129835760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff8216612a0c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106da565b612a1783838361284a565b73ffffffffffffffffffffffffffffffffffffffff831660009081526097602052604090205481811015612ab35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106da565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612b209086815260200190565b60405180910390a3612655565b600080612b38612017565b805190915015612b4f578051602090910120919050565b60c9548015612b5e5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612b91612026565b805190915015612ba8578051602090910120919050565b60ca548015612b5e5792915050565b612bc0816126e2565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610648838360405180606001604052806027815260200161373b60279139612ef7565b6101305460ff1615611a7a5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c65207061757365640000000000000000000000000000000000000000000060648201526084016106da565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612cda5750600090506003612d89565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612d2e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612d8257600060019250925050612d89565b9150600090505b94509492505050565b6000816004811115612da657612da66136ef565b03612dae5750565b6001816004811115612dc257612dc26136ef565b03612e0f5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016106da565b6002816004811115612e2357612e236136ef565b03612e705760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106da565b6003816004811115612e8457612e846136ef565b0361094c5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016106da565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612f21919061371e565b600060405180830381855af49150503d8060008114612f5c576040519150601f19603f3d011682016040523d82523d6000602084013e612f61565b606091505b5091509150612f7286838387612f7c565b9695505050505050565b60608315612ff8578251600003612ff15773ffffffffffffffffffffffffffffffffffffffff85163b612ff15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106da565b508161076c565b61076c838381511561300d5781518083602001fd5b8060405162461bcd60e51b81526004016106da9190613095565b60005b8381101561304257818101518382015260200161302a565b50506000910152565b60008151808452613063816020860160208601613027565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610648602083018461304b565b803573ffffffffffffffffffffffffffffffffffffffff811681146130cc57600080fd5b919050565b600080604083850312156130e457600080fd5b6130ed836130a8565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115613145576131456130fb565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561318b5761318b6130fb565b816040528093508581528686860111156131a457600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126131cf57600080fd5b6106488383356020850161312a565b6000806000606084860312156131f357600080fd5b6131fc846130a8565b9250602084013567ffffffffffffffff8082111561321957600080fd5b613225878388016131be565b9350604086013591508082111561323b57600080fd5b50613248868287016131be565b9150509250925092565b60008060006060848603121561326757600080fd5b613270846130a8565b925061327e602085016130a8565b9150604084013590509250925092565b6000602082840312156132a057600080fd5b610648826130a8565b6000602082840312156132bb57600080fd5b5035919050565b600080604083850312156132d557600080fd5b6132de836130a8565b9150602083013567ffffffffffffffff8111156132fa57600080fd5b8301601f8101851361330b57600080fd5b61331a8582356020840161312a565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261336060e084018a61304b565b8381036040850152613372818a61304b565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156133d1578351835292840192918401916001016133b5565b50909c9b505050505050505050505050565b6000602082840312156133f557600080fd5b813567ffffffffffffffff81111561340c57600080fd5b61076c848285016131be565b600080600080600080600060e0888a03121561343357600080fd5b61343c886130a8565b965061344a602089016130a8565b95506040880135945060608801359350608088013560ff8116811461346e57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561349e57600080fd5b6134a7836130a8565b91506134b5602084016130a8565b90509250929050565b600181811c908216806134d257607f821691505b602082108103612884577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611a7a57600081815260208120601f850160051c810160208610156135325750805b601f850160051c820191505b818110156135515782815560010161353e565b505050505050565b815167ffffffffffffffff811115613573576135736130fb565b6135878161358184546134be565b8461350b565b602080601f8311600181146135da57600084156135a45750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613551565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561362757888601518255948401946001909101908401613608565b508582101561366357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561368557600080fd5b8151801515811461369557600080fd5b9392505050565b6000602082840312156136ae57600080fd5b5051919050565b8082018082111561064b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251613730818460208701613027565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204c9b1153738f81185c7b23405103186b94f1239a356df31c9794155ed17269f564736f6c63430008130033", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161377f62000129600039600081816107f00152818161088601528181610ce901528181610d7f0152610eae015261377f6000f3fe6080604052600436106101cd5760003560e01c80635c975abb116100f7578063a457c2d711610095578063d0ebdbe711610064578063d0ebdbe71461053d578063d50095841461055d578063d505accf14610589578063dd62ed3e146105a957600080fd5b8063a457c2d7146104bd578063a9059cbb146104dd578063b84c8246146104fd578063c4d66de81461051d57600080fd5b80637ecebe00116100d15780637ecebe001461044b5780638456cb591461046b57806384b0196e1461048057806395d89b41146104a857600080fd5b80635c975abb146103cf57806370a08231146103e857806379cc67901461042b57600080fd5b80633644e5151161016f57806340c10f191161013e57806340c10f191461036757806342966c68146103875780634f1ef286146103a757806352d1902d146103ba57600080fd5b80633644e515146102fd5780633659cfe61461031257806339509351146103325780633f4ba83a1461035257600080fd5b806318160ddd116101ab57806318160ddd14610280578063207138771461029f57806323b872dd146102c1578063313ce567146102e157600080fd5b806306fdde03146101d2578063095ea7b3146101fd57806313007d551461022d575b600080fd5b3480156101de57600080fd5b506101e76105fc565b6040516101f49190613084565b60405180910390f35b34801561020957600080fd5b5061021d6102183660046130c0565b61068e565b60405190151581526020016101f4565b34801561023957600080fd5b506101955461025b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f4565b34801561028c57600080fd5b506099545b6040519081526020016101f4565b3480156102ab57600080fd5b506102bf6102ba3660046131cd565b6106a8565b005b3480156102cd57600080fd5b5061021d6102dc366004613241565b6107a6565b3480156102ed57600080fd5b50604051601281526020016101f4565b34801561030957600080fd5b506102916107ca565b34801561031e57600080fd5b506102bf61032d36600461327d565b6107d9565b34801561033e57600080fd5b5061021d61034d3660046130c0565b6109aa565b34801561035e57600080fd5b506102bf6109f6565b34801561037357600080fd5b506102bf6103823660046130c0565b610b05565b34801561039357600080fd5b506102bf6103a2366004613298565b610c88565b6102bf6103b53660046132b1565b610cd2565b3480156103c657600080fd5b50610291610e94565b3480156103db57600080fd5b506101305460ff1661021d565b3480156103f457600080fd5b5061029161040336600461327d565b73ffffffffffffffffffffffffffffffffffffffff1660009081526097602052604090205490565b34801561043757600080fd5b506102bf6104463660046130c0565b610f66565b34801561045757600080fd5b5061029161046636600461327d565b6110ec565b34801561047757600080fd5b506102bf611117565b34801561048c57600080fd5b50610495611224565b6040516101f49796959493929190613313565b3480156104b457600080fd5b506101e76112e6565b3480156104c957600080fd5b5061021d6104d83660046130c0565b6112f6565b3480156104e957600080fd5b5061021d6104f83660046130c0565b6113ad565b34801561050957600080fd5b506102bf6105183660046133d2565b6113bb565b34801561052957600080fd5b506102bf61053836600461327d565b6114ae565b34801561054957600080fd5b506102bf61055836600461327d565b611693565b34801561056957600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff1661025b565b34801561059557600080fd5b506102bf6105a4366004613407565b6117c1565b3480156105b557600080fd5b506102916105c436600461347a565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260986020908152604080832093909416825291909152205490565b6060609a805461060b906134ad565b80601f0160208091040260200160405190810160405280929190818152602001828054610637906134ad565b80156106845780601f1061065957610100808354040283529160200191610684565b820191906000526020600020905b81548152906001019060200180831161066757829003601f168201915b5050505050905090565b60003361069c81858561194c565b60019150505b92915050565b600054610100900460ff1661072a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107348282611acb565b61073d82611b52565b610745611c0e565b61074d611c93565b61019461075a8282613548565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b6000336107b4858285611d10565b6107bf858585611dcd565b506001949350505050565b60006107d4611de5565b905090565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108845760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610721565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108f97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109825760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610721565b61098b81611def565b604080516000808252602082019092526109a791839190611ed5565b50565b33600081815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061069c90829086906109f1908790613662565b61194c565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf919061369c565b610afb5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610721565b610b036120a0565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610bb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd9919061369c565b610c255760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206d696e746572000000006044820152606401610721565b610c2d61211e565b610c378282612172565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610c9061211e565b610c9a3382612259565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d7d5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610721565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610df27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e7b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610721565b610e8482611def565b610e9082826001611ed5565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f415760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610721565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fdaf3ecc50fa598711b1ee1d917034f13e9a9c0fdb62c2cf473512b14250ab354336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103a919061369c565b6110865760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e616e636520746f6b656e3a206e6f74206275726e6572000000006044820152606401610721565b61108e61211e565b6110988282612259565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe47826040516110e091815260200190565b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd60205260408120546106a2565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156111ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d0919061369c565b61121c5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610721565b610b036123f7565b60006060806000806000606060c9546000801b148015611244575060ca54155b6112905760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610721565b611298612453565b6112a0612462565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060610194805461060b906134ad565b33600081815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156113a05760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610721565b6107bf828686840361194c565b60003361069c818585611dcd565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611431573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611455919061369c565b6114a15760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610721565b610194610e908282613548565b600054610100900460ff16158080156114ce5750600054600160ff909116105b806114e85750303b1580156114e8575060005460ff166001145b61155a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610721565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156115b857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61162d826040518060400160405280600881526020017f55626971756974790000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f55425100000000000000000000000000000000000000000000000000000000008152506106a8565b8015610e9057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611709573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172d919061369c565b6117795760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610721565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b834211156118115760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610721565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886118408c612471565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006118a8826124a6565b905060006118b8828787876124ee565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146119355760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610721565b6119408a8a8a61194c565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166119d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610721565b73ffffffffffffffffffffffffffffffffffffffff8216611a5d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610721565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff16611b485760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610721565b610e908282612518565b600054610100900460ff16611bcf5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610721565b6109a7816040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506125ae565b600054610100900460ff16611c8b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610721565b610b03612653565b600054610100900460ff16610b035760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610721565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152609860209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611dc75781811015611dba5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610721565b611dc7848484840361194c565b50505050565b611dd561211e565b611de08383836126fb565b505050565b60006107d461292e565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611e65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e89919061369c565b6109a75760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610721565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f0857611de0836129a2565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611f8d575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611f8a918101906136be565b60015b611fff5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610721565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146120945760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610721565b50611de0838383612a92565b6120a8612ab7565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610b035760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610721565b73ffffffffffffffffffffffffffffffffffffffff82166121d55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610721565b6121e160008383612b0a565b80609960008282546121f39190613662565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff82166122e25760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610721565b6122ee82600083612b0a565b73ffffffffffffffffffffffffffffffffffffffff82166000908152609760205260409020548181101561238a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610721565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6123ff61211e565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586120f43390565b606060cb805461060b906134ad565b606060cc805461060b906134ad565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b60006106a26124b3611de5565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b60008060006124ff87878787612b15565b9150915061250c81612c04565b5090505b949350505050565b600054610100900460ff166125955760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610721565b609a6125a18382613548565b50609b611de08282613548565b600054610100900460ff1661262b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610721565b60cb6126378382613548565b5060cc6126448282613548565b5050600060c981905560ca5550565b600054610100900460ff166126d05760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610721565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b73ffffffffffffffffffffffffffffffffffffffff83166127845760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610721565b73ffffffffffffffffffffffffffffffffffffffff821661280d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610721565b612818838383612b0a565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260976020526040902054818110156128b45760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610721565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906129219086815260200190565b60405180910390a3611dc7565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612959612d69565b612961612dc2565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b612a2c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610721565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612a9b83612df3565b600082511180612aa85750805b15611de057611dc78383612e40565b6101305460ff16610b035760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610721565b611de0838383612e6c565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612b4c5750600090506003612bfb565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612ba0573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612bf457600060019250925050612bfb565b9150600090505b94509492505050565b6000816004811115612c1857612c186136d7565b03612c205750565b6001816004811115612c3457612c346136d7565b03612c815760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610721565b6002816004811115612c9557612c956136d7565b03612ce25760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610721565b6003816004811115612cf657612cf66136d7565b036109a75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610721565b600080612d74612453565b805190915015612d8b578051602090910120919050565b60c9548015612d9a5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612dcd612462565b805190915015612de4578051602090910120919050565b60ca548015612d9a5792915050565b612dfc816129a2565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612e65838360405180606001604052806027815260200161372360279139612ee6565b9392505050565b6101305460ff1615611de05760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c6520706175736564000000000000000000000000000000000000000000006064820152608401610721565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612f109190613706565b600060405180830381855af49150503d8060008114612f4b576040519150601f19603f3d011682016040523d82523d6000602084013e612f50565b606091505b5091509150612f6186838387612f6b565b9695505050505050565b60608315612fe7578251600003612fe05773ffffffffffffffffffffffffffffffffffffffff85163b612fe05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610721565b5081612510565b6125108383815115612ffc5781518083602001fd5b8060405162461bcd60e51b81526004016107219190613084565b60005b83811015613031578181015183820152602001613019565b50506000910152565b60008151808452613052816020860160208601613016565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612e65602083018461303a565b803573ffffffffffffffffffffffffffffffffffffffff811681146130bb57600080fd5b919050565b600080604083850312156130d357600080fd5b6130dc83613097565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115613134576131346130ea565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561317a5761317a6130ea565b8160405280935085815286868601111561319357600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126131be57600080fd5b612e6583833560208501613119565b6000806000606084860312156131e257600080fd5b6131eb84613097565b9250602084013567ffffffffffffffff8082111561320857600080fd5b613214878388016131ad565b9350604086013591508082111561322a57600080fd5b50613237868287016131ad565b9150509250925092565b60008060006060848603121561325657600080fd5b61325f84613097565b925061326d60208501613097565b9150604084013590509250925092565b60006020828403121561328f57600080fd5b612e6582613097565b6000602082840312156132aa57600080fd5b5035919050565b600080604083850312156132c457600080fd5b6132cd83613097565b9150602083013567ffffffffffffffff8111156132e957600080fd5b8301601f810185136132fa57600080fd5b61330985823560208401613119565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261334f60e084018a61303a565b8381036040850152613361818a61303a565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156133c0578351835292840192918401916001016133a4565b50909c9b505050505050505050505050565b6000602082840312156133e457600080fd5b813567ffffffffffffffff8111156133fb57600080fd5b612510848285016131ad565b600080600080600080600060e0888a03121561342257600080fd5b61342b88613097565b965061343960208901613097565b95506040880135945060608801359350608088013560ff8116811461345d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561348d57600080fd5b61349683613097565b91506134a460208401613097565b90509250929050565b600181811c908216806134c157607f821691505b6020821081036124a0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611de057600081815260208120601f850160051c810160208610156135215750805b601f850160051c820191505b818110156135405782815560010161352d565b505050505050565b815167ffffffffffffffff811115613562576135626130ea565b6135768161357084546134ad565b846134fa565b602080601f8311600181146135c957600084156135935750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613540565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613616578886015182559484019460019091019084016135f7565b508582101561365257878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156106a2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000602082840312156136ae57600080fd5b81518015158114612e6557600080fd5b6000602082840312156136d057600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251613718818460208701613016565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200865d78bdd87b3df0f9bb249b55d375e9d8fae534ee6627672e03e621a1c6b4664736f6c63430008130033", "nonce": "0x1b", "accessList": [] }, @@ -548,7 +548,7 @@ "isFixedGasLimit": false }, { - "hash": "0x804c2d89437e95575039b2b66be4494f6883a72aa5290be2dc399dbe6a350e14", + "hash": "0x37f1bc0d5f4dd044688b01cb7685df1e57f49a92e40eb5a22d88cc99062e18a8", "transactionType": "CREATE", "contractName": "ERC1967Proxy", "contractAddress": "0x975a29731b751d003dd63D37736fd5730acd94Be", @@ -557,7 +557,7 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x615eb", + "gas": "0x615e5", "value": "0x0", "data": "0x60806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220ee73825c3965854f7394eef8f358ef2aad4b717396c04da27f3a5227ed3523f664736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564000000000000000000000000ebce0d06fe2a715c7eebbda0a9eb40f2ba15bb0500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb00000000000000000000000000000000000000000000000000000000", "nonce": "0x1c", @@ -567,7 +567,7 @@ "isFixedGasLimit": false }, { - "hash": "0x8a259528c2ef7ac4452ed62cb0c73ee94331ed66a81f2d5ce2e5a7d510dde9c8", + "hash": "0xd104eeb6165fcd0ea139b683b10dc6ad3f87d513cb384c8b7eafa754c41b4ac6", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -587,7 +587,7 @@ "isFixedGasLimit": false }, { - "hash": "0x4b224a307012904534ef9b17502bbc6d23a57cac269dd360cce393d5717ddd3a", + "hash": "0xf790b7a6664b26ba620c8baf896a1c70f06dac4dc422cf69a11244977e26c2eb", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -607,7 +607,7 @@ "isFixedGasLimit": false }, { - "hash": "0x70c3a742749f45a59adca3c8f20aad2ec71580b438f87d3313620367e2f19476", + "hash": "0x6c9dd09ebac4740ef8441e4416c54161d4516cbfa515932a8751b447975c9c4c", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -627,7 +627,7 @@ "isFixedGasLimit": false }, { - "hash": "0x9418fa9f719dbaeae2e979da67d0cdfe8bb19835a68a1c55aa3c3a2ade34c515", + "hash": "0xfd63837bcf6447b2a0a9f9f5da5019636779dae274aeefd33ef320b286aa07d6", "transactionType": "CREATE", "contractName": "UbiquityCreditToken", "contractAddress": "0x5318a766EBEd5157D18347637A306Fba6Bb2Fc12", @@ -636,9 +636,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x3f564b", + "gas": "0x3f3c3d", "value": "0x0", - "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161389062000129600039600081816107c00152818161085601528181610c7901528181610d0f0152610e3e01526138906000f3fe6080604052600436106101d85760003560e01c80635c975abb11610102578063a9059cbb11610095578063d0ebdbe711610064578063d0ebdbe714610549578063d500958414610569578063d505accf14610595578063dd62ed3e146105b557600080fd5b8063a9059cbb146104c9578063b84c8246146104e9578063c4d66de814610509578063c621bf8a1461052957600080fd5b80638456cb59116100d15780638456cb591461045757806384b0196e1461046c57806395d89b4114610494578063a457c2d7146104a957600080fd5b80635c975abb146103de57806370a08231146103f757806379cc6790146104175780637ecebe001461043757600080fd5b80633644e5151161017a57806340c10f191161014957806340c10f191461037657806342966c68146103965780634f1ef286146103b657806352d1902d146103c957600080fd5b80633644e5151461030c5780633659cfe61461032157806339509351146103415780633f4ba83a1461036157600080fd5b806318160ddd116101b657806318160ddd1461028b57806320713877146102ae57806323b872dd146102d0578063313ce567146102f057600080fd5b806306fdde03146101dd578063095ea7b31461020857806313007d5514610238575b600080fd5b3480156101e957600080fd5b506101f26105d5565b6040516101ff9190613161565b60405180910390f35b34801561021457600080fd5b50610228610223366004613196565b610667565b60405190151581526020016101ff565b34801561024457600080fd5b50610195546102669073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101ff565b34801561029757600080fd5b506102a061067c565b6040519081526020016101ff565b3480156102ba57600080fd5b506102ce6102c93660046132a5565b61068c565b005b3480156102dc57600080fd5b506102286102eb36600461331b565b61078a565b3480156102fc57600080fd5b50604051601281526020016101ff565b34801561031857600080fd5b506102a061079f565b34801561032d57600080fd5b506102ce61033c36600461335c565b6107a9565b34801561034d57600080fd5b5061022861035c366004613196565b61097a565b34801561036d57600080fd5b506102ce610986565b34801561038257600080fd5b506102ce610391366004613196565b610a95565b3480156103a257600080fd5b506102ce6103b1366004613380565b610c18565b6102ce6103c4366004613399565b610c62565b3480156103d557600080fd5b506102a0610e24565b3480156103ea57600080fd5b506101305460ff16610228565b34801561040357600080fd5b506102a061041236600461335c565b610ef6565b34801561042357600080fd5b506102ce610432366004613196565b610f21565b34801561044357600080fd5b506102a061045236600461335c565b6110a7565b34801561046357600080fd5b506102ce6110b2565b34801561047857600080fd5b506104816111bf565b6040516101ff97969594939291906133fd565b3480156104a057600080fd5b506101f2611281565b3480156104b557600080fd5b506102286104c4366004613196565b611291565b3480156104d557600080fd5b506102286104e4366004613196565b61129d565b3480156104f557600080fd5b506102ce6105043660046134bc565b6112a9565b34801561051557600080fd5b506102ce61052436600461335c565b61139c565b34801561053557600080fd5b506102ce610544366004613380565b611581565b34801561055557600080fd5b506102ce61056436600461335c565b611622565b34801561057557600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff16610266565b3480156105a157600080fd5b506102ce6105b03660046134f1565b611750565b3480156105c157600080fd5b506102a06105d0366004613568565b611768565b6060609a80546105e4906135a1565b80601f0160208091040260200160405190810160405280929190818152602001828054610610906135a1565b801561065d5780601f106106325761010080835404028352916020019161065d565b820191906000526020600020905b81548152906001019060200180831161064057829003601f168201915b5050505050905090565b600061067383836117a2565b90505b92915050565b600061068760995490565b905090565b600054610100900460ff1661070e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61071882826117ba565b61072182611841565b6107296118fd565b610731611982565b61019461073e828261363c565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b60006107978484846119ff565b949350505050565b6000610687611a23565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108545760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610705565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108c97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109525760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610705565b61095b81611a2d565b6040805160008082526020820190925261097791839190611b13565b50565b60006106738383611ce3565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f9190613756565b610a8b5760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610705565b610a93611d05565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b9919922336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610b45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b699190613756565b610bb55760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206d696e74657200000000000000006044820152606401610705565b610bbd611d83565b610bc78282611dd7565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610c20611d83565b610c2a3382611ebe565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610d0d5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610705565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610d827f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610e0b5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610705565b610e1482611a2d565b610e2082826001611b13565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ed15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610705565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260976020526040812054610676565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e2336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff59190613756565b6110415760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206275726e657200000000000000006044820152606401610705565b611049611d83565b6110538282611ebe565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161109b91815260200190565b60405180910390a25050565b60006106768261205c565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116b9190613756565b6111b75760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f7420706175736572000000000000006044820152606401610705565b610a93612087565b60006060806000806000606060c9546000801b1480156111df575060ca54155b61122b5760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610705565b6112336120e3565b61123b6120f2565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b606061019480546105e4906135a1565b60006106738383612101565b60006106738383612194565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561131f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113439190613756565b61138f5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b610194610e20828261363c565b600054610100900460ff16158080156113bc5750600054600160ff909116105b806113d65750303b1580156113d6575060005460ff166001145b6114485760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610705565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156114a657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61151b826040518060400160405280600f81526020017f55626971756974792043726564697400000000000000000000000000000000008152506040518060400160405280600381526020017f754352000000000000000000000000000000000000000000000000000000000081525061068c565b8015610e2057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61019554604080517fc5f956af000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163c5f956af9160048083019260209291908290030181865afa1580156115f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116169190613778565b9050610e208183610a95565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190613756565b6117085760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61175f878787878787876121a2565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152609860209081526040808320938516835292905290812054610673565b6000336117b081858561232d565b5060019392505050565b600054610100900460ff166118375760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b610e2082826124ac565b600054610100900460ff166118be5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b610977816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250612542565b600054610100900460ff1661197a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b610a936125e7565b600054610100900460ff16610a935760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b600033611a0d85828561268f565b611a18858585612727565b506001949350505050565b600061068761273a565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac79190613756565b6109775760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e00000000000000006044820152606401610705565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611b4b57611b46836127ae565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611bd0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611bcd91810190613795565b60015b611c425760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610705565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611cd75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610705565b50611b4683838361289e565b6000336117b0818585611cf68383611768565b611d0091906137ae565b61232d565b611d0d6128c3565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610a935760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610705565b73ffffffffffffffffffffffffffffffffffffffff8216611e3a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610705565b611e4660008383612916565b8060996000828254611e5891906137ae565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611f475760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610705565b611f5382600083612916565b73ffffffffffffffffffffffffffffffffffffffff821660009081526097602052604090205481811015611fef5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd6020526040812054610676565b61208f611d83565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611d593390565b606060cb80546105e4906135a1565b606060cc80546105e4906135a1565b6000338161210f8286611768565b9050838110156121875760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610705565b611a18828686840361232d565b6000336117b0818585612727565b834211156121f25760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610705565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886122218c612921565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061228982612956565b905060006122998287878761299e565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146123165760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610705565b6123218a8a8a61232d565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166123b55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff821661243e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff166125295760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b609a612535838261363c565b50609b611b46828261363c565b600054610100900460ff166125bf5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b60cb6125cb838261363c565b5060cc6125d8828261363c565b5050600060c981905560ca5550565b600054610100900460ff166126645760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610705565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600061269b8484611768565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461272157818110156127145760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610705565b612721848484840361232d565b50505050565b61272f611d83565b611b468383836129c6565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612765612bf9565b61276d612c52565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b6128385760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610705565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6128a783612c83565b6000825111806128b45750805b15611b46576127218383612cd0565b6101305460ff16610a935760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610705565b611b46838383612cf5565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b6000610676612963611a23565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b60008060006129af87878787612d6f565b915091506129bc81612e5e565b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff8316612a4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff8216612ad85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610705565b612ae3838383612916565b73ffffffffffffffffffffffffffffffffffffffff831660009081526097602052604090205481811015612b7f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610705565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612bec9086815260200190565b60405180910390a3612721565b600080612c046120e3565b805190915015612c1b578051602090910120919050565b60c9548015612c2a5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612c5d6120f2565b805190915015612c74578051602090910120919050565b60ca548015612c2a5792915050565b612c8c816127ae565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610673838360405180606001604052806027815260200161383460279139612fc3565b6101305460ff1615611b465760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c6520706175736564000000000000000000000000000000000000000000006064820152608401610705565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612da65750600090506003612e55565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612dfa573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612e4e57600060019250925050612e55565b9150600090505b94509492505050565b6000816004811115612e7257612e726137e8565b03612e7a5750565b6001816004811115612e8e57612e8e6137e8565b03612edb5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610705565b6002816004811115612eef57612eef6137e8565b03612f3c5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610705565b6003816004811115612f5057612f506137e8565b036109775760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610705565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612fed9190613817565b600060405180830381855af49150503d8060008114613028576040519150601f19603f3d011682016040523d82523d6000602084013e61302d565b606091505b509150915061303e86838387613048565b9695505050505050565b606083156130c45782516000036130bd5773ffffffffffffffffffffffffffffffffffffffff85163b6130bd5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610705565b5081610797565b61079783838151156130d95781518083602001fd5b8060405162461bcd60e51b81526004016107059190613161565b60005b8381101561310e5781810151838201526020016130f6565b50506000910152565b6000815180845261312f8160208601602086016130f3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006106736020830184613117565b73ffffffffffffffffffffffffffffffffffffffff8116811461097757600080fd5b600080604083850312156131a957600080fd5b82356131b481613174565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff8084111561320c5761320c6131c2565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715613252576132526131c2565b8160405280935085815286868601111561326b57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261329657600080fd5b610673838335602085016131f1565b6000806000606084860312156132ba57600080fd5b83356132c581613174565b9250602084013567ffffffffffffffff808211156132e257600080fd5b6132ee87838801613285565b9350604086013591508082111561330457600080fd5b5061331186828701613285565b9150509250925092565b60008060006060848603121561333057600080fd5b833561333b81613174565b9250602084013561334b81613174565b929592945050506040919091013590565b60006020828403121561336e57600080fd5b813561337981613174565b9392505050565b60006020828403121561339257600080fd5b5035919050565b600080604083850312156133ac57600080fd5b82356133b781613174565b9150602083013567ffffffffffffffff8111156133d357600080fd5b8301601f810185136133e457600080fd5b6133f3858235602084016131f1565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261343960e084018a613117565b838103604085015261344b818a613117565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156134aa5783518352928401929184019160010161348e565b50909c9b505050505050505050505050565b6000602082840312156134ce57600080fd5b813567ffffffffffffffff8111156134e557600080fd5b61079784828501613285565b600080600080600080600060e0888a03121561350c57600080fd5b873561351781613174565b9650602088013561352781613174565b95506040880135945060608801359350608088013560ff8116811461354b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561357b57600080fd5b823561358681613174565b9150602083013561359681613174565b809150509250929050565b600181811c908216806135b557607f821691505b602082108103612950577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611b4657600081815260208120601f850160051c810160208610156136155750805b601f850160051c820191505b8181101561363457828155600101613621565b505050505050565b815167ffffffffffffffff811115613656576136566131c2565b61366a8161366484546135a1565b846135ee565b602080601f8311600181146136bd57600084156136875750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613634565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561370a578886015182559484019460019091019084016136eb565b508582101561374657878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561376857600080fd5b8151801515811461337957600080fd5b60006020828403121561378a57600080fd5b815161337981613174565b6000602082840312156137a757600080fd5b5051919050565b80820180821115610676577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082516138298184602087016130f3565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206525f48411674134762950431f3c0d773f8e7d977680f97474e26e42a514558764736f6c63430008130033", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613878620001296000396000818161081b015281816108b101528181610d1401528181610daa0152610ed901526138786000f3fe6080604052600436106101d85760003560e01c80635c975abb11610102578063a9059cbb11610095578063d0ebdbe711610064578063d0ebdbe714610568578063d500958414610588578063d505accf146105b4578063dd62ed3e146105d457600080fd5b8063a9059cbb146104e8578063b84c824614610508578063c4d66de814610528578063c621bf8a1461054857600080fd5b80638456cb59116100d15780638456cb591461047657806384b0196e1461048b57806395d89b41146104b3578063a457c2d7146104c857600080fd5b80635c975abb146103da57806370a08231146103f357806379cc6790146104365780637ecebe001461045657600080fd5b80633644e5151161017a57806340c10f191161014957806340c10f191461037257806342966c68146103925780634f1ef286146103b257806352d1902d146103c557600080fd5b80633644e515146103085780633659cfe61461031d578063395093511461033d5780633f4ba83a1461035d57600080fd5b806318160ddd116101b657806318160ddd1461028b57806320713877146102aa57806323b872dd146102cc578063313ce567146102ec57600080fd5b806306fdde03146101dd578063095ea7b31461020857806313007d5514610238575b600080fd5b3480156101e957600080fd5b506101f2610627565b6040516101ff9190613150565b60405180910390f35b34801561021457600080fd5b50610228610223366004613185565b6106b9565b60405190151581526020016101ff565b34801561024457600080fd5b50610195546102669073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101ff565b34801561029757600080fd5b506099545b6040519081526020016101ff565b3480156102b657600080fd5b506102ca6102c5366004613294565b6106d3565b005b3480156102d857600080fd5b506102286102e736600461330a565b6107d1565b3480156102f857600080fd5b50604051601281526020016101ff565b34801561031457600080fd5b5061029c6107f5565b34801561032957600080fd5b506102ca61033836600461334b565b610804565b34801561034957600080fd5b50610228610358366004613185565b6109d5565b34801561036957600080fd5b506102ca610a21565b34801561037e57600080fd5b506102ca61038d366004613185565b610b30565b34801561039e57600080fd5b506102ca6103ad366004613368565b610cb3565b6102ca6103c0366004613381565b610cfd565b3480156103d157600080fd5b5061029c610ebf565b3480156103e657600080fd5b506101305460ff16610228565b3480156103ff57600080fd5b5061029c61040e36600461334b565b73ffffffffffffffffffffffffffffffffffffffff1660009081526097602052604090205490565b34801561044257600080fd5b506102ca610451366004613185565b610f91565b34801561046257600080fd5b5061029c61047136600461334b565b611117565b34801561048257600080fd5b506102ca611142565b34801561049757600080fd5b506104a061124f565b6040516101ff97969594939291906133e5565b3480156104bf57600080fd5b506101f2611311565b3480156104d457600080fd5b506102286104e3366004613185565b611321565b3480156104f457600080fd5b50610228610503366004613185565b6113d8565b34801561051457600080fd5b506102ca6105233660046134a4565b6113e6565b34801561053457600080fd5b506102ca61054336600461334b565b6114d9565b34801561055457600080fd5b506102ca610563366004613368565b6116be565b34801561057457600080fd5b506102ca61058336600461334b565b61175f565b34801561059457600080fd5b506101955473ffffffffffffffffffffffffffffffffffffffff16610266565b3480156105c057600080fd5b506102ca6105cf3660046134d9565b61188d565b3480156105e057600080fd5b5061029c6105ef366004613550565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260986020908152604080832093909416825291909152205490565b6060609a805461063690613589565b80601f016020809104026020016040519081016040528092919081815260200182805461066290613589565b80156106af5780601f10610684576101008083540402835291602001916106af565b820191906000526020600020905b81548152906001019060200180831161069257829003601f168201915b5050505050905090565b6000336106c7818585611a18565b60019150505b92915050565b600054610100900460ff166107555760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61075f8282611b97565b61076882611c1e565b610770611cda565b610778611d5f565b6101946107858282613624565b505061019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff939093169290921790915550565b6000336107df858285611ddc565b6107ea858585611e99565b506001949350505050565b60006107ff611eb1565b905090565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108af5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840161074c565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109247f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109ad5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840161074c565b6109b681611ebb565b604080516000808252602082019092526109d291839190611fa1565b50565b33600081815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906106c79082908690610a1c90879061373e565b611a18565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190613778565b610b265760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f742070617573657200000000000000604482015260640161074c565b610b2e61216c565b565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547ff77b03f56c25e281ca09a14fb3d2ebab8d5d807e9fec9bcd58ee6ab9b9919922336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c049190613778565b610c505760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206d696e7465720000000000000000604482015260640161074c565b610c586121ea565b610c62828261223e565b604051818152339073ffffffffffffffffffffffffffffffffffffffff8416907fb1233017d63154bc561d57c16f7b6a55e2e1acd7fcac94045a9f35fb31a850ca9060200160405180910390a35050565b610cbb6121ea565b610cc53382612325565b60405181815233907f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe479060200160405180910390a250565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610da85760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840161074c565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610e1d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610ea65760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840161074c565b610eaf82611ebb565b610ebb82826001611fa1565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f6c5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161074c565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6101955473ffffffffffffffffffffffffffffffffffffffff166391d148547fddef7fca0fcf9be4fcce0d17f8feb9de40ce2543193084040e18c6e73ab971e2336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611041573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110659190613778565b6110b15760405162461bcd60e51b815260206004820152601860248201527f43726564697420746f6b656e3a206e6f74206275726e65720000000000000000604482015260640161074c565b6110b96121ea565b6110c38282612325565b8173ffffffffffffffffffffffffffffffffffffffff167f62626c8ae1f1f3ad3b2f42ba7b806bbc48e9a59dab06414984113eaab612fe478260405161110b91815260200190565b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd60205260408120546106cd565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156111d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fb9190613778565b6112475760405162461bcd60e51b815260206004820152601960248201527f455243323055626971756974793a206e6f742070617573657200000000000000604482015260640161074c565b610b2e6124c3565b60006060806000806000606060c9546000801b14801561126f575060ca54155b6112bb5760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a65640000000000000000000000604482015260640161074c565b6112c361251f565b6112cb61252e565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060610194805461063690613589565b33600081815260986020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156113cb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161074c565b6107ea8286868403611a18565b6000336106c7818585611e99565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561145c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114809190613778565b6114cc5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161074c565b610194610ebb8282613624565b600054610100900460ff16158080156114f95750600054600160ff909116105b806115135750303b158015611513575060005460ff166001145b6115855760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161074c565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156115e357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611658826040518060400160405280600f81526020017f55626971756974792043726564697400000000000000000000000000000000008152506040518060400160405280600381526020017f75435200000000000000000000000000000000000000000000000000000000008152506106d3565b8015610ebb57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61019554604080517fc5f956af000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163c5f956af9160048083019260209291908290030181865afa15801561172f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611753919061379a565b9050610ebb8183610b30565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156117d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f99190613778565b6118455760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161074c565b61019580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b834211156118dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161074c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861190c8c61253d565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061197482612572565b90506000611984828787876125ba565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611a015760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161074c565b611a0c8a8a8a611a18565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316611aa05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161074c565b73ffffffffffffffffffffffffffffffffffffffff8216611b295760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161074c565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600054610100900460ff16611c145760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161074c565b610ebb82826125e4565b600054610100900460ff16611c9b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161074c565b6109d2816040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525061267a565b600054610100900460ff16611d575760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161074c565b610b2e61271f565b600054610100900460ff16610b2e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161074c565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152609860209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e935781811015611e865760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161074c565b611e938484848403611a18565b50505050565b611ea16121ea565b611eac8383836127c7565b505050565b60006107ff6129fa565b610195546040517f91d148540000000000000000000000000000000000000000000000000000000081526000600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f559190613778565b6109d25760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e0000000000000000604482015260640161074c565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611fd457611eac83612a6e565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612059575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612056918101906137b7565b60015b6120cb5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840161074c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146121605760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840161074c565b50611eac838383612b5e565b612174612b83565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6101305460ff1615610b2e5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161074c565b73ffffffffffffffffffffffffffffffffffffffff82166122a15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161074c565b6122ad60008383612bd6565b80609960008282546122bf919061373e565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152609760209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff82166123ae5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161074c565b6123ba82600083612bd6565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260976020526040902054818110156124565760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161074c565b73ffffffffffffffffffffffffffffffffffffffff831660008181526097602090815260408083208686039055609980548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6124cb6121ea565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586121c03390565b606060cb805461063690613589565b606060cc805461063690613589565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602052604090208054600181018255905b50919050565b60006106cd61257f611eb1565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b60008060006125cb87878787612be1565b915091506125d881612cd0565b5090505b949350505050565b600054610100900460ff166126615760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161074c565b609a61266d8382613624565b50609b611eac8282613624565b600054610100900460ff166126f75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161074c565b60cb6127038382613624565b5060cc6127108282613624565b5050600060c981905560ca5550565b600054610100900460ff1661279c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161074c565b61013080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b73ffffffffffffffffffffffffffffffffffffffff83166128505760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161074c565b73ffffffffffffffffffffffffffffffffffffffff82166128d95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161074c565b6128e4838383612bd6565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260976020526040902054818110156129805760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161074c565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526097602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906129ed9086815260200190565b60405180910390a3611e93565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612a25612e35565b612a2d612e8e565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b612af85760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840161074c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612b6783612ebf565b600082511180612b745750805b15611eac57611e938383612f0c565b6101305460ff16610b2e5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161074c565b611eac838383612f38565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612c185750600090506003612cc7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612c6c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612cc057600060019250925050612cc7565b9150600090505b94509492505050565b6000816004811115612ce457612ce46137d0565b03612cec5750565b6001816004811115612d0057612d006137d0565b03612d4d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161074c565b6002816004811115612d6157612d616137d0565b03612dae5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161074c565b6003816004811115612dc257612dc26137d0565b036109d25760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161074c565b600080612e4061251f565b805190915015612e57578051602090910120919050565b60c9548015612e665792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612e9961252e565b805190915015612eb0578051602090910120919050565b60ca548015612e665792915050565b612ec881612a6e565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612f31838360405180606001604052806027815260200161381c60279139612fb2565b9392505050565b6101305460ff1615611eac5760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e7366657220776860448201527f696c652070617573656400000000000000000000000000000000000000000000606482015260840161074c565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051612fdc91906137ff565b600060405180830381855af49150503d8060008114613017576040519150601f19603f3d011682016040523d82523d6000602084013e61301c565b606091505b509150915061302d86838387613037565b9695505050505050565b606083156130b35782516000036130ac5773ffffffffffffffffffffffffffffffffffffffff85163b6130ac5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161074c565b50816125dc565b6125dc83838151156130c85781518083602001fd5b8060405162461bcd60e51b815260040161074c9190613150565b60005b838110156130fd5781810151838201526020016130e5565b50506000910152565b6000815180845261311e8160208601602086016130e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612f316020830184613106565b73ffffffffffffffffffffffffffffffffffffffff811681146109d257600080fd5b6000806040838503121561319857600080fd5b82356131a381613163565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff808411156131fb576131fb6131b1565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715613241576132416131b1565b8160405280935085815286868601111561325a57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261328557600080fd5b612f31838335602085016131e0565b6000806000606084860312156132a957600080fd5b83356132b481613163565b9250602084013567ffffffffffffffff808211156132d157600080fd5b6132dd87838801613274565b935060408601359150808211156132f357600080fd5b5061330086828701613274565b9150509250925092565b60008060006060848603121561331f57600080fd5b833561332a81613163565b9250602084013561333a81613163565b929592945050506040919091013590565b60006020828403121561335d57600080fd5b8135612f3181613163565b60006020828403121561337a57600080fd5b5035919050565b6000806040838503121561339457600080fd5b823561339f81613163565b9150602083013567ffffffffffffffff8111156133bb57600080fd5b8301601f810185136133cc57600080fd5b6133db858235602084016131e0565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261342160e084018a613106565b8381036040850152613433818a613106565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561349257835183529284019291840191600101613476565b50909c9b505050505050505050505050565b6000602082840312156134b657600080fd5b813567ffffffffffffffff8111156134cd57600080fd5b6125dc84828501613274565b600080600080600080600060e0888a0312156134f457600080fd5b87356134ff81613163565b9650602088013561350f81613163565b95506040880135945060608801359350608088013560ff8116811461353357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561356357600080fd5b823561356e81613163565b9150602083013561357e81613163565b809150509250929050565b600181811c9082168061359d57607f821691505b60208210810361256c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115611eac57600081815260208120601f850160051c810160208610156135fd5750805b601f850160051c820191505b8181101561361c57828155600101613609565b505050505050565b815167ffffffffffffffff81111561363e5761363e6131b1565b6136528161364c8454613589565b846135d6565b602080601f8311600181146136a5576000841561366f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561361c565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156136f2578886015182559484019460019091019084016136d3565b508582101561372e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156106cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006020828403121561378a57600080fd5b81518015158114612f3157600080fd5b6000602082840312156137ac57600080fd5b8151612f3181613163565b6000602082840312156137c957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600082516138118184602087016130e2565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d2b730b5122ac5197b99f9d465c1acb0dbb20bf7beddf2f2684e5e7a63aae0d864736f6c63430008130033", "nonce": "0x20", "accessList": [] }, @@ -646,7 +646,7 @@ "isFixedGasLimit": false }, { - "hash": "0x1021c719e2f92aa15b5105bfa35ab1abd61dad9fa1e33a49639af5267dc5615a", + "hash": "0x46fafec5ecd7e4c38e9b71155057a20f20792394a27547262ad5309e35b71bc3", "transactionType": "CREATE", "contractName": "ERC1967Proxy", "contractAddress": "0x47f8F074c2C1eD281Aa6d69dB972FdeB4a0f9e14", @@ -665,7 +665,7 @@ "isFixedGasLimit": false }, { - "hash": "0x4ec188d918c202f7a7604f6ec9cc541e73d82e7c2cbcac4a66a69075d4824b64", + "hash": "0x7a9e3915a5f1cab740c548955d22446942f507d991fa91c6715a1dcdb8ade8da", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -685,7 +685,7 @@ "isFixedGasLimit": false }, { - "hash": "0x57441df46cf40bfeb3d0d6b3faf56acda7540cd9ab79deb9f511820b941a2f7e", + "hash": "0x8205eedb034af798b1cca5a554b14fe21fd7161f51a633cf6bff7406ec9a8824", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -705,7 +705,7 @@ "isFixedGasLimit": false }, { - "hash": "0x66fe887b8a813f9fc65a8994c272680290db3470a256fb05abd621fe68a650c4", + "hash": "0x43305c5700d9ce111b255242212d79e4ffef6d86a664d931f575d4750d05f7ea", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -725,7 +725,7 @@ "isFixedGasLimit": false }, { - "hash": "0xb6b2183376fac2ddfe1a27864f644ff108dca4a9029a15b35c156d56074095e3", + "hash": "0x4fbc62ddf11a03d3b506c24c376ae6713a9ef7e23f8da6725b980b5b09a676fe", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -745,7 +745,7 @@ "isFixedGasLimit": false }, { - "hash": "0xcda3f96764a0a59659d0f2d9837aba08ad3e7e2b57ba95344d4a91c1ab1dfd93", + "hash": "0xfc7dc1583187910c27258f166f096f8625589ddb62b69aea0151bdd6ad4682cd", "transactionType": "CREATE", "contractName": "CreditNft", "contractAddress": "0x773305308C2eDEE9Dbea7C0467953f165328B35D", @@ -756,7 +756,7 @@ "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", "gas": "0x5a1e5d", "value": "0x0", - "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516151176200012960003960008181610a6701528181610afd01528181610ea001528181610f36015261106501526151176000f3fe6080604052600436106101d75760003560e01c8063737035e811610102578063d500958411610095578063f242432a11610064578063f242432a146105a6578063f5298aca146105c6578063f7ffe84a146105e6578063fd7fc165146105fb57600080fd5b8063d5009584146104ef578063db87b1ff1461051b578063e1f862e114610530578063e985e9c51461055057600080fd5b80639b642de1116100d15780639b642de11461046f578063a22cb4651461048f578063c4d66de8146104af578063d0ebdbe7146104cf57600080fd5b8063737035e8146103fa5780637b48c3fd1461041a5780638456cb591461043a57806391623d491461044f57600080fd5b80633659cfe61161017a57806352d1902d1161014957806352d1902d1461038d5780635c975abb146103a25780636b20c454146103ba578063731133e9146103da57600080fd5b80633659cfe6146103185780633f4ba83a146103385780634e1273f41461034d5780634f1ef2861461037a57600080fd5b806313007d55116101b657806313007d551461026c57806318160ddd146102bf5780631f7fdffa146102d65780632eb2c2d6146102f857600080fd5b8062fdd58e146101dc57806301ffc9a71461020f5780630e89341c1461023f575b600080fd5b3480156101e857600080fd5b506101fc6101f73660046144b7565b61061b565b6040519081526020015b60405180910390f35b34801561021b57600080fd5b5061022f61022a36600461450f565b6106e3565b6040519015158152602001610206565b34801561024b57600080fd5b5061025f61025a36600461452c565b6107c6565b60405161020691906145b3565b34801561027857600080fd5b506101915461029a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610206565b3480156102cb57600080fd5b506101fc6101935481565b3480156102e257600080fd5b506102f66102f1366004614767565b61085a565b005b34801561030457600080fd5b506102f6610313366004614800565b610a13565b34801561032457600080fd5b506102f66103333660046148aa565b610a50565b34801561034457600080fd5b506102f6610c21565b34801561035957600080fd5b5061036d6103683660046148c5565b610d4b565b60405161020691906149cb565b6102f66103883660046149de565b610e89565b34801561039957600080fd5b506101fc61104b565b3480156103ae57600080fd5b5060c95460ff1661022f565b3480156103c657600080fd5b506102f66103d5366004614a22565b61111e565b3480156103e657600080fd5b506102f66103f5366004614a96565b6111c9565b34801561040657600080fd5b506101fc6104153660046144b7565b611343565b34801561042657600080fd5b5061036d6104353660046148aa565b611375565b34801561044657600080fd5b506102f66113ee565b34801561045b57600080fd5b506102f661046a366004614aeb565b611516565b34801561047b57600080fd5b506102f661048a366004614b1e565b611726565b34801561049b57600080fd5b506102f66104aa366004614b61565b611830565b3480156104bb57600080fd5b506102f66104ca3660046148aa565b61183b565b3480156104db57600080fd5b506102f66104ea3660046148aa565b6119f0565b3480156104fb57600080fd5b506101915473ffffffffffffffffffffffffffffffffffffffff1661029a565b34801561052757600080fd5b506101fc611b39565b34801561053c57600080fd5b506102f661054b3660046149de565b611baf565b34801561055c57600080fd5b5061022f61056b366004614b98565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156105b257600080fd5b506102f66105c1366004614bcb565b611dff565b3480156105d257600080fd5b506102f66105e1366004614aeb565b611e3c565b3480156105f257600080fd5b506102f6611ee2565b34801561060757600080fd5b506102f6610616366004614aeb565b611f84565b600073ffffffffffffffffffffffffffffffffffffffff83166106ab5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b50600081815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061077657507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b806106dd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106dd565b6060606780546107d590614c30565b80601f016020809104026020016040519081016040528092919081815260200182805461080190614c30565b801561084e5780601f106108235761010080835404028352916020019161084e565b820191906000526020600020905b81548152906001019060200180831161083157829003601f168201915b50505050509050919050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561090a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092e9190614c83565b61097a5760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016106a2565b6109826121e5565b61098e84848484612238565b6101935460005b84518110156109d5578381815181106109b0576109b0614ca0565b6020026020010151826109c39190614cfe565b91506109ce81614d11565b9050610995565b5061019381905573ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020610a0c908561248d565b5050505050565b610a20858585858561253f565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610a0c908461248d565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610afb5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106a2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610b707f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610bf95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106a2565b610c02816125e7565b60408051600080825260208201909252610c1e918391906126e8565b50565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf59190614c83565b610d415760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016106a2565b610d496128b3565b565b60608151835114610dc45760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016106a2565b6000835167ffffffffffffffff811115610de057610de06145c6565b604051908082528060200260200182016040528015610e09578160200160208202803683370190505b50905060005b8451811015610e8157610e54858281518110610e2d57610e2d614ca0565b6020026020010151858381518110610e4757610e47614ca0565b602002602001015161061b565b828281518110610e6657610e66614ca0565b6020908102919091010152610e7a81614d11565b9050610e0f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610f345760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106a2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610fa97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110325760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106a2565b61103b826125e7565b611047828260016126e8565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146110f85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b73ffffffffffffffffffffffffffffffffffffffff83163314806111475750611147833361056b565b6111b95760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b6111c4838383612930565b505050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129d9190614c83565b6112e95760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016106a2565b6112f584848484612991565b8161019360008282546113089190614cfe565b909155505073ffffffffffffffffffffffffffffffffffffffff841660009081526101926020526040902061133d9084612af9565b50505050565b610192602052816000526040600020818154811061136057600080fd5b90600052602060002001600091509150505481565b73ffffffffffffffffffffffffffffffffffffffff81166000908152610192602090815260409182902080548351818402810184019094528084526060939283018282801561084e57602002820191906000526020600020905b8154815260200190600101908083116113cf5750505050509050919050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190614c83565b61150e5760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016106a2565b610d49612b58565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156115c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ea9190614c83565b61165c5760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b611677838284604051806020016040528060008152506111c9565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f3d246cb2f560db6bfacef871241d243c87e2e329bfb7d254af02c5659d388cbe9060600160405180910390a16116da6101c882612bb3565b6116e357600080fd5b60008181526101c760205260409020546116fe908390614cfe565b60008281526101c760205260409020556101c65461171d908390614cfe565b6101c655505050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156117b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117db9190614c83565b6118275760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b610c1e81612bc8565b611047338383612bd4565b600054610100900460ff161580801561185b5750600054600160ff909116105b806118755750303b158015611875575060005460ff166001145b6118e75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561194557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611984826040518060400160405280600381526020017f5552490000000000000000000000000000000000000000000000000000000000815250611baf565b60006101c655801561104757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190614c83565b611af15760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6101c6546000908180611b4e6101c882612d0d565b9150505b81158015611b5f57508015155b15611ba75743811115611b755760019150611b92565b60008181526101c76020526040902054611b8f9084614d49565b92505b611b9e6101c882612d0d565b9150611b529050565b509092915050565b600054610100900460ff1615808015611bcf5750600054600160ff909116105b80611be95750303b158015611be9575060005460ff166001145b611c5b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611cb957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600054610100900460ff16611d365760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b611d3f82612d27565b611d47612dad565b611d4f612e2a565b611d57612dad565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851617905580156111c457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b611e0c8585858585612eaf565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610a0c9084612af9565b73ffffffffffffffffffffffffffffffffffffffff8316331480611e655750611e65833361056b565b611ed75760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b6111c4838383612f57565b600080611ef06101c8612f87565b6101c6549091505b82158015611f0557508115155b15611f7c5743821115611f3057611f1e6101c883612f94565b611f2757600080fd5b60019250611f6a565b60008281526101c76020526040902054611f4a9082614d49565b60008381526101c760205260408120559050611f686101c883612fa2565b505b611f756101c8612f87565b9150611ef8565b6101c6555050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015612034573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120589190614c83565b6120ca5760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b816120d5848361061b565b10156121495760405162461bcd60e51b815260206004820152602560248201527f4372656469744e6674206f776e6572206e6f7420656e6f75676820437265646960448201527f744e66747300000000000000000000000000000000000000000000000000000060648201526084016106a2565b612154838284611e3c565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f1785e849ef92c7429438ec45a69fccc0f39a044a18331bdb7e8ac9ab20db10b49060600160405180910390a160008181526101c760205260409020546121c6908390614d49565b60008281526101c760205260409020556101c65461171d908390614d49565b60c95460ff1615610d495760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106a2565b73ffffffffffffffffffffffffffffffffffffffff84166122c15760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b81518351146123385760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b336123488160008787878761303b565b60005b84518110156123fe5783818151811061236657612366614ca0565b60200260200101516065600087848151811061238457612384614ca0565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123e69190614cfe565b909155508190506123f681614d11565b91505061234b565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051612476929190614d5c565b60405180910390a4610a0c81600087878787613051565b60005b81518110156111c4576000805b84548110156124fd578383815181106124b8576124b8614ca0565b60200260200101518582815481106124d2576124d2614ca0565b9060005260206000200154036124eb57600191506124fd565b806124f581614d11565b91505061249d565b5080612536578383838151811061251657612516614ca0565b602090810291909101810151825460018101845560009384529190922001555b50600101612490565b73ffffffffffffffffffffffffffffffffffffffff85163314806125685750612568853361056b565b6125da5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b610a0c858585858561328d565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015612678573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269c9190614c83565b610c1e5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561271b576111c483613582565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156127a0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261279d91810190614d8a565b60015b6128125760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106a2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146128a75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106a2565b506111c4838383613672565b6128bb613697565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6129386121e5565b6129438383836136e9565b60005b825181101561133d5781818151811061296157612961614ca0565b6020026020010151610193600082825461297b9190614d49565b9091555061298a905081614d11565b9050612946565b73ffffffffffffffffffffffffffffffffffffffff8416612a1a5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000612a26856139d7565b90506000612a33856139d7565b9050612a448360008985858961303b565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290612a83908490614cfe565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612af083600089898989613a22565b50505050505050565b60005b8254811015612b3f5781838281548110612b1857612b18614ca0565b906000526020600020015403612b2d57505050565b80612b3781614d11565b915050612afc565b5081546001810183556000928352602090922090910155565b612b606121e5565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586129063390565b6000612bc183836000613bb5565b9392505050565b60676110478282614de9565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c755760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526066602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080612d1c84846001613bcc565b915091509250929050565b600054610100900460ff16612da45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b610c1e81613c13565b600054610100900460ff16610d495760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b600054610100900460ff16612ea75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b610d49613c90565b73ffffffffffffffffffffffffffffffffffffffff8516331480612ed85750612ed8853361056b565b612f4a5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b610a0c8585858585613d37565b612f5f6121e5565b612f6a838383613f53565b806101936000828254612f7d9190614d49565b9091555050505050565b60006106dd826001614141565b6000612bc183836001613bb5565b6000811580612fb85750612fb6838361415e565b155b15612fc5575060006106dd565b600082815260018481016020818152604080852085805280835281862080548688528388208054808a52878752858a208a80528752858a2083905591895295855283882087895285529287209290925590915283905582905584549091859161302f908490614d49565b90915550919392505050565b6130498686868686866141e2565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b15613049576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c81906130c89089908990889088908890600401614f03565b6020604051808303816000875af1925050508015613121575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261311e91810190614f6e565b60015b6131d65761312d614f8b565b806308c379a0036131665750613141614fa6565b8061314c5750613168565b8060405162461bcd60e51b81526004016106a291906145b3565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016106a2565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014612af05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016106a2565b81518351146133045760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff841661338d5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106a2565b3361339c81878787878761303b565b60005b84518110156134f55760008582815181106133bc576133bc614ca0565b6020026020010151905060008583815181106133da576133da614ca0565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8e16835290935291909120549091508181101561348e5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016106a2565b600083815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b168252812080548492906134da908490614cfe565b92505081905550505050806134ee90614d11565b905061339f565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161356c929190614d5c565b60405180910390a4613049818787878787613051565b73ffffffffffffffffffffffffffffffffffffffff81163b61360c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106a2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61367b8361425b565b6000825111806136885750805b156111c45761133d83836142a8565b60c95460ff16610d495760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016106a2565b73ffffffffffffffffffffffffffffffffffffffff83166137725760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b80518251146137e95760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b600033905061380c8185600086866040518060200160405280600081525061303b565b60005b835181101561394357600084828151811061382c5761382c614ca0565b60200260200101519050600084838151811061384a5761384a614ca0565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8c1683529093529190912054909150818110156138fd5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016106a2565b600092835260656020908152604080852073ffffffffffffffffffffffffffffffffffffffff8b168652909152909220910390558061393b81614d11565b91505061380f565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516139bb929190614d5c565b60405180910390a460408051602081019091526000905261133d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613a1157613a11614ca0565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b15613049576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e6190613a99908990899088908890889060040161504e565b6020604051808303816000875af1925050508015613af2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252613aef91810190614f6e565b60015b613afe5761312d614f8b565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014612af05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016106a2565b6000613bc484600085856142cd565b949350505050565b600080613bd9858561415e565b613be857506000905080613c0b565b505060008281526001848101602090815260408084208515158552909152909120545b935093915050565b600054610100900460ff166118275760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b600054610100900460ff16613d0d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b73ffffffffffffffffffffffffffffffffffffffff8416613dc05760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000613dcc856139d7565b90506000613dd9856139d7565b9050613de983898985858961303b565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8c16845290915290205485811015613e8f5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016106a2565b600087815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a16825281208054889290613edb908490614cfe565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4613f48848a8a8a8a8a613a22565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316613fdc5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000613fe8846139d7565b90506000613ff5846139d7565b90506140158387600085856040518060200160405280600081525061303b565b600085815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a168452909152902054848110156140ba5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016106a2565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612af0565b60008061415084600085613bcc565b9150613bc490508482612fa2565b600081815260018301602090815260408083208380529091528120541580156141a157506000828152600180850160209081526040808420928452919052902054155b156141da5760008080526001808501602090815260408084209284529190529020548290036141d2575060016106dd565b5060006106dd565b5060016106dd565b60c95460ff16156130495760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c6520706175736564000000000000000000000000000000000000000060648201526084016106a2565b61426481613582565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612bc183836040518060600160405280602781526020016150bb60279139614378565b60006142d9858461415e565b1580156142eb57506142eb858561415e565b1561436d5760008481526001868101602081815260408085208715801580885291845282872080548b8952868652848920838a52808752858a208e9055918c90558089529585528388209188529084528287208a9055908652909152832081905587549092889161435d908490614cfe565b9091555060019250613bc4915050565b506000949350505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516143a2919061509e565b600060405180830381855af49150503d80600081146143dd576040519150601f19603f3d011682016040523d82523d6000602084013e6143e2565b606091505b50915091506143f3868383876143fd565b9695505050505050565b606083156144795782516000036144725773ffffffffffffffffffffffffffffffffffffffff85163b6144725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a2565b5081613bc4565b613bc4838381511561314c5781518083602001fd5b803573ffffffffffffffffffffffffffffffffffffffff811681146144b257600080fd5b919050565b600080604083850312156144ca57600080fd5b6144d38361448e565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c1e57600080fd5b60006020828403121561452157600080fd5b8135612bc1816144e1565b60006020828403121561453e57600080fd5b5035919050565b60005b83811015614560578181015183820152602001614548565b50506000910152565b60008151808452614581816020860160208601614545565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612bc16020830184614569565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff82111715614639576146396145c6565b6040525050565b600067ffffffffffffffff82111561465a5761465a6145c6565b5060051b60200190565b600082601f83011261467557600080fd5b8135602061468282614640565b60405161468f82826145f5565b83815260059390931b85018201928281019150868411156146af57600080fd5b8286015b848110156146ca57803583529183019183016146b3565b509695505050505050565b600082601f8301126146e657600080fd5b813567ffffffffffffffff811115614700576147006145c6565b60405161473560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601826145f5565b81815284602083860101111561474a57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561477d57600080fd5b6147868561448e565b9350602085013567ffffffffffffffff808211156147a357600080fd5b6147af88838901614664565b945060408701359150808211156147c557600080fd5b6147d188838901614664565b935060608701359150808211156147e757600080fd5b506147f4878288016146d5565b91505092959194509250565b600080600080600060a0868803121561481857600080fd5b6148218661448e565b945061482f6020870161448e565b9350604086013567ffffffffffffffff8082111561484c57600080fd5b61485889838a01614664565b9450606088013591508082111561486e57600080fd5b61487a89838a01614664565b9350608088013591508082111561489057600080fd5b5061489d888289016146d5565b9150509295509295909350565b6000602082840312156148bc57600080fd5b612bc18261448e565b600080604083850312156148d857600080fd5b823567ffffffffffffffff808211156148f057600080fd5b818501915085601f83011261490457600080fd5b8135602061491182614640565b60405161491e82826145f5565b83815260059390931b850182019282810191508984111561493e57600080fd5b948201945b83861015614963576149548661448e565b82529482019490820190614943565b9650508601359250508082111561497957600080fd5b5061498685828601614664565b9150509250929050565b600081518084526020808501945080840160005b838110156149c0578151875295820195908201906001016149a4565b509495945050505050565b602081526000612bc16020830184614990565b600080604083850312156149f157600080fd5b6149fa8361448e565b9150602083013567ffffffffffffffff811115614a1657600080fd5b614986858286016146d5565b600080600060608486031215614a3757600080fd5b614a408461448e565b9250602084013567ffffffffffffffff80821115614a5d57600080fd5b614a6987838801614664565b93506040860135915080821115614a7f57600080fd5b50614a8c86828701614664565b9150509250925092565b60008060008060808587031215614aac57600080fd5b614ab58561448e565b93506020850135925060408501359150606085013567ffffffffffffffff811115614adf57600080fd5b6147f4878288016146d5565b600080600060608486031215614b0057600080fd5b614b098461448e565b95602085013595506040909401359392505050565b600060208284031215614b3057600080fd5b813567ffffffffffffffff811115614b4757600080fd5b613bc4848285016146d5565b8015158114610c1e57600080fd5b60008060408385031215614b7457600080fd5b614b7d8361448e565b91506020830135614b8d81614b53565b809150509250929050565b60008060408385031215614bab57600080fd5b614bb48361448e565b9150614bc26020840161448e565b90509250929050565b600080600080600060a08688031215614be357600080fd5b614bec8661448e565b9450614bfa6020870161448e565b93506040860135925060608601359150608086013567ffffffffffffffff811115614c2457600080fd5b61489d888289016146d5565b600181811c90821680614c4457607f821691505b602082108103614c7d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614c9557600080fd5b8151612bc181614b53565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106dd576106dd614ccf565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614d4257614d42614ccf565b5060010190565b818103818111156106dd576106dd614ccf565b604081526000614d6f6040830185614990565b8281036020840152614d818185614990565b95945050505050565b600060208284031215614d9c57600080fd5b5051919050565b601f8211156111c457600081815260208120601f850160051c81016020861015614dca5750805b601f850160051c820191505b8181101561304957828155600101614dd6565b815167ffffffffffffffff811115614e0357614e036145c6565b614e1781614e118454614c30565b84614da3565b602080601f831160018114614e6a5760008415614e345750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613049565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015614eb757888601518255948401946001909101908401614e98565b5085821015614ef357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152614f3c60a0830186614990565b8281036060840152614f4e8186614990565b90508281036080840152614f628185614569565b98975050505050505050565b600060208284031215614f8057600080fd5b8151612bc1816144e1565b600060033d111561111b5760046000803e5060005160e01c90565b600060443d1015614fb45790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff816024840111818411171561500257505050505090565b828501915081518181111561501a5750505050505090565b843d87010160208285010111156150345750505050505090565b615043602082860101876145f5565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261509360a0830184614569565b979650505050505050565b600082516150b0818460208701614545565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203cb9d2f02e21b4a0d1d680ae949ba47b81e03a07fbf8640fd0831786b833f65e64736f6c63430008130033", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516151176200012960003960008181610a6701528181610afd01528181610ea001528181610f36015261106501526151176000f3fe6080604052600436106101d75760003560e01c8063737035e811610102578063d500958411610095578063f242432a11610064578063f242432a146105a6578063f5298aca146105c6578063f7ffe84a146105e6578063fd7fc165146105fb57600080fd5b8063d5009584146104ef578063db87b1ff1461051b578063e1f862e114610530578063e985e9c51461055057600080fd5b80639b642de1116100d15780639b642de11461046f578063a22cb4651461048f578063c4d66de8146104af578063d0ebdbe7146104cf57600080fd5b8063737035e8146103fa5780637b48c3fd1461041a5780638456cb591461043a57806391623d491461044f57600080fd5b80633659cfe61161017a57806352d1902d1161014957806352d1902d1461038d5780635c975abb146103a25780636b20c454146103ba578063731133e9146103da57600080fd5b80633659cfe6146103185780633f4ba83a146103385780634e1273f41461034d5780634f1ef2861461037a57600080fd5b806313007d55116101b657806313007d551461026c57806318160ddd146102bf5780631f7fdffa146102d65780632eb2c2d6146102f857600080fd5b8062fdd58e146101dc57806301ffc9a71461020f5780630e89341c1461023f575b600080fd5b3480156101e857600080fd5b506101fc6101f73660046144b7565b61061b565b6040519081526020015b60405180910390f35b34801561021b57600080fd5b5061022f61022a36600461450f565b6106e3565b6040519015158152602001610206565b34801561024b57600080fd5b5061025f61025a36600461452c565b6107c6565b60405161020691906145b3565b34801561027857600080fd5b506101915461029a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610206565b3480156102cb57600080fd5b506101fc6101935481565b3480156102e257600080fd5b506102f66102f1366004614767565b61085a565b005b34801561030457600080fd5b506102f6610313366004614800565b610a13565b34801561032457600080fd5b506102f66103333660046148aa565b610a50565b34801561034457600080fd5b506102f6610c21565b34801561035957600080fd5b5061036d6103683660046148c5565b610d4b565b60405161020691906149cb565b6102f66103883660046149de565b610e89565b34801561039957600080fd5b506101fc61104b565b3480156103ae57600080fd5b5060c95460ff1661022f565b3480156103c657600080fd5b506102f66103d5366004614a22565b61111e565b3480156103e657600080fd5b506102f66103f5366004614a96565b6111c9565b34801561040657600080fd5b506101fc6104153660046144b7565b611343565b34801561042657600080fd5b5061036d6104353660046148aa565b611375565b34801561044657600080fd5b506102f66113ee565b34801561045b57600080fd5b506102f661046a366004614aeb565b611516565b34801561047b57600080fd5b506102f661048a366004614b1e565b611726565b34801561049b57600080fd5b506102f66104aa366004614b61565b611830565b3480156104bb57600080fd5b506102f66104ca3660046148aa565b61183b565b3480156104db57600080fd5b506102f66104ea3660046148aa565b6119f0565b3480156104fb57600080fd5b506101915473ffffffffffffffffffffffffffffffffffffffff1661029a565b34801561052757600080fd5b506101fc611b39565b34801561053c57600080fd5b506102f661054b3660046149de565b611baf565b34801561055c57600080fd5b5061022f61056b366004614b98565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156105b257600080fd5b506102f66105c1366004614bcb565b611dff565b3480156105d257600080fd5b506102f66105e1366004614aeb565b611e3c565b3480156105f257600080fd5b506102f6611ee2565b34801561060757600080fd5b506102f6610616366004614aeb565b611f84565b600073ffffffffffffffffffffffffffffffffffffffff83166106ab5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b50600081815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061077657507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b806106dd57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106dd565b6060606780546107d590614c30565b80601f016020809104026020016040519081016040528092919081815260200182805461080190614c30565b801561084e5780601f106108235761010080835404028352916020019161084e565b820191906000526020600020905b81548152906001019060200180831161083157829003601f168201915b50505050509050919050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561090a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092e9190614c83565b61097a5760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016106a2565b6109826121e5565b61098e84848484612238565b6101935460005b84518110156109d5578381815181106109b0576109b0614ca0565b6020026020010151826109c39190614cfe565b91506109ce81614d11565b9050610995565b5061019381905573ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020610a0c908561248d565b5050505050565b610a20858585858561253f565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610a0c908461248d565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610afb5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106a2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610b707f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610bf95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106a2565b610c02816125e7565b60408051600080825260208201909252610c1e918391906126e8565b50565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610cd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf59190614c83565b610d415760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016106a2565b610d496128b3565b565b60608151835114610dc45760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016106a2565b6000835167ffffffffffffffff811115610de057610de06145c6565b604051908082528060200260200182016040528015610e09578160200160208202803683370190505b50905060005b8451811015610e8157610e54858281518110610e2d57610e2d614ca0565b6020026020010151858381518110610e4757610e47614ca0565b602002602001015161061b565b828281518110610e6657610e66614ca0565b6020908102919091010152610e7a81614d11565b9050610e0f565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610f345760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016106a2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610fa97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110325760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016106a2565b61103b826125e7565b611047828260016126e8565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146110f85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106a2565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b73ffffffffffffffffffffffffffffffffffffffff83163314806111475750611147833361056b565b6111b95760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b6111c4838383612930565b505050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547fb82d33f41b1a8468b0a3355568595a8da603c64dc1244f7eb97e3e56cfccbe18336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129d9190614c83565b6112e95760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f74206d696e746572000000000060448201526064016106a2565b6112f584848484612991565b8161019360008282546113089190614cfe565b909155505073ffffffffffffffffffffffffffffffffffffffff841660009081526101926020526040902061133d9084612af9565b50505050565b610192602052816000526040600020818154811061136057600080fd5b90600052602060002001600091509150505481565b73ffffffffffffffffffffffffffffffffffffffff81166000908152610192602090815260409182902080548351818402810184019094528084526060939283018282801561084e57602002820191906000526020600020905b8154815260200190600101908083116113cf5750505050509050919050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa15801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190614c83565b61150e5760405162461bcd60e51b815260206004820152601b60248201527f4552433131353555626971756974793a206e6f7420706175736572000000000060448201526064016106a2565b610d49612b58565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156115c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ea9190614c83565b61165c5760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b611677838284604051806020016040528060008152506111c9565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f3d246cb2f560db6bfacef871241d243c87e2e329bfb7d254af02c5659d388cbe9060600160405180910390a16116da6101c882612bb3565b6116e357600080fd5b60008181526101c760205260409020546116fe908390614cfe565b60008281526101c760205260409020556101c65461171d908390614cfe565b6101c655505050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156117b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117db9190614c83565b6118275760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b610c1e81612bc8565b611047338383612bd4565b600054610100900460ff161580801561185b5750600054600160ff909116105b806118755750303b158015611875575060005460ff166001145b6118e75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561194557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611984826040518060400160405280600381526020017f5552490000000000000000000000000000000000000000000000000000000000815250611baf565b60006101c655801561104757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190614c83565b611af15760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6101c6546000908180611b4e6101c882612d0d565b9150505b81158015611b5f57508015155b15611ba75743811115611b755760019150611b92565b60008181526101c76020526040902054611b8f9084614d49565b92505b611b9e6101c882612d0d565b9150611b529050565b509092915050565b600054610100900460ff1615808015611bcf5750600054600160ff909116105b80611be95750303b158015611be9575060005460ff166001145b611c5b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106a2565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611cb957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600054610100900460ff16611d365760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b611d3f82612d27565b611d47612dad565b611d4f612e2a565b611d57612dad565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851617905580156111c457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b611e0c8585858585612eaf565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610a0c9084612af9565b73ffffffffffffffffffffffffffffffffffffffff8316331480611e655750611e65833361056b565b611ed75760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b6111c4838383612f57565b600080611ef06101c8612f87565b6101c6549091505b82158015611f0557508115155b15611f7c5743821115611f3057611f1e6101c883612f94565b611f2757600080fd5b60019250611f6a565b60008281526101c76020526040902054611f4a9082614d49565b60008381526101c760205260408120559050611f686101c883612fa2565b505b611f756101c8612f87565b9150611ef8565b6101c6555050565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148547f25ff7e1779512d1a833158ec96d239645270c9fdbedc91aad895443d07d0260b336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015612034573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120589190614c83565b6120ca5760405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f742061204372656469744e6674206d616e61676560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b816120d5848361061b565b10156121495760405162461bcd60e51b815260206004820152602560248201527f4372656469744e6674206f776e6572206e6f7420656e6f75676820437265646960448201527f744e66747300000000000000000000000000000000000000000000000000000060648201526084016106a2565b612154838284611e3c565b6040805173ffffffffffffffffffffffffffffffffffffffff85168152602081018390529081018390527f1785e849ef92c7429438ec45a69fccc0f39a044a18331bdb7e8ac9ab20db10b49060600160405180910390a160008181526101c760205260409020546121c6908390614d49565b60008281526101c760205260409020556101c65461171d908390614d49565b60c95460ff1615610d495760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106a2565b73ffffffffffffffffffffffffffffffffffffffff84166122c15760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b81518351146123385760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b336123488160008787878761303b565b60005b84518110156123fe5783818151811061236657612366614ca0565b60200260200101516065600087848151811061238457612384614ca0565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123e69190614cfe565b909155508190506123f681614d11565b91505061234b565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051612476929190614d5c565b60405180910390a4610a0c81600087878787613051565b60005b81518110156111c4576000805b84548110156124fd578383815181106124b8576124b8614ca0565b60200260200101518582815481106124d2576124d2614ca0565b9060005260206000200154036124eb57600191506124fd565b806124f581614d11565b91505061249d565b5080612536578383838151811061251657612516614ca0565b602090810291909101810151825460018101845560009384529190922001555b50600101612490565b73ffffffffffffffffffffffffffffffffffffffff85163314806125685750612568853361056b565b6125da5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b610a0c858585858561328d565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015612678573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269c9190614c83565b610c1e5760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016106a2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561271b576111c483613582565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156127a0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261279d91810190614d8a565b60015b6128125760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106a2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146128a75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106a2565b506111c4838383613672565b6128bb613697565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6129386121e5565b6129438383836136e9565b60005b825181101561133d5781818151811061296157612961614ca0565b6020026020010151610193600082825461297b9190614d49565b9091555061298a905081614d11565b9050612946565b73ffffffffffffffffffffffffffffffffffffffff8416612a1a5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000612a26856139d7565b90506000612a33856139d7565b9050612a448360008985858961303b565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290612a83908490614cfe565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612af083600089898989613a22565b50505050505050565b60005b8254811015612b3f5781838281548110612b1857612b18614ca0565b906000526020600020015403612b2d57505050565b80612b3781614d11565b915050612afc565b5081546001810183556000928352602090922090910155565b612b606121e5565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586129063390565b6000612bc183836000613bb5565b9392505050565b60676110478282614de9565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c755760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526066602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080612d1c84846001613bcc565b915091509250929050565b600054610100900460ff16612da45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b610c1e81613c13565b600054610100900460ff16610d495760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b600054610100900460ff16612ea75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b610d49613c90565b73ffffffffffffffffffffffffffffffffffffffff8516331480612ed85750612ed8853361056b565b612f4a5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016106a2565b610a0c8585858585613d37565b612f5f6121e5565b612f6a838383613f53565b806101936000828254612f7d9190614d49565b9091555050505050565b60006106dd826001614141565b6000612bc183836001613bb5565b6000811580612fb85750612fb6838361415e565b155b15612fc5575060006106dd565b600082815260018481016020818152604080852085805280835281862080548688528388208054808a52878752858a208a80528752858a2083905591895295855283882087895285529287209290925590915283905582905584549091859161302f908490614d49565b90915550919392505050565b6130498686868686866141e2565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b15613049576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c81906130c89089908990889088908890600401614f03565b6020604051808303816000875af1925050508015613121575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261311e91810190614f6e565b60015b6131d65761312d614f8b565b806308c379a0036131665750613141614fa6565b8061314c5750613168565b8060405162461bcd60e51b81526004016106a291906145b3565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016106a2565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014612af05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016106a2565b81518351146133045760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b73ffffffffffffffffffffffffffffffffffffffff841661338d5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106a2565b3361339c81878787878761303b565b60005b84518110156134f55760008582815181106133bc576133bc614ca0565b6020026020010151905060008583815181106133da576133da614ca0565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8e16835290935291909120549091508181101561348e5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016106a2565b600083815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b168252812080548492906134da908490614cfe565b92505081905550505050806134ee90614d11565b905061339f565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161356c929190614d5c565b60405180910390a4613049818787878787613051565b73ffffffffffffffffffffffffffffffffffffffff81163b61360c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106a2565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61367b8361425b565b6000825111806136885750805b156111c45761133d83836142a8565b60c95460ff16610d495760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016106a2565b73ffffffffffffffffffffffffffffffffffffffff83166137725760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b80518251146137e95760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016106a2565b600033905061380c8185600086866040518060200160405280600081525061303b565b60005b835181101561394357600084828151811061382c5761382c614ca0565b60200260200101519050600084838151811061384a5761384a614ca0565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8c1683529093529190912054909150818110156138fd5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016106a2565b600092835260656020908152604080852073ffffffffffffffffffffffffffffffffffffffff8b168652909152909220910390558061393b81614d11565b91505061380f565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516139bb929190614d5c565b60405180910390a460408051602081019091526000905261133d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613a1157613a11614ca0565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b15613049576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e6190613a99908990899088908890889060040161504e565b6020604051808303816000875af1925050508015613af2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252613aef91810190614f6e565b60015b613afe5761312d614f8b565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014612af05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016106a2565b6000613bc484600085856142cd565b949350505050565b600080613bd9858561415e565b613be857506000905080613c0b565b505060008281526001848101602090815260408084208515158552909152909120545b935093915050565b600054610100900460ff166118275760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b600054610100900460ff16613d0d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106a2565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b73ffffffffffffffffffffffffffffffffffffffff8416613dc05760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000613dcc856139d7565b90506000613dd9856139d7565b9050613de983898985858961303b565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8c16845290915290205485811015613e8f5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016106a2565b600087815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a16825281208054889290613edb908490614cfe565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4613f48848a8a8a8a8a613a22565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316613fdc5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106a2565b336000613fe8846139d7565b90506000613ff5846139d7565b90506140158387600085856040518060200160405280600081525061303b565b600085815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a168452909152902054848110156140ba5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016106a2565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612af0565b60008061415084600085613bcc565b9150613bc490508482612fa2565b600081815260018301602090815260408083208380529091528120541580156141a157506000828152600180850160209081526040808420928452919052902054155b156141da5760008080526001808501602090815260408084209284529190529020548290036141d2575060016106dd565b5060006106dd565b5060016106dd565b60c95460ff16156130495760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c6520706175736564000000000000000000000000000000000000000060648201526084016106a2565b61426481613582565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612bc183836040518060600160405280602781526020016150bb60279139614378565b60006142d9858461415e565b1580156142eb57506142eb858561415e565b1561436d5760008481526001868101602081815260408085208715801580885291845282872080548b8952868652848920838a52808752858a208e9055918c90558089529585528388209188529084528287208a9055908652909152832081905587549092889161435d908490614cfe565b9091555060019250613bc4915050565b506000949350505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516143a2919061509e565b600060405180830381855af49150503d80600081146143dd576040519150601f19603f3d011682016040523d82523d6000602084013e6143e2565b606091505b50915091506143f3868383876143fd565b9695505050505050565b606083156144795782516000036144725773ffffffffffffffffffffffffffffffffffffffff85163b6144725760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a2565b5081613bc4565b613bc4838381511561314c5781518083602001fd5b803573ffffffffffffffffffffffffffffffffffffffff811681146144b257600080fd5b919050565b600080604083850312156144ca57600080fd5b6144d38361448e565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610c1e57600080fd5b60006020828403121561452157600080fd5b8135612bc1816144e1565b60006020828403121561453e57600080fd5b5035919050565b60005b83811015614560578181015183820152602001614548565b50506000910152565b60008151808452614581816020860160208601614545565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612bc16020830184614569565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff82111715614639576146396145c6565b6040525050565b600067ffffffffffffffff82111561465a5761465a6145c6565b5060051b60200190565b600082601f83011261467557600080fd5b8135602061468282614640565b60405161468f82826145f5565b83815260059390931b85018201928281019150868411156146af57600080fd5b8286015b848110156146ca57803583529183019183016146b3565b509695505050505050565b600082601f8301126146e657600080fd5b813567ffffffffffffffff811115614700576147006145c6565b60405161473560207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601826145f5565b81815284602083860101111561474a57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561477d57600080fd5b6147868561448e565b9350602085013567ffffffffffffffff808211156147a357600080fd5b6147af88838901614664565b945060408701359150808211156147c557600080fd5b6147d188838901614664565b935060608701359150808211156147e757600080fd5b506147f4878288016146d5565b91505092959194509250565b600080600080600060a0868803121561481857600080fd5b6148218661448e565b945061482f6020870161448e565b9350604086013567ffffffffffffffff8082111561484c57600080fd5b61485889838a01614664565b9450606088013591508082111561486e57600080fd5b61487a89838a01614664565b9350608088013591508082111561489057600080fd5b5061489d888289016146d5565b9150509295509295909350565b6000602082840312156148bc57600080fd5b612bc18261448e565b600080604083850312156148d857600080fd5b823567ffffffffffffffff808211156148f057600080fd5b818501915085601f83011261490457600080fd5b8135602061491182614640565b60405161491e82826145f5565b83815260059390931b850182019282810191508984111561493e57600080fd5b948201945b83861015614963576149548661448e565b82529482019490820190614943565b9650508601359250508082111561497957600080fd5b5061498685828601614664565b9150509250929050565b600081518084526020808501945080840160005b838110156149c0578151875295820195908201906001016149a4565b509495945050505050565b602081526000612bc16020830184614990565b600080604083850312156149f157600080fd5b6149fa8361448e565b9150602083013567ffffffffffffffff811115614a1657600080fd5b614986858286016146d5565b600080600060608486031215614a3757600080fd5b614a408461448e565b9250602084013567ffffffffffffffff80821115614a5d57600080fd5b614a6987838801614664565b93506040860135915080821115614a7f57600080fd5b50614a8c86828701614664565b9150509250925092565b60008060008060808587031215614aac57600080fd5b614ab58561448e565b93506020850135925060408501359150606085013567ffffffffffffffff811115614adf57600080fd5b6147f4878288016146d5565b600080600060608486031215614b0057600080fd5b614b098461448e565b95602085013595506040909401359392505050565b600060208284031215614b3057600080fd5b813567ffffffffffffffff811115614b4757600080fd5b613bc4848285016146d5565b8015158114610c1e57600080fd5b60008060408385031215614b7457600080fd5b614b7d8361448e565b91506020830135614b8d81614b53565b809150509250929050565b60008060408385031215614bab57600080fd5b614bb48361448e565b9150614bc26020840161448e565b90509250929050565b600080600080600060a08688031215614be357600080fd5b614bec8661448e565b9450614bfa6020870161448e565b93506040860135925060608601359150608086013567ffffffffffffffff811115614c2457600080fd5b61489d888289016146d5565b600181811c90821680614c4457607f821691505b602082108103614c7d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614c9557600080fd5b8151612bc181614b53565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106dd576106dd614ccf565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614d4257614d42614ccf565b5060010190565b818103818111156106dd576106dd614ccf565b604081526000614d6f6040830185614990565b8281036020840152614d818185614990565b95945050505050565b600060208284031215614d9c57600080fd5b5051919050565b601f8211156111c457600081815260208120601f850160051c81016020861015614dca5750805b601f850160051c820191505b8181101561304957828155600101614dd6565b815167ffffffffffffffff811115614e0357614e036145c6565b614e1781614e118454614c30565b84614da3565b602080601f831160018114614e6a5760008415614e345750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613049565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015614eb757888601518255948401946001909101908401614e98565b5085821015614ef357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152614f3c60a0830186614990565b8281036060840152614f4e8186614990565b90508281036080840152614f628185614569565b98975050505050505050565b600060208284031215614f8057600080fd5b8151612bc1816144e1565b600060033d111561111b5760046000803e5060005160e01c90565b600060443d1015614fb45790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff816024840111818411171561500257505050505090565b828501915081518181111561501a5750505050505090565b843d87010160208285010111156150345750505050505090565b615043602082860101876145f5565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261509360a0830184614569565b979650505050505050565b600082516150b0818460208701614545565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220795a3db3409c783b42df7ded100839cf14b96d7d99a9d3de2036691788ef722664736f6c63430008130033", "nonce": "0x26", "accessList": [] }, @@ -764,7 +764,7 @@ "isFixedGasLimit": false }, { - "hash": "0xabd44ee4999b7f37707c7c08d1868e30ebdcc58d42d2a5e273c7aa3a65629232", + "hash": "0x12cbd53a5426c77061a0d17a5c5476fa070a1244d74f42aead0f7c03ba43d615", "transactionType": "CREATE", "contractName": "ERC1967Proxy", "contractAddress": "0xeC32DEF9D46A88CEa86171B4aBfc055c23220163", @@ -783,7 +783,7 @@ "isFixedGasLimit": false }, { - "hash": "0x338bc10419d7e9d2120ac2a2dd93d38716f6eee3a938aaf4cdac8fa2957aff8d", + "hash": "0x786c0066d6134a28f59eef038218c2c2fe45e2d1bdd048fb9257432c62b719ea", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -803,7 +803,7 @@ "isFixedGasLimit": false }, { - "hash": "0xe5ca0b65ef3a097777f1d1226c7976da876c2568c9afd2561eaa213798904055", + "hash": "0x95d012d2b7dd19321012538afcebc55916f1748b49fecfcc2568c275a305119f", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -823,7 +823,7 @@ "isFixedGasLimit": false }, { - "hash": "0xf439538bd7bc6e79154187fcb0f41197b2962c898a7b7393946a867847846613", + "hash": "0xa34afad34fe185dd3c1164de128b07c2056c496fd5a0b85404a36c2b1ecfcccd", "transactionType": "CREATE", "contractName": "StakingShare", "contractAddress": "0x4b9E41D9bE1A76E9160c73af782012b9868d0cE4", @@ -832,9 +832,9 @@ "transaction": { "type": "0x02", "from": "0xa18e35a6e821aadc80afd132ffa72879f999f2fc", - "gas": "0x5d95f9", + "gas": "0x5d95e9", "value": "0x0", - "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516154426200012960003960008181610b3201528181610bc801528181610f5001528181610fe6015261111501526154426000f3fe6080604052600436106102185760003560e01c8063737035e81161011d578063ce325bf8116100b0578063e8b7c95e1161007f578063f242432a11610064578063f242432a146106bf578063f399e22e146106df578063f5298aca146106ff57600080fd5b8063e8b7c95e14610649578063e985e9c51461066957600080fd5b8063ce325bf81461055b578063d0ebdbe7146105dd578063d5009584146105fd578063e1f862e11461062957600080fd5b80639b642de1116100ec5780639b642de1146104db578063a0bcfc7f146104fb578063a22cb4651461051b578063a647e8ec1461053b57600080fd5b8063737035e814610466578063782f08ae146104865780637b48c3fd146104a65780638456cb59146104c657600080fd5b80632eb2c2d6116101b05780634f1ef2861161017f5780635c975abb116101645780635c975abb1461040e5780636b20c45414610426578063731133e91461044657600080fd5b80634f1ef286146103e657806352d1902d146103f957600080fd5b80632eb2c2d6146103645780633659cfe6146103845780633f4ba83a146103a45780634e1273f4146103b957600080fd5b806313007d55116101ec57806313007d55146102c2578063132c4feb1461031557806318160ddd1461032b5780631f7fdffa1461034257600080fd5b8062fdd58e1461021d57806301ffc9a7146102505780630cac36b2146102805780630e89341c146102a2575b600080fd5b34801561022957600080fd5b5061023d6102383660046146a1565b61071f565b6040519081526020015b60405180910390f35b34801561025c57600080fd5b5061027061026b3660046146f9565b6107e7565b6040519015158152602001610247565b34801561028c57600080fd5b506102956108ca565b6040516102479190614784565b3480156102ae57600080fd5b506102956102bd366004614797565b61095d565b3480156102ce57600080fd5b50610191546102f09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610247565b34801561032157600080fd5b506101f95461023d565b34801561033757600080fd5b5061023d6101935481565b34801561034e57600080fd5b5061036261035d366004614951565b610968565b005b34801561037057600080fd5b5061036261037f3660046149ea565b610b06565b34801561039057600080fd5b5061036261039f366004614a94565b610b1b565b3480156103b057600080fd5b50610362610cec565b3480156103c557600080fd5b506103d96103d4366004614aaf565b610dfb565b6040516102479190614bb5565b6103626103f4366004614bc8565b610f39565b34801561040557600080fd5b5061023d6110fb565b34801561041a57600080fd5b5060c95460ff16610270565b34801561043257600080fd5b50610362610441366004614c0c565b6111ce565b34801561045257600080fd5b50610362610461366004614c80565b611279565b34801561047257600080fd5b5061023d6104813660046146a1565b6113d8565b34801561049257600080fd5b506103626104a1366004614cd5565b61140a565b3480156104b257600080fd5b506103d96104c1366004614a94565b611519565b3480156104d257600080fd5b50610362611593565b3480156104e757600080fd5b506103626104f6366004614d06565b6116a0565b34801561050757600080fd5b50610362610516366004614d06565b6117aa565b34801561052757600080fd5b50610362610536366004614d49565b6118c5565b34801561054757600080fd5b5061023d610556366004614d80565b6118d0565b34801561056757600080fd5b5061057b610576366004614797565b611ae6565b6040516102479190600060c08201905073ffffffffffffffffffffffffffffffffffffffff83511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b3480156105e957600080fd5b506103626105f8366004614a94565b611ba5565b34801561060957600080fd5b506101915473ffffffffffffffffffffffffffffffffffffffff166102f0565b34801561063557600080fd5b50610362610644366004614bc8565b611cee565b34801561065557600080fd5b50610362610664366004614db9565b611f3f565b34801561067557600080fd5b50610270610684366004614deb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156106cb57600080fd5b506103626106da366004614e1e565b6120cb565b3480156106eb57600080fd5b506103626106fa366004614bc8565b6120e0565b34801561070b57600080fd5b5061036261071a366004614e83565b612253565b600073ffffffffffffffffffffffffffffffffffffffff83166107af5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b50600081815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061087a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b806107e157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146107e1565b60606101fa80546108da90614eb6565b80601f016020809104026020016040519081016040528092919081815260200182805461090690614eb6565b80156109535780601f1061092857610100808354040283529160200191610953565b820191906000526020600020905b81548152906001019060200180831161093657829003601f168201915b5050505050905090565b60606107e1826122f9565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190614f09565b610a6d5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b610a756123db565b610a818484848461242e565b6101935460005b8451811015610ac857838181518110610aa357610aa3614f26565b602002602001015182610ab69190614f84565b9150610ac181614f97565b9050610a88565b5061019381905573ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020610aff9085612683565b5050505050565b610b0e6123db565b610aff8585858585612735565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610bc65760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107a6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c3b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610cc45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107a6565b610ccd81612772565b60408051600080825260208201909252610ce991839190612873565b50565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da59190614f09565b610df15760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74207061757365720000000000000060448201526064016107a6565b610df9612a3e565b565b60608151835114610e745760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016107a6565b6000835167ffffffffffffffff811115610e9057610e906147b0565b604051908082528060200260200182016040528015610eb9578160200160208202803683370190505b50905060005b8451811015610f3157610f04858281518110610edd57610edd614f26565b6020026020010151858381518110610ef757610ef7614f26565b602002602001015161071f565b828281518110610f1657610f16614f26565b6020908102919091010152610f2a81614f97565b9050610ebf565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610fe45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107a6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110e25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107a6565b6110eb82612772565b6110f782826001612873565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146111a85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016107a6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b73ffffffffffffffffffffffffffffffffffffffff83163314806111f757506111f78333610684565b6112695760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b611274838383612abb565b505050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561130e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113329190614f09565b61137e5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b61138a84848484612ace565b81610193600082825461139d9190614f84565b909155505073ffffffffffffffffffffffffffffffffffffffff84166000908152610192602052604090206113d29084612c36565b50505050565b61019260205281600052604060002081815481106113f557600080fd5b90600052602060002001600091509150505481565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561149f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c39190614f09565b61150f5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6110f78282612c95565b73ffffffffffffffffffffffffffffffffffffffff81166000908152610192602090815260409182902080548351818402810184019094528084526060939283018282801561158757602002820191906000526020600020905b815481526020019060010190808311611573575b50505050509050919050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164c9190614f09565b6116985760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74207061757365720000000000000060448201526064016107a6565b610df9612cf3565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117559190614f09565b6117a15760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b610ce981612d4e565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561183f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118639190614f09565b6118af5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6118b881612d5a565b6101fa6110f78282615015565b6110f7338383612d67565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015260009173ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015611966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198a9190614f09565b6119d65760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6119de6123db565b610193546119ed906001614f84565b9050611a0b8582600160405180602001604052806000815250612ace565b60016101936000828254611a1f9190614f84565b909155505073ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020611a549082612c36565b60008181526101f86020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816178155600181018690556005810186905560038101859055436002820155600481018490556101f9805491928792611ad7908490614f84565b90915550919695505050505050565b611b356040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b5060009081526101f86020908152604091829020825160c081018452815473ffffffffffffffffffffffffffffffffffffffff168152600182015492810192909252600281015492820192909252600382015460608201526004820154608082015260059091015460a082015290565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5a9190614f09565b611ca65760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff1615808015611d0e5750600054600160ff909116105b80611d285750303b158015611d28575060005460ff166001145b611d9a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107a6565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611df857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600054610100900460ff16611e755760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b611e7e82612ea0565b611e86612f26565b611e8e612fa3565b611e96612f26565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055801561127457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a1505050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611fd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff89190614f09565b6120445760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b61204c6123db565b60008481526101f86020526040902060058101548481111561208f57612072858261512f565b6101f96000828254612084919061512f565b909155506120b19050565b612099818661512f565b6101f960008282546120ab9190614f84565b90915550505b506005810193909355600383019190915560049091015550565b6120d36123db565b610aff8585858585613028565b600054610100900460ff16158080156121005750600054600160ff909116105b8061211a5750303b15801561211a575060005460ff166001145b61218c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107a6565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156121ea57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6121f48383611cee565b801561127457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611f32565b73ffffffffffffffffffffffffffffffffffffffff831633148061227c575061227c8333610684565b6122ee5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b611274838383613065565b60008181526101c7602052604081208054606092919061231890614eb6565b80601f016020809104026020016040519081016040528092919081815260200182805461234490614eb6565b80156123915780601f1061236657610100808354040283529160200191612391565b820191906000526020600020905b81548152906001019060200180831161237457829003601f168201915b5050505050905060008151116123af576123aa83613149565b6123d4565b6101c6816040516020016123c4929190615142565b6040516020818303038152906040525b9392505050565b60c95460ff1615610df95760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016107a6565b73ffffffffffffffffffffffffffffffffffffffff84166124b75760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b815183511461252e5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b3361253e816000878787876131d3565b60005b84518110156125f45783818151811061255c5761255c614f26565b60200260200101516065600087848151811061257a5761257a614f26565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125dc9190614f84565b909155508190506125ec81614f97565b915050612541565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161266c9291906151e7565b60405180910390a4610aff816000878787876131e9565b60005b8151811015611274576000805b84548110156126f3578383815181106126ae576126ae614f26565b60200260200101518582815481106126c8576126c8614f26565b9060005260206000200154036126e157600191506126f3565b806126eb81614f97565b915050612693565b508061272c578383838151811061270c5761270c614f26565b602090810291909101810151825460018101845560009384529190922001555b50600101612686565b6127428585858585613425565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610aff9084612683565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015612803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128279190614f09565b610ce95760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156128a657611274836134cd565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561292b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261292891810190615215565b60015b61299d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016107a6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612a325760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016107a6565b506112748383836135bd565b612a466135e2565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612ac36123db565b611274838383613634565b73ffffffffffffffffffffffffffffffffffffffff8416612b575760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b336000612b6385613695565b90506000612b7085613695565b9050612b81836000898585896131d3565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290612bc0908490614f84565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612c2d836000898989896136e0565b50505050505050565b60005b8254811015612c7c5781838281548110612c5557612c55614f26565b906000526020600020015403612c6a57505050565b80612c7481614f97565b915050612c39565b5081546001810183556000928352602090922090910155565b60008281526101c760205260409020612cae8282615015565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b612cda8461095d565b604051612ce79190614784565b60405180910390a25050565b612cfb6123db565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a913390565b60676110f78282615015565b6101c66110f78282615015565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612e085760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526066602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600054610100900460ff16612f1d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b610ce981613873565b600054610100900460ff16610df95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff166130205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b610df96138f0565b6130358585858585613997565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610aff9084612c36565b61306d6123db565b806001146130bd5760405162461bcd60e51b815260206004820152600b60248201527f616d6f756e74203c3e203100000000000000000000000000000000000000000060448201526064016107a6565b6130c983836001613a3f565b60008281526101f86020526040902060058101541561312a5760405162461bcd60e51b815260206004820152600760248201527f4c50203c3e20300000000000000000000000000000000000000000000000000060448201526064016107a6565b6001610193600082825461313e919061512f565b909155505050505050565b60606067805461315890614eb6565b80601f016020809104026020016040519081016040528092919081815260200182805461318490614eb6565b80156115875780601f106131a657610100808354040283529160200191611587565b820191906000526020600020905b8154815290600101906020018083116131b45750939695505050505050565b6131e1868686868686613a6f565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b156131e1576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c8190613260908990899088908890889060040161522e565b6020604051808303816000875af19250505080156132b9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526132b691810190615299565b60015b61336e576132c56152b6565b806308c379a0036132fe57506132d96152d1565b806132e45750613300565b8060405162461bcd60e51b81526004016107a69190614784565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016107a6565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014612c2d5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff851633148061344e575061344e8533610684565b6134c05760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b610aff8585858585613a7d565b73ffffffffffffffffffffffffffffffffffffffff81163b6135575760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016107a6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6135c683613d72565b6000825111806135d35750805b15611274576113d28383613dbf565b60c95460ff16610df95760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016107a6565b61363c6123db565b613647838383613de4565b60005b82518110156113d25781818151811061366557613665614f26565b6020026020010151610193600082825461367f919061512f565b9091555061368e905081614f97565b905061364a565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106136cf576136cf614f26565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b156131e1576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e61906137579089908990889088908890600401615379565b6020604051808303816000875af19250505080156137b0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526137ad91810190615299565b60015b6137bc576132c56152b6565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014612c2d5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff166117a15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff1661396d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b73ffffffffffffffffffffffffffffffffffffffff85163314806139c057506139c08533610684565b613a325760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b610aff85858585856140d2565b613a476123db565b613a528383836142ee565b806101936000828254613a65919061512f565b9091555050505050565b6131e18686868686866144dc565b8151835114613af45760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff8416613b7d5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107a6565b33613b8c8187878787876131d3565b60005b8451811015613ce5576000858281518110613bac57613bac614f26565b602002602001015190506000858381518110613bca57613bca614f26565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8e168352909352919091205490915081811015613c7e5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016107a6565b600083815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b16825281208054849290613cca908490614f84565b9250508190555050505080613cde90614f97565b9050613b8f565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051613d5c9291906151e7565b60405180910390a46131e18187878787876131e9565b613d7b816134cd565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606123d483836040518060600160405280602781526020016153e660279139614555565b73ffffffffffffffffffffffffffffffffffffffff8316613e6d5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b8051825114613ee45760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b6000339050613f07818560008686604051806020016040528060008152506131d3565b60005b835181101561403e576000848281518110613f2757613f27614f26565b602002602001015190506000848381518110613f4557613f45614f26565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8c168352909352919091205490915081811015613ff85760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016107a6565b600092835260656020908152604080852073ffffffffffffffffffffffffffffffffffffffff8b168652909152909220910390558061403681614f97565b915050613f0a565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516140b69291906151e7565b60405180910390a46040805160208101909152600090526113d2565b73ffffffffffffffffffffffffffffffffffffffff841661415b5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107a6565b33600061416785613695565b9050600061417485613695565b90506141848389898585896131d3565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8c1684529091529020548581101561422a5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016107a6565b600087815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a16825281208054889290614276908490614f84565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46142e3848a8a8a8a8a6136e0565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166143775760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b33600061438384613695565b9050600061439084613695565b90506143b0838760008585604051806020016040528060008152506131d3565b600085815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a168452909152902054848110156144555760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016107a6565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612c2d565b60c95460ff16156131e15760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c6520706175736564000000000000000000000000000000000000000060648201526084016107a6565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161457f91906153c9565b600060405180830381855af49150503d80600081146145ba576040519150601f19603f3d011682016040523d82523d6000602084013e6145bf565b606091505b50915091506145d0868383876145da565b9695505050505050565b6060831561465657825160000361464f5773ffffffffffffffffffffffffffffffffffffffff85163b61464f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107a6565b5081614660565b6146608383614668565b949350505050565b8151156132e45781518083602001fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461469c57600080fd5b919050565b600080604083850312156146b457600080fd5b6146bd83614678565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610ce957600080fd5b60006020828403121561470b57600080fd5b81356123d4816146cb565b60005b83811015614731578181015183820152602001614719565b50506000910152565b60008151808452614752816020860160208601614716565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006123d4602083018461473a565b6000602082840312156147a957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff82111715614823576148236147b0565b6040525050565b600067ffffffffffffffff821115614844576148446147b0565b5060051b60200190565b600082601f83011261485f57600080fd5b8135602061486c8261482a565b60405161487982826147df565b83815260059390931b850182019282810191508684111561489957600080fd5b8286015b848110156148b4578035835291830191830161489d565b509695505050505050565b600082601f8301126148d057600080fd5b813567ffffffffffffffff8111156148ea576148ea6147b0565b60405161491f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601826147df565b81815284602083860101111561493457600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561496757600080fd5b61497085614678565b9350602085013567ffffffffffffffff8082111561498d57600080fd5b6149998883890161484e565b945060408701359150808211156149af57600080fd5b6149bb8883890161484e565b935060608701359150808211156149d157600080fd5b506149de878288016148bf565b91505092959194509250565b600080600080600060a08688031215614a0257600080fd5b614a0b86614678565b9450614a1960208701614678565b9350604086013567ffffffffffffffff80821115614a3657600080fd5b614a4289838a0161484e565b94506060880135915080821115614a5857600080fd5b614a6489838a0161484e565b93506080880135915080821115614a7a57600080fd5b50614a87888289016148bf565b9150509295509295909350565b600060208284031215614aa657600080fd5b6123d482614678565b60008060408385031215614ac257600080fd5b823567ffffffffffffffff80821115614ada57600080fd5b818501915085601f830112614aee57600080fd5b81356020614afb8261482a565b604051614b0882826147df565b83815260059390931b8501820192828101915089841115614b2857600080fd5b948201945b83861015614b4d57614b3e86614678565b82529482019490820190614b2d565b96505086013592505080821115614b6357600080fd5b50614b708582860161484e565b9150509250929050565b600081518084526020808501945080840160005b83811015614baa57815187529582019590820190600101614b8e565b509495945050505050565b6020815260006123d46020830184614b7a565b60008060408385031215614bdb57600080fd5b614be483614678565b9150602083013567ffffffffffffffff811115614c0057600080fd5b614b70858286016148bf565b600080600060608486031215614c2157600080fd5b614c2a84614678565b9250602084013567ffffffffffffffff80821115614c4757600080fd5b614c538783880161484e565b93506040860135915080821115614c6957600080fd5b50614c768682870161484e565b9150509250925092565b60008060008060808587031215614c9657600080fd5b614c9f85614678565b93506020850135925060408501359150606085013567ffffffffffffffff811115614cc957600080fd5b6149de878288016148bf565b60008060408385031215614ce857600080fd5b82359150602083013567ffffffffffffffff811115614c0057600080fd5b600060208284031215614d1857600080fd5b813567ffffffffffffffff811115614d2f57600080fd5b614660848285016148bf565b8015158114610ce957600080fd5b60008060408385031215614d5c57600080fd5b614d6583614678565b91506020830135614d7581614d3b565b809150509250929050565b60008060008060808587031215614d9657600080fd5b614d9f85614678565b966020860135965060408601359560600135945092505050565b60008060008060808587031215614dcf57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215614dfe57600080fd5b614e0783614678565b9150614e1560208401614678565b90509250929050565b600080600080600060a08688031215614e3657600080fd5b614e3f86614678565b9450614e4d60208701614678565b93506040860135925060608601359150608086013567ffffffffffffffff811115614e7757600080fd5b614a87888289016148bf565b600080600060608486031215614e9857600080fd5b614ea184614678565b95602085013595506040909401359392505050565b600181811c90821680614eca57607f821691505b602082108103614f03577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614f1b57600080fd5b81516123d481614d3b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107e1576107e1614f55565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614fc857614fc8614f55565b5060010190565b601f82111561127457600081815260208120601f850160051c81016020861015614ff65750805b601f850160051c820191505b818110156131e157828155600101615002565b815167ffffffffffffffff81111561502f5761502f6147b0565b6150438161503d8454614eb6565b84614fcf565b602080601f83116001811461509657600084156150605750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556131e1565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156150e3578886015182559484019460019091019084016150c4565b508582101561511f57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156107e1576107e1614f55565b600080845461515081614eb6565b60018281168015615168576001811461519b576151ca565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528215158302870194506151ca565b8860005260208060002060005b858110156151c15781548a8201529084019082016151a8565b50505082870194505b5050505083516151de818360208801614716565b01949350505050565b6040815260006151fa6040830185614b7a565b828103602084015261520c8185614b7a565b95945050505050565b60006020828403121561522757600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261526760a0830186614b7a565b82810360608401526152798186614b7a565b9050828103608084015261528d818561473a565b98975050505050505050565b6000602082840312156152ab57600080fd5b81516123d4816146cb565b600060033d11156111cb5760046000803e5060005160e01c90565b600060443d10156152df5790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff816024840111818411171561532d57505050505090565b82850191508151818111156153455750505050505090565b843d870101602082850101111561535f5750505050505090565b61536e602082860101876147df565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a060808301526153be60a083018461473a565b979650505050505050565b600082516153db818460208701614716565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a07032f997f941e86585fae707cae45da65ec4b5a58439bfe5f1072056114e1c64736f6c63430008130033", + "data": "0x60a0604052306080523480156200001557600080fd5b506200002062000030565b6200002a62000030565b620000f1565b600054610100900460ff16156200009d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000ef576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516154426200012960003960008181610b3201528181610bc801528181610f5001528181610fe6015261111501526154426000f3fe6080604052600436106102185760003560e01c8063737035e81161011d578063ce325bf8116100b0578063e8b7c95e1161007f578063f242432a11610064578063f242432a146106bf578063f399e22e146106df578063f5298aca146106ff57600080fd5b8063e8b7c95e14610649578063e985e9c51461066957600080fd5b8063ce325bf81461055b578063d0ebdbe7146105dd578063d5009584146105fd578063e1f862e11461062957600080fd5b80639b642de1116100ec5780639b642de1146104db578063a0bcfc7f146104fb578063a22cb4651461051b578063a647e8ec1461053b57600080fd5b8063737035e814610466578063782f08ae146104865780637b48c3fd146104a65780638456cb59146104c657600080fd5b80632eb2c2d6116101b05780634f1ef2861161017f5780635c975abb116101645780635c975abb1461040e5780636b20c45414610426578063731133e91461044657600080fd5b80634f1ef286146103e657806352d1902d146103f957600080fd5b80632eb2c2d6146103645780633659cfe6146103845780633f4ba83a146103a45780634e1273f4146103b957600080fd5b806313007d55116101ec57806313007d55146102c2578063132c4feb1461031557806318160ddd1461032b5780631f7fdffa1461034257600080fd5b8062fdd58e1461021d57806301ffc9a7146102505780630cac36b2146102805780630e89341c146102a2575b600080fd5b34801561022957600080fd5b5061023d6102383660046146a1565b61071f565b6040519081526020015b60405180910390f35b34801561025c57600080fd5b5061027061026b3660046146f9565b6107e7565b6040519015158152602001610247565b34801561028c57600080fd5b506102956108ca565b6040516102479190614784565b3480156102ae57600080fd5b506102956102bd366004614797565b61095d565b3480156102ce57600080fd5b50610191546102f09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610247565b34801561032157600080fd5b506101f95461023d565b34801561033757600080fd5b5061023d6101935481565b34801561034e57600080fd5b5061036261035d366004614951565b610968565b005b34801561037057600080fd5b5061036261037f3660046149ea565b610b06565b34801561039057600080fd5b5061036261039f366004614a94565b610b1b565b3480156103b057600080fd5b50610362610cec565b3480156103c557600080fd5b506103d96103d4366004614aaf565b610dfb565b6040516102479190614bb5565b6103626103f4366004614bc8565b610f39565b34801561040557600080fd5b5061023d6110fb565b34801561041a57600080fd5b5060c95460ff16610270565b34801561043257600080fd5b50610362610441366004614c0c565b6111ce565b34801561045257600080fd5b50610362610461366004614c80565b611279565b34801561047257600080fd5b5061023d6104813660046146a1565b6113d8565b34801561049257600080fd5b506103626104a1366004614cd5565b61140a565b3480156104b257600080fd5b506103d96104c1366004614a94565b611519565b3480156104d257600080fd5b50610362611593565b3480156104e757600080fd5b506103626104f6366004614d06565b6116a0565b34801561050757600080fd5b50610362610516366004614d06565b6117aa565b34801561052757600080fd5b50610362610536366004614d49565b6118c5565b34801561054757600080fd5b5061023d610556366004614d80565b6118d0565b34801561056757600080fd5b5061057b610576366004614797565b611ae6565b6040516102479190600060c08201905073ffffffffffffffffffffffffffffffffffffffff83511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b3480156105e957600080fd5b506103626105f8366004614a94565b611ba5565b34801561060957600080fd5b506101915473ffffffffffffffffffffffffffffffffffffffff166102f0565b34801561063557600080fd5b50610362610644366004614bc8565b611cee565b34801561065557600080fd5b50610362610664366004614db9565b611f3f565b34801561067557600080fd5b50610270610684366004614deb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156106cb57600080fd5b506103626106da366004614e1e565b6120cb565b3480156106eb57600080fd5b506103626106fa366004614bc8565b6120e0565b34801561070b57600080fd5b5061036261071a366004614e83565b612253565b600073ffffffffffffffffffffffffffffffffffffffff83166107af5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b50600081815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fd9b67a2600000000000000000000000000000000000000000000000000000000148061087a57507fffffffff0000000000000000000000000000000000000000000000000000000082167f0e89341c00000000000000000000000000000000000000000000000000000000145b806107e157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146107e1565b60606101fa80546108da90614eb6565b80601f016020809104026020016040519081016040528092919081815260200182805461090690614eb6565b80156109535780601f1061092857610100808354040283529160200191610953565b820191906000526020600020905b81548152906001019060200180831161093657829003601f168201915b5050505050905090565b60606107e1826122f9565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa1580156109fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a219190614f09565b610a6d5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b610a756123db565b610a818484848461242e565b6101935460005b8451811015610ac857838181518110610aa357610aa3614f26565b602002602001015182610ab69190614f84565b9150610ac181614f97565b9050610a88565b5061019381905573ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020610aff9085612683565b5050505050565b610b0e6123db565b610aff8585858585612735565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610bc65760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107a6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c3b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610cc45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107a6565b610ccd81612772565b60408051600080825260208201909252610ce991839190612873565b50565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da59190614f09565b610df15760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74207061757365720000000000000060448201526064016107a6565b610df9612a3e565b565b60608151835114610e745760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016107a6565b6000835167ffffffffffffffff811115610e9057610e906147b0565b604051908082528060200260200182016040528015610eb9578160200160208202803683370190505b50905060005b8451811015610f3157610f04858281518110610edd57610edd614f26565b6020026020010151858381518110610ef757610ef7614f26565b602002602001015161071f565b828281518110610f1657610f16614f26565b6020908102919091010152610f2a81614f97565b9050610ebf565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610fe45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016107a6565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146110e25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016107a6565b6110eb82612772565b6110f782826001612873565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146111a85760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016107a6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b73ffffffffffffffffffffffffffffffffffffffff83163314806111f757506111f78333610684565b6112695760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b611274838383612abb565b505050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561130e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113329190614f09565b61137e5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b61138a84848484612ace565b81610193600082825461139d9190614f84565b909155505073ffffffffffffffffffffffffffffffffffffffff84166000908152610192602052604090206113d29084612c36565b50505050565b61019260205281600052604060002081815481106113f557600080fd5b90600052602060002001600091509150505481565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561149f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c39190614f09565b61150f5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6110f78282612c95565b73ffffffffffffffffffffffffffffffffffffffff81166000908152610192602090815260409182902080548351818402810184019094528084526060939283018282801561158757602002820191906000526020600020905b815481526020019060010190808311611573575b50505050509050919050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611628573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164c9190614f09565b6116985760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74207061757365720000000000000060448201526064016107a6565b610df9612cf3565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117559190614f09565b6117a15760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b610ce981612d4e565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa15801561183f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118639190614f09565b6118af5760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6118b881612d5a565b6101fa6110f78282615015565b6110f7338383612d67565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015260009173ffffffffffffffffffffffffffffffffffffffff16906391d1485490604401602060405180830381865afa158015611966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198a9190614f09565b6119d65760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b6119de6123db565b610193546119ed906001614f84565b9050611a0b8582600160405180602001604052806000815250612ace565b60016101936000828254611a1f9190614f84565b909155505073ffffffffffffffffffffffffffffffffffffffff8516600090815261019260205260409020611a549082612c36565b60008181526101f86020526040812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816178155600181018690556005810186905560038101859055436002820155600481018490556101f9805491928792611ad7908490614f84565b90915550919695505050505050565b611b356040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081525090565b5060009081526101f86020908152604091829020825160c081018452815473ffffffffffffffffffffffffffffffffffffffff168152600182015492810192909252600281015492820192909252600382015460608201526004820154608082015260059091015460a082015290565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015611c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5a9190614f09565b611ca65760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff1615808015611d0e5750600054600160ff909116105b80611d285750303b158015611d28575060005460ff166001145b611d9a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107a6565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611df857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600054610100900460ff16611e755760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b611e7e82612ea0565b611e86612f26565b611e8e612fa3565b611e96612f26565b61019180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055801561127457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a1505050565b610191546040517f91d148540000000000000000000000000000000000000000000000000000000081527f2c3344a0b09d9d599750f14ae7ae70a637eb320f3819c7837de1e7e594e6787d600482015233602482015273ffffffffffffffffffffffffffffffffffffffff909116906391d1485490604401602060405180830381865afa158015611fd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff89190614f09565b6120445760405162461bcd60e51b815260206004820152601960248201527f5374616b696e672053686172653a206e6f74206d696e7465720000000000000060448201526064016107a6565b61204c6123db565b60008481526101f86020526040902060058101548481111561208f57612072858261512f565b6101f96000828254612084919061512f565b909155506120b19050565b612099818661512f565b6101f960008282546120ab9190614f84565b90915550505b506005810193909355600383019190915560049091015550565b6120d36123db565b610aff8585858585613028565b600054610100900460ff16158080156121005750600054600160ff909116105b8061211a5750303b15801561211a575060005460ff166001145b61218c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107a6565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156121ea57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6121f48383611cee565b801561127457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611f32565b73ffffffffffffffffffffffffffffffffffffffff831633148061227c575061227c8333610684565b6122ee5760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b611274838383613065565b60008181526101c7602052604081208054606092919061231890614eb6565b80601f016020809104026020016040519081016040528092919081815260200182805461234490614eb6565b80156123915780601f1061236657610100808354040283529160200191612391565b820191906000526020600020905b81548152906001019060200180831161237457829003601f168201915b5050505050905060008151116123af576123aa83613149565b6123d4565b6101c6816040516020016123c4929190615142565b6040516020818303038152906040525b9392505050565b60c95460ff1615610df95760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016107a6565b73ffffffffffffffffffffffffffffffffffffffff84166124b75760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b815183511461252e5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b3361253e816000878787876131d3565b60005b84518110156125f45783818151811061255c5761255c614f26565b60200260200101516065600087848151811061257a5761257a614f26565b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125dc9190614f84565b909155508190506125ec81614f97565b915050612541565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161266c9291906151e7565b60405180910390a4610aff816000878787876131e9565b60005b8151811015611274576000805b84548110156126f3578383815181106126ae576126ae614f26565b60200260200101518582815481106126c8576126c8614f26565b9060005260206000200154036126e157600191506126f3565b806126eb81614f97565b915050612693565b508061272c578383838151811061270c5761270c614f26565b602090810291909101810151825460018101845560009384529190922001555b50600101612686565b6127428585858585613425565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610aff9084612683565b6101915473ffffffffffffffffffffffffffffffffffffffff166391d148546000336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015612803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128279190614f09565b610ce95760405162461bcd60e51b815260206004820152601860248201527f455243323055626971756974793a206e6f742061646d696e000000000000000060448201526064016107a6565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156128a657611274836134cd565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561292b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261292891810190615215565b60015b61299d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016107a6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612a325760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016107a6565b506112748383836135bd565b612a466135e2565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612ac36123db565b611274838383613634565b73ffffffffffffffffffffffffffffffffffffffff8416612b575760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b336000612b6385613695565b90506000612b7085613695565b9050612b81836000898585896131d3565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b16845290915281208054879290612bc0908490614f84565b9091555050604080518781526020810187905273ffffffffffffffffffffffffffffffffffffffff808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612c2d836000898989896136e0565b50505050505050565b60005b8254811015612c7c5781838281548110612c5557612c55614f26565b906000526020600020015403612c6a57505050565b80612c7481614f97565b915050612c39565b5081546001810183556000928352602090922090910155565b60008281526101c760205260409020612cae8282615015565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b612cda8461095d565b604051612ce79190614784565b60405180910390a25050565b612cfb6123db565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a913390565b60676110f78282615015565b6101c66110f78282615015565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612e085760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526066602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600054610100900460ff16612f1d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b610ce981613873565b600054610100900460ff16610df95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff166130205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b610df96138f0565b6130358585858585613997565b73ffffffffffffffffffffffffffffffffffffffff8416600090815261019260205260409020610aff9084612c36565b61306d6123db565b806001146130bd5760405162461bcd60e51b815260206004820152600b60248201527f616d6f756e74203c3e203100000000000000000000000000000000000000000060448201526064016107a6565b6130c983836001613a3f565b60008281526101f86020526040902060058101541561312a5760405162461bcd60e51b815260206004820152600760248201527f4c50203c3e20300000000000000000000000000000000000000000000000000060448201526064016107a6565b6001610193600082825461313e919061512f565b909155505050505050565b60606067805461315890614eb6565b80601f016020809104026020016040519081016040528092919081815260200182805461318490614eb6565b80156115875780601f106131a657610100808354040283529160200191611587565b820191906000526020600020905b8154815290600101906020018083116131b45750939695505050505050565b6131e1868686868686613a6f565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff84163b156131e1576040517fbc197c8100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063bc197c8190613260908990899088908890889060040161522e565b6020604051808303816000875af19250505080156132b9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526132b691810190615299565b60015b61336e576132c56152b6565b806308c379a0036132fe57506132d96152d1565b806132e45750613300565b8060405162461bcd60e51b81526004016107a69190614784565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016107a6565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fbc197c810000000000000000000000000000000000000000000000000000000014612c2d5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff851633148061344e575061344e8533610684565b6134c05760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b610aff8585858585613a7d565b73ffffffffffffffffffffffffffffffffffffffff81163b6135575760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016107a6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6135c683613d72565b6000825111806135d35750805b15611274576113d28383613dbf565b60c95460ff16610df95760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016107a6565b61363c6123db565b613647838383613de4565b60005b82518110156113d25781818151811061366557613665614f26565b6020026020010151610193600082825461367f919061512f565b9091555061368e905081614f97565b905061364a565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106136cf576136cf614f26565b602090810291909101015292915050565b73ffffffffffffffffffffffffffffffffffffffff84163b156131e1576040517ff23a6e6100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063f23a6e61906137579089908990889088908890600401615379565b6020604051808303816000875af19250505080156137b0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526137ad91810190615299565b60015b6137bc576132c56152b6565b7fffffffff0000000000000000000000000000000000000000000000000000000081167ff23a6e610000000000000000000000000000000000000000000000000000000014612c2d5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a6563746560448201527f6420746f6b656e7300000000000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff166117a15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b600054610100900460ff1661396d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107a6565b60c980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b73ffffffffffffffffffffffffffffffffffffffff85163314806139c057506139c08533610684565b613a325760405162461bcd60e51b815260206004820152602e60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201527f6572206f7220617070726f76656400000000000000000000000000000000000060648201526084016107a6565b610aff85858585856140d2565b613a476123db565b613a528383836142ee565b806101936000828254613a65919061512f565b9091555050505050565b6131e18686868686866144dc565b8151835114613af45760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b73ffffffffffffffffffffffffffffffffffffffff8416613b7d5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107a6565b33613b8c8187878787876131d3565b60005b8451811015613ce5576000858281518110613bac57613bac614f26565b602002602001015190506000858381518110613bca57613bca614f26565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8e168352909352919091205490915081811015613c7e5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016107a6565b600083815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8e8116855292528083208585039055908b16825281208054849290613cca908490614f84565b9250508190555050505080613cde90614f97565b9050613b8f565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051613d5c9291906151e7565b60405180910390a46131e18187878787876131e9565b613d7b816134cd565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606123d483836040518060600160405280602781526020016153e660279139614555565b73ffffffffffffffffffffffffffffffffffffffff8316613e6d5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b8051825114613ee45760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016107a6565b6000339050613f07818560008686604051806020016040528060008152506131d3565b60005b835181101561403e576000848281518110613f2757613f27614f26565b602002602001015190506000848381518110613f4557613f45614f26565b602090810291909101810151600084815260658352604080822073ffffffffffffffffffffffffffffffffffffffff8c168352909352919091205490915081811015613ff85760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016107a6565b600092835260656020908152604080852073ffffffffffffffffffffffffffffffffffffffff8b168652909152909220910390558061403681614f97565b915050613f0a565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516140b69291906151e7565b60405180910390a46040805160208101909152600090526113d2565b73ffffffffffffffffffffffffffffffffffffffff841661415b5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107a6565b33600061416785613695565b9050600061417485613695565b90506141848389898585896131d3565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8c1684529091529020548581101561422a5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e736665720000000000000000000000000000000000000000000060648201526084016107a6565b600087815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d8116855292528083208985039055908a16825281208054889290614276908490614f84565b9091555050604080518881526020810188905273ffffffffffffffffffffffffffffffffffffffff808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46142e3848a8a8a8a8a6136e0565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166143775760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107a6565b33600061438384613695565b9050600061439084613695565b90506143b0838760008585604051806020016040528060008152506131d3565b600085815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a168452909152902054848110156144555760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e63650000000000000000000000000000000000000000000000000000000060648201526084016107a6565b600086815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612c2d565b60c95460ff16156131e15760405162461bcd60e51b815260206004820152602c60248201527f455243313135355061757361626c653a20746f6b656e207472616e736665722060448201527f7768696c6520706175736564000000000000000000000000000000000000000060648201526084016107a6565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161457f91906153c9565b600060405180830381855af49150503d80600081146145ba576040519150601f19603f3d011682016040523d82523d6000602084013e6145bf565b606091505b50915091506145d0868383876145da565b9695505050505050565b6060831561465657825160000361464f5773ffffffffffffffffffffffffffffffffffffffff85163b61464f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107a6565b5081614660565b6146608383614668565b949350505050565b8151156132e45781518083602001fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461469c57600080fd5b919050565b600080604083850312156146b457600080fd5b6146bd83614678565b946020939093013593505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610ce957600080fd5b60006020828403121561470b57600080fd5b81356123d4816146cb565b60005b83811015614731578181015183820152602001614719565b50506000910152565b60008151808452614752816020860160208601614716565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006123d4602083018461473a565b6000602082840312156147a957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116810181811067ffffffffffffffff82111715614823576148236147b0565b6040525050565b600067ffffffffffffffff821115614844576148446147b0565b5060051b60200190565b600082601f83011261485f57600080fd5b8135602061486c8261482a565b60405161487982826147df565b83815260059390931b850182019282810191508684111561489957600080fd5b8286015b848110156148b4578035835291830191830161489d565b509695505050505050565b600082601f8301126148d057600080fd5b813567ffffffffffffffff8111156148ea576148ea6147b0565b60405161491f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601826147df565b81815284602083860101111561493457600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561496757600080fd5b61497085614678565b9350602085013567ffffffffffffffff8082111561498d57600080fd5b6149998883890161484e565b945060408701359150808211156149af57600080fd5b6149bb8883890161484e565b935060608701359150808211156149d157600080fd5b506149de878288016148bf565b91505092959194509250565b600080600080600060a08688031215614a0257600080fd5b614a0b86614678565b9450614a1960208701614678565b9350604086013567ffffffffffffffff80821115614a3657600080fd5b614a4289838a0161484e565b94506060880135915080821115614a5857600080fd5b614a6489838a0161484e565b93506080880135915080821115614a7a57600080fd5b50614a87888289016148bf565b9150509295509295909350565b600060208284031215614aa657600080fd5b6123d482614678565b60008060408385031215614ac257600080fd5b823567ffffffffffffffff80821115614ada57600080fd5b818501915085601f830112614aee57600080fd5b81356020614afb8261482a565b604051614b0882826147df565b83815260059390931b8501820192828101915089841115614b2857600080fd5b948201945b83861015614b4d57614b3e86614678565b82529482019490820190614b2d565b96505086013592505080821115614b6357600080fd5b50614b708582860161484e565b9150509250929050565b600081518084526020808501945080840160005b83811015614baa57815187529582019590820190600101614b8e565b509495945050505050565b6020815260006123d46020830184614b7a565b60008060408385031215614bdb57600080fd5b614be483614678565b9150602083013567ffffffffffffffff811115614c0057600080fd5b614b70858286016148bf565b600080600060608486031215614c2157600080fd5b614c2a84614678565b9250602084013567ffffffffffffffff80821115614c4757600080fd5b614c538783880161484e565b93506040860135915080821115614c6957600080fd5b50614c768682870161484e565b9150509250925092565b60008060008060808587031215614c9657600080fd5b614c9f85614678565b93506020850135925060408501359150606085013567ffffffffffffffff811115614cc957600080fd5b6149de878288016148bf565b60008060408385031215614ce857600080fd5b82359150602083013567ffffffffffffffff811115614c0057600080fd5b600060208284031215614d1857600080fd5b813567ffffffffffffffff811115614d2f57600080fd5b614660848285016148bf565b8015158114610ce957600080fd5b60008060408385031215614d5c57600080fd5b614d6583614678565b91506020830135614d7581614d3b565b809150509250929050565b60008060008060808587031215614d9657600080fd5b614d9f85614678565b966020860135965060408601359560600135945092505050565b60008060008060808587031215614dcf57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215614dfe57600080fd5b614e0783614678565b9150614e1560208401614678565b90509250929050565b600080600080600060a08688031215614e3657600080fd5b614e3f86614678565b9450614e4d60208701614678565b93506040860135925060608601359150608086013567ffffffffffffffff811115614e7757600080fd5b614a87888289016148bf565b600080600060608486031215614e9857600080fd5b614ea184614678565b95602085013595506040909401359392505050565b600181811c90821680614eca57607f821691505b602082108103614f03577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614f1b57600080fd5b81516123d481614d3b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107e1576107e1614f55565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614fc857614fc8614f55565b5060010190565b601f82111561127457600081815260208120601f850160051c81016020861015614ff65750805b601f850160051c820191505b818110156131e157828155600101615002565b815167ffffffffffffffff81111561502f5761502f6147b0565b6150438161503d8454614eb6565b84614fcf565b602080601f83116001811461509657600084156150605750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556131e1565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156150e3578886015182559484019460019091019084016150c4565b508582101561511f57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156107e1576107e1614f55565b600080845461515081614eb6565b60018281168015615168576001811461519b576151ca565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00841687528215158302870194506151ca565b8860005260208060002060005b858110156151c15781548a8201529084019082016151a8565b50505082870194505b5050505083516151de818360208801614716565b01949350505050565b6040815260006151fa6040830185614b7a565b828103602084015261520c8185614b7a565b95945050505050565b60006020828403121561522757600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a0604083015261526760a0830186614b7a565b82810360608401526152798186614b7a565b9050828103608084015261528d818561473a565b98975050505050505050565b6000602082840312156152ab57600080fd5b81516123d4816146cb565b600060033d11156111cb5760046000803e5060005160e01c90565b600060443d10156152df5790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff816024840111818411171561532d57505050505090565b82850191508151818111156153455750505050505090565b843d870101602082850101111561535f5750505050505090565b61536e602082860101876147df565b509095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a060808301526153be60a083018461473a565b979650505050505050565b600082516153db818460208701614716565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220feb4ef31ce7b369467971ed9646a381205ffe4a26a4d04d100dd1e1c16db8ec564736f6c63430008130033", "nonce": "0x2a", "accessList": [] }, @@ -842,7 +842,7 @@ "isFixedGasLimit": false }, { - "hash": "0x7ba6be8dab08ae54b1251c6b30df94d73cfc203bf85c88b6f6e557b3146a12b4", + "hash": "0xe20c193b660e49e149f5dac6899720950c5c514dbeab6e0edf348cc3a5f0c4b4", "transactionType": "CREATE", "contractName": "ERC1967Proxy", "contractAddress": "0x5aa6CA888B30105d9b5E42110850CA3Ba2FF7ABd", @@ -864,7 +864,7 @@ "isFixedGasLimit": false }, { - "hash": "0x87b3e9380ac87d9c981448fa7d11b21f519f9823527b4f653beb6325aa69007e", + "hash": "0x188d4fb17efe9557a7a79d36f9f77cfd6bc855886bd7c160e0333778d07f4213", "transactionType": "CALL", "contractName": "Diamond", "contractAddress": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", @@ -886,10 +886,10 @@ ], "receipts": [ { - "transactionHash": "0x0ddf078fffbf881f3f8d4ae32f1dca62bb871d480e8855905d911f31e8056fb1", + "transactionHash": "0xd3d7e4d6d3e7c1ff4f8cc40d4540e8b91f168c57f4b13b045ce86f0e3deda277", "transactionIndex": "0x0", - "blockHash": "0x07878f50186578f8a6234886a9e47fc2a14e9c3953be3a25d431d8ea616eef29", - "blockNumber": "0x113c3ba", + "blockHash": "0x79ac2a883ecc87b7ce9c22d7f40b9a7d7275396a85d61a9dce98596c2ccddf80", + "blockNumber": "0x1149fab", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x17b3a4", @@ -899,13 +899,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x371118282" + "effectiveGasPrice": "0x4881a56d4" }, { - "transactionHash": "0x5b4d77cd8129d5f46124c6277e3caa85789332d9ff15ce6ed34765c2bbd045f8", + "transactionHash": "0x36b4a622a2e08c528fa248cc114f4e1e3707c30d9ba8db8a0dd97e7d2045c842", "transactionIndex": "0x0", - "blockHash": "0xb0e02497692bf0f23f2d4b3cfbba192e10696b4b15d5b71d3c9880133cac5dad", - "blockNumber": "0x113c3bb", + "blockHash": "0x414cce7f4b4ff639449ee68b5917ed3dc036634626323ad96e64fe079d02629b", + "blockNumber": "0x1149fac", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x17b707", @@ -915,45 +915,45 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x3226074cc" + "effectiveGasPrice": "0x41a24d476" }, { - "transactionHash": "0x9932d38d2d7d37d29639983166a6df31d604986d94758c463f27d3e49be9b969", + "transactionHash": "0xb28687c2ac9524ab60d5fefef1cff1a8cce52ea760e74349a760fda2c0156cf6", "transactionIndex": "0x0", - "blockHash": "0x7049d693d631f4abb61e2cab313df7805855b11e10054868b174c84d81d3bd3f", - "blockNumber": "0x113c3bc", + "blockHash": "0x21925fda6cbe0fd672b74816a4a0c5a63bfaf50d71de5639459a75e3640a6fc1", + "blockNumber": "0x1149fad", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x74eb8", - "gasUsed": "0x74eb8", + "cumulativeGasUsed": "0x74ec4", + "gasUsed": "0x74ec4", "contractAddress": "0x1f0BFD4230e54c8089A7Fc59c9090Fcb40C1cBdC", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x2dc81ec92" + "effectiveGasPrice": "0x3b8833ec9" }, { - "transactionHash": "0x8a0e1216e059ede35fff12670fc5cb1a4e9b9f70c0e2a8727fcff407aeba199f", + "transactionHash": "0x640af1c4ca8ef61f632471c50b4c55ea1dbe5d4a23db6ab8333b436bc0c85e01", "transactionIndex": "0x0", - "blockHash": "0x0c9e16d8562b7127054bfb6eef3da25200048e62dcc9b1d66555c23cd3c808d6", - "blockNumber": "0x113c3bd", + "blockHash": "0xe7aea86a91e6faead016cd078639949d606a864254497709f27923c617c8af69", + "blockNumber": "0x1149fae", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x3c8c6", - "gasUsed": "0x3c8c6", + "cumulativeGasUsed": "0x3c8d2", + "gasUsed": "0x3c8d2", "contractAddress": "0x1289805419dc74bcdeE5D4a06606444E9f1474Ed", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x299816ac8" + "effectiveGasPrice": "0x35ae35d23" }, { - "transactionHash": "0x91962b95263ca0b040ae512a975430f973f3e1b0a0c2efaf7b1cbd7a9156b4a2", + "transactionHash": "0xc3ca6beee72d12ed893d8698d412b1ff7ee70c3862003afe90e84a0f2895765d", "transactionIndex": "0x0", - "blockHash": "0xa09d82041d7de5b19711803185420c561a33cc79797c5e3dedd7042225ea5aec", - "blockNumber": "0x113c3be", + "blockHash": "0xb0162af0cc16454889b5f76cb3a55e08cc3e9d97a48f14806461da9091e5aa72", + "blockNumber": "0x1149faf", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x1d64d3", @@ -963,13 +963,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x25dacc8cf" + "effectiveGasPrice": "0x30748d1e8" }, { - "transactionHash": "0x8bd5e9e95f62f1f702722e048a6d96c16d8a6e8bde2e78de2909583a560ac8d5", + "transactionHash": "0x2fb40379a262db56d7f76ade85f84dd875654e377754cfcdac1e9d23b63b8aca", "transactionIndex": "0x0", - "blockHash": "0xacc6da008f13c9e9399bdef3468aadcd749dc396086fbe4f4f4e11d69203f0cb", - "blockNumber": "0x113c3bf", + "blockHash": "0x12555f20fcc30d32f4b977c5c4bd7d8ee376f1dad0d1d8f7375da7644dcfc6d1", + "blockNumber": "0x1149fb0", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0xb5124", @@ -979,13 +979,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x22f2b7129" + "effectiveGasPrice": "0x2c64cfe3f" }, { - "transactionHash": "0x0a99ed844a4cffcc6941f8b03ffb564cce5363cb25291489e08923a43163b0db", + "transactionHash": "0x27c8e5f0243cbb3ca8437b66a3f2d1f2b2bc2d0a28b3b58863dcfad47772f939", "transactionIndex": "0x0", - "blockHash": "0x137d86daa038020a2afd51ed9c97ba8724b6b210b22ea9921e6c81e09639657b", - "blockNumber": "0x113c3c0", + "blockHash": "0xb806eebce10296dfa217e77ed60b804b630482b07d691582626d5db54f98af31", + "blockNumber": "0x1149fb1", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0xd98f2", @@ -995,13 +995,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x201f9ddb9" + "effectiveGasPrice": "0x2872658c0" }, { - "transactionHash": "0x2dfae46114a17297bf70418ad6425bf91ba15772047ce672d1635508675678cd", + "transactionHash": "0x92b6c572c8b7e45f3e00e31c6c04ab2f0904ab21da5d823b1ebde4d0a3f4558f", "transactionIndex": "0x0", - "blockHash": "0xfe2c44ac5215d6ee182df52069127a13a2a2a94622c3b6787b5532ad28d7af17", - "blockNumber": "0x113c3c1", + "blockHash": "0x97cd3e347e161a28c16875413b4f304478f56cb7c95632dedfdf76505e76de8b", + "blockNumber": "0x1149fb2", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0xd4599", @@ -1011,13 +1011,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x1da91d794" + "effectiveGasPrice": "0x25015ef17" }, { - "transactionHash": "0xf347505a6f015af4f848f214b5bd614a037e9cbf4ead9d99f48e8d40f3430ade", + "transactionHash": "0x81b623ac7e5ba0f6ad628a27ff6b3cbc81341ce44a42e4baaeb4ced1c9913fa9", "transactionIndex": "0x0", - "blockHash": "0x05d416428111e04796b702762da837f905db40f04c95ad23f03c7aadaaa6bfdb", - "blockNumber": "0x113c3c2", + "blockHash": "0x26046e84d3b44151036030831e19dad08be6f6e47fe3027023833d3e98dcb6b3", + "blockNumber": "0x1149fb3", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x20d38d", @@ -1027,13 +1027,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x1b7be71dd" + "effectiveGasPrice": "0x21f6c14b7" }, { - "transactionHash": "0x8697e1e925f0243e7b22ce8de678b1818fb971bb274b3fac788f9acffd66c6e4", + "transactionHash": "0x254cf3c90806946e9a09666f5ef102afaf42d801cac26fcb5ef52b15e81a8427", "transactionIndex": "0x0", - "blockHash": "0xdeae5330cd861a864d211d2147f66b37ac070ce8ee57d738c6b434681395244c", - "blockNumber": "0x113c3c3", + "blockHash": "0x42079966c06af6ca114151f0ecd21ece5f15b473740fb93c0bb76d065ad7bc63", + "blockNumber": "0x1149fb4", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x3e23f9", @@ -1043,29 +1043,29 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x19bce366f" + "effectiveGasPrice": "0x1f861f8af" }, { - "transactionHash": "0x99daf3551599f45073dd154e193d11cc584c246f01a6d6c7f744f77dc836fff4", + "transactionHash": "0xa1120696e1c820b22ac21449c16f59e47bc79ee315bb5377c0500d5ae2f5531e", "transactionIndex": "0x0", - "blockHash": "0x4a3b542915c651650fec213dc0a5e638be0f38623eff5dc738272d341498cec2", - "blockNumber": "0x113c3c4", + "blockHash": "0x6e269c9ec408355bc401343f053a021c60547edd2f90f41cdf9aa3cda4bba52f", + "blockNumber": "0x1149fb5", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x14a024", - "gasUsed": "0x14a024", + "cumulativeGasUsed": "0x14a018", + "gasUsed": "0x14a018", "contractAddress": "0x6169444aE7A834646f31f2179dbe9153C2Cfe79D", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x18696aefb" + "effectiveGasPrice": "0x1dabc4578" }, { - "transactionHash": "0x9736615288ef829d2b9748ad3405003d516f1b7c5fb4c11e9eff8b6be582ff55", + "transactionHash": "0xa5941b71150c450cec9e9211bfd7e53d09b10eeb40dcb8080820bc132e5a5516", "transactionIndex": "0x0", - "blockHash": "0x3c93b6edc26817d66e73a012faec54b9b5a04f1ab80bf86c6c63905fbc4c3c4b", - "blockNumber": "0x113c3c5", + "blockHash": "0xe2995c7b38d9328cabf16443d5d02dfc3552584f5dd66c4349f216336c63df4f", + "blockNumber": "0x1149fb6", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x387a7e", @@ -1075,13 +1075,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x16e80948f" + "effectiveGasPrice": "0x1b9141cee" }, { - "transactionHash": "0xd0cc06edd0ff7a18b21490c573c2ec2c8520e5d4a1e47ed5f18149a7a5797c7b", + "transactionHash": "0xdd96f5df7319b75a0b0df1093ff5f64f65796578328c0269f6804b3cc8950b60", "transactionIndex": "0x0", - "blockHash": "0x4f5ed63e9b3bd7dd6fa9926fee657cfe756813bd5e3722d5342f9adbe34c4ef5", - "blockNumber": "0x113c3c6", + "blockHash": "0xc715bcd34ff71c1a909076c3827a4c4a703fcd8d8a4f7975da701e8c1a335624", + "blockNumber": "0x1149fb7", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x129b12", @@ -1091,13 +1091,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x15cd49724" + "effectiveGasPrice": "0x1a0628e42" }, { - "transactionHash": "0x68aeb04d2a9513b870e81d9e2ab7f82bcb4e9cd63270529a62f72e112a2f031b", + "transactionHash": "0xce0f6335fdc8a360ecd5ce43164645bf080ae12aa22755768c4470a664ad156a", "transactionIndex": "0x0", - "blockHash": "0xd55a0d539f9d5aa4fe3ea2594e84579398fd0fb11631733fcd20b85327c45d52", - "blockNumber": "0x113c3c7", + "blockHash": "0xb2926b237fa61073a2835d2c77a6ad252e35d6106beb901f972b2f0dc6810273", + "blockNumber": "0x1149fb8", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x23480d", @@ -1107,13 +1107,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x1494e5252" + "effectiveGasPrice": "0x1851a44d9" }, { - "transactionHash": "0x9fc5c60fc8ea4183202e91768ee13e83d50e3a1006cde84f0f13123e8ead9fe8", + "transactionHash": "0xb3ae73c02428ac2947f949025b993da0c98f6b0857cafea2d7255143d5d0e6bd", "transactionIndex": "0x0", - "blockHash": "0xf1f11756c8cd4e216be80a055a92542b13b86d1f63809bfb59cb935799b9126b", - "blockNumber": "0x113c3c8", + "blockHash": "0x28b4235c5cd7881861abb66f6052fa328cf2cbfc7f08a1998d8d2057dee7bc9a", + "blockNumber": "0x1149fb9", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x127761", @@ -1123,13 +1123,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x13964e8e9" + "effectiveGasPrice": "0x16ede52b2" }, { - "transactionHash": "0x5f69a08e435fbf62f8eea946c28bbfc8c1ae5fa3f6f2d8227274c46e3c91a8ed", + "transactionHash": "0xc39f685d525c3e03d9741a088d80ed1bfdbb90d365e3d16ad4254acaee103c12", "transactionIndex": "0x0", - "blockHash": "0xa8d2f2e459e74bab6889478aabf8a3e6d6fd69125e94c5747d8e8ef87b6de5b7", - "blockNumber": "0x113c3c9", + "blockHash": "0xf13566ef2397e689c870d04bad957e64a9fab245dc40485d4773048cbe875355", + "blockNumber": "0x1149fba", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x160b96", @@ -1139,13 +1139,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x129edcc68" + "effectiveGasPrice": "0x159421803" }, { - "transactionHash": "0x2f2cdafe34129558e4f750a376e18fdcd8f12e243cc816d5a1be2ab54a98aea8", + "transactionHash": "0xbf64fe37360d8b9fc837d807f835eaa9c53f814658cbb9637b920465011c34d7", "transactionIndex": "0x0", - "blockHash": "0x1a5012984cccbc54efecf9bce0ff2c5bcd6081b059a0e4b066227052a65be582", - "blockNumber": "0x113c3ca", + "blockHash": "0xd278966e5a303b413a1544248a5dad9cc0bb1a2e92fad67c580c4a9910177258", + "blockNumber": "0x1149fbb", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x23476a", @@ -1155,13 +1155,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x11c793ff3" + "effectiveGasPrice": "0x14674e259" }, { - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x55871d", @@ -1176,9 +1176,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1188,9 +1188,9 @@ "address": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "topics": ["0x8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673"], "data": "0x00000000000000000000000000000000000000000000000000000000000000600000000000000000000000007f7a6fa77e3de3e90be433834f23e24214bbe3c800000000000000000000000000000000000000000000000000000000000016e0000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000008e00000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000e200000000000000000000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000114000000000000000000000000000000000000000000000000000000000000013a00000000000000000000000000000000000000000000000000000000000001440000000000000000000000000000000000000000000000000000000000000152000000000000000000000000000000000000000000000000000000000000015c0000000000000000000000000d20b46190da9b273a12e59895cf8a750c25541cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c000000000000000000000000000000000000000000000000000000000000000000000000000000001f0bfd4230e54c8089a7fc59c9090fcb40c1cbdc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000057a0ed62700000000000000000000000000000000000000000000000000000000adfca15e0000000000000000000000000000000000000000000000000000000052ef6b2c00000000000000000000000000000000000000000000000000000000cdffacc60000000000000000000000000000000000000000000000000000000001ffc9a7000000000000000000000000000000000000000000000000000000000000000000000000000000001289805419dc74bcdee5d4a06606444e9f1474ed000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002f2fde38b000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000000000000000000000000000004e037b9a8ce977462da4e10fc164363c827abfc6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020ba2d8cdd00000000000000000000000000000000000000000000000000000000dd390ea000000000000000000000000000000000000000000000000000000000e2d443bd00000000000000000000000000000000000000000000000000000000f986cd5700000000000000000000000000000000000000000000000000000000147f1b96000000000000000000000000000000000000000000000000000000001a867af500000000000000000000000000000000000000000000000000000000f6f172cb00000000000000000000000000000000000000000000000000000000be1d86e10000000000000000000000000000000000000000000000000000000015f97398000000000000000000000000000000000000000000000000000000000083faee0000000000000000000000000000000000000000000000000000000092324611000000000000000000000000000000000000000000000000000000001c1f8aa3000000000000000000000000000000000000000000000000000000006605bfda00000000000000000000000000000000000000000000000000000000016afee700000000000000000000000000000000000000000000000000000000fbff3a41000000000000000000000000000000000000000000000000000000008fe6368300000000000000000000000000000000000000000000000000000000bc3ea01800000000000000000000000000000000000000000000000000000000ebef28a700000000000000000000000000000000000000000000000000000000b0bd67b400000000000000000000000000000000000000000000000000000000017df32700000000000000000000000000000000000000000000000000000000b42165d00000000000000000000000000000000000000000000000000000000036c3df240000000000000000000000000000000000000000000000000000000091df16d3000000000000000000000000000000000000000000000000000000008b38ebb300000000000000000000000000000000000000000000000000000000e0ee685500000000000000000000000000000000000000000000000000000000a9b8b79600000000000000000000000000000000000000000000000000000000221e2e6000000000000000000000000000000000000000000000000000000000214f788200000000000000000000000000000000000000000000000000000000ad3401ed00000000000000000000000000000000000000000000000000000000d3815fb9000000000000000000000000000000000000000000000000000000003535f48b00000000000000000000000000000000000000000000000000000000c5f956af0000000000000000000000000000000000000000000000000000000000000000000000000000000058de01a211b2477ce1393c5512bf6089efc59c250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000082f2ff15d0000000000000000000000000000000000000000000000000000000091d14854000000000000000000000000000000000000000000000000000000008bb9c5bf00000000000000000000000000000000000000000000000000000000248a9ca300000000000000000000000000000000000000000000000000000000d547741f000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000003f4ba83a000000000000000000000000000000000000000000000000000000005c975abb00000000000000000000000000000000000000000000000000000000000000000000000000000000d7d3e9c9bc05aba6b9ae47b27ad18d83e441bf320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000034e847fc700000000000000000000000000000000000000000000000000000000a2e6204500000000000000000000000000000000000000000000000000000000283583c600000000000000000000000000000000000000000000000000000000000000000000000000000000635cab41ff7b3b2fa5ebe9518129947a563719b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003fa3305c900000000000000000000000000000000000000000000000000000000bf0d68e4000000000000000000000000000000000000000000000000000000002db8c12900000000000000000000000000000000000000000000000000000000000000000000000000000000119e315502b87e67f1bc98577c735a3518ea47da00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c5f3acd8e0000000000000000000000000000000000000000000000000000000045889bd700000000000000000000000000000000000000000000000000000000776a3bb500000000000000000000000000000000000000000000000000000000ed7662ee000000000000000000000000000000000000000000000000000000002193393300000000000000000000000000000000000000000000000000000000537bb5dc0000000000000000000000000000000000000000000000000000000078b3139b00000000000000000000000000000000000000000000000000000000c0d8012c000000000000000000000000000000000000000000000000000000003cf7857400000000000000000000000000000000000000000000000000000000702f01ee000000000000000000000000000000000000000000000000000000003a98ef390000000000000000000000000000000000000000000000000000000016f0115b000000000000000000000000000000000000000000000000000000000000000000000000000000009f0259fe34bfc22d9cbeeb340cd8d53f35cdeb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c96908b52000000000000000000000000000000000000000000000000000000007cc6bd41000000000000000000000000000000000000000000000000000000006970d473000000000000000000000000000000000000000000000000000000004d8c28c4000000000000000000000000000000000000000000000000000000002f72589e00000000000000000000000000000000000000000000000000000000aa1ec70a00000000000000000000000000000000000000000000000000000000e2bbb15800000000000000000000000000000000000000000000000000000000422f1043000000000000000000000000000000000000000000000000000000009d7de6b3000000000000000000000000000000000000000000000000000000005215915000000000000000000000000000000000000000000000000000000000c5d1cb6300000000000000000000000000000000000000000000000000000000aadc68a5000000000000000000000000000000000000000000000000000000000000000000000000000000006169444ae7a834646f31f2179dbe9153c2cfe79d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005629056cb00000000000000000000000000000000000000000000000000000000a64154f000000000000000000000000000000000000000000000000000000000d5a8cf6400000000000000000000000000000000000000000000000000000000a609d912000000000000000000000000000000000000000000000000000000005b374a400000000000000000000000000000000000000000000000000000000000000000000000000000000038963b77678eb09f9ecc19f42f0371ec3c3c9b7900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000fb6170dcc00000000000000000000000000000000000000000000000000000000d3918c1d000000000000000000000000000000000000000000000000000000004e7c028d0000000000000000000000000000000000000000000000000000000071fc117100000000000000000000000000000000000000000000000000000000a35e50bc000000000000000000000000000000000000000000000000000000005857650800000000000000000000000000000000000000000000000000000000d2bdc9e000000000000000000000000000000000000000000000000000000000be5c687200000000000000000000000000000000000000000000000000000000f23a6e6100000000000000000000000000000000000000000000000000000000bc197c81000000000000000000000000000000000000000000000000000000005469bff100000000000000000000000000000000000000000000000000000000b5a3ff8700000000000000000000000000000000000000000000000000000000efa0982f000000000000000000000000000000000000000000000000000000000d65f47f000000000000000000000000000000000000000000000000000000002565aa420000000000000000000000000000000000000000000000000000000000000000000000000000000082acf7de62ab6b0c240873339c19461a34260794000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001c4b4a9ff00000000000000000000000000000000000000000000000000000000000000000000000000000000b66709aa65aac2b8a6294062d0a0531207481036000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000003ac50680600000000000000000000000000000000000000000000000000000000f13a38a600000000000000000000000000000000000000000000000000000000993fba5c000000000000000000000000000000000000000000000000000000000000000000000000000000005d4905664e98a76cf56ebbd023d38c420d465770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001764263cf00000000000000000000000000000000000000000000000000000000000000000000000000000000d64465fc4c7d3bababa5d0e4aff6dffc278bfd18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001651156bc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014411567a570000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008ac7230489e80000000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -1205,9 +1205,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0x2", "transactionLogIndex": "0x2", @@ -1222,9 +1222,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0x3", "transactionLogIndex": "0x3", @@ -1239,9 +1239,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0x4", "transactionLogIndex": "0x4", @@ -1256,9 +1256,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0x5", "transactionLogIndex": "0x5", @@ -1273,9 +1273,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0x6", "transactionLogIndex": "0x6", @@ -1290,9 +1290,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0x7", "transactionLogIndex": "0x7", @@ -1307,9 +1307,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0x8", "transactionLogIndex": "0x8", @@ -1324,9 +1324,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0x9", "transactionLogIndex": "0x9", @@ -1341,9 +1341,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0xa", "transactionLogIndex": "0xa", @@ -1358,9 +1358,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0xb", "transactionLogIndex": "0xb", @@ -1375,9 +1375,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0xc", "transactionLogIndex": "0xc", @@ -1392,9 +1392,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xa9a7ec1f5c9998de143eccb7bc4e896b3deca3958b5c939fec97e6b6d13049d1", - "blockNumber": "0x113c3cb", - "transactionHash": "0xebf3817398346fe566c317b37ff733c933c3a8e37bcfc2cf07a059394d108b1f", + "blockHash": "0xfd6cb41be8e9c03a75ef3d8251423a246e690e101baa578ebf46eac39cf18627", + "blockNumber": "0x1149fbc", + "transactionHash": "0x5ace0cab615f79d3330deaf9822678f873ebf8193faf16961726a3fa5f130a15", "transactionIndex": "0x0", "logIndex": "0xd", "transactionLogIndex": "0xd", @@ -1404,13 +1404,13 @@ "status": "0x1", "logsBloom": "0x00200004100000000400000000000000000000000000000000800000000000014000000000000004000000000000004000000000000000000000000000000000000000000001010088000000000000000801000081000000000800000000000000000004020000000080000000000800000010000000400000000000000000400020080000000000000000000000008000000010000000000000000000000000000000000000000000000000000000000000000000000000001002200080100080200000000200000820000000000000000800000000010100002000000020000000000000008000000000010000000000000400920000000000000200000000", "type": "0x2", - "effectiveGasPrice": "0x1114d4a6f" + "effectiveGasPrice": "0x136d88bb2" }, { - "transactionHash": "0x52afb5b7669abee51d4e73359ffff83f6f9360ed268335d7ddb46424339654cd", + "transactionHash": "0xf545e185066a5b6fbdd77e44627f90323afe068f4a420737e032e1c75bc044d1", "transactionIndex": "0x0", - "blockHash": "0x21177ba57ce68b5278029531df6b0ae242eab3a728349f089d7e5d7a88e9672a", - "blockNumber": "0x113c3cc", + "blockHash": "0xb4c580092b6f5c2e0588f1280259d1bdcf8c4a0dba4ddd103f847fb6bc2423ef", + "blockNumber": "0x1149fbd", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x8954", @@ -1421,9 +1421,9 @@ "address": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "topics": ["0x3a1c0b7d3cdecbab83b82697d51cbcdb308b3bbae63e597cbc958deb9c830e50"], "data": "0x00000000000000000000000000000000000000000000000000000000000001a4", - "blockHash": "0x21177ba57ce68b5278029531df6b0ae242eab3a728349f089d7e5d7a88e9672a", - "blockNumber": "0x113c3cc", - "transactionHash": "0x52afb5b7669abee51d4e73359ffff83f6f9360ed268335d7ddb46424339654cd", + "blockHash": "0xb4c580092b6f5c2e0588f1280259d1bdcf8c4a0dba4ddd103f847fb6bc2423ef", + "blockNumber": "0x1149fbd", + "transactionHash": "0xf545e185066a5b6fbdd77e44627f90323afe068f4a420737e032e1c75bc044d1", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1433,26 +1433,26 @@ "status": "0x1", "logsBloom": "0x00000000000000000400000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x109e78798" + "effectiveGasPrice": "0x12c8250bb" }, { - "transactionHash": "0xdc15c6b31827e0179be9cfc116af3583ad35e788866de4ec851c5c472a32cbed", + "transactionHash": "0xa5a6ef2c53d02fc060c8dc24e86ca84d07d5b2b2487c392b8299719ba5938303", "transactionIndex": "0x0", - "blockHash": "0x3536df52d8126fdec9eed3dd86c6107c6f33bb6e3d7427fcdf97fa4c748ee8c6", - "blockNumber": "0x113c3cd", + "blockHash": "0x4f372c414668077a1296c717d3dbe905bcc4750f5c1c175c75329c154f821bc8", + "blockNumber": "0x1149fbe", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x35107f", - "gasUsed": "0x35107f", + "cumulativeGasUsed": "0x34fd5d", + "gasUsed": "0x34fd5d", "contractAddress": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", "logs": [ { "address": "0xF98F9083a9226b200dA8CbC4bfeCDAE58DA59889", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x3536df52d8126fdec9eed3dd86c6107c6f33bb6e3d7427fcdf97fa4c748ee8c6", - "blockNumber": "0x113c3cd", - "transactionHash": "0xdc15c6b31827e0179be9cfc116af3583ad35e788866de4ec851c5c472a32cbed", + "blockHash": "0x4f372c414668077a1296c717d3dbe905bcc4750f5c1c175c75329c154f821bc8", + "blockNumber": "0x1149fbe", + "transactionHash": "0xa5a6ef2c53d02fc060c8dc24e86ca84d07d5b2b2487c392b8299719ba5938303", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1462,17 +1462,17 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000080800000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xff0b2a86" + "effectiveGasPrice": "0x11d5532ec" }, { - "transactionHash": "0xec2e9c5892fddf7386071d75f55f397bb1e0669156668a77f0f14e6efe7d418e", + "transactionHash": "0xfbed2a3785b0e0df46f85b2de10a7398141904029f4a1d199c916f0bca5b9d95", "transactionIndex": "0x0", - "blockHash": "0x9052b96caecf6354eb4965a57a850e0bef29972c6c55e9c0fe9a2efab0139786", - "blockNumber": "0x113c3ce", + "blockHash": "0x20aab069f412bca2f288d3f0deb3c5c2806e62a98e656e29122c57babb3931d6", + "blockNumber": "0x1149fbf", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x4ae66", - "gasUsed": "0x4ae66", + "cumulativeGasUsed": "0x4ae62", + "gasUsed": "0x4ae62", "contractAddress": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "logs": [ { @@ -1482,9 +1482,9 @@ "0x000000000000000000000000f98f9083a9226b200da8cbc4bfecdae58da59889" ], "data": "0x", - "blockHash": "0x9052b96caecf6354eb4965a57a850e0bef29972c6c55e9c0fe9a2efab0139786", - "blockNumber": "0x113c3ce", - "transactionHash": "0xec2e9c5892fddf7386071d75f55f397bb1e0669156668a77f0f14e6efe7d418e", + "blockHash": "0x20aab069f412bca2f288d3f0deb3c5c2806e62a98e656e29122c57babb3931d6", + "blockNumber": "0x1149fbf", + "transactionHash": "0xfbed2a3785b0e0df46f85b2de10a7398141904029f4a1d199c916f0bca5b9d95", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1494,9 +1494,9 @@ "address": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x9052b96caecf6354eb4965a57a850e0bef29972c6c55e9c0fe9a2efab0139786", - "blockNumber": "0x113c3ce", - "transactionHash": "0xec2e9c5892fddf7386071d75f55f397bb1e0669156668a77f0f14e6efe7d418e", + "blockHash": "0x20aab069f412bca2f288d3f0deb3c5c2806e62a98e656e29122c57babb3931d6", + "blockNumber": "0x1149fbf", + "transactionHash": "0xfbed2a3785b0e0df46f85b2de10a7398141904029f4a1d199c916f0bca5b9d95", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -1506,13 +1506,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000020000002000002000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000001000000000000000000400000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xf7b95c34" + "effectiveGasPrice": "0x11319bd5e" }, { - "transactionHash": "0xc883bdff4777e54577bf71108eb4252c138856b49a0a47e7e9c7a014b91f11dd", + "transactionHash": "0xcdb9c3e4664d95dba9f19d336c90a734900c0d7bbd1102e8ef26fc205869b2c4", "transactionIndex": "0x0", - "blockHash": "0x104fd85028c95d325e81034bed3963d26446f468de4a9b01adf2db7af091f759", - "blockNumber": "0x113c3cf", + "blockHash": "0x9387108459d3cb32867616fa8bcd7f9bbef9c6c4627b0a5dec98973eb69ddb9b", + "blockNumber": "0x1149fc0", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0xc8c9", @@ -1522,13 +1522,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xef495633" + "effectiveGasPrice": "0x1074f95e4" }, { - "transactionHash": "0x9546b39494e1dde43fe6b89d33f3026efe77ca60db25858af0ea31b63b5812aa", + "transactionHash": "0x60daa295a1ff646585a56067351596a03308c7370f925fab1be7a962a7650c45", "transactionIndex": "0x0", - "blockHash": "0x8f5b249dbfeb06d4ae1534fce519606b7a2124409feaf3167e380679efa5d80a", - "blockNumber": "0x113c3d0", + "blockHash": "0xd172ab3ea2611379c60067b646864aa02e6bb2c96a59614e4a24222e4c3c31c3", + "blockNumber": "0x1149fc1", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -1544,9 +1544,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x8f5b249dbfeb06d4ae1534fce519606b7a2124409feaf3167e380679efa5d80a", - "blockNumber": "0x113c3d0", - "transactionHash": "0x9546b39494e1dde43fe6b89d33f3026efe77ca60db25858af0ea31b63b5812aa", + "blockHash": "0xd172ab3ea2611379c60067b646864aa02e6bb2c96a59614e4a24222e4c3c31c3", + "blockNumber": "0x1149fc1", + "transactionHash": "0x60daa295a1ff646585a56067351596a03308c7370f925fab1be7a962a7650c45", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1556,13 +1556,13 @@ "status": "0x1", "logsBloom": "0x00000004100100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xe7c0d8c0" + "effectiveGasPrice": "0xfcc8f2e3" }, { - "transactionHash": "0x31dbee091db69b8ce6ef471fdabc889ddd745b9e6f61bc3c48809ee627d70597", + "transactionHash": "0xc28af4805c9cbcc405bab6725f4ee192654b46e0b8ce6990bde3c1d096fe4671", "transactionIndex": "0x0", - "blockHash": "0x4491d86a6ab76e2ae8cf0f2848e04593794464dcd1ecc7594a9265321c7ee208", - "blockNumber": "0x113c3d1", + "blockHash": "0x109eb5d3cdf9404c563e454731d297f42f16bd6c2a9e9326ea7db87cac0b3e5f", + "blockNumber": "0x1149fc2", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -1578,9 +1578,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x4491d86a6ab76e2ae8cf0f2848e04593794464dcd1ecc7594a9265321c7ee208", - "blockNumber": "0x113c3d1", - "transactionHash": "0x31dbee091db69b8ce6ef471fdabc889ddd745b9e6f61bc3c48809ee627d70597", + "blockHash": "0x109eb5d3cdf9404c563e454731d297f42f16bd6c2a9e9326ea7db87cac0b3e5f", + "blockNumber": "0x1149fc2", + "transactionHash": "0xc28af4805c9cbcc405bab6725f4ee192654b46e0b8ce6990bde3c1d096fe4671", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1590,13 +1590,13 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000200000020000000000000000000000000000100000000000000000000000000008000000000000000000000000000820000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xe12c4395" + "effectiveGasPrice": "0xf3971e52" }, { - "transactionHash": "0xf16ee266b60d0445a9a00376c4fbeb7b5ac81072e965fb6950b4d3f3729efe5e", + "transactionHash": "0x677e3a192bdde4b5ecd4f5256975c8ea8c3ff855b416aacf858964d647787410", "transactionIndex": "0x0", - "blockHash": "0x7199d0d01bee9f821583068c239d3141284651a753d1e90558d3b630df87083f", - "blockNumber": "0x113c3d2", + "blockHash": "0xdc95f2d42bf7196ba0f3fdb9dabb5f0e26b3bc13f6ec09dad68d3ad054bf6303", + "blockNumber": "0x1149fc3", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0x988ba9496b04755e0dAb7057c2c1E1f25F00eAD3", "cumulativeGasUsed": "0x160ca", @@ -1611,9 +1611,9 @@ "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x7199d0d01bee9f821583068c239d3141284651a753d1e90558d3b630df87083f", - "blockNumber": "0x113c3d2", - "transactionHash": "0xf16ee266b60d0445a9a00376c4fbeb7b5ac81072e965fb6950b4d3f3729efe5e", + "blockHash": "0xdc95f2d42bf7196ba0f3fdb9dabb5f0e26b3bc13f6ec09dad68d3ad054bf6303", + "blockNumber": "0x1149fc3", + "transactionHash": "0x677e3a192bdde4b5ecd4f5256975c8ea8c3ff855b416aacf858964d647787410", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1627,9 +1627,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x7199d0d01bee9f821583068c239d3141284651a753d1e90558d3b630df87083f", - "blockNumber": "0x113c3d2", - "transactionHash": "0xf16ee266b60d0445a9a00376c4fbeb7b5ac81072e965fb6950b4d3f3729efe5e", + "blockHash": "0xdc95f2d42bf7196ba0f3fdb9dabb5f0e26b3bc13f6ec09dad68d3ad054bf6303", + "blockNumber": "0x1149fc3", + "transactionHash": "0x677e3a192bdde4b5ecd4f5256975c8ea8c3ff855b416aacf858964d647787410", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -1639,13 +1639,13 @@ "status": "0x1", "logsBloom": "0x0000000000010000000000000000000000000000000000100000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000002000000a000000000000000000000000000000000000000000000000030000000000000000000800000800000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000002000000000080000002000000000000000000000000000800000000000000000000000020000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xdb69137d" + "effectiveGasPrice": "0xeb89def1" }, { - "transactionHash": "0xe8a09c70ab8a0b228954a66181e22d0d2cb3fbb80e98c01912f26542e360f367", + "transactionHash": "0x0255cd673f11b3f2d283bfbbcc442f1e58e0dfb327d8ca7a289bce3c0bf90c0b", "transactionIndex": "0x0", - "blockHash": "0x4bcad942dfe4499ccacb72d97ba21c2a713fa2b693aa52946f20cd807c926d39", - "blockNumber": "0x113c3d3", + "blockHash": "0x4f1a4e2726dd4ccb72b5c2f378e89402d080e850952f9ce8cce0f7a08caf806e", + "blockNumber": "0x1149fc4", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490", "cumulativeGasUsed": "0xb4f6", @@ -1660,9 +1660,9 @@ "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x4bcad942dfe4499ccacb72d97ba21c2a713fa2b693aa52946f20cd807c926d39", - "blockNumber": "0x113c3d3", - "transactionHash": "0xe8a09c70ab8a0b228954a66181e22d0d2cb3fbb80e98c01912f26542e360f367", + "blockHash": "0x4f1a4e2726dd4ccb72b5c2f378e89402d080e850952f9ce8cce0f7a08caf806e", + "blockNumber": "0x1149fc4", + "transactionHash": "0x0255cd673f11b3f2d283bfbbcc442f1e58e0dfb327d8ca7a289bce3c0bf90c0b", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1672,30 +1672,30 @@ "status": "0x1", "logsBloom": "0x00000000000100000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000100000000000000000000000000000000000010000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000002000000000080000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xd65dcf2b" + "effectiveGasPrice": "0xe47d9caf" }, { - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", - "cumulativeGasUsed": "0x114401", - "gasUsed": "0x114401", + "cumulativeGasUsed": "0x113c4f", + "gasUsed": "0x113c4f", "contractAddress": null, "logs": [ { "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1", + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848", "0x000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1705,13 +1705,13 @@ "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1", + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848", "0x000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -1721,29 +1721,29 @@ "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1", + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848", "0x000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0x2", "transactionLogIndex": "0x2", "removed": false }, { - "address": "0x59063699125def4aA6D3Dbf384E1144BBb1083a1", + "address": "0xC3FE3EEdd7002842f2971183B5e87F89CC1ee848", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0x3", "transactionLogIndex": "0x3", @@ -1754,12 +1754,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000b9fc157394af804a3578134a6585c0dc9cc990d4", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848" ], "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0x4", "transactionLogIndex": "0x4", @@ -1769,9 +1769,9 @@ "address": "0xB9fC157394Af804a3578134A6585C0dc9cc990d4", "topics": ["0x01f31cd2abdeb4e5e10ba500f2db0f937d9e8c735ab04681925441b4ea37eda5"], "data": "0x000000000000000000000000988ba9496b04755e0dab7057c2c1e1f25f00ead3000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000004c4b40000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0x5", "transactionLogIndex": "0x5", @@ -1782,12 +1782,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0x6", "transactionLogIndex": "0x6", @@ -1798,12 +1798,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0x7", "transactionLogIndex": "0x7", @@ -1814,12 +1814,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0x8", "transactionLogIndex": "0x8", @@ -1830,12 +1830,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0x9", "transactionLogIndex": "0x9", @@ -1846,12 +1846,12 @@ "topics": [ "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0xa", "transactionLogIndex": "0xa", @@ -1862,12 +1862,12 @@ "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0xb", "transactionLogIndex": "0xb", @@ -1878,43 +1878,43 @@ "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb", - "0x00000000000000000000000059063699125def4aa6d3dbf384e1144bbb1083a1" + "0x000000000000000000000000c3fe3eedd7002842f2971183b5e87f89cc1ee848" ], "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0xc", "transactionLogIndex": "0xc", "removed": false }, { - "address": "0x59063699125def4aA6D3Dbf384E1144BBb1083a1", + "address": "0xC3FE3EEdd7002842f2971183B5e87F89CC1ee848", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], - "data": "0x00000000000000000000000000000000000000000000044af7cb3f96569c00a3", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "data": "0x00000000000000000000000000000000000000000000044b040d046ef228ab93", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0xd", "transactionLogIndex": "0xd", "removed": false }, { - "address": "0x59063699125def4aA6D3Dbf384E1144BBb1083a1", + "address": "0xC3FE3EEdd7002842f2971183B5e87F89CC1ee848", "topics": [ "0x26f55a85081d24974e85c6c00045d0f0453991e95873f52bff0d21af4079a768", "0x000000000000000000000000be0efabc83686a81903c1d4a2515f8111e53b5cb" ], - "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044af7cb3f96569c00a300000000000000000000000000000000000000000000044af7cb3f96569c00a3", - "blockHash": "0x0a1c9ff55cb3427d5b9b5210dc4604d672c7ae8ea28171be2df2d6d710ff7cf2", - "blockNumber": "0x113c3d4", - "transactionHash": "0xb96ca7379af5e2c652ef9d3a21d5cd49f7cd3cd76427b9d5cc95ccd2ffbc5da7", + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044b040d046ef228ab9300000000000000000000000000000000000000000000044b040d046ef228ab93", + "blockHash": "0xf4e38e644728594113b2e7d2430cf5758bd19cc6b9db31efe6ac64c4177e6ffb", + "blockNumber": "0x1149fc5", + "transactionHash": "0xf7572d565b3dde98e9173e45f9a76c6bce1daf8e165703a53e76f15520a17a27", "transactionIndex": "0x0", "logIndex": "0xe", "transactionLogIndex": "0xe", @@ -1922,28 +1922,28 @@ } ], "status": "0x1", - "logsBloom": "0x0000020000010000000000000008000000000000000000100000200080000000001000000080000000000000000023000000000000000000000000000020000000000000000000012800000a000000000000000000000000000400000000010110400000020000010000000000000800000810000000000400001010000000000000001000000000004000000000200000000000010000000000000000104000020000000000200000000080000000000080000000000000000002400000000080000002000000000000000000000000000002000000000000000000000020000010000000000000000000000000020000000000020000000000000000000080", + "logsBloom": "0x0020020000010000000080000008000000000000000000100000200000000000001000000080000000000000000003000000000000000000000000000020000000000000000000012800000a000000000000000000001000000000000000010110000000020000010000040000000800000810000000000400001010000000000000001000000000000000000000000000000000010000000000000400104000020000000000200000000080000000000080000000000000000002400000000080000002000000000000000000000000000002000080000000000000000020000010000000000000000000000000020000000000020000000000000000000080", "type": "0x2", - "effectiveGasPrice": "0xd1efa482" + "effectiveGasPrice": "0xde4cddae" }, { - "transactionHash": "0xb41a0c038933c9621888f628f493017cc48c1f499f2287afa012105f251439be", + "transactionHash": "0x63bdbfdb53c581f6a1431a645115845f1087ea65107878e1f4d31024c5ef74b0", "transactionIndex": "0x0", - "blockHash": "0x35ac8e512964ce867be68506b82b44d7fa6dfefed8c31a6577110422fc33df08", - "blockNumber": "0x113c3d5", + "blockHash": "0x753f83b84f643b23bc363980fdcf5810a38325391aba99e850aa5013475e6b9f", + "blockNumber": "0x1149fc6", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x2fe7af", - "gasUsed": "0x2fe7af", + "cumulativeGasUsed": "0x2fd3c8", + "gasUsed": "0x2fd3c8", "contractAddress": "0xEbCe0D06fE2a715c7eebbda0A9eB40f2Ba15BB05", "logs": [ { "address": "0xEbCe0D06fE2a715c7eebbda0A9eB40f2Ba15BB05", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x35ac8e512964ce867be68506b82b44d7fa6dfefed8c31a6577110422fc33df08", - "blockNumber": "0x113c3d5", - "transactionHash": "0xb41a0c038933c9621888f628f493017cc48c1f499f2287afa012105f251439be", + "blockHash": "0x753f83b84f643b23bc363980fdcf5810a38325391aba99e850aa5013475e6b9f", + "blockNumber": "0x1149fc6", + "transactionHash": "0x63bdbfdb53c581f6a1431a645115845f1087ea65107878e1f4d31024c5ef74b0", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1953,17 +1953,17 @@ "status": "0x1", "logsBloom": "0x00000000000000008008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000400000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xce56dbfe" + "effectiveGasPrice": "0xd94617cd" }, { - "transactionHash": "0x804c2d89437e95575039b2b66be4494f6883a72aa5290be2dc399dbe6a350e14", + "transactionHash": "0x37f1bc0d5f4dd044688b01cb7685df1e57f49a92e40eb5a22d88cc99062e18a8", "transactionIndex": "0x0", - "blockHash": "0xb7aed37593f44967c05762871a92babf3ce418293befbf40e4d41640c4de6922", - "blockNumber": "0x113c3d6", + "blockHash": "0x07cfb284eaff3e39cb67a9f2730eb373e0b67d6b12bc07a5454c976062b0b96e", + "blockNumber": "0x1149fc7", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x4ae66", - "gasUsed": "0x4ae66", + "cumulativeGasUsed": "0x4ae62", + "gasUsed": "0x4ae62", "contractAddress": "0x975a29731b751d003dd63D37736fd5730acd94Be", "logs": [ { @@ -1973,9 +1973,9 @@ "0x000000000000000000000000ebce0d06fe2a715c7eebbda0a9eb40f2ba15bb05" ], "data": "0x", - "blockHash": "0xb7aed37593f44967c05762871a92babf3ce418293befbf40e4d41640c4de6922", - "blockNumber": "0x113c3d6", - "transactionHash": "0x804c2d89437e95575039b2b66be4494f6883a72aa5290be2dc399dbe6a350e14", + "blockHash": "0x07cfb284eaff3e39cb67a9f2730eb373e0b67d6b12bc07a5454c976062b0b96e", + "blockNumber": "0x1149fc7", + "transactionHash": "0x37f1bc0d5f4dd044688b01cb7685df1e57f49a92e40eb5a22d88cc99062e18a8", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -1985,9 +1985,9 @@ "address": "0x975a29731b751d003dd63D37736fd5730acd94Be", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xb7aed37593f44967c05762871a92babf3ce418293befbf40e4d41640c4de6922", - "blockNumber": "0x113c3d6", - "transactionHash": "0x804c2d89437e95575039b2b66be4494f6883a72aa5290be2dc399dbe6a350e14", + "blockHash": "0x07cfb284eaff3e39cb67a9f2730eb373e0b67d6b12bc07a5454c976062b0b96e", + "blockNumber": "0x1149fc7", + "transactionHash": "0x37f1bc0d5f4dd044688b01cb7685df1e57f49a92e40eb5a22d88cc99062e18a8", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -1997,13 +1997,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000002000000000000000000000000200000000000000000000000000000000000000000000200002000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000440000000000000000000000000000000000000000020000000000000000000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xcb9e66e0" + "effectiveGasPrice": "0xd5788c5b" }, { - "transactionHash": "0x8a259528c2ef7ac4452ed62cb0c73ee94331ed66a81f2d5ce2e5a7d510dde9c8", + "transactionHash": "0xd104eeb6165fcd0ea139b683b10dc6ad3f87d513cb384c8b7eafa754c41b4ac6", "transactionIndex": "0x0", - "blockHash": "0xb96cfb175837cbf811fa21c81611a9581afdfabc91f6fb60a7d7c668df5693d0", - "blockNumber": "0x113c3d7", + "blockHash": "0xf4e21f75f7bfb1a808447b7c14ad7f3ebbb93d586706065bc48d4fd794e79f8b", + "blockNumber": "0x1149fc8", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0xc8e0", @@ -2013,13 +2013,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xc894e1c6" + "effectiveGasPrice": "0xd13a3533" }, { - "transactionHash": "0x4b224a307012904534ef9b17502bbc6d23a57cac269dd360cce393d5717ddd3a", + "transactionHash": "0xf790b7a6664b26ba620c8baf896a1c70f06dac4dc422cf69a11244977e26c2eb", "transactionIndex": "0x0", - "blockHash": "0x459e69eb7851777a50cbe0fbd29b50f9321189b71cbcd59383c39f9be75f2a51", - "blockNumber": "0x113c3d8", + "blockHash": "0x521c5c255e5d28449dbd3d972ef9e7d3eebb966a39cd22945607c7f0759ee4c5", + "blockNumber": "0x1149fc9", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -2035,9 +2035,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x459e69eb7851777a50cbe0fbd29b50f9321189b71cbcd59383c39f9be75f2a51", - "blockNumber": "0x113c3d8", - "transactionHash": "0x4b224a307012904534ef9b17502bbc6d23a57cac269dd360cce393d5717ddd3a", + "blockHash": "0x521c5c255e5d28449dbd3d972ef9e7d3eebb966a39cd22945607c7f0759ee4c5", + "blockNumber": "0x1149fc9", + "transactionHash": "0xf790b7a6664b26ba620c8baf896a1c70f06dac4dc422cf69a11244977e26c2eb", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2047,13 +2047,13 @@ "status": "0x1", "logsBloom": "0x00200004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000100080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xc5deb4a2" + "effectiveGasPrice": "0xcd705071" }, { - "transactionHash": "0x70c3a742749f45a59adca3c8f20aad2ec71580b438f87d3313620367e2f19476", + "transactionHash": "0x6c9dd09ebac4740ef8441e4416c54161d4516cbfa515932a8751b447975c9c4c", "transactionIndex": "0x0", - "blockHash": "0x6ca13747c6e265b3bef7af53391c6f15b957697b6b9990b2e7ee64384e8ec37c", - "blockNumber": "0x113c3d9", + "blockHash": "0x537e2aad776f733940b9510afbdccf651bfc8383133eb090cedf70e720ae68a8", + "blockNumber": "0x1149fca", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -2069,9 +2069,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x6ca13747c6e265b3bef7af53391c6f15b957697b6b9990b2e7ee64384e8ec37c", - "blockNumber": "0x113c3d9", - "transactionHash": "0x70c3a742749f45a59adca3c8f20aad2ec71580b438f87d3313620367e2f19476", + "blockHash": "0x537e2aad776f733940b9510afbdccf651bfc8383133eb090cedf70e720ae68a8", + "blockNumber": "0x1149fca", + "transactionHash": "0x6c9dd09ebac4740ef8441e4416c54161d4516cbfa515932a8751b447975c9c4c", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2081,26 +2081,26 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000010000000000000000020000000000000200000000", "type": "0x2", - "effectiveGasPrice": "0xc3805321" + "effectiveGasPrice": "0xca211656" }, { - "transactionHash": "0x9418fa9f719dbaeae2e979da67d0cdfe8bb19835a68a1c55aa3c3a2ade34c515", + "transactionHash": "0xfd63837bcf6447b2a0a9f9f5da5019636779dae274aeefd33ef320b286aa07d6", "transactionIndex": "0x0", - "blockHash": "0xb1be0b4d72bb314198e618b843612a292aaf41256630b9c98dfd3324441c82cf", - "blockNumber": "0x113c3da", + "blockHash": "0x5178612ad22bf4c70d905262a9e648cc1360b1f058a76cb52838c74c915c96a0", + "blockNumber": "0x1149fcb", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x30b889", - "gasUsed": "0x30b889", + "cumulativeGasUsed": "0x30a47e", + "gasUsed": "0x30a47e", "contractAddress": "0x5318a766EBEd5157D18347637A306Fba6Bb2Fc12", "logs": [ { "address": "0x5318a766EBEd5157D18347637A306Fba6Bb2Fc12", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xb1be0b4d72bb314198e618b843612a292aaf41256630b9c98dfd3324441c82cf", - "blockNumber": "0x113c3da", - "transactionHash": "0x9418fa9f719dbaeae2e979da67d0cdfe8bb19835a68a1c55aa3c3a2ade34c515", + "blockHash": "0x5178612ad22bf4c70d905262a9e648cc1360b1f058a76cb52838c74c915c96a0", + "blockNumber": "0x1149fcb", + "transactionHash": "0xfd63837bcf6447b2a0a9f9f5da5019636779dae274aeefd33ef320b286aa07d6", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2110,13 +2110,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000200000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000004000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xc16d5142" + "effectiveGasPrice": "0xc73b2bd2" }, { - "transactionHash": "0x1021c719e2f92aa15b5105bfa35ab1abd61dad9fa1e33a49639af5267dc5615a", + "transactionHash": "0x46fafec5ecd7e4c38e9b71155057a20f20792394a27547262ad5309e35b71bc3", "transactionIndex": "0x0", - "blockHash": "0x3cfef4a3e8cb1280ee90ebc1fb18940197589830bcdfa61f8e95cee9ccb168b4", - "blockNumber": "0x113c3db", + "blockHash": "0x1469ef0cf4305086936cf2ed6be348e1f644f00626d17ba845e6a7e9834fc0b5", + "blockNumber": "0x1149fcc", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x4ae46", @@ -2130,9 +2130,9 @@ "0x0000000000000000000000005318a766ebed5157d18347637a306fba6bb2fc12" ], "data": "0x", - "blockHash": "0x3cfef4a3e8cb1280ee90ebc1fb18940197589830bcdfa61f8e95cee9ccb168b4", - "blockNumber": "0x113c3db", - "transactionHash": "0x1021c719e2f92aa15b5105bfa35ab1abd61dad9fa1e33a49639af5267dc5615a", + "blockHash": "0x1469ef0cf4305086936cf2ed6be348e1f644f00626d17ba845e6a7e9834fc0b5", + "blockNumber": "0x1149fcc", + "transactionHash": "0x46fafec5ecd7e4c38e9b71155057a20f20792394a27547262ad5309e35b71bc3", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2142,9 +2142,9 @@ "address": "0x47f8F074c2C1eD281Aa6d69dB972FdeB4a0f9e14", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x3cfef4a3e8cb1280ee90ebc1fb18940197589830bcdfa61f8e95cee9ccb168b4", - "blockNumber": "0x113c3db", - "transactionHash": "0x1021c719e2f92aa15b5105bfa35ab1abd61dad9fa1e33a49639af5267dc5615a", + "blockHash": "0x1469ef0cf4305086936cf2ed6be348e1f644f00626d17ba845e6a7e9834fc0b5", + "blockNumber": "0x1149fcc", + "transactionHash": "0x46fafec5ecd7e4c38e9b71155057a20f20792394a27547262ad5309e35b71bc3", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -2154,13 +2154,13 @@ "status": "0x1", "logsBloom": "0x00000000008000000000000000000000401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000400000000000000000000000000080000000000000000020000000000000000000000000000000000000080000000000000000040000000000000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xbffd3cf6" + "effectiveGasPrice": "0xc538ac21" }, { - "transactionHash": "0x4ec188d918c202f7a7604f6ec9cc541e73d82e7c2cbcac4a66a69075d4824b64", + "transactionHash": "0x7a9e3915a5f1cab740c548955d22446942f507d991fa91c6715a1dcdb8ade8da", "transactionIndex": "0x0", - "blockHash": "0xdd4e93b2627ef335a9ffc7a32b8f6717039e0b18ea036af9c3cf2cf35c4c78e9", - "blockNumber": "0x113c3dc", + "blockHash": "0x2ede56f5cba63d6ab51c49a2f905b97c123992145464391a56f002a7c2c59fc7", + "blockNumber": "0x1149fcd", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0xc8d7", @@ -2170,13 +2170,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xbe60405b" + "effectiveGasPrice": "0xc2f7ae2d" }, { - "transactionHash": "0x57441df46cf40bfeb3d0d6b3faf56acda7540cd9ab79deb9f511820b941a2f7e", + "transactionHash": "0x8205eedb034af798b1cca5a554b14fe21fd7161f51a633cf6bff7406ec9a8824", "transactionIndex": "0x0", - "blockHash": "0xbbb59013f2ae305ee3820888b6b72e4672e9a844e87bbeffc2059d711c10fb8f", - "blockNumber": "0x113c3dd", + "blockHash": "0xe25ffe66855cf08626a691ed3b4fa3ef76406cca90240466fc8663bf1a8a56a0", + "blockNumber": "0x1149fce", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -2192,9 +2192,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xbbb59013f2ae305ee3820888b6b72e4672e9a844e87bbeffc2059d711c10fb8f", - "blockNumber": "0x113c3dd", - "transactionHash": "0x57441df46cf40bfeb3d0d6b3faf56acda7540cd9ab79deb9f511820b941a2f7e", + "blockHash": "0xe25ffe66855cf08626a691ed3b4fa3ef76406cca90240466fc8663bf1a8a56a0", + "blockNumber": "0x1149fce", + "transactionHash": "0x8205eedb034af798b1cca5a554b14fe21fd7161f51a633cf6bff7406ec9a8824", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2204,13 +2204,13 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000800000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xbcef88b8" + "effectiveGasPrice": "0xc0f489bd" }, { - "transactionHash": "0x66fe887b8a813f9fc65a8994c272680290db3470a256fb05abd621fe68a650c4", + "transactionHash": "0x43305c5700d9ce111b255242212d79e4ffef6d86a664d931f575d4750d05f7ea", "transactionIndex": "0x0", - "blockHash": "0x3cc768840b3dee067183c1ceae761247f391622de864864d216946cc5aefeb12", - "blockNumber": "0x113c3de", + "blockHash": "0xfe3280df6380e2f36a0b909c03caecbfc686db622164fed0bfe46e30f09ded3f", + "blockNumber": "0x1149fcf", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -2226,9 +2226,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x3cc768840b3dee067183c1ceae761247f391622de864864d216946cc5aefeb12", - "blockNumber": "0x113c3de", - "transactionHash": "0x66fe887b8a813f9fc65a8994c272680290db3470a256fb05abd621fe68a650c4", + "blockHash": "0xfe3280df6380e2f36a0b909c03caecbfc686db622164fed0bfe46e30f09ded3f", + "blockNumber": "0x1149fcf", + "transactionHash": "0x43305c5700d9ce111b255242212d79e4ffef6d86a664d931f575d4750d05f7ea", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2238,13 +2238,13 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080200000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xbbad7341" + "effectiveGasPrice": "0xbf328c5c" }, { - "transactionHash": "0xb6b2183376fac2ddfe1a27864f644ff108dca4a9029a15b35c156d56074095e3", + "transactionHash": "0x4fbc62ddf11a03d3b506c24c376ae6713a9ef7e23f8da6725b980b5b09a676fe", "transactionIndex": "0x0", - "blockHash": "0x72dbd37719a99783245b1d0d7ce744e7c4796a162ea0ee29a37447f61ca88d2d", - "blockNumber": "0x113c3df", + "blockHash": "0x6bdbadd52adf3e4d0086126ce938089479557a300fd451e12771ae334e653c1d", + "blockNumber": "0x1149fd0", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x147cc", @@ -2260,9 +2260,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0x72dbd37719a99783245b1d0d7ce744e7c4796a162ea0ee29a37447f61ca88d2d", - "blockNumber": "0x113c3df", - "transactionHash": "0xb6b2183376fac2ddfe1a27864f644ff108dca4a9029a15b35c156d56074095e3", + "blockHash": "0x6bdbadd52adf3e4d0086126ce938089479557a300fd451e12771ae334e653c1d", + "blockNumber": "0x1149fd0", + "transactionHash": "0x4fbc62ddf11a03d3b506c24c376ae6713a9ef7e23f8da6725b980b5b09a676fe", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2272,13 +2272,13 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000088000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xba9366d0" + "effectiveGasPrice": "0xbda87e18" }, { - "transactionHash": "0xcda3f96764a0a59659d0f2d9837aba08ad3e7e2b57ba95344d4a91c1ab1dfd93", + "transactionHash": "0xfc7dc1583187910c27258f166f096f8625589ddb62b69aea0151bdd6ad4682cd", "transactionIndex": "0x0", - "blockHash": "0x56a804207e330b9166df09d104c64cfebb9e2e7f331ed0a91df5e37832b69b19", - "blockNumber": "0x113c3e0", + "blockHash": "0x67894cbedea092291f2baa576e73b3e83b3ea5b38b74fd628c99fcaa4b212e6a", + "blockNumber": "0x1149fd1", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x45526f", @@ -2289,9 +2289,9 @@ "address": "0x773305308C2eDEE9Dbea7C0467953f165328B35D", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0x56a804207e330b9166df09d104c64cfebb9e2e7f331ed0a91df5e37832b69b19", - "blockNumber": "0x113c3e0", - "transactionHash": "0xcda3f96764a0a59659d0f2d9837aba08ad3e7e2b57ba95344d4a91c1ab1dfd93", + "blockHash": "0x67894cbedea092291f2baa576e73b3e83b3ea5b38b74fd628c99fcaa4b212e6a", + "blockNumber": "0x1149fd1", + "transactionHash": "0xfc7dc1583187910c27258f166f096f8625589ddb62b69aea0151bdd6ad4682cd", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2301,13 +2301,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000004000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb99c696f" + "effectiveGasPrice": "0xbc4f6b11" }, { - "transactionHash": "0xabd44ee4999b7f37707c7c08d1868e30ebdcc58d42d2a5e273c7aa3a65629232", + "transactionHash": "0x12cbd53a5426c77061a0d17a5c5476fa070a1244d74f42aead0f7c03ba43d615", "transactionIndex": "0x0", - "blockHash": "0x31c1272d25ffeae330416603ff1bb4dd7b3c3ee1dd9fe34559ef09d2df767039", - "blockNumber": "0x113c3e1", + "blockHash": "0x7f932434a7cc71e51d7a51adf188c894d71690172a88d1661a80b8e8fc0343bf", + "blockNumber": "0x1149fd2", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x347e1", @@ -2321,9 +2321,9 @@ "0x000000000000000000000000773305308c2edee9dbea7c0467953f165328b35d" ], "data": "0x", - "blockHash": "0x31c1272d25ffeae330416603ff1bb4dd7b3c3ee1dd9fe34559ef09d2df767039", - "blockNumber": "0x113c3e1", - "transactionHash": "0xabd44ee4999b7f37707c7c08d1868e30ebdcc58d42d2a5e273c7aa3a65629232", + "blockHash": "0x7f932434a7cc71e51d7a51adf188c894d71690172a88d1661a80b8e8fc0343bf", + "blockNumber": "0x1149fd2", + "transactionHash": "0x12cbd53a5426c77061a0d17a5c5476fa070a1244d74f42aead0f7c03ba43d615", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2333,9 +2333,9 @@ "address": "0xeC32DEF9D46A88CEa86171B4aBfc055c23220163", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x31c1272d25ffeae330416603ff1bb4dd7b3c3ee1dd9fe34559ef09d2df767039", - "blockNumber": "0x113c3e1", - "transactionHash": "0xabd44ee4999b7f37707c7c08d1868e30ebdcc58d42d2a5e273c7aa3a65629232", + "blockHash": "0x7f932434a7cc71e51d7a51adf188c894d71690172a88d1661a80b8e8fc0343bf", + "blockNumber": "0x1149fd2", + "transactionHash": "0x12cbd53a5426c77061a0d17a5c5476fa070a1244d74f42aead0f7c03ba43d615", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -2345,13 +2345,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000002000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080020000000000000100000000080000000000000000000400000000000000000000000000000000000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb904c861" + "effectiveGasPrice": "0xbb7b92fc" }, { - "transactionHash": "0x338bc10419d7e9d2120ac2a2dd93d38716f6eee3a938aaf4cdac8fa2957aff8d", + "transactionHash": "0x786c0066d6134a28f59eef038218c2c2fe45e2d1bdd048fb9257432c62b719ea", "transactionIndex": "0x0", - "blockHash": "0xbea31bf17c5427a86cc99e8b86c85fefda6282fc8a49632ed0d97bca4cfc1576", - "blockNumber": "0x113c3e2", + "blockHash": "0xf7de04a2b2fb6c1b5abd98e22c268e216560fbc262d104b54598300eba2a2e3a", + "blockNumber": "0x1149fd3", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0xc8c0", @@ -2361,13 +2361,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb84113ab" + "effectiveGasPrice": "0xba6a2648" }, { - "transactionHash": "0xe5ca0b65ef3a097777f1d1226c7976da876c2568c9afd2561eaa213798904055", + "transactionHash": "0x95d012d2b7dd19321012538afcebc55916f1748b49fecfcc2568c275a305119f", "transactionIndex": "0x0", - "blockHash": "0xdc1e6af2cb7108c52ab7800fd919873c8456c1c1a72f2c970973a2294449d3ff", - "blockNumber": "0x113c3e3", + "blockHash": "0xcc35c914b93db29b56c0039b5e72ebda4bfd0bb563e9d3fc247a488c14086183", + "blockNumber": "0x1149fd4", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0x18a98", @@ -2383,9 +2383,9 @@ "0x000000000000000000000000a18e35a6e821aadc80afd132ffa72879f999f2fc" ], "data": "0x", - "blockHash": "0xdc1e6af2cb7108c52ab7800fd919873c8456c1c1a72f2c970973a2294449d3ff", - "blockNumber": "0x113c3e3", - "transactionHash": "0xe5ca0b65ef3a097777f1d1226c7976da876c2568c9afd2561eaa213798904055", + "blockHash": "0xcc35c914b93db29b56c0039b5e72ebda4bfd0bb563e9d3fc247a488c14086183", + "blockNumber": "0x1149fd4", + "transactionHash": "0x95d012d2b7dd19321012538afcebc55916f1748b49fecfcc2568c275a305119f", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2395,26 +2395,26 @@ "status": "0x1", "logsBloom": "0x00000004000100000400000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000080000000000000001002000000000080000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000020000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb79395a7" + "effectiveGasPrice": "0xb977c294" }, { - "transactionHash": "0xf439538bd7bc6e79154187fcb0f41197b2962c898a7b7393946a867847846613", + "transactionHash": "0xa34afad34fe185dd3c1164de128b07c2056c496fd5a0b85404a36c2b1ecfcccd", "transactionIndex": "0x0", - "blockHash": "0xd5c59d3327bf7988844cb7c7bcea1c96d1c99695d04ed3d44ad8a767accf473e", - "blockNumber": "0x113c3e4", + "blockHash": "0x608f1c2be52cbdc75d602ec716444131aa9882045f29fcbbfcf9903bff3c462b", + "blockNumber": "0x1149fd5", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, - "cumulativeGasUsed": "0x47fd36", - "gasUsed": "0x47fd36", + "cumulativeGasUsed": "0x47fd2a", + "gasUsed": "0x47fd2a", "contractAddress": "0x4b9E41D9bE1A76E9160c73af782012b9868d0cE4", "logs": [ { "address": "0x4b9E41D9bE1A76E9160c73af782012b9868d0cE4", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", - "blockHash": "0xd5c59d3327bf7988844cb7c7bcea1c96d1c99695d04ed3d44ad8a767accf473e", - "blockNumber": "0x113c3e4", - "transactionHash": "0xf439538bd7bc6e79154187fcb0f41197b2962c898a7b7393946a867847846613", + "blockHash": "0x608f1c2be52cbdc75d602ec716444131aa9882045f29fcbbfcf9903bff3c462b", + "blockNumber": "0x1149fd5", + "transactionHash": "0xa34afad34fe185dd3c1164de128b07c2056c496fd5a0b85404a36c2b1ecfcccd", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2424,13 +2424,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080800000010000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb6fc3571" + "effectiveGasPrice": "0xb8a44517" }, { - "transactionHash": "0x7ba6be8dab08ae54b1251c6b30df94d73cfc203bf85c88b6f6e557b3146a12b4", + "transactionHash": "0xe20c193b660e49e149f5dac6899720950c5c514dbeab6e0edf348cc3a5f0c4b4", "transactionIndex": "0x0", - "blockHash": "0x26d6b0f94fad00f8d942a3078f94396a2c7a6d25d4908bea2d95ec0881e1c565", - "blockNumber": "0x113c3e5", + "blockHash": "0x99e1502104b4d3b0f1f5cd464bda1212965f1ce37451d065748de6c734fd60be", + "blockNumber": "0x1149fd6", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": null, "cumulativeGasUsed": "0x44e58", @@ -2444,9 +2444,9 @@ "0x0000000000000000000000004b9e41d9be1a76e9160c73af782012b9868d0ce4" ], "data": "0x", - "blockHash": "0x26d6b0f94fad00f8d942a3078f94396a2c7a6d25d4908bea2d95ec0881e1c565", - "blockNumber": "0x113c3e5", - "transactionHash": "0x7ba6be8dab08ae54b1251c6b30df94d73cfc203bf85c88b6f6e557b3146a12b4", + "blockHash": "0x99e1502104b4d3b0f1f5cd464bda1212965f1ce37451d065748de6c734fd60be", + "blockNumber": "0x1149fd6", + "transactionHash": "0xe20c193b660e49e149f5dac6899720950c5c514dbeab6e0edf348cc3a5f0c4b4", "transactionIndex": "0x0", "logIndex": "0x0", "transactionLogIndex": "0x0", @@ -2456,9 +2456,9 @@ "address": "0x5aa6CA888B30105d9b5E42110850CA3Ba2FF7ABd", "topics": ["0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x26d6b0f94fad00f8d942a3078f94396a2c7a6d25d4908bea2d95ec0881e1c565", - "blockNumber": "0x113c3e5", - "transactionHash": "0x7ba6be8dab08ae54b1251c6b30df94d73cfc203bf85c88b6f6e557b3146a12b4", + "blockHash": "0x99e1502104b4d3b0f1f5cd464bda1212965f1ce37451d065748de6c734fd60be", + "blockNumber": "0x1149fd6", + "transactionHash": "0xe20c193b660e49e149f5dac6899720950c5c514dbeab6e0edf348cc3a5f0c4b4", "transactionIndex": "0x0", "logIndex": "0x1", "transactionLogIndex": "0x1", @@ -2468,13 +2468,13 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000080000020000000000000000000000000000000001000000400000000000000000000000000000004000000000020000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000", "type": "0x2", - "effectiveGasPrice": "0xb6a0b622" + "effectiveGasPrice": "0xb8246fe1" }, { - "transactionHash": "0x87b3e9380ac87d9c981448fa7d11b21f519f9823527b4f653beb6325aa69007e", + "transactionHash": "0x188d4fb17efe9557a7a79d36f9f77cfd6bc855886bd7c160e0333778d07f4213", "transactionIndex": "0x0", - "blockHash": "0x53215c2c3fb9c07f1500db0f60837fe39acf3013f04835eba788ff1a093b2a54", - "blockNumber": "0x113c3e6", + "blockHash": "0x31ce2a057d17a3d9391a08b082bcda8f226d35814ede4c4ed2cd8cee8db78be0", + "blockNumber": "0x1149fd7", "from": "0xa18E35a6E821AaDC80AFD132FFa72879f999F2fc", "to": "0xbe0efAbc83686a81903C1D4a2515f8111e53B5Cb", "cumulativeGasUsed": "0xc8a0", @@ -2484,14 +2484,14 @@ "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb628f6e7" + "effectiveGasPrice": "0xb77d22da" } ], "libraries": ["src/dollar/libraries/LibCreditNftManager.sol:LibCreditNftManager:0x5d00797f4d5a2eed04d75a8d3cff1721e859b35d"], "pending": [], "returns": {}, - "timestamp": 1693944039, + "timestamp": 1694625575, "chain": 31337, "multi": false, - "commit": "dbad8e15" + "commit": "4dad177e" } diff --git a/packages/contracts/test/dollar/core/CreditNft.t.sol b/packages/contracts/test/dollar/core/CreditNft.t.sol index 9854f1034..b6311aa69 100644 --- a/packages/contracts/test/dollar/core/CreditNft.t.sol +++ b/packages/contracts/test/dollar/core/CreditNft.t.sol @@ -122,4 +122,159 @@ contract CreditNftTest is LocalTestHelper { uint256 outStandingTotalDebt = creditNft.getTotalOutstandingDebt(); assertEq(outStandingTotalDebt, 10); } + + function testUUPS_ShouldUpgradeAndCall() external { + CreditNftUpgraded creditNftUpgraded = new CreditNftUpgraded(); + + string memory uri = "test"; + + vm.startPrank(admin); + bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); + + // trying to directly call will fail and exit early so call it like this + (bool success, ) = address(creditNft).call(hasUpgradedCall); + assertEq(success, false, "should not have upgraded yet"); + require(success == false, "should not have upgraded yet"); + + creditNft.upgradeTo(address(creditNftUpgraded)); + + // It will also fail unless cast so we'll use the same pattern as above + (success, ) = address(creditNft).call(hasUpgradedCall); + assertEq(success, true, "should have upgraded"); + require(success == true, "should have upgraded"); + + vm.expectRevert(); + creditNft.initialize(address(diamond)); + + vm.stopPrank(); + } + + function testUUPS_ImplChanges() external { + CreditNftUpgraded creditNftUpgraded = new CreditNftUpgraded(); + + address oldImpl = address(creditNft); + address newImpl = address(creditNftUpgraded); + + vm.prank(admin); + creditNft.upgradeTo(newImpl); + + bytes memory getImplCall = abi.encodeWithSignature("getImpl()"); + + (bool success, bytes memory data) = address(creditNft).call( + getImplCall + ); + assertEq(success, true, "should have upgraded"); + + address newAddrViaNewFunc = abi.decode(data, (address)); + + assertEq( + newAddrViaNewFunc, + newImpl, + "should be the new implementation" + ); + assertTrue( + newAddrViaNewFunc != oldImpl, + "should not be the old implementation" + ); + } + + function testUUPS_InitializedVersion() external { + uint expectedVersion = 1; + uint baseExpectedVersion = 255; + + CreditNftUpgraded creditNftUpgraded = new CreditNftUpgraded(); + CreditNftUpgraded creditNftT = new CreditNftUpgraded(); + + vm.startPrank(admin); + creditNft.upgradeTo(address(creditNftUpgraded)); + + bytes memory getVersionCall = abi.encodeWithSignature("getVersion()"); + + (bool success, bytes memory data) = address(creditNft).call( + getVersionCall + ); + assertEq(success, true, "should have upgraded"); + uint8 version = abi.decode(data, (uint8)); + + assertEq( + version, + expectedVersion, + "should be the same version as only initialized once" + ); + + creditNft.upgradeTo(address(creditNftT)); + + (success, data) = address(creditNft).call(getVersionCall); + assertEq(success, true, "should have upgraded"); + version = abi.decode(data, (uint8)); + + assertEq( + version, + expectedVersion, + "should be the same version as only initialized once" + ); + + (success, data) = address(creditNftT).call(getVersionCall); + assertEq(success, true, "should succeed"); + version = abi.decode(data, (uint8)); + + assertEq( + version, + baseExpectedVersion, + "should be maxed as initializers are disabled." + ); + } + + function testUUPS_initialization() external { + CreditNftUpgraded creditNftUpgraded = new CreditNftUpgraded(); + + vm.startPrank(admin); + vm.expectRevert(); + creditNftUpgraded.initialize(address(diamond)); + + vm.expectRevert(); + creditNft.initialize(address(diamond)); + + vm.expectRevert(); + creditNft.initialize(address(diamond)); + + creditNft.upgradeTo(address(creditNftUpgraded)); + + vm.expectRevert(); + creditNft.initialize(address(diamond)); + } + + function testUUPS_AdminAuth() external { + CreditNftUpgraded creditNftUpgraded = new CreditNftUpgraded(); + + vm.expectRevert(); + creditNft.upgradeTo(address(creditNftUpgraded)); + + vm.prank(admin); + creditNft.upgradeTo(address(creditNftUpgraded)); + + bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); + (bool success, bytes memory data) = address(creditNft).call( + hasUpgradedCall + ); + bool hasUpgraded = abi.decode(data, (bool)); + + assertEq(hasUpgraded, true, "should have upgraded"); + assertEq(success, true, "should have upgraded"); + require(success == true, "should have upgraded"); + } +} + +contract CreditNftUpgraded is CreditNft { + function hasUpgraded() public pure returns (bool) { + return true; + } + + function getVersion() public view returns (uint8) { + return super._getInitializedVersion(); + } + + function getImpl() public view returns (address) { + return super._getImplementation(); + } } diff --git a/packages/contracts/test/dollar/core/StakingShare.t.sol b/packages/contracts/test/dollar/core/StakingShare.t.sol index de7a20589..17b402231 100644 --- a/packages/contracts/test/dollar/core/StakingShare.t.sol +++ b/packages/contracts/test/dollar/core/StakingShare.t.sol @@ -444,7 +444,7 @@ contract StakingShareTest is DepositStakingShare { uint baseExpectedVersion = 255; BondingShare bondingShare = new BondingShare(); - BondingShareT bondingShareT = new BondingShareT(); + BondingShareUpgraded bondingShareUpgraded = new BondingShareUpgraded(); vm.startPrank(admin); stakingShare.upgradeTo(address(bondingShare)); @@ -463,7 +463,7 @@ contract StakingShareTest is DepositStakingShare { "should be the same version as only initialized once" ); - stakingShare.upgradeTo(address(bondingShareT)); + stakingShare.upgradeTo(address(bondingShareUpgraded)); (success, data) = address(stakingShare).call(getVersionCall); assertEq(success, true, "should have upgraded"); @@ -479,7 +479,6 @@ contract StakingShareTest is DepositStakingShare { assertEq(success, true, "should succeed"); version = abi.decode(data, (uint8)); - //staking share doesn't expose a function to check the version but it follows the same logic assertEq( version, baseExpectedVersion, @@ -505,9 +504,29 @@ contract StakingShareTest is DepositStakingShare { vm.expectRevert(); stakingShare.initialize(address(diamond), "test"); } + + function testUUPS_AdminAuth() external { + BondingShare bondingShare = new BondingShare(); + + vm.expectRevert(); + stakingShare.upgradeTo(address(bondingShare)); + + vm.prank(admin); + stakingShare.upgradeTo(address(bondingShare)); + + bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); + (bool success, bytes memory data) = address(stakingShare).call( + hasUpgradedCall + ); + bool hasUpgraded = abi.decode(data, (bool)); + + assertEq(hasUpgraded, true, "should have upgraded"); + assertEq(success, true, "should have upgraded"); + require(success == true, "should have upgraded"); + } } -contract BondingShareT is BondingShare { +contract BondingShareUpgraded is BondingShare { function hasUpgraded() public pure override returns (bool) { return true; } diff --git a/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol b/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol index ab8299cb2..96cfdb285 100644 --- a/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol +++ b/packages/contracts/test/dollar/core/UbiquityCreditToken.t.sol @@ -31,4 +31,155 @@ contract UbiquityCreditTokenTest is LocalTestHelper { ubiquityCreditToken.setManager(newManager); require(ubiquityCreditToken.getManager() == newManager); } + + function testUUPS_ShouldUpgradeAndCall() external { + UbiquityCreditTokenUpgraded newImpl = new UbiquityCreditTokenUpgraded(); + + vm.startPrank(admin); + bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); + // trying to directly call will fail and exit early so call it like this + (bool success, ) = address(ubiquityCreditToken).call(hasUpgradedCall); + assertEq(success, false, "should not have upgraded yet"); + require(success == false, "should not have upgraded yet"); + + ubiquityCreditToken.upgradeTo(address(newImpl)); + + // It will also fail unless cast so we'll use the same pattern as above + (success, ) = address(ubiquityCreditToken).call(hasUpgradedCall); + assertEq(success, true, "should have upgraded"); + require(success == true, "should have upgraded"); + + vm.expectRevert(); + ubiquityCreditToken.initialize(address(diamond)); + } + + function testUUPS_ImplChanges() external { + UbiquityCreditTokenUpgraded newImpl = new UbiquityCreditTokenUpgraded(); + + address oldImpl = address(creditToken); + address newImplAddr = address(newImpl); + + vm.prank(admin); + ubiquityCreditToken.upgradeTo(newImplAddr); + + bytes memory getImplCall = abi.encodeWithSignature("getImpl()"); + + (bool success, bytes memory data) = address(ubiquityCreditToken).call( + getImplCall + ); + assertEq(success, true, "should have upgraded"); + + address newAddrViaNewFunc = abi.decode(data, (address)); + + assertEq( + newAddrViaNewFunc, + newImplAddr, + "should be the new implementation" + ); + assertTrue( + newAddrViaNewFunc != oldImpl, + "should not be the old implementation" + ); + } + + function testUUPS_InitializedVersion() external { + uint expectedVersion = 1; + uint baseExpectedVersion = 255; + + UbiquityCreditTokenUpgraded newImpl = new UbiquityCreditTokenUpgraded(); + UbiquityCreditTokenUpgraded newImplT = new UbiquityCreditTokenUpgraded(); + + vm.startPrank(admin); + ubiquityCreditToken.upgradeTo(address(newImpl)); + + bytes memory getVersionCall = abi.encodeWithSignature("getVersion()"); + + (bool success, bytes memory data) = address(ubiquityCreditToken).call( + getVersionCall + ); + assertEq(success, true, "should have upgraded"); + uint8 version = abi.decode(data, (uint8)); + + assertEq( + version, + expectedVersion, + "should be the same version as only initialized once" + ); + + ubiquityCreditToken.upgradeTo(address(newImplT)); + + (success, data) = address(ubiquityCreditToken).call(getVersionCall); + assertEq(success, true, "should have upgraded"); + version = abi.decode(data, (uint8)); + + assertEq( + version, + expectedVersion, + "should be the same version as only initialized once" + ); + + (success, data) = address(newImpl).call(getVersionCall); + assertEq(success, true, "should succeed"); + version = abi.decode(data, (uint8)); + + assertEq( + version, + baseExpectedVersion, + "should be maxed as initializers are disabled." + ); + } + + function testUUPS_initialization() external { + UbiquityCreditTokenUpgraded newImpl = new UbiquityCreditTokenUpgraded(); + + vm.startPrank(admin); + vm.expectRevert(); + newImpl.initialize(address(diamond)); + + vm.expectRevert(); + creditToken.initialize(address(diamond)); + + vm.expectRevert(); + ubiquityCreditToken.initialize(address(diamond)); + + ubiquityCreditToken.upgradeTo(address(newImpl)); + + vm.expectRevert(); + ubiquityCreditToken.initialize(address(diamond)); + } + + function testUUPS_AdminAuth() external { + UbiquityCreditTokenUpgraded newImpl = new UbiquityCreditTokenUpgraded(); + + vm.expectRevert(); + ubiquityCreditToken.upgradeTo(address(newImpl)); + + vm.prank(admin); + ubiquityCreditToken.upgradeTo(address(newImpl)); + + bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); + + (bool success, bytes memory data) = address(ubiquityCreditToken).call( + hasUpgradedCall + ); + assertEq(success, true, "should have upgraded"); + + bool hasUpgraded = abi.decode(data, (bool)); + assertEq(hasUpgraded, true, "should have upgraded"); + require(success == true, "should have upgraded"); + } +} + +contract UbiquityCreditTokenUpgraded is UbiquityCreditToken { + function hasUpgraded() public pure returns (bool) { + return true; + } + + function getVersion() public view returns (uint8) { + return super._getInitializedVersion(); + } + + function getImpl() public view returns (address) { + return super._getImplementation(); + } } diff --git a/packages/contracts/test/dollar/core/UbiquityDollarToken.t.sol b/packages/contracts/test/dollar/core/UbiquityDollarToken.t.sol index 1837f8120..077a370df 100644 --- a/packages/contracts/test/dollar/core/UbiquityDollarToken.t.sol +++ b/packages/contracts/test/dollar/core/UbiquityDollarToken.t.sol @@ -107,4 +107,149 @@ contract UbiquityDollarTokenTest is LocalTestHelper { ); IDollar.transfer(mock_recipient, 1); } + + function testUUPS_ShouldUpgradeAndCall() external { + UbiquityDollarTokenUpgraded newImpl = new UbiquityDollarTokenUpgraded(); + + vm.startPrank(admin); + bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); + + // trying to directly call will fail and exit early so call it like this + (bool success, ) = address(IDollar).call(hasUpgradedCall); + assertEq(success, false, "should not have upgraded yet"); + require(success == false, "should not have upgraded yet"); + + IDollar.upgradeTo(address(newImpl)); + + // It will also fail unless cast so we'll use the same pattern as above + (success, ) = address(IDollar).call(hasUpgradedCall); + assertEq(success, true, "should have upgraded"); + require(success == true, "should have upgraded"); + + vm.expectRevert(); + IDollar.initialize(address(diamond)); + } + + function testUUPS_ImplChanges() external { + UbiquityDollarTokenUpgraded newImpl = new UbiquityDollarTokenUpgraded(); + + address oldImpl = address(IDollar); + address newImplAddr = address(newImpl); + + vm.prank(admin); + IDollar.upgradeTo(newImplAddr); + + bytes memory getImplCall = abi.encodeWithSignature("getImpl()"); + + (bool success, bytes memory data) = address(IDollar).call(getImplCall); + assertEq(success, true, "should have upgraded"); + + address newAddrViaNewFunc = abi.decode(data, (address)); + + assertEq( + newAddrViaNewFunc, + newImplAddr, + "should be the new implementation" + ); + assertTrue( + newAddrViaNewFunc != oldImpl, + "should not be the old implementation" + ); + } + + function testUUPS_InitializedVersion() external { + uint expectedVersion = 1; + uint baseExpectedVersion = 255; + + UbiquityDollarTokenUpgraded newImpl = new UbiquityDollarTokenUpgraded(); + UbiquityDollarTokenUpgraded newImplT = new UbiquityDollarTokenUpgraded(); + + vm.startPrank(admin); + IDollar.upgradeTo(address(newImpl)); + bytes memory getVersionCall = abi.encodeWithSignature("getVersion()"); + + (bool success, bytes memory data) = address(IDollar).call( + getVersionCall + ); + assertEq(success, true, "should have upgraded"); + uint8 version = abi.decode(data, (uint8)); + + assertEq( + version, + expectedVersion, + "should be the same version as only initialized once" + ); + + IDollar.upgradeTo(address(newImplT)); + + (success, data) = address(IDollar).call(getVersionCall); + assertEq(success, true, "should have upgraded"); + version = abi.decode(data, (uint8)); + + assertEq( + version, + expectedVersion, + "should be the same version as only initialized once" + ); + + (success, data) = address(newImpl).call(getVersionCall); + assertEq(success, true, "should succeed"); + version = abi.decode(data, (uint8)); + + assertEq( + version, + baseExpectedVersion, + "should be maxed as initializers are disabled." + ); + } + + function testUUPS_initialization() external { + UbiquityDollarTokenUpgraded newImpl = new UbiquityDollarTokenUpgraded(); + + vm.startPrank(admin); + vm.expectRevert(); + newImpl.initialize(address(diamond)); + + vm.expectRevert(); + IDollar.initialize(address(diamond)); + + IDollar.upgradeTo(address(newImpl)); + + vm.expectRevert(); + IDollar.initialize(address(diamond)); + } + + function testUUPS_AdminAuth() external { + UbiquityDollarTokenUpgraded newImpl = new UbiquityDollarTokenUpgraded(); + + vm.expectRevert(); + IDollar.upgradeTo(address(newImpl)); + + vm.prank(admin); + IDollar.upgradeTo(address(newImpl)); + + bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); + (bool success, bytes memory data) = address(IDollar).call( + hasUpgradedCall + ); + bool hasUpgraded = abi.decode(data, (bool)); + + assertEq(hasUpgraded, true, "should have upgraded"); + assertEq(success, true, "should have upgraded"); + require(success == true, "should have upgraded"); + } +} + +contract UbiquityDollarTokenUpgraded is UbiquityDollarToken { + function hasUpgraded() public pure returns (bool) { + return true; + } + + function getVersion() public view returns (uint8) { + return super._getInitializedVersion(); + } + + function getImpl() public view returns (address) { + return super._getImplementation(); + } } diff --git a/packages/contracts/test/dollar/core/UbiquityGovernanceToken.t.sol b/packages/contracts/test/dollar/core/UbiquityGovernanceToken.t.sol index 5a47b4013..6a171ecaf 100644 --- a/packages/contracts/test/dollar/core/UbiquityGovernanceToken.t.sol +++ b/packages/contracts/test/dollar/core/UbiquityGovernanceToken.t.sol @@ -32,4 +32,157 @@ contract UbiquityGovernanceTokenTest is LocalTestHelper { governanceToken.setManager(newManager); require(governanceToken.getManager() == newManager); } + + function testUUPS_ShouldUpgradeAndCall() external { + UbiquityGovernanceTokenUpgraded newImpl = new UbiquityGovernanceTokenUpgraded(); + + vm.startPrank(admin); + bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); + + // trying to directly call will fail and exit early so call it like this + (bool success, ) = address(governanceToken).call(hasUpgradedCall); + assertEq(success, false, "should not have upgraded yet"); + require(success == false, "should not have upgraded yet"); + + governanceToken.upgradeTo(address(newImpl)); + + // It will also fail unless cast so we'll use the same pattern as above + (success, ) = address(governanceToken).call(hasUpgradedCall); + assertEq(success, true, "should have upgraded"); + require(success == true, "should have upgraded"); + + vm.expectRevert(); + governanceToken.initialize(address(diamond)); + + vm.stopPrank(); + } + + function testUUPS_ImplChanges() external { + UbiquityGovernanceTokenUpgraded newImpl = new UbiquityGovernanceTokenUpgraded(); + + address oldImpl = address(governanceToken); + address newImplAddr = address(newImpl); + + vm.prank(admin); + governanceToken.upgradeTo(newImplAddr); + + bytes memory getImplCall = abi.encodeWithSignature("getImpl()"); + + (bool success, bytes memory data) = address(governanceToken).call( + getImplCall + ); + assertEq(success, true, "should have upgraded"); + + address newAddrViaNewFunc = abi.decode(data, (address)); + + assertEq( + newAddrViaNewFunc, + newImplAddr, + "should be the new implementation" + ); + assertTrue( + newAddrViaNewFunc != oldImpl, + "should not be the old implementation" + ); + } + + function testUUPS_InitializedVersion() external { + uint expectedVersion = 1; + uint baseExpectedVersion = 255; + + UbiquityGovernanceTokenUpgraded newImpl = new UbiquityGovernanceTokenUpgraded(); + UbiquityGovernanceTokenUpgraded newImplT = new UbiquityGovernanceTokenUpgraded(); + + vm.startPrank(admin); + governanceToken.upgradeTo(address(newImpl)); + // It will also fail unless cast so we'll use the same pattern as above + (bool success, bytes memory data) = address(governanceToken).call( + abi.encodeWithSignature("getVersion()") + ); + assertEq(success, true, "should have upgraded"); + uint8 version = abi.decode(data, (uint8)); + + assertEq( + version, + expectedVersion, + "should be the same version as only initialized once" + ); + + governanceToken.upgradeTo(address(newImplT)); + + (success, data) = address(governanceToken).call( + abi.encodeWithSignature("getVersion()") + ); + assertEq(success, true, "should have upgraded"); + version = abi.decode(data, (uint8)); + + assertEq( + version, + expectedVersion, + "should be the same version as only initialized once" + ); + + (success, data) = address(newImpl).call( + abi.encodeWithSignature("getVersion()") + ); + assertEq(success, true, "should succeed"); + version = abi.decode(data, (uint8)); + + assertEq( + version, + baseExpectedVersion, + "should be maxed as initializers are disabled." + ); + } + + function testUUPS_initialization() external { + UbiquityGovernanceTokenUpgraded newImpl = new UbiquityGovernanceTokenUpgraded(); + + vm.startPrank(admin); + vm.expectRevert(); + newImpl.initialize(address(diamond)); + + vm.expectRevert(); + governanceToken.initialize(address(diamond)); + + governanceToken.upgradeTo(address(newImpl)); + + vm.expectRevert(); + governanceToken.initialize(address(diamond)); + } + + function testUUPS_AdminAuth() external { + UbiquityGovernanceTokenUpgraded newImpl = new UbiquityGovernanceTokenUpgraded(); + + vm.expectRevert(); + governanceToken.upgradeTo(address(newImpl)); + + vm.prank(admin); + governanceToken.upgradeTo(address(newImpl)); + + bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); + + (bool success, bytes memory data) = address(governanceToken).call( + hasUpgradedCall + ); + bool hasUpgraded = abi.decode(data, (bool)); + + assertEq(hasUpgraded, true, "should have upgraded"); + assertEq(success, true, "should have upgraded"); + require(success == true, "should have upgraded"); + } +} + +contract UbiquityGovernanceTokenUpgraded is UbiquityGovernanceToken { + function hasUpgraded() public pure returns (bool) { + return true; + } + + function getVersion() public view returns (uint8) { + return super._getInitializedVersion(); + } + + function getImpl() public view returns (address) { + return super._getImplementation(); + } } diff --git a/packages/contracts/test/helpers/UUPSTestHelper.sol b/packages/contracts/test/helpers/UUPSTestHelper.sol index bc0554497..591310dc5 100644 --- a/packages/contracts/test/helpers/UUPSTestHelper.sol +++ b/packages/contracts/test/helpers/UUPSTestHelper.sol @@ -13,9 +13,6 @@ import {ERC1155Ubiquity} from "../../src/dollar/core/ERC1155Ubiquity.sol"; import "../../src/dollar/libraries/Constants.sol"; import "forge-std/Test.sol"; -import "../../src/dollar/interfaces/IDiamondCut.sol"; -import "../../src/dollar/interfaces/IDiamondLoupe.sol"; - contract UUPSTestHelper { CreditNft internal IUbiquityNft; StakingShare internal IStakingShareToken; From 52168006da8d958e58657036fe09a0557664e8fa Mon Sep 17 00:00:00 2001 From: rndquu Date: Tue, 19 Sep 2023 09:46:37 +0300 Subject: [PATCH 12/21] fix: compiler warnings --- packages/contracts/test/dollar/core/CreditNft.t.sol | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/contracts/test/dollar/core/CreditNft.t.sol b/packages/contracts/test/dollar/core/CreditNft.t.sol index b6311aa69..2d4f36397 100644 --- a/packages/contracts/test/dollar/core/CreditNft.t.sol +++ b/packages/contracts/test/dollar/core/CreditNft.t.sol @@ -126,8 +126,6 @@ contract CreditNftTest is LocalTestHelper { function testUUPS_ShouldUpgradeAndCall() external { CreditNftUpgraded creditNftUpgraded = new CreditNftUpgraded(); - string memory uri = "test"; - vm.startPrank(admin); bytes memory hasUpgradedCall = abi.encodeWithSignature("hasUpgraded()"); From f4c416ac28784d2ba30c5d2ecd330ef40351af30 Mon Sep 17 00:00:00 2001 From: rndquu Date: Tue, 19 Sep 2023 09:50:12 +0300 Subject: [PATCH 13/21] refactor: remove openzeppelin upgradeable --- .gitmodules | 4 ---- packages/contracts/lib/openzeppelinUpgradeable | 1 - 2 files changed, 5 deletions(-) delete mode 160000 packages/contracts/lib/openzeppelinUpgradeable diff --git a/.gitmodules b/.gitmodules index 81582c04d..cc365db51 100644 --- a/.gitmodules +++ b/.gitmodules @@ -30,7 +30,3 @@ path = packages/contracts/lib/Uniswap/v3-periphery url = https://github.com/Uniswap/v3-periphery.git branch= main -[submodule "packages/contracts/lib/openzeppelinUpgradeable"] - path = packages/contracts/lib/openzeppelinUpgradeable - url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/ - branch = release-v4.9 diff --git a/packages/contracts/lib/openzeppelinUpgradeable b/packages/contracts/lib/openzeppelinUpgradeable deleted file mode 160000 index f34a3a7e5..000000000 --- a/packages/contracts/lib/openzeppelinUpgradeable +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f34a3a7e5a1d698d87d517fda698d48286310bee From 920d7855ae52fd806fa4e3debef664ea7309e8cc Mon Sep 17 00:00:00 2001 From: rndquu Date: Tue, 19 Sep 2023 10:10:03 +0300 Subject: [PATCH 14/21] refactor: openzeppelinUpgradeable to openzeppelin-upgradeable --- .gitmodules | 4 ++++ .../lib/openzeppelin-contracts-upgradeable | 1 + packages/contracts/remappings.txt | 2 +- packages/contracts/src/dollar/core/CreditNft.sol | 4 ++-- .../contracts/src/dollar/core/ERC1155Ubiquity.sol | 10 +++++----- .../contracts/src/dollar/core/ERC20Ubiquity.sol | 14 +++++++------- .../contracts/src/dollar/core/StakingShare.sol | 8 ++++---- .../src/dollar/core/UbiquityGovernanceToken.sol | 2 +- .../contracts/src/dollar/interfaces/ICreditNft.sol | 2 +- 9 files changed, 26 insertions(+), 21 deletions(-) create mode 160000 packages/contracts/lib/openzeppelin-contracts-upgradeable diff --git a/.gitmodules b/.gitmodules index cc365db51..8eda756c8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -30,3 +30,7 @@ path = packages/contracts/lib/Uniswap/v3-periphery url = https://github.com/Uniswap/v3-periphery.git branch= main +[submodule "packages/contracts/lib/openzeppelin-contracts-upgradeable"] + path = packages/contracts/lib/openzeppelin-contracts-upgradeable + url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable + branch = release-v4.9 diff --git a/packages/contracts/lib/openzeppelin-contracts-upgradeable b/packages/contracts/lib/openzeppelin-contracts-upgradeable new file mode 160000 index 000000000..152b82019 --- /dev/null +++ b/packages/contracts/lib/openzeppelin-contracts-upgradeable @@ -0,0 +1 @@ +Subproject commit 152b82019370360578ee273630567bf67b977a40 diff --git a/packages/contracts/remappings.txt b/packages/contracts/remappings.txt index 2023981d5..1599c33e6 100644 --- a/packages/contracts/remappings.txt +++ b/packages/contracts/remappings.txt @@ -1,4 +1,5 @@ @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts +@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts forge-std/=lib/forge-std/src/ ds-test/=lib/forge-std/lib/ds-test/src/ solidity-linked-list/=lib/solidity-linked-list @@ -7,4 +8,3 @@ solidity-linked-list/=lib/solidity-linked-list @uniswap/v3-periphery/contracts/=lib/Uniswap/v3-periphery/contracts abdk/=lib/abdk-libraries-solidity/ operator-filter-registry/=lib/operator-filter-registry/src -@openzeppelinUpgradeable/contracts/=lib/openzeppelinUpgradeable/contracts \ No newline at end of file diff --git a/packages/contracts/src/dollar/core/CreditNft.sol b/packages/contracts/src/dollar/core/CreditNft.sol index f5f0a1584..729c77e2f 100644 --- a/packages/contracts/src/dollar/core/CreditNft.sol +++ b/packages/contracts/src/dollar/core/CreditNft.sol @@ -2,8 +2,8 @@ pragma solidity 0.8.19; import {ERC1155Ubiquity} from "./ERC1155Ubiquity.sol"; -import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; -import {ERC1155Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol"; +import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; +import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol"; import {ICreditNft} from "../../dollar/interfaces/ICreditNft.sol"; import "solidity-linked-list/contracts/StructuredLinkedList.sol"; import "../libraries/Constants.sol"; diff --git a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol index 468818584..53274d780 100644 --- a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol @@ -1,11 +1,11 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -import {ERC1155Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol"; -import {ERC1155BurnableUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol"; -import {ERC1155PausableUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol"; -import {UUPSUpgradeable} from "@openzeppelinUpgradeable/contracts/proxy/utils/UUPSUpgradeable.sol"; -import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; +import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol"; +import {ERC1155BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol"; +import {ERC1155PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol"; +import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; +import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; import "../interfaces/IAccessControl.sol"; import "../libraries/Constants.sol"; diff --git a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol index 21bdec08f..385c5cbb1 100644 --- a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol @@ -3,13 +3,13 @@ pragma solidity ^0.8.19; import {IAccessControl} from "../interfaces/IAccessControl.sol"; import {DEFAULT_ADMIN_ROLE, PAUSER_ROLE} from "../libraries/Constants.sol"; -import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; -import {UUPSUpgradeable} from "@openzeppelinUpgradeable/contracts/proxy/utils/UUPSUpgradeable.sol"; -import {ERC20Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/ERC20Upgradeable.sol"; -import {ERC20PermitUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/extensions/ERC20PermitUpgradeable.sol"; -import {ERC20PausableUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/extensions/ERC20PausableUpgradeable.sol"; -import {IERC20Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/IERC20Upgradeable.sol"; -import {IERC20PermitUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol"; +import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; +import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; +import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol"; +import {ERC20PermitUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol"; +import {ERC20PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PausableUpgradeable.sol"; +import {IERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol"; +import {IERC20PermitUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20PermitUpgradeable.sol"; /** * @notice Base contract for Ubiquity ERC20 tokens (Dollar, Credit, Governance) diff --git a/packages/contracts/src/dollar/core/StakingShare.sol b/packages/contracts/src/dollar/core/StakingShare.sol index fad559bfb..731d64c27 100644 --- a/packages/contracts/src/dollar/core/StakingShare.sol +++ b/packages/contracts/src/dollar/core/StakingShare.sol @@ -1,11 +1,11 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -import {ERC1155Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol"; -import {IERC20Upgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC20/IERC20Upgradeable.sol"; +import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol"; +import {IERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol"; import {ERC1155Ubiquity} from "./ERC1155Ubiquity.sol"; -import {ERC1155URIStorageUpgradeable} from "@openzeppelinUpgradeable/contracts/token/ERC1155/extensions/ERC1155URIStorageUpgradeable.sol"; -import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; +import {ERC1155URIStorageUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155URIStorageUpgradeable.sol"; +import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; import "../../dollar/utils/SafeAddArray.sol"; import "../interfaces/IAccessControl.sol"; import "../libraries/Constants.sol"; diff --git a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol index b40884af1..f60e993cd 100644 --- a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.19; import {ERC20Ubiquity} from "./ERC20Ubiquity.sol"; import {IERC20Ubiquity} from "../../dollar/interfaces/IERC20Ubiquity.sol"; -import {Initializable} from "@openzeppelinUpgradeable/contracts/proxy/utils/Initializable.sol"; +import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; import "../libraries/Constants.sol"; diff --git a/packages/contracts/src/dollar/interfaces/ICreditNft.sol b/packages/contracts/src/dollar/interfaces/ICreditNft.sol index d9dd95879..f0af96f3a 100644 --- a/packages/contracts/src/dollar/interfaces/ICreditNft.sol +++ b/packages/contracts/src/dollar/interfaces/ICreditNft.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.19; -import "@openzeppelinUpgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol"; +import "@openzeppelin/contracts-upgradeable/token/ERC1155/IERC1155Upgradeable.sol"; /// @notice CreditNft interface interface ICreditNft is IERC1155Upgradeable { From f3febaa1310daf8c4e5a54e201de53c0d5ae0a36 Mon Sep 17 00:00:00 2001 From: rndquu Date: Tue, 19 Sep 2023 10:17:15 +0300 Subject: [PATCH 15/21] refactor: remove shorthands in deploy script --- .../deploy/dollar/solidityScripting/05_StakingShare.s.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol b/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol index 9fbe8d5c6..2a0f74bbd 100644 --- a/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol +++ b/packages/contracts/scripts/deploy/dollar/solidityScripting/05_StakingShare.s.sol @@ -16,14 +16,14 @@ contract StakingShareScript is CreditScript { // add staking shares string memory uri = "https://bafybeifibz4fhk4yag5reupmgh5cdbm2oladke4zfd7ldyw7avgipocpmy.ipfs.infura-ipfs.io/"; - bytes memory manAndUriPayload = abi.encodeWithSignature( + bytes memory initData = abi.encodeWithSignature( "initialize(address,string)", address(diamond), uri ); proxyStakingShare = new ERC1967Proxy( address(new StakingShare()), - manAndUriPayload + initData ); stakingShare = StakingShare(address(proxyStakingShare)); From 1fe4e586b4dd3a1e5265bfba353ad68b5e04308c Mon Sep 17 00:00:00 2001 From: rndquu Date: Tue, 19 Sep 2023 11:16:23 +0300 Subject: [PATCH 16/21] refactor: add init_unchained() --- .../src/dollar/core/ERC1155Ubiquity.sol | 12 +++++++++++- .../contracts/src/dollar/core/ERC20Ubiquity.sol | 16 ++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol index 53274d780..6f82fe3c1 100644 --- a/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC1155Ubiquity.sol @@ -78,17 +78,27 @@ contract ERC1155Ubiquity is _disableInitializers(); } - /// @notice Initializes this contract which is only possible through inheritance + /// @notice Initializes this contract with all base(parent) contracts /// @param _manager Address of the manager of the contract /// @param _uri Base URI function __ERC1155Ubiquity_init( address _manager, string memory _uri ) public initializer onlyInitializing { + // init base contracts __ERC1155_init(_uri); __ERC1155Burnable_init(); __ERC1155Pausable_init(); __UUPSUpgradeable_init(); + // init current contract + __ERC1155Ubiquity_init_unchained(_manager); + } + + /// @notice Initializes the current contract + /// @param _manager Address of the manager of the contract + function __ERC1155Ubiquity_init_unchained( + address _manager + ) public initializer onlyInitializing { accessControl = IAccessControl(_manager); } diff --git a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol index 385c5cbb1..e005cc262 100644 --- a/packages/contracts/src/dollar/core/ERC20Ubiquity.sol +++ b/packages/contracts/src/dollar/core/ERC20Ubiquity.sol @@ -64,7 +64,7 @@ abstract contract ERC20Ubiquity is _disableInitializers(); } - /// @notice Initializes this contract which is only possible through inheritance + /// @notice Initializes this contract with all base(parent) contracts /// @param _manager Address of the manager of the contract /// @param name_ Token name /// @param symbol_ Token symbol @@ -72,11 +72,23 @@ abstract contract ERC20Ubiquity is address _manager, string memory name_, string memory symbol_ - ) public onlyInitializing { + ) internal onlyInitializing { + // init base contracts __ERC20_init(name_, symbol_); __ERC20Permit_init(name_); __ERC20Pausable_init(); __UUPSUpgradeable_init(); + // init the current contract + __ERC20Ubiquity_init_unchained(_manager, symbol_); + } + + /// @notice Initializes the current contract + /// @param _manager Address of the manager of the contract + /// @param symbol_ Token symbol + function __ERC20Ubiquity_init_unchained( + address _manager, + string memory symbol_ + ) internal onlyInitializing { _symbol = symbol_; accessControl = IAccessControl(_manager); } From 9ae3772354f43137c4ef9242ba661b987f4a2ef0 Mon Sep 17 00:00:00 2001 From: rndquu Date: Tue, 19 Sep 2023 11:24:00 +0300 Subject: [PATCH 17/21] refactor: remove unnecessary Initializable --- packages/contracts/src/dollar/core/StakingShare.sol | 6 +----- .../contracts/src/dollar/core/UbiquityGovernanceToken.sol | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/contracts/src/dollar/core/StakingShare.sol b/packages/contracts/src/dollar/core/StakingShare.sol index 731d64c27..98482a8b4 100644 --- a/packages/contracts/src/dollar/core/StakingShare.sol +++ b/packages/contracts/src/dollar/core/StakingShare.sol @@ -11,11 +11,7 @@ import "../interfaces/IAccessControl.sol"; import "../libraries/Constants.sol"; /// @notice Contract representing a staking share in the form of ERC1155 token -contract StakingShare is - Initializable, - ERC1155Ubiquity, - ERC1155URIStorageUpgradeable -{ +contract StakingShare is ERC1155Ubiquity, ERC1155URIStorageUpgradeable { using SafeAddArray for uint256[]; /// @notice Stake struct diff --git a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol index f60e993cd..65184eb82 100644 --- a/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol +++ b/packages/contracts/src/dollar/core/UbiquityGovernanceToken.sol @@ -10,7 +10,7 @@ import "../libraries/Constants.sol"; /** * @notice Ubiquity Governance token contract */ -contract UbiquityGovernanceToken is Initializable, ERC20Ubiquity { +contract UbiquityGovernanceToken is ERC20Ubiquity { /// @notice Ensures initialize cannot be called on the implementation contract constructor() { _disableInitializers(); From 8d18a8c4422586ef72f09aea7a7f5f8b308bf6a2 Mon Sep 17 00:00:00 2001 From: rndquu Date: Tue, 19 Sep 2023 11:26:00 +0300 Subject: [PATCH 18/21] refactor: remove unnecessary Context --- packages/contracts/src/dollar/facets/CreditNftManagerFacet.sol | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/contracts/src/dollar/facets/CreditNftManagerFacet.sol b/packages/contracts/src/dollar/facets/CreditNftManagerFacet.sol index 5f70b8553..91852763a 100644 --- a/packages/contracts/src/dollar/facets/CreditNftManagerFacet.sol +++ b/packages/contracts/src/dollar/facets/CreditNftManagerFacet.sol @@ -3,7 +3,6 @@ pragma solidity 0.8.19; import "@openzeppelin/contracts/utils/introspection/ERC165.sol"; import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; -import "@openzeppelin/contracts/utils/Context.sol"; import {LibCreditNftManager} from "../libraries/LibCreditNftManager.sol"; import {Modifiers} from "../libraries/LibAppStorage.sol"; @@ -14,7 +13,7 @@ import {Modifiers} from "../libraries/LibAppStorage.sol"; * - redeem individual Credit NFT or batch redeem Credit NFT on a first-come first-serve basis * - redeem Credits for Dollars */ -contract CreditNftManagerFacet is Context, Modifiers { +contract CreditNftManagerFacet is Modifiers { /** * @notice Credit NFT to Governance conversion rate * @notice When Credit NFTs are expired they can be converted to From 0e51a80a263e35604bfc7e99d4271e4550aebfa6 Mon Sep 17 00:00:00 2001 From: rndquu Date: Tue, 19 Sep 2023 11:31:32 +0300 Subject: [PATCH 19/21] refactor: do not inherit local IAccessControl --- .../contracts/src/dollar/interfaces/IUbiquityDollarManager.sol | 2 +- packages/dapp/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contracts/src/dollar/interfaces/IUbiquityDollarManager.sol b/packages/contracts/src/dollar/interfaces/IUbiquityDollarManager.sol index b1d73b95b..92b5603c2 100644 --- a/packages/contracts/src/dollar/interfaces/IUbiquityDollarManager.sol +++ b/packages/contracts/src/dollar/interfaces/IUbiquityDollarManager.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: Apache-2.0 pragma solidity 0.8.19; -import "./IAccessControl.sol"; +import "@openzeppelin/contracts/access/IAccessControl.sol"; /** * @notice Interface for setting protocol parameters diff --git a/packages/dapp/package.json b/packages/dapp/package.json index 172f5d441..e3542a928 100644 --- a/packages/dapp/package.json +++ b/packages/dapp/package.json @@ -12,7 +12,7 @@ "start": "next dev", "clean": "rimraf next types node_modules", "build:next": "next build", - "build:types": "typechain --show-stack-traces --target ethers-v5 '../contracts/out/**/!(test*|Test*||*.t.sol|*.s.sol|access*)/**/!(*IAccessControl).json' --out-dir types" + "build:types": "typechain --show-stack-traces --target ethers-v5 ../contracts/out/**/!(test*|Test*|*.t.sol|*.s.sol)/*.json --out-dir=types" }, "devDependencies": { "@ethersproject/abi": "^5.0.0", From 670078772c340165ff3f0def0ad10f51bee0901e Mon Sep 17 00:00:00 2001 From: rndquu Date: Tue, 19 Sep 2023 11:35:38 +0300 Subject: [PATCH 20/21] refactor: use top level creditNft in tests --- .../facets/CreditNftRedemptionCalculatorFacet.t.sol | 10 +++------- .../facets/CreditRedemptionCalculatorFacet.t.sol | 8 ++------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol b/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol index 06d32686e..a654b5388 100644 --- a/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol +++ b/packages/contracts/test/diamond/facets/CreditNftRedemptionCalculatorFacet.t.sol @@ -2,34 +2,30 @@ pragma solidity 0.8.19; import "../DiamondTestSetup.sol"; -import {CreditNft} from "../../../src/dollar/core/CreditNft.sol"; contract CreditNftRedemptionCalculatorFacetTest is DiamondSetup { - CreditNft _creditNft; - function setUp() public virtual override { super.setUp(); vm.prank(admin); IDollar.mint(admin, 10000e18); uint256 admSupply = IDollar.balanceOf(admin); assertEq(admSupply, 10000e18); - _creditNft = creditNft; vm.startPrank(admin); - IManager.setCreditNftAddress(address(_creditNft)); + IManager.setCreditNftAddress(address(creditNft)); IAccessControl.grantRole(CREDIT_NFT_MANAGER_ROLE, address(this)); IAccessControl.grantRole(GOVERNANCE_TOKEN_MINTER_ROLE, address(this)); vm.stopPrank(); } function test_getCreditNftAmount_revertsIfDebtTooHigh() public { - _creditNft.mintCreditNft(user1, 100000 ether, 1000); + creditNft.mintCreditNft(user1, 100000 ether, 1000); vm.expectRevert("CreditNft to Dollar: DEBT_TOO_HIGH"); ICreditNftRedemptionCalculationFacet.getCreditNftAmount(0); } function test_getCreditNftAmount() public { - _creditNft.mintCreditNft(user1, 5000 ether, 10); + creditNft.mintCreditNft(user1, 5000 ether, 10); assertEq( ICreditNftRedemptionCalculationFacet.getCreditNftAmount(10000), 40000 diff --git a/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol b/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol index 46cd25dda..2ffedeb6d 100644 --- a/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol +++ b/packages/contracts/test/diamond/facets/CreditRedemptionCalculatorFacet.t.sol @@ -2,12 +2,9 @@ pragma solidity 0.8.19; import "../DiamondTestSetup.sol"; -import {CreditNft} from "../../../src/dollar/core/CreditNft.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; contract CreditRedemptionCalculatorFacetTest is DiamondSetup { - CreditNft _creditNft; - function setUp() public virtual override { super.setUp(); vm.prank(admin); @@ -15,11 +12,10 @@ contract CreditRedemptionCalculatorFacetTest is DiamondSetup { uint256 admSupply = IDollar.balanceOf(admin); assertEq(admSupply, 10000e18); - _creditNft = creditNft; vm.startPrank(admin); IAccessControl.grantRole(CREDIT_NFT_MANAGER_ROLE, address(this)); - _creditNft.mintCreditNft(user1, 100, 10); - IManager.setCreditNftAddress(address(_creditNft)); + creditNft.mintCreditNft(user1, 100, 10); + IManager.setCreditNftAddress(address(creditNft)); vm.stopPrank(); } From d1803bf02d2990efbf90f3a36e165165bf0a75b2 Mon Sep 17 00:00:00 2001 From: Keyrxng <106303466+Keyrxng@users.noreply.github.com> Date: Thu, 21 Sep 2023 07:49:25 +0100 Subject: [PATCH 21/21] fix: set cspell removed uupstest --- cspell.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cspell.json b/cspell.json index 15c1af386..3183e89ff 100644 --- a/cspell.json +++ b/cspell.json @@ -146,8 +146,7 @@ "blockhash", "Merkle", "UUPS", - "Initializable", - "Uupstest" + "Initializable" ], "flagWords": ["creditNFT", "CreditNFT"], "language": "en-US"