Loading
[ { "inputs": [ { "internalType": "contract TokenState", "name": "_tokenState", "type": "address" }, { "internalType": "string", "name": "_tokenName", "type": "string" }, { "internalType": "string", "name": "_tokenSymbol", "type": "string" }, { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "bytes32", "name": "_currencyKey", "type": "bytes32" }, { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" }, { "internalType": "address", "name": "_resolver", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes32", "name": "name", "type": "bytes32" }, { "indexed": false, "internalType": "address", "name": "destination", "type": "address" } ], "name": "CacheUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldOwner", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnerChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnerNominated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newTokenState", "type": "address" } ], "name": "TokenStateUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "CONTRACT_NAME", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DECIMALS", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "FEE_ADDRESS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "currencyKey", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "getSentTransferGasFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isResolverCached", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "issue", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "nominateNewOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "nominatedOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rebuildCache", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "resolver", "outputs": [ { "internalType": "contract AddressResolver", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "resolverAddressesRequired", "outputs": [ { "internalType": "bytes32[]", "name": "addresses", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract TokenState", "name": "_tokenState", "type": "address" } ], "name": "setTokenState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setTotalSupply", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenState", "outputs": [ { "internalType": "contract TokenState", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferAndSettle", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFromAndSettle", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "transferableSynths", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ]
60806040523480156200001157600080fd5b5060405162002b7238038062002b7283398101604081905262000034916200035c565b868686868686868087878785601289806001600160a01b038116620000a05760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f7420626520300000000000000060448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b03831690811782556040805192835260208301919091527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a150600280546001600160a01b0319166001600160a01b038816179055845162000128906003906020880190620001d0565b5083516200013e906004906020870190620001d0565b50506005919091556006805460ff9092166001600160a81b0319909216919091176101006001600160a01b03968716021790555050508416620001b95760405162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015260640162000097565b505060085550620004599950505050505050505050565b828054620001de906200041c565b90600052602060002090601f0160209004810192826200020257600085556200024d565b82601f106200021d57805160ff19168380011785556200024d565b828001600101855582156200024d579182015b828111156200024d57825182559160200191906001019062000230565b506200025b9291506200025f565b5090565b5b808211156200025b576000815560010162000260565b6001600160a01b03811681146200028c57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620002b757600080fd5b81516001600160401b0380821115620002d457620002d46200028f565b604051601f8301601f19908116603f01168101908282118183101715620002ff57620002ff6200028f565b816040528381526020925086838588010111156200031c57600080fd5b600091505b8382101562000340578582018301518183018401529082019062000321565b83821115620003525760008385830101525b9695505050505050565b600080600080600080600060e0888a0312156200037857600080fd5b8751620003858162000276565b60208901519097506001600160401b0380821115620003a357600080fd5b620003b18b838c01620002a5565b975060408a0151915080821115620003c857600080fd5b50620003d78a828b01620002a5565b9550506060880151620003ea8162000276565b809450506080880151925060a0880151915060c08801516200040c8162000276565b8091505092959891949750929550565b600181811c908216806200043157607f821691505b602082108114156200045357634e487b7160e01b600052602260045260246000fd5b50919050565b61270980620004696000396000f3fe6080604052600436106101cd5760003560e01c8063899ffef4116100f7578063c961e04911610095578063e90dd9e211610064578063e90dd9e2146104e1578063eb1edd6114610501578063f7ea7a3d14610529578063ffff51d61461054957600080fd5b8063c961e04914610478578063dbd06c8514610498578063dd62ed3e146104ae578063e73cced3146104ce57600080fd5b80639dc29fac116100d15780639dc29fac146104125780639f76980714610432578063a9059cbb14610452578063b014c3a31461046557600080fd5b8063899ffef4146103bb5780638da5cb5b146103dd57806395d89b41146103fd57600080fd5b80632e0f26251161016f57806370a082311161013e57806370a0823114610351578063741853601461037157806379ba509714610386578063867904b41461039b57600080fd5b80632e0f2625146102d4578063313ce567146102fb57806353a47bb714610315578063614d08f81461033557600080fd5b80631627540c116101ab5780631627540c1461026657806318160ddd1461028857806323b872dd146102ac5780632af64bd3146102bf57600080fd5b806304f3bcec146101d257806306fdde0314610214578063095ea7b314610236575b600080fd5b3480156101de57600080fd5b506006546101f79061010090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561022057600080fd5b50610229610569565b60405161020b919061230e565b34801561024257600080fd5b50610256610251366004612339565b6105f7565b604051901515815260200161020b565b34801561027257600080fd5b50610286610281366004612365565b6106c2565b005b34801561029457600080fd5b5061029e60055481565b60405190815260200161020b565b6102566102ba366004612382565b61071f565b3480156102cb57600080fd5b5061025661073e565b3480156102e057600080fd5b506102e9601281565b60405160ff909116815260200161020b565b34801561030757600080fd5b506006546102e99060ff1681565b34801561032157600080fd5b506001546101f7906001600160a01b031681565b34801561034157600080fd5b5061029e640a6f2dce8d60db1b81565b34801561035d57600080fd5b5061029e61036c366004612365565b610863565b34801561037d57600080fd5b506102866108e1565b34801561039257600080fd5b50610286610a75565b3480156103a757600080fd5b506102866103b6366004612339565b610b64565b3480156103c757600080fd5b506103d0610bc3565b60405161020b91906123c3565b3480156103e957600080fd5b506000546101f7906001600160a01b031681565b34801561040957600080fd5b50610229610c3a565b34801561041e57600080fd5b5061028661042d366004612339565b610c47565b34801561043e57600080fd5b5061028661044d366004612365565b610cab565b610256610460366004612339565b610d01565b610256610473366004612339565b610dec565b34801561048457600080fd5b5061029e610493366004612382565b610f2c565b3480156104a457600080fd5b5061029e60085481565b3480156104ba57600080fd5b5061029e6104c9366004612407565b611028565b6102566104dc366004612382565b6110ae565b3480156104ed57600080fd5b506002546101f7906001600160a01b031681565b34801561050d57600080fd5b506101f773feefeefeefeefeefeefeefeefeefeefeefeefeef81565b34801561053557600080fd5b50610286610544366004612440565b6111f2565b34801561055557600080fd5b5061029e610564366004612365565b6111ff565b6003805461057690612459565b80601f01602080910402602001604051908101604052809291908181526020018280546105a290612459565b80156105ef5780601f106105c4576101008083540402835291602001916105ef565b820191906000526020600020905b8154815290600101906020018083116105d257829003601f168201915b505050505081565b600254604051633691826360e21b815233600482018190526001600160a01b03858116602484015260448301859052600093919291169063da46098c90606401600060405180830381600087803b15801561065157600080fd5b505af1158015610665573d6000803e3d6000fd5b50505050836001600160a01b0316816001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040516106ae91815260200190565b60405180910390a360019150505b92915050565b6106ca611331565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906020015b60405180910390a150565b600061072b84836113a5565b610736848484611567565b949350505050565b600080610749610bc3565b905060005b815181101561085a57600082828151811061076b5761076b612494565b602090810291909101810151600081815260079092526040918290205460065492516321f8a72160e01b8152600481018390529193506001600160a01b0390811692610100900416906321f8a7219060240160206040518083038186803b1580156107d557600080fd5b505afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906124aa565b6001600160a01b031614158061083857506000818152600760205260409020546001600160a01b0316155b15610847576000935050505090565b5080610852816124dd565b91505061074e565b50600191505090565b6002546040516370a0823160e01b81526001600160a01b03838116600483015260009216906370a082319060240160206040518083038186803b1580156108a957600080fd5b505afa1580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc91906124f8565b60006108eb610bc3565b905060005b8151811015610a7157600082828151811061090d5761090d612494565b602002602001015190506000600660019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161097b91907f5265736f6c766572206d697373696e67207461726765743a20000000000000008152601981019190915260390190565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016109a7929190612511565b60206040518083038186803b1580156109bf57600080fd5b505afa1580156109d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f791906124aa565b60008381526007602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251868152918201529192507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68910160405180910390a150508080610a69906124dd565b9150506108f0565b5050565b6001546001600160a01b03163314610af25760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b60648201526084015b60405180910390fd5b600054600154604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610b6d33611785565b610bb95760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920696e7465726e616c20636f6e74726163747320616c6c6f776564006044820152606401610ae9565b610a718282611819565b60606000610bcf611961565b60408051600180825281830190925291925060009190602080830190803683370190505090507021b7b63630ba32b930b626b0b730b3b2b960791b81600081518110610c1d57610c1d612494565b602002602001018181525050610c338282611a9b565b9250505090565b6004805461057690612459565b610c5033611785565b610c9c5760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920696e7465726e616c20636f6e74726163747320616c6c6f776564006044820152606401610ae9565b610ca68282611bad565b505050565b610cb3611331565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527fa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd890602001610714565b6000610d0d33836113a5565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef1415610d4357610d3c8383611ca9565b90506106bc565b6001600160a01b038316610dda57610d59611e3d565b60085460405163dd57030d60e01b815260048101919091523360248201526001600160a01b03858116604483015260648201859052919091169063dd57030d9034906084016000604051808303818588803b158015610db757600080fd5b505af1158015610dcb573d6000803e3d6000fd5b5050505050610d3c3383611bad565b610de5338484611e5c565b9392505050565b600080610df7611e66565b6008546040516306c5a00b60e21b815233600482015260248101919091526001600160a01b039190911690631b16802c90604401606060405180830381600087803b158015610e4557600080fd5b505af1158015610e59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7d9190612540565b9250849150508115610f07576002546040516370a0823160e01b81523360048201526001600160a01b03909116906370a082319060240160206040518083038186803b158015610ecc57600080fd5b505afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0491906124f8565b90505b808411610f145783610f16565b805b9350610f23338686611e5c565b95945050505050565b60085460408051606086811b6bffffffffffffffffffffffff199081166020840152835160148185030181526034840185529187901b16605483015282516048818403018152606883019093526000938493610f91936004939190889060880161256e565b6040516020818303038152906040529050610faa611e3d565b6001600160a01b0316637937ed518260046040518363ffffffff1660e01b8152600401610fd89291906125b6565b60206040518083038186803b158015610ff057600080fd5b505afa158015611004573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2391906124f8565b600254604051636eb1769f60e11b81526001600160a01b0384811660048301528381166024830152600092169063dd62ed3e9060440160206040518083038186803b15801561107657600080fd5b505afa15801561108a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de591906124f8565b6000806110b9611e66565b6008546040516306c5a00b60e21b81526001600160a01b0388811660048301526024820192909252911690631b16802c90604401606060405180830381600087803b15801561110757600080fd5b505af115801561111b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113f9190612540565b92508491505081156111cb576002546040516370a0823160e01b81526001600160a01b038881166004830152909116906370a082319060240160206040518083038186803b15801561119057600080fd5b505afa1580156111a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c891906124f8565b90505b808410156111d957836111db565b805b93506111e8868686611567565b9695505050505050565b6111fa611331565b600555565b60008061120a611e66565b6008546040516319d5c66560e01b81526001600160a01b03868116600483015260248201929092529116906319d5c6659060440160606040518083038186803b15801561125657600080fd5b505afa15801561126a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128e9190612540565b50506002546040516370a0823160e01b81526001600160a01b038681166004830152929350600092909116906370a082319060240160206040518083038186803b1580156112db57600080fd5b505afa1580156112ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131391906124f8565b905080821115611327575060009392505050565b6107368183611e7d565b6000546001600160a01b031633146113a35760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610ae9565b565b6113ad611e66565b6008546040516301670a7b60e21b81526001600160a01b038581166004830152602482019290925291169063059c29ec9060440160206040518083038186803b1580156113f957600080fd5b505afa15801561140d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143191906124f8565b1561148c5760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f74207472616e7366657220647572696e672077616974696e672070604482015264195c9a5bd960da1b6064820152608401610ae9565b80611496836111ff565b10156114fc5760405162461bcd60e51b815260206004820152602f60248201527f496e73756666696369656e742062616c616e636520616674657220616e79207360448201526e6574746c656d656e74206f77696e6760881b6064820152608401610ae9565b611504611edb565b6001600160a01b03166342a28e216008546040518263ffffffff1660e01b815260040161153391815260200190565b60006040518083038186803b15801561154b57600080fd5b505afa15801561155f573d6000803e3d6000fd5b505050505050565b600254604051636eb1769f60e11b81526001600160a01b0385811660048301523360248301526000926000199291169063dd62ed3e9060440160206040518083038186803b1580156115b857600080fd5b505afa1580156115cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f091906124f8565b146116f957600254604051636eb1769f60e11b81526001600160a01b038681166004830152336024830181905292169163da46098c91879190611691908790869063dd62ed3e906044015b60206040518083038186803b15801561165357600080fd5b505afa158015611667573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168b91906124f8565b90611e7d565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b1580156116e057600080fd5b505af11580156116f4573d6000803e3d6000fd5b505050505b611701611e3d565b60085460405163dd57030d60e01b815260048101919091526001600160a01b038681166024830152858116604483015260648201859052919091169063dd57030d9034906084016000604051808303818588803b15801561176157600080fd5b505af1158015611775573d6000803e3d6000fd5b5050505050610736848484611ef5565b6000611790826120fb565b806106bc575061179e612187565b60405163b38988f760e01b81526001600160a01b038481166004830152919091169063b38988f79060240160206040518083038186803b1580156117e157600080fd5b505afa1580156117f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc91906125dc565b6002546040516370a0823160e01b81526001600160a01b0384811660048301529091169063b46310f69084906118ad90859085906370a08231906024015b60206040518083038186803b15801561186f57600080fd5b505afa158015611883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a791906124f8565b906121a6565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156118f357600080fd5b505af1158015611907573d6000803e3d6000fd5b505060055461191992509050826121a6565b6005556040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60408051600680825260e082019092526060916020820160c0803683370190505090506b53797374656d53746174757360a01b816000815181106119a7576119a7612494565b6020026020010181815250506822bc31b430b733b2b960b91b816001815181106119d3576119d3612494565b6020026020010181815250506524b9b9bab2b960d11b816002815181106119fc576119fc612494565b60200260200101818152505066119959541bdbdb60ca1b81600381518110611a2657611a26612494565b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600481518110611a5d57611a5d612494565b6020026020010181815250506b53796e74687242726964676560a01b81600581518110611a8c57611a8c612494565b60200260200101818152505090565b606081518351611aab91906125fe565b67ffffffffffffffff811115611ac357611ac361252a565b604051908082528060200260200182016040528015611aec578160200160208202803683370190505b50905060005b8351811015611b4457838181518110611b0d57611b0d612494565b6020026020010151828281518110611b2757611b27612494565b602090810291909101015280611b3c816124dd565b915050611af2565b5060005b8251811015611ba657828181518110611b6357611b63612494565b602002602001015182828651611b7991906125fe565b81518110611b8957611b89612494565b602090810291909101015280611b9e816124dd565b915050611b48565b5092915050565b6002546040516370a0823160e01b81526001600160a01b038481166004830152600092169063b46310f6908590611bf090869085906370a082319060240161163b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015611c3657600080fd5b505af1158015611c4a573d6000803e3d6000fd5b5050600554611c5c9250905083611e7d565b6005556040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350600192915050565b600080600854631cd554d160e21b1415611cd0575081611cca338583611e5c565b50611dcc565b604080516101408101825233815273feefeefeefeefeefeefeefeefeefeefeefeefeef602082015260085491810191909152631cd554d160e21b606082015260808101849052600060a0820181905260c0820181905260e082018190526101008201819052610120820152611d43611e66565b60405163450d9e2f60e01b81526001600160a01b03919091169063450d9e2f90611d769060009081908690600401612616565b602060405180830381600087803b158015611d9057600080fd5b505af1158015611da4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc891906124f8565b9150505b611dd4612205565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b8152600401611e0191815260200190565b600060405180830381600087803b158015611e1b57600080fd5b505af1158015611e2f573d6000803e3d6000fd5b506001979650505050505050565b6000611e576b53796e74687242726964676560a01b612216565b905090565b6000611701611e3d565b6000611e576822bc31b430b733b2b960b91b612216565b600082821115611ecf5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006044820152606401610ae9565b600061073683856126bc565b6000611e576b53797374656d53746174757360a01b612216565b60006001600160a01b03831615801590611f1857506001600160a01b0383163014155b611f645760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f20746869732061646472657373006044820152606401610ae9565b6002546040516370a0823160e01b81526001600160a01b0386811660048301529091169063b46310f6908690611fa690869085906370a082319060240161163b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015611fec57600080fd5b505af1158015612000573d6000803e3d6000fd5b50506002546040516370a0823160e01b81526001600160a01b038781166004830152909116925063b46310f69150859061204690869085906370a0823190602401611857565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561208c57600080fd5b505af11580156120a0573d6000803e3d6000fd5b50505050826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120e991815260200190565b60405180910390a35060019392505050565b6000612105612205565b6001600160a01b0316826001600160a01b0316148061213c5750612127611e66565b6001600160a01b0316826001600160a01b0316145b8061215f575061214a61228b565b6001600160a01b0316826001600160a01b0316145b806106bc575061216d61229f565b6001600160a01b0316826001600160a01b03161492915050565b6000611e577021b7b63630ba32b930b626b0b730b3b2b960791b612216565b6000806121b383856125fe565b905083811015610de55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610ae9565b6000611e5766119959541bdbdb60ca1b5b600081815260076020908152604080832054905170026b4b9b9b4b7339030b2323932b9b99d1607d1b92810192909252603182018490526001600160a01b0316908115159060510160405160208183030381529060405290611ba65760405162461bcd60e51b8152600401610ae9919061230e565b6000611e576524b9b9bab2b960d11b612216565b6000611e5773233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b612216565b6000815180845260005b818110156122e7576020818501810151868301820152016122cb565b818111156122f9576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610de560208301846122c1565b6001600160a01b038116811461233657600080fd5b50565b6000806040838503121561234c57600080fd5b823561235781612321565b946020939093013593505050565b60006020828403121561237757600080fd5b8135610de581612321565b60008060006060848603121561239757600080fd5b83356123a281612321565b925060208401356123b281612321565b929592945050506040919091013590565b6020808252825182820181905260009190848201906040850190845b818110156123fb578351835292840192918401916001016123df565b50909695505050505050565b6000806040838503121561241a57600080fd5b823561242581612321565b9150602083013561243581612321565b809150509250929050565b60006020828403121561245257600080fd5b5035919050565b600181811c9082168061246d57607f821691505b6020821081141561248e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156124bc57600080fd5b8151610de581612321565b634e487b7160e01b600052601160045260246000fd5b60006000198214156124f1576124f16124c7565b5060010190565b60006020828403121561250a57600080fd5b5051919050565b82815260406020820152600061073660408301846122c1565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561255557600080fd5b8351925060208401519150604084015190509250925092565b61ffff8616815284602082015260a06040820152600061259160a08301866122c1565b82810360608401526125a381866122c1565b9150508260808301529695505050505050565b6040815260006125c960408301856122c1565b905061ffff831660208301529392505050565b6000602082840312156125ee57600080fd5b81518015158114610de557600080fd5b60008219821115612611576126116124c7565b500190565b6001600160a01b038481168252602082018490528251166040820152610180810160208301516001600160a01b03811660608401525060408301516080830152606083015160a0830152608083015160c083015260a083015160e083015260c0830151610100818185015260e0850151915061012082818601528186015161014086015280860151925050506126b361016084018261ffff169052565b50949350505050565b6000828210156126ce576126ce6124c7565b50039056fea264697066735822122086af26632aaa5c01cd8095f355217146e03665bf98e4feff8f3ece6496a2400664736f6c634300080900330000000000000000000000005fd7cb98e859c94724cb1a989b7498eb9bba799200000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000007e47419efe3e49f3e616965bfa96f089b2b0e57473425443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b9e766cbeae5a88e95a2f4893f2e45b8ef7eea04000000000000000000000000000000000000000000000000000000000000000c53796e746872207379425443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055379425443000000000000000000000000000000000000000000000000000000