Safescan
ArbitrumArbitrum
Executed

0x75a89e92b83736a247b6dbb22634c84c39bed25af49fcf32087de15ba94a9d7e

Safe Transaction on 0x69cc...6364

Overview

To
0x9641...02e2
Value
0 ETH
Execution Date
Oct 9, 2026, 08:53 PM
Threshold
2 signatures required

Gas & Technical Details

Nonce14
Operation
DelegateCall
Safe Tx Gas0
Base Gas0
Gas Price0
Gas TokenNative
Refund ReceiverNone
Executor0xB32c...241b

Transaction Data

0x8d80ff0a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000d896009b35af71d77eaf8d7e40252370304687390a1a52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023c44847be6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b4926b8907242da8f4eb99b074b861e310ca8c2b3eee1294e3ff69fe21aa0a9c000000000000000000000000000000000000000000000000000000000000233061014060405234801562000011575f80fd5b5060405162002310380380620023108339810160408190526200003491620008a2565b6200003f81620003a7565b610348735830a930a54ded383c7ef16b69cc456f400b83296200006284620003a7565b6008612a30604051620000759062000894565b6001600160a01b03948516815293909216602084015260ff1660408301526060820152608001604051809103905ff080158015620000b5573d5f803e3d5ffd5b50612a306001600160a01b03808516608081905284821660a05290831660c05260e08290525f90620000e790620003ba565b90505f620000fd60a051620003ba60201b60201c565b90505f60c0516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200013f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001659190620008a2565b9050620001748383836200049a565b61010052505061a4b146149450620001c693505050505760405162461bcd60e51b815260206004820152600b60248201526a3bb937b7339031b430b4b760a91b60448201526064015b60405180910390fd5b5f620001d282620004b2565b9150506080516001600160a01b03163b5f03620002265760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b6044820152606401620001bd565b6080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000265573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028b9190620008a2565b60ff16601214620002df5760405162461bcd60e51b815260206004820152601460248201527f77726f6e6720746f6b656e20646563696d616c730000000000000000000000006044820152606401620001bd565b80805190602001206080516001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801562000325573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526200034e919081019062000903565b8051906020012014620003995760405162461bcd60e51b81526020600482015260126024820152711ddc9bdb99c81d1bdad95b881cde5b589bdb60721b6044820152606401620001bd565b5060ff166101205262000b0c565b5f620003b382620004b2565b5092915050565b5f63ffffffff826001600160a01b031611620003d857506012919050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f9182916001600160a01b038616916200041c91620009b6565b5f60405180830381855afa9150503d805f811462000456576040519150601f19603f3d011682016040523d82523d5f602084013e6200045b565b606091505b50915091508180156200046f575080516020145b6200047c57601262000492565b80806020019051810190620004929190620008a2565b949350505050565b5f6200049283620004ac8685620009e7565b62000836565b5f60608260ff165f03620004f95750506040805180820190915260058152640e4a6a086b60db1b6020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036200053e57505060408051808201909152600581526472534b485960d81b6020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020362000583575050604080518082019091526005815264724452414d60d81b602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff16600303620005c75750506040805180820190915260048152637245575960e01b602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036200060a575050604080518082019091526003815262724d5560e81b602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff166005036200064f57505060408051808201909152600581526472534e444b60d81b602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff16600603620006945750506040805180820190915260058152643928262a2960d91b602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff16600703620006d95750506040805180820190915260058152641c94d3d61360da1b60208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff166008036200071e5750506040805180820190915260058152641c90d490d360da1b602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036200076357505060408051808201909152600581526472494e544360d81b602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a03620007a85750506040805180820190915260058152641c9213d3d160da1b602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b03620007ed575050604080518082019091526005815264724b4f525560d81b602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b60405162461bcd60e51b815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e20617373657400000000006044820152606401620001bd565b5f60268360ff1611806200084d575060268260ff16115b156200086c576040516302950f9560e51b815260040160405180910390fd5b6200087983600a62000afc565b60806200088884600a62000afc565b901b1790505b92915050565b61097c806200199483390190565b5f60208284031215620008b3575f80fd5b815160ff81168114620008c4575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620008fb578181015183820152602001620008e1565b50505f910152565b5f6020828403121562000914575f80fd5b81516001600160401b03808211156200092b575f80fd5b818401915084601f8301126200093f575f80fd5b815181811115620009545762000954620008cb565b604051601f8201601f19908116603f011681019083821181831017156200097f576200097f620008cb565b8160405282815287602084870101111562000998575f80fd5b620009ab836020830160208801620008df565b979650505050505050565b5f8251620009c9818460208701620008df565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b60ff81811683821601908111156200088e576200088e620009d3565b600181815b8085111562000a4357815f190482111562000a275762000a27620009d3565b8085161562000a3557918102915b93841c939080029062000a08565b509250929050565b5f8262000a5b575060016200088e565b8162000a6957505f6200088e565b816001811462000a82576002811462000a8d5762000aad565b60019150506200088e565b60ff84111562000aa15762000aa1620009d3565b50506001821b6200088e565b5060208310610133831016604e8410600b841016171562000ad2575081810a6200088e565b62000ade838362000a03565b805f190482111562000af45762000af4620009d3565b029392505050565b5f620008c460ff84168362000a4b565b60805160a05160c05160e0516101005161012051610e1662000b7e5f395f6101c501525f61098301525f818161024b015281816108fa015261094f01525f818161019e01528181610222015261082001525f818161028d01526107f601525f81816101fe01526107d40152610e165ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80635001f3b51161008857806394a686301161006357806394a686301461026d578063999b93af14610288578063ae68676c146102af578063e629e16d146102c2575f80fd5b80635001f3b5146101f9578063741bef1a1461022057806387cf469614610246575f80fd5b80631bf6c21b116100b85780631bf6c21b1461016b57806337a7b7d8146101995780634da36913146101c0575f80fd5b80630579e61f146100de57806306fdde031461010b5780630dcaeaf214610154575b5f80fd5b6100f16100ec366004610c24565b6102e3565b604080519283526020830191909152015b60405180910390f35b6101476040518060400160405280600f81526020017f436861696e6c696e6b4f7261636c65000000000000000000000000000000000081525081565b6040516101029190610cbe565b61015d612a3081565b604051908152602001610102565b61017461034881565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b6101e77f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610174565b61015d7f000000000000000000000000000000000000000000000000000000000000000081565b610174735830a930a54ded383c7ef16b69cc456f400b832981565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b61015d6102bd366004610c24565b6102fd565b6102d56102d0366004610cd0565b610313565b604051610102929190610cf0565b5f805f6102f18686866107cc565b96879650945050505050565b5f6103098484846107cc565b90505b9392505050565b5f60608260ff165f0361037157505060408051808201909152600581527f72535043580000000000000000000000000000000000000000000000000000006020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036103cd57505060408051808201909152600581527f72534b48590000000000000000000000000000000000000000000000000000006020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020361042957505060408051808201909152600581527f724452414d000000000000000000000000000000000000000000000000000000602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff1660030361048557505060408051808201909152600481527f7245575900000000000000000000000000000000000000000000000000000000602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036104e157505060408051808201909152600381527f724d550000000000000000000000000000000000000000000000000000000000602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff1660050361053d57505060408051808201909152600581527f72534e444b000000000000000000000000000000000000000000000000000000602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff1660060361059957505060408051808201909152600581527f72504c5452000000000000000000000000000000000000000000000000000000602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff166007036105f557505060408051808201909152600581527f72534f584c00000000000000000000000000000000000000000000000000000060208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff1660080361065157505060408051808201909152600581527f724352434c000000000000000000000000000000000000000000000000000000602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036106ad57505060408051808201909152600581527f72494e5443000000000000000000000000000000000000000000000000000000602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a0361070957505060408051808201909152600581527f72484f4f44000000000000000000000000000000000000000000000000000000602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b0361076557505060408051808201909152600581527f724b4f5255000000000000000000000000000000000000000000000000000000602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e206173736574000000000060448201526064015b60405180910390fd5b5f8061081a847f0000000000000000000000000000000000000000000000000000000000000000857f00000000000000000000000000000000000000000000000000000000000000006109b5565b90505f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610887573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190610d37565b509350509250505f82136108eb576040517fd743df6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108f68242610db0565b90507f000000000000000000000000000000000000000000000000000000000000000081111561097b576040517fa6e68d63000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000060248201526044016107c3565b826109a889827f000000000000000000000000000000000000000000000000000000000000000088610af5565b9998505050505050505050565b5f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a1c57508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a2857505f610aed565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a8e57508373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a9b57506001610aed565b6040517f4ca22af000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8087166004830152841660248201526044016107c3565b949350505050565b5f6fffffffffffffffffffffffffffffffff8316608084901c8315610b3157610b288782610b238986610dc9565b610b41565b92505050610aed565b610b2887610b3f8885610dc9565b835b8282027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8385098181108201900380610b8f5782610b865763ae47f7025f526004601cfd5b5081900461030c565b808311610ba35763ae47f7025f526004601cfd5b828486095f84810385169485900494848311909303908390038390046001010292030417600260038302811880840282030280840282030280840282030280840282030280840282030280840290910302029392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c1f575f80fd5b919050565b5f805f60608486031215610c36575f80fd5b83359250610c4660208501610bfc565b9150610c5460408501610bfc565b90509250925092565b5f81518084525f5b81811015610c8157602081850181015186830182015201610c65565b505f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61030c6020830184610c5d565b5f60208284031215610ce0575f80fd5b813560ff8116811461030c575f80fd5b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6103096040830184610c5d565b805169ffffffffffffffffffff81168114610c1f575f80fd5b5f805f805f60a08688031215610d4b575f80fd5b610d5486610d1e565b9450602086015193506040860151925060608601519150610d7760808701610d1e565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610dc357610dc3610d83565b92915050565b8082028115828204841417610dc357610dc3610d8356fea2646970667358221220af8f66e5300d54a9d8ad96560b849cd2a547c3d20a3d6ebc2868ab01dd6cea6b64736f6c63430008180033610100604052348015610010575f80fd5b5060405161097c38038061097c83398101604081905261002f916100ed565b6100376100ae565b6001600160a01b038416158061005457506001600160a01b038316155b80610062575060268260ff16115b8061006b575080155b156100895760405163c52a9bd360e01b815260040160405180910390fd5b6001600160a01b039384166080529190921660a05260ff90911660c05260e05261013c565b61a4b146146100d0576040516310dfc03360e01b815260040160405180910390fd5b565b80516001600160a01b03811681146100e8575f80fd5b919050565b5f805f8060808587031215610100575f80fd5b610109856100d2565b9350610117602086016100d2565b9250604085015160ff8116811461012c575f80fd5b6060959095015193969295505050565b60805160a05160c05160e0516107f96101835f395f81816101790152818161045f015261060c01525f60e301525f6101be01525f818161021301526102d201526107f95ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80639da6048f11610088578063ddac665411610063578063ddac665414610205578063df034cd01461020e578063ef5af04414610235578063feaf968c1461023e575f80fd5b80639da6048f1461019b578063be5da0b4146101b0578063c55dae63146101b9575f80fd5b806385e1f4d0116100b857806385e1f4d01461013b5780638cd221c9146101445780639cb335e714610174575f80fd5b8063313ce567146100de5780633a3b07d31461011c57806385bb7d6914610132575b5f80fd5b6101057f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b61012461027d565b604051908152602001610113565b61012460015481565b61012461a4b181565b5f546101599069ffffffffffffffffffff1681565b60405169ffffffffffffffffffff9091168152602001610113565b6101247f000000000000000000000000000000000000000000000000000000000000000081565b6101ae6101a93660046106d5565b6102b2565b005b61012460035481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610113565b61012460045481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b61012460025481565b61024661056e565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610113565b6102af670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b81565b6102ba610698565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610329576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5469ffffffffffffffffffff858116911614158061035557505f5469ffffffffffffffffffff908116145b1561038c576040517f333556b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f831315806103cb57506103c8670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b83115b15610402576040517fb5f71a2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81158061040e57504282115b8061041b57506002548211155b806104265750428111155b1561045d576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104888342610780565b11156104c0576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80546001919081906104e090849069ffffffffffffffffffff16610799565b82546101009290920a69ffffffffffffffffffff8181021990931691831602179091556001859055600284905542600381905560048490555f546040805188815260208101889052908101929092526060820185905290911691507f78a7ac38a05b7929e47b5618338f826a2e14111752c335c2067465885ebfb8899060800160405180910390a250505050565b5f805f805f61057b610698565b5f805469ffffffffffffffffffff1690036105c2576040517f1c72fad400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4260025411156105fe576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004544210158061063b57507f0000000000000000000000000000000000000000000000000000000000000000600254426106399190610780565b115b15610672576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505f5460015460025469ffffffffffffffffffff909216959094509092508291508490565b61a4b146146106d3576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f805f80608085870312156106e8575f80fd5b843569ffffffffffffffffffff81168114610701575f80fd5b966020860135965060408601359560600135945092505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8261077b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b818103818111156107935761079361071b565b92915050565b69ffffffffffffffffffff8181168382160190808211156107bc576107bc61071b565b509291505056fea2646970667358221220a26edf1ac03729b6bf6b9199f4505ae38c50a1723b7ddad9bc47483890e27a0264736f6c63430008180033000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000009b35af71d77eaf8d7e40252370304687390a1a52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023c44847be6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d8e40c80fdedd14488da4cd18f27a8647bb678246a07924d9721bfea8aadab6e000000000000000000000000000000000000000000000000000000000000233061014060405234801562000011575f80fd5b5060405162002310380380620023108339810160408190526200003491620008a2565b6200003f81620003a7565b610348735830a930a54ded383c7ef16b69cc456f400b83296200006284620003a7565b6008612a30604051620000759062000894565b6001600160a01b03948516815293909216602084015260ff1660408301526060820152608001604051809103905ff080158015620000b5573d5f803e3d5ffd5b50612a306001600160a01b03808516608081905284821660a05290831660c05260e08290525f90620000e790620003ba565b90505f620000fd60a051620003ba60201b60201c565b90505f60c0516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200013f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001659190620008a2565b9050620001748383836200049a565b61010052505061a4b146149450620001c693505050505760405162461bcd60e51b815260206004820152600b60248201526a3bb937b7339031b430b4b760a91b60448201526064015b60405180910390fd5b5f620001d282620004b2565b9150506080516001600160a01b03163b5f03620002265760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b6044820152606401620001bd565b6080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000265573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028b9190620008a2565b60ff16601214620002df5760405162461bcd60e51b815260206004820152601460248201527f77726f6e6720746f6b656e20646563696d616c730000000000000000000000006044820152606401620001bd565b80805190602001206080516001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801562000325573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526200034e919081019062000903565b8051906020012014620003995760405162461bcd60e51b81526020600482015260126024820152711ddc9bdb99c81d1bdad95b881cde5b589bdb60721b6044820152606401620001bd565b5060ff166101205262000b0c565b5f620003b382620004b2565b5092915050565b5f63ffffffff826001600160a01b031611620003d857506012919050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f9182916001600160a01b038616916200041c91620009b6565b5f60405180830381855afa9150503d805f811462000456576040519150601f19603f3d011682016040523d82523d5f602084013e6200045b565b606091505b50915091508180156200046f575080516020145b6200047c57601262000492565b80806020019051810190620004929190620008a2565b949350505050565b5f6200049283620004ac8685620009e7565b62000836565b5f60608260ff165f03620004f95750506040805180820190915260058152640e4a6a086b60db1b6020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036200053e57505060408051808201909152600581526472534b485960d81b6020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020362000583575050604080518082019091526005815264724452414d60d81b602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff16600303620005c75750506040805180820190915260048152637245575960e01b602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036200060a575050604080518082019091526003815262724d5560e81b602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff166005036200064f57505060408051808201909152600581526472534e444b60d81b602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff16600603620006945750506040805180820190915260058152643928262a2960d91b602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff16600703620006d95750506040805180820190915260058152641c94d3d61360da1b60208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff166008036200071e5750506040805180820190915260058152641c90d490d360da1b602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036200076357505060408051808201909152600581526472494e544360d81b602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a03620007a85750506040805180820190915260058152641c9213d3d160da1b602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b03620007ed575050604080518082019091526005815264724b4f525560d81b602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b60405162461bcd60e51b815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e20617373657400000000006044820152606401620001bd565b5f60268360ff1611806200084d575060268260ff16115b156200086c576040516302950f9560e51b815260040160405180910390fd5b6200087983600a62000afc565b60806200088884600a62000afc565b901b1790505b92915050565b61097c806200199483390190565b5f60208284031215620008b3575f80fd5b815160ff81168114620008c4575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620008fb578181015183820152602001620008e1565b50505f910152565b5f6020828403121562000914575f80fd5b81516001600160401b03808211156200092b575f80fd5b818401915084601f8301126200093f575f80fd5b815181811115620009545762000954620008cb565b604051601f8201601f19908116603f011681019083821181831017156200097f576200097f620008cb565b8160405282815287602084870101111562000998575f80fd5b620009ab836020830160208801620008df565b979650505050505050565b5f8251620009c9818460208701620008df565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b60ff81811683821601908111156200088e576200088e620009d3565b600181815b8085111562000a4357815f190482111562000a275762000a27620009d3565b8085161562000a3557918102915b93841c939080029062000a08565b509250929050565b5f8262000a5b575060016200088e565b8162000a6957505f6200088e565b816001811462000a82576002811462000a8d5762000aad565b60019150506200088e565b60ff84111562000aa15762000aa1620009d3565b50506001821b6200088e565b5060208310610133831016604e8410600b841016171562000ad2575081810a6200088e565b62000ade838362000a03565b805f190482111562000af45762000af4620009d3565b029392505050565b5f620008c460ff84168362000a4b565b60805160a05160c05160e0516101005161012051610e1662000b7e5f395f6101c501525f61098301525f818161024b015281816108fa015261094f01525f818161019e01528181610222015261082001525f818161028d01526107f601525f81816101fe01526107d40152610e165ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80635001f3b51161008857806394a686301161006357806394a686301461026d578063999b93af14610288578063ae68676c146102af578063e629e16d146102c2575f80fd5b80635001f3b5146101f9578063741bef1a1461022057806387cf469614610246575f80fd5b80631bf6c21b116100b85780631bf6c21b1461016b57806337a7b7d8146101995780634da36913146101c0575f80fd5b80630579e61f146100de57806306fdde031461010b5780630dcaeaf214610154575b5f80fd5b6100f16100ec366004610c24565b6102e3565b604080519283526020830191909152015b60405180910390f35b6101476040518060400160405280600f81526020017f436861696e6c696e6b4f7261636c65000000000000000000000000000000000081525081565b6040516101029190610cbe565b61015d612a3081565b604051908152602001610102565b61017461034881565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b6101e77f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610174565b61015d7f000000000000000000000000000000000000000000000000000000000000000081565b610174735830a930a54ded383c7ef16b69cc456f400b832981565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b61015d6102bd366004610c24565b6102fd565b6102d56102d0366004610cd0565b610313565b604051610102929190610cf0565b5f805f6102f18686866107cc565b96879650945050505050565b5f6103098484846107cc565b90505b9392505050565b5f60608260ff165f0361037157505060408051808201909152600581527f72535043580000000000000000000000000000000000000000000000000000006020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036103cd57505060408051808201909152600581527f72534b48590000000000000000000000000000000000000000000000000000006020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020361042957505060408051808201909152600581527f724452414d000000000000000000000000000000000000000000000000000000602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff1660030361048557505060408051808201909152600481527f7245575900000000000000000000000000000000000000000000000000000000602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036104e157505060408051808201909152600381527f724d550000000000000000000000000000000000000000000000000000000000602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff1660050361053d57505060408051808201909152600581527f72534e444b000000000000000000000000000000000000000000000000000000602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff1660060361059957505060408051808201909152600581527f72504c5452000000000000000000000000000000000000000000000000000000602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff166007036105f557505060408051808201909152600581527f72534f584c00000000000000000000000000000000000000000000000000000060208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff1660080361065157505060408051808201909152600581527f724352434c000000000000000000000000000000000000000000000000000000602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036106ad57505060408051808201909152600581527f72494e5443000000000000000000000000000000000000000000000000000000602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a0361070957505060408051808201909152600581527f72484f4f44000000000000000000000000000000000000000000000000000000602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b0361076557505060408051808201909152600581527f724b4f5255000000000000000000000000000000000000000000000000000000602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e206173736574000000000060448201526064015b60405180910390fd5b5f8061081a847f0000000000000000000000000000000000000000000000000000000000000000857f00000000000000000000000000000000000000000000000000000000000000006109b5565b90505f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610887573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190610d37565b509350509250505f82136108eb576040517fd743df6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108f68242610db0565b90507f000000000000000000000000000000000000000000000000000000000000000081111561097b576040517fa6e68d63000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000060248201526044016107c3565b826109a889827f000000000000000000000000000000000000000000000000000000000000000088610af5565b9998505050505050505050565b5f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a1c57508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a2857505f610aed565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a8e57508373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a9b57506001610aed565b6040517f4ca22af000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8087166004830152841660248201526044016107c3565b949350505050565b5f6fffffffffffffffffffffffffffffffff8316608084901c8315610b3157610b288782610b238986610dc9565b610b41565b92505050610aed565b610b2887610b3f8885610dc9565b835b8282027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8385098181108201900380610b8f5782610b865763ae47f7025f526004601cfd5b5081900461030c565b808311610ba35763ae47f7025f526004601cfd5b828486095f84810385169485900494848311909303908390038390046001010292030417600260038302811880840282030280840282030280840282030280840282030280840282030280840290910302029392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c1f575f80fd5b919050565b5f805f60608486031215610c36575f80fd5b83359250610c4660208501610bfc565b9150610c5460408501610bfc565b90509250925092565b5f81518084525f5b81811015610c8157602081850181015186830182015201610c65565b505f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61030c6020830184610c5d565b5f60208284031215610ce0575f80fd5b813560ff8116811461030c575f80fd5b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6103096040830184610c5d565b805169ffffffffffffffffffff81168114610c1f575f80fd5b5f805f805f60a08688031215610d4b575f80fd5b610d5486610d1e565b9450602086015193506040860151925060608601519150610d7760808701610d1e565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610dc357610dc3610d83565b92915050565b8082028115828204841417610dc357610dc3610d8356fea2646970667358221220af8f66e5300d54a9d8ad96560b849cd2a547c3d20a3d6ebc2868ab01dd6cea6b64736f6c63430008180033610100604052348015610010575f80fd5b5060405161097c38038061097c83398101604081905261002f916100ed565b6100376100ae565b6001600160a01b038416158061005457506001600160a01b038316155b80610062575060268260ff16115b8061006b575080155b156100895760405163c52a9bd360e01b815260040160405180910390fd5b6001600160a01b039384166080529190921660a05260ff90911660c05260e05261013c565b61a4b146146100d0576040516310dfc03360e01b815260040160405180910390fd5b565b80516001600160a01b03811681146100e8575f80fd5b919050565b5f805f8060808587031215610100575f80fd5b610109856100d2565b9350610117602086016100d2565b9250604085015160ff8116811461012c575f80fd5b6060959095015193969295505050565b60805160a05160c05160e0516107f96101835f395f81816101790152818161045f015261060c01525f60e301525f6101be01525f818161021301526102d201526107f95ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80639da6048f11610088578063ddac665411610063578063ddac665414610205578063df034cd01461020e578063ef5af04414610235578063feaf968c1461023e575f80fd5b80639da6048f1461019b578063be5da0b4146101b0578063c55dae63146101b9575f80fd5b806385e1f4d0116100b857806385e1f4d01461013b5780638cd221c9146101445780639cb335e714610174575f80fd5b8063313ce567146100de5780633a3b07d31461011c57806385bb7d6914610132575b5f80fd5b6101057f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b61012461027d565b604051908152602001610113565b61012460015481565b61012461a4b181565b5f546101599069ffffffffffffffffffff1681565b60405169ffffffffffffffffffff9091168152602001610113565b6101247f000000000000000000000000000000000000000000000000000000000000000081565b6101ae6101a93660046106d5565b6102b2565b005b61012460035481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610113565b61012460045481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b61012460025481565b61024661056e565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610113565b6102af670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b81565b6102ba610698565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610329576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5469ffffffffffffffffffff858116911614158061035557505f5469ffffffffffffffffffff908116145b1561038c576040517f333556b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f831315806103cb57506103c8670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b83115b15610402576040517fb5f71a2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81158061040e57504282115b8061041b57506002548211155b806104265750428111155b1561045d576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104888342610780565b11156104c0576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80546001919081906104e090849069ffffffffffffffffffff16610799565b82546101009290920a69ffffffffffffffffffff8181021990931691831602179091556001859055600284905542600381905560048490555f546040805188815260208101889052908101929092526060820185905290911691507f78a7ac38a05b7929e47b5618338f826a2e14111752c335c2067465885ebfb8899060800160405180910390a250505050565b5f805f805f61057b610698565b5f805469ffffffffffffffffffff1690036105c2576040517f1c72fad400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4260025411156105fe576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004544210158061063b57507f0000000000000000000000000000000000000000000000000000000000000000600254426106399190610780565b115b15610672576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505f5460015460025469ffffffffffffffffffff909216959094509092508291508490565b61a4b146146106d3576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f805f80608085870312156106e8575f80fd5b843569ffffffffffffffffffff81168114610701575f80fd5b966020860135965060408601359560600135945092505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8261077b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b818103818111156107935761079361071b565b92915050565b69ffffffffffffffffffff8181168382160190808211156107bc576107bc61071b565b509291505056fea2646970667358221220a26edf1ac03729b6bf6b9199f4505ae38c50a1723b7ddad9bc47483890e27a0264736f6c63430008180033000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000009b35af71d77eaf8d7e40252370304687390a1a52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023c44847be6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060a8b48b4c3643f2dfddf5399452a8b41b04a550443e2ec47280db13b8b47dbf7b000000000000000000000000000000000000000000000000000000000000233061014060405234801562000011575f80fd5b5060405162002310380380620023108339810160408190526200003491620008a2565b6200003f81620003a7565b610348735830a930a54ded383c7ef16b69cc456f400b83296200006284620003a7565b6008612a30604051620000759062000894565b6001600160a01b03948516815293909216602084015260ff1660408301526060820152608001604051809103905ff080158015620000b5573d5f803e3d5ffd5b50612a306001600160a01b03808516608081905284821660a05290831660c05260e08290525f90620000e790620003ba565b90505f620000fd60a051620003ba60201b60201c565b90505f60c0516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200013f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001659190620008a2565b9050620001748383836200049a565b61010052505061a4b146149450620001c693505050505760405162461bcd60e51b815260206004820152600b60248201526a3bb937b7339031b430b4b760a91b60448201526064015b60405180910390fd5b5f620001d282620004b2565b9150506080516001600160a01b03163b5f03620002265760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b6044820152606401620001bd565b6080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000265573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028b9190620008a2565b60ff16601214620002df5760405162461bcd60e51b815260206004820152601460248201527f77726f6e6720746f6b656e20646563696d616c730000000000000000000000006044820152606401620001bd565b80805190602001206080516001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801562000325573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526200034e919081019062000903565b8051906020012014620003995760405162461bcd60e51b81526020600482015260126024820152711ddc9bdb99c81d1bdad95b881cde5b589bdb60721b6044820152606401620001bd565b5060ff166101205262000b0c565b5f620003b382620004b2565b5092915050565b5f63ffffffff826001600160a01b031611620003d857506012919050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f9182916001600160a01b038616916200041c91620009b6565b5f60405180830381855afa9150503d805f811462000456576040519150601f19603f3d011682016040523d82523d5f602084013e6200045b565b606091505b50915091508180156200046f575080516020145b6200047c57601262000492565b80806020019051810190620004929190620008a2565b949350505050565b5f6200049283620004ac8685620009e7565b62000836565b5f60608260ff165f03620004f95750506040805180820190915260058152640e4a6a086b60db1b6020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036200053e57505060408051808201909152600581526472534b485960d81b6020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020362000583575050604080518082019091526005815264724452414d60d81b602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff16600303620005c75750506040805180820190915260048152637245575960e01b602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036200060a575050604080518082019091526003815262724d5560e81b602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff166005036200064f57505060408051808201909152600581526472534e444b60d81b602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff16600603620006945750506040805180820190915260058152643928262a2960d91b602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff16600703620006d95750506040805180820190915260058152641c94d3d61360da1b60208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff166008036200071e5750506040805180820190915260058152641c90d490d360da1b602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036200076357505060408051808201909152600581526472494e544360d81b602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a03620007a85750506040805180820190915260058152641c9213d3d160da1b602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b03620007ed575050604080518082019091526005815264724b4f525560d81b602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b60405162461bcd60e51b815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e20617373657400000000006044820152606401620001bd565b5f60268360ff1611806200084d575060268260ff16115b156200086c576040516302950f9560e51b815260040160405180910390fd5b6200087983600a62000afc565b60806200088884600a62000afc565b901b1790505b92915050565b61097c806200199483390190565b5f60208284031215620008b3575f80fd5b815160ff81168114620008c4575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620008fb578181015183820152602001620008e1565b50505f910152565b5f6020828403121562000914575f80fd5b81516001600160401b03808211156200092b575f80fd5b818401915084601f8301126200093f575f80fd5b815181811115620009545762000954620008cb565b604051601f8201601f19908116603f011681019083821181831017156200097f576200097f620008cb565b8160405282815287602084870101111562000998575f80fd5b620009ab836020830160208801620008df565b979650505050505050565b5f8251620009c9818460208701620008df565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b60ff81811683821601908111156200088e576200088e620009d3565b600181815b8085111562000a4357815f190482111562000a275762000a27620009d3565b8085161562000a3557918102915b93841c939080029062000a08565b509250929050565b5f8262000a5b575060016200088e565b8162000a6957505f6200088e565b816001811462000a82576002811462000a8d5762000aad565b60019150506200088e565b60ff84111562000aa15762000aa1620009d3565b50506001821b6200088e565b5060208310610133831016604e8410600b841016171562000ad2575081810a6200088e565b62000ade838362000a03565b805f190482111562000af45762000af4620009d3565b029392505050565b5f620008c460ff84168362000a4b565b60805160a05160c05160e0516101005161012051610e1662000b7e5f395f6101c501525f61098301525f818161024b015281816108fa015261094f01525f818161019e01528181610222015261082001525f818161028d01526107f601525f81816101fe01526107d40152610e165ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80635001f3b51161008857806394a686301161006357806394a686301461026d578063999b93af14610288578063ae68676c146102af578063e629e16d146102c2575f80fd5b80635001f3b5146101f9578063741bef1a1461022057806387cf469614610246575f80fd5b80631bf6c21b116100b85780631bf6c21b1461016b57806337a7b7d8146101995780634da36913146101c0575f80fd5b80630579e61f146100de57806306fdde031461010b5780630dcaeaf214610154575b5f80fd5b6100f16100ec366004610c24565b6102e3565b604080519283526020830191909152015b60405180910390f35b6101476040518060400160405280600f81526020017f436861696e6c696e6b4f7261636c65000000000000000000000000000000000081525081565b6040516101029190610cbe565b61015d612a3081565b604051908152602001610102565b61017461034881565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b6101e77f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610174565b61015d7f000000000000000000000000000000000000000000000000000000000000000081565b610174735830a930a54ded383c7ef16b69cc456f400b832981565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b61015d6102bd366004610c24565b6102fd565b6102d56102d0366004610cd0565b610313565b604051610102929190610cf0565b5f805f6102f18686866107cc565b96879650945050505050565b5f6103098484846107cc565b90505b9392505050565b5f60608260ff165f0361037157505060408051808201909152600581527f72535043580000000000000000000000000000000000000000000000000000006020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036103cd57505060408051808201909152600581527f72534b48590000000000000000000000000000000000000000000000000000006020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020361042957505060408051808201909152600581527f724452414d000000000000000000000000000000000000000000000000000000602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff1660030361048557505060408051808201909152600481527f7245575900000000000000000000000000000000000000000000000000000000602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036104e157505060408051808201909152600381527f724d550000000000000000000000000000000000000000000000000000000000602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff1660050361053d57505060408051808201909152600581527f72534e444b000000000000000000000000000000000000000000000000000000602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff1660060361059957505060408051808201909152600581527f72504c5452000000000000000000000000000000000000000000000000000000602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff166007036105f557505060408051808201909152600581527f72534f584c00000000000000000000000000000000000000000000000000000060208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff1660080361065157505060408051808201909152600581527f724352434c000000000000000000000000000000000000000000000000000000602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036106ad57505060408051808201909152600581527f72494e5443000000000000000000000000000000000000000000000000000000602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a0361070957505060408051808201909152600581527f72484f4f44000000000000000000000000000000000000000000000000000000602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b0361076557505060408051808201909152600581527f724b4f5255000000000000000000000000000000000000000000000000000000602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e206173736574000000000060448201526064015b60405180910390fd5b5f8061081a847f0000000000000000000000000000000000000000000000000000000000000000857f00000000000000000000000000000000000000000000000000000000000000006109b5565b90505f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610887573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190610d37565b509350509250505f82136108eb576040517fd743df6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108f68242610db0565b90507f000000000000000000000000000000000000000000000000000000000000000081111561097b576040517fa6e68d63000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000060248201526044016107c3565b826109a889827f000000000000000000000000000000000000000000000000000000000000000088610af5565b9998505050505050505050565b5f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a1c57508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a2857505f610aed565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a8e57508373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a9b57506001610aed565b6040517f4ca22af000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8087166004830152841660248201526044016107c3565b949350505050565b5f6fffffffffffffffffffffffffffffffff8316608084901c8315610b3157610b288782610b238986610dc9565b610b41565b92505050610aed565b610b2887610b3f8885610dc9565b835b8282027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8385098181108201900380610b8f5782610b865763ae47f7025f526004601cfd5b5081900461030c565b808311610ba35763ae47f7025f526004601cfd5b828486095f84810385169485900494848311909303908390038390046001010292030417600260038302811880840282030280840282030280840282030280840282030280840282030280840290910302029392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c1f575f80fd5b919050565b5f805f60608486031215610c36575f80fd5b83359250610c4660208501610bfc565b9150610c5460408501610bfc565b90509250925092565b5f81518084525f5b81811015610c8157602081850181015186830182015201610c65565b505f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61030c6020830184610c5d565b5f60208284031215610ce0575f80fd5b813560ff8116811461030c575f80fd5b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6103096040830184610c5d565b805169ffffffffffffffffffff81168114610c1f575f80fd5b5f805f805f60a08688031215610d4b575f80fd5b610d5486610d1e565b9450602086015193506040860151925060608601519150610d7760808701610d1e565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610dc357610dc3610d83565b92915050565b8082028115828204841417610dc357610dc3610d8356fea2646970667358221220af8f66e5300d54a9d8ad96560b849cd2a547c3d20a3d6ebc2868ab01dd6cea6b64736f6c63430008180033610100604052348015610010575f80fd5b5060405161097c38038061097c83398101604081905261002f916100ed565b6100376100ae565b6001600160a01b038416158061005457506001600160a01b038316155b80610062575060268260ff16115b8061006b575080155b156100895760405163c52a9bd360e01b815260040160405180910390fd5b6001600160a01b039384166080529190921660a05260ff90911660c05260e05261013c565b61a4b146146100d0576040516310dfc03360e01b815260040160405180910390fd5b565b80516001600160a01b03811681146100e8575f80fd5b919050565b5f805f8060808587031215610100575f80fd5b610109856100d2565b9350610117602086016100d2565b9250604085015160ff8116811461012c575f80fd5b6060959095015193969295505050565b60805160a05160c05160e0516107f96101835f395f81816101790152818161045f015261060c01525f60e301525f6101be01525f818161021301526102d201526107f95ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80639da6048f11610088578063ddac665411610063578063ddac665414610205578063df034cd01461020e578063ef5af04414610235578063feaf968c1461023e575f80fd5b80639da6048f1461019b578063be5da0b4146101b0578063c55dae63146101b9575f80fd5b806385e1f4d0116100b857806385e1f4d01461013b5780638cd221c9146101445780639cb335e714610174575f80fd5b8063313ce567146100de5780633a3b07d31461011c57806385bb7d6914610132575b5f80fd5b6101057f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b61012461027d565b604051908152602001610113565b61012460015481565b61012461a4b181565b5f546101599069ffffffffffffffffffff1681565b60405169ffffffffffffffffffff9091168152602001610113565b6101247f000000000000000000000000000000000000000000000000000000000000000081565b6101ae6101a93660046106d5565b6102b2565b005b61012460035481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610113565b61012460045481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b61012460025481565b61024661056e565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610113565b6102af670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b81565b6102ba610698565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610329576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5469ffffffffffffffffffff858116911614158061035557505f5469ffffffffffffffffffff908116145b1561038c576040517f333556b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f831315806103cb57506103c8670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b83115b15610402576040517fb5f71a2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81158061040e57504282115b8061041b57506002548211155b806104265750428111155b1561045d576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104888342610780565b11156104c0576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80546001919081906104e090849069ffffffffffffffffffff16610799565b82546101009290920a69ffffffffffffffffffff8181021990931691831602179091556001859055600284905542600381905560048490555f546040805188815260208101889052908101929092526060820185905290911691507f78a7ac38a05b7929e47b5618338f826a2e14111752c335c2067465885ebfb8899060800160405180910390a250505050565b5f805f805f61057b610698565b5f805469ffffffffffffffffffff1690036105c2576040517f1c72fad400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4260025411156105fe576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004544210158061063b57507f0000000000000000000000000000000000000000000000000000000000000000600254426106399190610780565b115b15610672576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505f5460015460025469ffffffffffffffffffff909216959094509092508291508490565b61a4b146146106d3576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f805f80608085870312156106e8575f80fd5b843569ffffffffffffffffffff81168114610701575f80fd5b966020860135965060408601359560600135945092505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8261077b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b818103818111156107935761079361071b565b92915050565b69ffffffffffffffffffff8181168382160190808211156107bc576107bc61071b565b509291505056fea2646970667358221220a26edf1ac03729b6bf6b9199f4505ae38c50a1723b7ddad9bc47483890e27a0264736f6c63430008180033000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000009b35af71d77eaf8d7e40252370304687390a1a52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023c44847be6f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000609db5be238349a1684d6c6a21922c11ad53b605f8fa51199f633f6608256f521b000000000000000000000000000000000000000000000000000000000000233061014060405234801562000011575f80fd5b5060405162002310380380620023108339810160408190526200003491620008a2565b6200003f81620003a7565b610348735830a930a54ded383c7ef16b69cc456f400b83296200006284620003a7565b6008612a30604051620000759062000894565b6001600160a01b03948516815293909216602084015260ff1660408301526060820152608001604051809103905ff080158015620000b5573d5f803e3d5ffd5b50612a306001600160a01b03808516608081905284821660a05290831660c05260e08290525f90620000e790620003ba565b90505f620000fd60a051620003ba60201b60201c565b90505f60c0516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200013f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001659190620008a2565b9050620001748383836200049a565b61010052505061a4b146149450620001c693505050505760405162461bcd60e51b815260206004820152600b60248201526a3bb937b7339031b430b4b760a91b60448201526064015b60405180910390fd5b5f620001d282620004b2565b9150506080516001600160a01b03163b5f03620002265760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b6044820152606401620001bd565b6080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000265573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028b9190620008a2565b60ff16601214620002df5760405162461bcd60e51b815260206004820152601460248201527f77726f6e6720746f6b656e20646563696d616c730000000000000000000000006044820152606401620001bd565b80805190602001206080516001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801562000325573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526200034e919081019062000903565b8051906020012014620003995760405162461bcd60e51b81526020600482015260126024820152711ddc9bdb99c81d1bdad95b881cde5b589bdb60721b6044820152606401620001bd565b5060ff166101205262000b0c565b5f620003b382620004b2565b5092915050565b5f63ffffffff826001600160a01b031611620003d857506012919050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f9182916001600160a01b038616916200041c91620009b6565b5f60405180830381855afa9150503d805f811462000456576040519150601f19603f3d011682016040523d82523d5f602084013e6200045b565b606091505b50915091508180156200046f575080516020145b6200047c57601262000492565b80806020019051810190620004929190620008a2565b949350505050565b5f6200049283620004ac8685620009e7565b62000836565b5f60608260ff165f03620004f95750506040805180820190915260058152640e4a6a086b60db1b6020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036200053e57505060408051808201909152600581526472534b485960d81b6020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020362000583575050604080518082019091526005815264724452414d60d81b602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff16600303620005c75750506040805180820190915260048152637245575960e01b602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036200060a575050604080518082019091526003815262724d5560e81b602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff166005036200064f57505060408051808201909152600581526472534e444b60d81b602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff16600603620006945750506040805180820190915260058152643928262a2960d91b602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff16600703620006d95750506040805180820190915260058152641c94d3d61360da1b60208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff166008036200071e5750506040805180820190915260058152641c90d490d360da1b602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036200076357505060408051808201909152600581526472494e544360d81b602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a03620007a85750506040805180820190915260058152641c9213d3d160da1b602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b03620007ed575050604080518082019091526005815264724b4f525560d81b602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b60405162461bcd60e51b815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e20617373657400000000006044820152606401620001bd565b5f60268360ff1611806200084d575060268260ff16115b156200086c576040516302950f9560e51b815260040160405180910390fd5b6200087983600a62000afc565b60806200088884600a62000afc565b901b1790505b92915050565b61097c806200199483390190565b5f60208284031215620008b3575f80fd5b815160ff81168114620008c4575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620008fb578181015183820152602001620008e1565b50505f910152565b5f6020828403121562000914575f80fd5b81516001600160401b03808211156200092b575f80fd5b818401915084601f8301126200093f575f80fd5b815181811115620009545762000954620008cb565b604051601f8201601f19908116603f011681019083821181831017156200097f576200097f620008cb565b8160405282815287602084870101111562000998575f80fd5b620009ab836020830160208801620008df565b979650505050505050565b5f8251620009c9818460208701620008df565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b60ff81811683821601908111156200088e576200088e620009d3565b600181815b8085111562000a4357815f190482111562000a275762000a27620009d3565b8085161562000a3557918102915b93841c939080029062000a08565b509250929050565b5f8262000a5b575060016200088e565b8162000a6957505f6200088e565b816001811462000a82576002811462000a8d5762000aad565b60019150506200088e565b60ff84111562000aa15762000aa1620009d3565b50506001821b6200088e565b5060208310610133831016604e8410600b841016171562000ad2575081810a6200088e565b62000ade838362000a03565b805f190482111562000af45762000af4620009d3565b029392505050565b5f620008c460ff84168362000a4b565b60805160a05160c05160e0516101005161012051610e1662000b7e5f395f6101c501525f61098301525f818161024b015281816108fa015261094f01525f818161019e01528181610222015261082001525f818161028d01526107f601525f81816101fe01526107d40152610e165ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80635001f3b51161008857806394a686301161006357806394a686301461026d578063999b93af14610288578063ae68676c146102af578063e629e16d146102c2575f80fd5b80635001f3b5146101f9578063741bef1a1461022057806387cf469614610246575f80fd5b80631bf6c21b116100b85780631bf6c21b1461016b57806337a7b7d8146101995780634da36913146101c0575f80fd5b80630579e61f146100de57806306fdde031461010b5780630dcaeaf214610154575b5f80fd5b6100f16100ec366004610c24565b6102e3565b604080519283526020830191909152015b60405180910390f35b6101476040518060400160405280600f81526020017f436861696e6c696e6b4f7261636c65000000000000000000000000000000000081525081565b6040516101029190610cbe565b61015d612a3081565b604051908152602001610102565b61017461034881565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b6101e77f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610174565b61015d7f000000000000000000000000000000000000000000000000000000000000000081565b610174735830a930a54ded383c7ef16b69cc456f400b832981565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b61015d6102bd366004610c24565b6102fd565b6102d56102d0366004610cd0565b610313565b604051610102929190610cf0565b5f805f6102f18686866107cc565b96879650945050505050565b5f6103098484846107cc565b90505b9392505050565b5f60608260ff165f0361037157505060408051808201909152600581527f72535043580000000000000000000000000000000000000000000000000000006020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036103cd57505060408051808201909152600581527f72534b48590000000000000000000000000000000000000000000000000000006020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020361042957505060408051808201909152600581527f724452414d000000000000000000000000000000000000000000000000000000602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff1660030361048557505060408051808201909152600481527f7245575900000000000000000000000000000000000000000000000000000000602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036104e157505060408051808201909152600381527f724d550000000000000000000000000000000000000000000000000000000000602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff1660050361053d57505060408051808201909152600581527f72534e444b000000000000000000000000000000000000000000000000000000602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff1660060361059957505060408051808201909152600581527f72504c5452000000000000000000000000000000000000000000000000000000602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff166007036105f557505060408051808201909152600581527f72534f584c00000000000000000000000000000000000000000000000000000060208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff1660080361065157505060408051808201909152600581527f724352434c000000000000000000000000000000000000000000000000000000602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036106ad57505060408051808201909152600581527f72494e5443000000000000000000000000000000000000000000000000000000602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a0361070957505060408051808201909152600581527f72484f4f44000000000000000000000000000000000000000000000000000000602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b0361076557505060408051808201909152600581527f724b4f5255000000000000000000000000000000000000000000000000000000602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e206173736574000000000060448201526064015b60405180910390fd5b5f8061081a847f0000000000000000000000000000000000000000000000000000000000000000857f00000000000000000000000000000000000000000000000000000000000000006109b5565b90505f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610887573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190610d37565b509350509250505f82136108eb576040517fd743df6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108f68242610db0565b90507f000000000000000000000000000000000000000000000000000000000000000081111561097b576040517fa6e68d63000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000060248201526044016107c3565b826109a889827f000000000000000000000000000000000000000000000000000000000000000088610af5565b9998505050505050505050565b5f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a1c57508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a2857505f610aed565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a8e57508373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a9b57506001610aed565b6040517f4ca22af000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8087166004830152841660248201526044016107c3565b949350505050565b5f6fffffffffffffffffffffffffffffffff8316608084901c8315610b3157610b288782610b238986610dc9565b610b41565b92505050610aed565b610b2887610b3f8885610dc9565b835b8282027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8385098181108201900380610b8f5782610b865763ae47f7025f526004601cfd5b5081900461030c565b808311610ba35763ae47f7025f526004601cfd5b828486095f84810385169485900494848311909303908390038390046001010292030417600260038302811880840282030280840282030280840282030280840282030280840282030280840290910302029392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c1f575f80fd5b919050565b5f805f60608486031215610c36575f80fd5b83359250610c4660208501610bfc565b9150610c5460408501610bfc565b90509250925092565b5f81518084525f5b81811015610c8157602081850181015186830182015201610c65565b505f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61030c6020830184610c5d565b5f60208284031215610ce0575f80fd5b813560ff8116811461030c575f80fd5b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6103096040830184610c5d565b805169ffffffffffffffffffff81168114610c1f575f80fd5b5f805f805f60a08688031215610d4b575f80fd5b610d5486610d1e565b9450602086015193506040860151925060608601519150610d7760808701610d1e565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610dc357610dc3610d83565b92915050565b8082028115828204841417610dc357610dc3610d8356fea2646970667358221220af8f66e5300d54a9d8ad96560b849cd2a547c3d20a3d6ebc2868ab01dd6cea6b64736f6c63430008180033610100604052348015610010575f80fd5b5060405161097c38038061097c83398101604081905261002f916100ed565b6100376100ae565b6001600160a01b038416158061005457506001600160a01b038316155b80610062575060268260ff16115b8061006b575080155b156100895760405163c52a9bd360e01b815260040160405180910390fd5b6001600160a01b039384166080529190921660a05260ff90911660c05260e05261013c565b61a4b146146100d0576040516310dfc03360e01b815260040160405180910390fd5b565b80516001600160a01b03811681146100e8575f80fd5b919050565b5f805f8060808587031215610100575f80fd5b610109856100d2565b9350610117602086016100d2565b9250604085015160ff8116811461012c575f80fd5b6060959095015193969295505050565b60805160a05160c05160e0516107f96101835f395f81816101790152818161045f015261060c01525f60e301525f6101be01525f818161021301526102d201526107f95ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80639da6048f11610088578063ddac665411610063578063ddac665414610205578063df034cd01461020e578063ef5af04414610235578063feaf968c1461023e575f80fd5b80639da6048f1461019b578063be5da0b4146101b0578063c55dae63146101b9575f80fd5b806385e1f4d0116100b857806385e1f4d01461013b5780638cd221c9146101445780639cb335e714610174575f80fd5b8063313ce567146100de5780633a3b07d31461011c57806385bb7d6914610132575b5f80fd5b6101057f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b61012461027d565b604051908152602001610113565b61012460015481565b61012461a4b181565b5f546101599069ffffffffffffffffffff1681565b60405169ffffffffffffffffffff9091168152602001610113565b6101247f000000000000000000000000000000000000000000000000000000000000000081565b6101ae6101a93660046106d5565b6102b2565b005b61012460035481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610113565b61012460045481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b61012460025481565b61024661056e565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610113565b6102af670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b81565b6102ba610698565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610329576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5469ffffffffffffffffffff858116911614158061035557505f5469ffffffffffffffffffff908116145b1561038c576040517f333556b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f831315806103cb57506103c8670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b83115b15610402576040517fb5f71a2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81158061040e57504282115b8061041b57506002548211155b806104265750428111155b1561045d576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104888342610780565b11156104c0576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80546001919081906104e090849069ffffffffffffffffffff16610799565b82546101009290920a69ffffffffffffffffffff8181021990931691831602179091556001859055600284905542600381905560048490555f546040805188815260208101889052908101929092526060820185905290911691507f78a7ac38a05b7929e47b5618338f826a2e14111752c335c2067465885ebfb8899060800160405180910390a250505050565b5f805f805f61057b610698565b5f805469ffffffffffffffffffff1690036105c2576040517f1c72fad400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4260025411156105fe576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004544210158061063b57507f0000000000000000000000000000000000000000000000000000000000000000600254426106399190610780565b115b15610672576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505f5460015460025469ffffffffffffffffffff909216959094509092508291508490565b61a4b146146106d3576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f805f80608085870312156106e8575f80fd5b843569ffffffffffffffffffff81168114610701575f80fd5b966020860135965060408601359560600135945092505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8261077b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b818103818111156107935761079361071b565b92915050565b69ffffffffffffffffffff8181168382160190808211156107bc576107bc61071b565b509291505056fea2646970667358221220a26edf1ac03729b6bf6b9199f4505ae38c50a1723b7ddad9bc47483890e27a0264736f6c63430008180033000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000009b35af71d77eaf8d7e40252370304687390a1a52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023c44847be6f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006049cf1dd3d0350ab17433ee6a53439e09febec2641a1e842e6c36ab629670f1e5000000000000000000000000000000000000000000000000000000000000233061014060405234801562000011575f80fd5b5060405162002310380380620023108339810160408190526200003491620008a2565b6200003f81620003a7565b610348735830a930a54ded383c7ef16b69cc456f400b83296200006284620003a7565b6008612a30604051620000759062000894565b6001600160a01b03948516815293909216602084015260ff1660408301526060820152608001604051809103905ff080158015620000b5573d5f803e3d5ffd5b50612a306001600160a01b03808516608081905284821660a05290831660c05260e08290525f90620000e790620003ba565b90505f620000fd60a051620003ba60201b60201c565b90505f60c0516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200013f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001659190620008a2565b9050620001748383836200049a565b61010052505061a4b146149450620001c693505050505760405162461bcd60e51b815260206004820152600b60248201526a3bb937b7339031b430b4b760a91b60448201526064015b60405180910390fd5b5f620001d282620004b2565b9150506080516001600160a01b03163b5f03620002265760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b6044820152606401620001bd565b6080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000265573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028b9190620008a2565b60ff16601214620002df5760405162461bcd60e51b815260206004820152601460248201527f77726f6e6720746f6b656e20646563696d616c730000000000000000000000006044820152606401620001bd565b80805190602001206080516001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801562000325573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526200034e919081019062000903565b8051906020012014620003995760405162461bcd60e51b81526020600482015260126024820152711ddc9bdb99c81d1bdad95b881cde5b589bdb60721b6044820152606401620001bd565b5060ff166101205262000b0c565b5f620003b382620004b2565b5092915050565b5f63ffffffff826001600160a01b031611620003d857506012919050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f9182916001600160a01b038616916200041c91620009b6565b5f60405180830381855afa9150503d805f811462000456576040519150601f19603f3d011682016040523d82523d5f602084013e6200045b565b606091505b50915091508180156200046f575080516020145b6200047c57601262000492565b80806020019051810190620004929190620008a2565b949350505050565b5f6200049283620004ac8685620009e7565b62000836565b5f60608260ff165f03620004f95750506040805180820190915260058152640e4a6a086b60db1b6020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036200053e57505060408051808201909152600581526472534b485960d81b6020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020362000583575050604080518082019091526005815264724452414d60d81b602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff16600303620005c75750506040805180820190915260048152637245575960e01b602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036200060a575050604080518082019091526003815262724d5560e81b602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff166005036200064f57505060408051808201909152600581526472534e444b60d81b602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff16600603620006945750506040805180820190915260058152643928262a2960d91b602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff16600703620006d95750506040805180820190915260058152641c94d3d61360da1b60208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff166008036200071e5750506040805180820190915260058152641c90d490d360da1b602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036200076357505060408051808201909152600581526472494e544360d81b602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a03620007a85750506040805180820190915260058152641c9213d3d160da1b602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b03620007ed575050604080518082019091526005815264724b4f525560d81b602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b60405162461bcd60e51b815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e20617373657400000000006044820152606401620001bd565b5f60268360ff1611806200084d575060268260ff16115b156200086c576040516302950f9560e51b815260040160405180910390fd5b6200087983600a62000afc565b60806200088884600a62000afc565b901b1790505b92915050565b61097c806200199483390190565b5f60208284031215620008b3575f80fd5b815160ff81168114620008c4575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620008fb578181015183820152602001620008e1565b50505f910152565b5f6020828403121562000914575f80fd5b81516001600160401b03808211156200092b575f80fd5b818401915084601f8301126200093f575f80fd5b815181811115620009545762000954620008cb565b604051601f8201601f19908116603f011681019083821181831017156200097f576200097f620008cb565b8160405282815287602084870101111562000998575f80fd5b620009ab836020830160208801620008df565b979650505050505050565b5f8251620009c9818460208701620008df565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b60ff81811683821601908111156200088e576200088e620009d3565b600181815b8085111562000a4357815f190482111562000a275762000a27620009d3565b8085161562000a3557918102915b93841c939080029062000a08565b509250929050565b5f8262000a5b575060016200088e565b8162000a6957505f6200088e565b816001811462000a82576002811462000a8d5762000aad565b60019150506200088e565b60ff84111562000aa15762000aa1620009d3565b50506001821b6200088e565b5060208310610133831016604e8410600b841016171562000ad2575081810a6200088e565b62000ade838362000a03565b805f190482111562000af45762000af4620009d3565b029392505050565b5f620008c460ff84168362000a4b565b60805160a05160c05160e0516101005161012051610e1662000b7e5f395f6101c501525f61098301525f818161024b015281816108fa015261094f01525f818161019e01528181610222015261082001525f818161028d01526107f601525f81816101fe01526107d40152610e165ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80635001f3b51161008857806394a686301161006357806394a686301461026d578063999b93af14610288578063ae68676c146102af578063e629e16d146102c2575f80fd5b80635001f3b5146101f9578063741bef1a1461022057806387cf469614610246575f80fd5b80631bf6c21b116100b85780631bf6c21b1461016b57806337a7b7d8146101995780634da36913146101c0575f80fd5b80630579e61f146100de57806306fdde031461010b5780630dcaeaf214610154575b5f80fd5b6100f16100ec366004610c24565b6102e3565b604080519283526020830191909152015b60405180910390f35b6101476040518060400160405280600f81526020017f436861696e6c696e6b4f7261636c65000000000000000000000000000000000081525081565b6040516101029190610cbe565b61015d612a3081565b604051908152602001610102565b61017461034881565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b6101e77f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610174565b61015d7f000000000000000000000000000000000000000000000000000000000000000081565b610174735830a930a54ded383c7ef16b69cc456f400b832981565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b61015d6102bd366004610c24565b6102fd565b6102d56102d0366004610cd0565b610313565b604051610102929190610cf0565b5f805f6102f18686866107cc565b96879650945050505050565b5f6103098484846107cc565b90505b9392505050565b5f60608260ff165f0361037157505060408051808201909152600581527f72535043580000000000000000000000000000000000000000000000000000006020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036103cd57505060408051808201909152600581527f72534b48590000000000000000000000000000000000000000000000000000006020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020361042957505060408051808201909152600581527f724452414d000000000000000000000000000000000000000000000000000000602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff1660030361048557505060408051808201909152600481527f7245575900000000000000000000000000000000000000000000000000000000602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036104e157505060408051808201909152600381527f724d550000000000000000000000000000000000000000000000000000000000602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff1660050361053d57505060408051808201909152600581527f72534e444b000000000000000000000000000000000000000000000000000000602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff1660060361059957505060408051808201909152600581527f72504c5452000000000000000000000000000000000000000000000000000000602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff166007036105f557505060408051808201909152600581527f72534f584c00000000000000000000000000000000000000000000000000000060208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff1660080361065157505060408051808201909152600581527f724352434c000000000000000000000000000000000000000000000000000000602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036106ad57505060408051808201909152600581527f72494e5443000000000000000000000000000000000000000000000000000000602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a0361070957505060408051808201909152600581527f72484f4f44000000000000000000000000000000000000000000000000000000602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b0361076557505060408051808201909152600581527f724b4f5255000000000000000000000000000000000000000000000000000000602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e206173736574000000000060448201526064015b60405180910390fd5b5f8061081a847f0000000000000000000000000000000000000000000000000000000000000000857f00000000000000000000000000000000000000000000000000000000000000006109b5565b90505f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610887573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190610d37565b509350509250505f82136108eb576040517fd743df6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108f68242610db0565b90507f000000000000000000000000000000000000000000000000000000000000000081111561097b576040517fa6e68d63000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000060248201526044016107c3565b826109a889827f000000000000000000000000000000000000000000000000000000000000000088610af5565b9998505050505050505050565b5f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a1c57508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a2857505f610aed565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a8e57508373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a9b57506001610aed565b6040517f4ca22af000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8087166004830152841660248201526044016107c3565b949350505050565b5f6fffffffffffffffffffffffffffffffff8316608084901c8315610b3157610b288782610b238986610dc9565b610b41565b92505050610aed565b610b2887610b3f8885610dc9565b835b8282027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8385098181108201900380610b8f5782610b865763ae47f7025f526004601cfd5b5081900461030c565b808311610ba35763ae47f7025f526004601cfd5b828486095f84810385169485900494848311909303908390038390046001010292030417600260038302811880840282030280840282030280840282030280840282030280840282030280840290910302029392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c1f575f80fd5b919050565b5f805f60608486031215610c36575f80fd5b83359250610c4660208501610bfc565b9150610c5460408501610bfc565b90509250925092565b5f81518084525f5b81811015610c8157602081850181015186830182015201610c65565b505f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61030c6020830184610c5d565b5f60208284031215610ce0575f80fd5b813560ff8116811461030c575f80fd5b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6103096040830184610c5d565b805169ffffffffffffffffffff81168114610c1f575f80fd5b5f805f805f60a08688031215610d4b575f80fd5b610d5486610d1e565b9450602086015193506040860151925060608601519150610d7760808701610d1e565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610dc357610dc3610d83565b92915050565b8082028115828204841417610dc357610dc3610d8356fea2646970667358221220af8f66e5300d54a9d8ad96560b849cd2a547c3d20a3d6ebc2868ab01dd6cea6b64736f6c63430008180033610100604052348015610010575f80fd5b5060405161097c38038061097c83398101604081905261002f916100ed565b6100376100ae565b6001600160a01b038416158061005457506001600160a01b038316155b80610062575060268260ff16115b8061006b575080155b156100895760405163c52a9bd360e01b815260040160405180910390fd5b6001600160a01b039384166080529190921660a05260ff90911660c05260e05261013c565b61a4b146146100d0576040516310dfc03360e01b815260040160405180910390fd5b565b80516001600160a01b03811681146100e8575f80fd5b919050565b5f805f8060808587031215610100575f80fd5b610109856100d2565b9350610117602086016100d2565b9250604085015160ff8116811461012c575f80fd5b6060959095015193969295505050565b60805160a05160c05160e0516107f96101835f395f81816101790152818161045f015261060c01525f60e301525f6101be01525f818161021301526102d201526107f95ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80639da6048f11610088578063ddac665411610063578063ddac665414610205578063df034cd01461020e578063ef5af04414610235578063feaf968c1461023e575f80fd5b80639da6048f1461019b578063be5da0b4146101b0578063c55dae63146101b9575f80fd5b806385e1f4d0116100b857806385e1f4d01461013b5780638cd221c9146101445780639cb335e714610174575f80fd5b8063313ce567146100de5780633a3b07d31461011c57806385bb7d6914610132575b5f80fd5b6101057f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b61012461027d565b604051908152602001610113565b61012460015481565b61012461a4b181565b5f546101599069ffffffffffffffffffff1681565b60405169ffffffffffffffffffff9091168152602001610113565b6101247f000000000000000000000000000000000000000000000000000000000000000081565b6101ae6101a93660046106d5565b6102b2565b005b61012460035481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610113565b61012460045481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b61012460025481565b61024661056e565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610113565b6102af670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b81565b6102ba610698565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610329576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5469ffffffffffffffffffff858116911614158061035557505f5469ffffffffffffffffffff908116145b1561038c576040517f333556b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f831315806103cb57506103c8670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b83115b15610402576040517fb5f71a2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81158061040e57504282115b8061041b57506002548211155b806104265750428111155b1561045d576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104888342610780565b11156104c0576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80546001919081906104e090849069ffffffffffffffffffff16610799565b82546101009290920a69ffffffffffffffffffff8181021990931691831602179091556001859055600284905542600381905560048490555f546040805188815260208101889052908101929092526060820185905290911691507f78a7ac38a05b7929e47b5618338f826a2e14111752c335c2067465885ebfb8899060800160405180910390a250505050565b5f805f805f61057b610698565b5f805469ffffffffffffffffffff1690036105c2576040517f1c72fad400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4260025411156105fe576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004544210158061063b57507f0000000000000000000000000000000000000000000000000000000000000000600254426106399190610780565b115b15610672576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505f5460015460025469ffffffffffffffffffff909216959094509092508291508490565b61a4b146146106d3576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f805f80608085870312156106e8575f80fd5b843569ffffffffffffffffffff81168114610701575f80fd5b966020860135965060408601359560600135945092505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8261077b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b818103818111156107935761079361071b565b92915050565b69ffffffffffffffffffff8181168382160190808211156107bc576107bc61071b565b509291505056fea2646970667358221220a26edf1ac03729b6bf6b9199f4505ae38c50a1723b7ddad9bc47483890e27a0264736f6c63430008180033000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000009b35af71d77eaf8d7e40252370304687390a1a52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023c44847be6f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006043a7f3bf011c6b68bcd3310542ea68659369538d96aa6c29fb1aaa829ca17166000000000000000000000000000000000000000000000000000000000000233061014060405234801562000011575f80fd5b5060405162002310380380620023108339810160408190526200003491620008a2565b6200003f81620003a7565b610348735830a930a54ded383c7ef16b69cc456f400b83296200006284620003a7565b6008612a30604051620000759062000894565b6001600160a01b03948516815293909216602084015260ff1660408301526060820152608001604051809103905ff080158015620000b5573d5f803e3d5ffd5b50612a306001600160a01b03808516608081905284821660a05290831660c05260e08290525f90620000e790620003ba565b90505f620000fd60a051620003ba60201b60201c565b90505f60c0516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200013f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001659190620008a2565b9050620001748383836200049a565b61010052505061a4b146149450620001c693505050505760405162461bcd60e51b815260206004820152600b60248201526a3bb937b7339031b430b4b760a91b60448201526064015b60405180910390fd5b5f620001d282620004b2565b9150506080516001600160a01b03163b5f03620002265760405162461bcd60e51b8152602060048201526011602482015270746f6b656e20686173206e6f20636f646560781b6044820152606401620001bd565b6080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000265573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028b9190620008a2565b60ff16601214620002df5760405162461bcd60e51b815260206004820152601460248201527f77726f6e6720746f6b656e20646563696d616c730000000000000000000000006044820152606401620001bd565b80805190602001206080516001600160a01b03166395d89b416040518163ffffffff1660e01b81526004015f60405180830381865afa15801562000325573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526200034e919081019062000903565b8051906020012014620003995760405162461bcd60e51b81526020600482015260126024820152711ddc9bdb99c81d1bdad95b881cde5b589bdb60721b6044820152606401620001bd565b5060ff166101205262000b0c565b5f620003b382620004b2565b5092915050565b5f63ffffffff826001600160a01b031611620003d857506012919050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290515f9182916001600160a01b038616916200041c91620009b6565b5f60405180830381855afa9150503d805f811462000456576040519150601f19603f3d011682016040523d82523d5f602084013e6200045b565b606091505b50915091508180156200046f575080516020145b6200047c57601262000492565b80806020019051810190620004929190620008a2565b949350505050565b5f6200049283620004ac8685620009e7565b62000836565b5f60608260ff165f03620004f95750506040805180820190915260058152640e4a6a086b60db1b6020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036200053e57505060408051808201909152600581526472534b485960d81b6020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020362000583575050604080518082019091526005815264724452414d60d81b602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff16600303620005c75750506040805180820190915260048152637245575960e01b602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036200060a575050604080518082019091526003815262724d5560e81b602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff166005036200064f57505060408051808201909152600581526472534e444b60d81b602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff16600603620006945750506040805180820190915260058152643928262a2960d91b602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff16600703620006d95750506040805180820190915260058152641c94d3d61360da1b60208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff166008036200071e5750506040805180820190915260058152641c90d490d360da1b602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036200076357505060408051808201909152600581526472494e544360d81b602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a03620007a85750506040805180820190915260058152641c9213d3d160da1b602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b03620007ed575050604080518082019091526005815264724b4f525560d81b602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b60405162461bcd60e51b815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e20617373657400000000006044820152606401620001bd565b5f60268360ff1611806200084d575060268260ff16115b156200086c576040516302950f9560e51b815260040160405180910390fd5b6200087983600a62000afc565b60806200088884600a62000afc565b901b1790505b92915050565b61097c806200199483390190565b5f60208284031215620008b3575f80fd5b815160ff81168114620008c4575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f5b83811015620008fb578181015183820152602001620008e1565b50505f910152565b5f6020828403121562000914575f80fd5b81516001600160401b03808211156200092b575f80fd5b818401915084601f8301126200093f575f80fd5b815181811115620009545762000954620008cb565b604051601f8201601f19908116603f011681019083821181831017156200097f576200097f620008cb565b8160405282815287602084870101111562000998575f80fd5b620009ab836020830160208801620008df565b979650505050505050565b5f8251620009c9818460208701620008df565b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b60ff81811683821601908111156200088e576200088e620009d3565b600181815b8085111562000a4357815f190482111562000a275762000a27620009d3565b8085161562000a3557918102915b93841c939080029062000a08565b509250929050565b5f8262000a5b575060016200088e565b8162000a6957505f6200088e565b816001811462000a82576002811462000a8d5762000aad565b60019150506200088e565b60ff84111562000aa15762000aa1620009d3565b50506001821b6200088e565b5060208310610133831016604e8410600b841016171562000ad2575081810a6200088e565b62000ade838362000a03565b805f190482111562000af45762000af4620009d3565b029392505050565b5f620008c460ff84168362000a4b565b60805160a05160c05160e0516101005161012051610e1662000b7e5f395f6101c501525f61098301525f818161024b015281816108fa015261094f01525f818161019e01528181610222015261082001525f818161028d01526107f601525f81816101fe01526107d40152610e165ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80635001f3b51161008857806394a686301161006357806394a686301461026d578063999b93af14610288578063ae68676c146102af578063e629e16d146102c2575f80fd5b80635001f3b5146101f9578063741bef1a1461022057806387cf469614610246575f80fd5b80631bf6c21b116100b85780631bf6c21b1461016b57806337a7b7d8146101995780634da36913146101c0575f80fd5b80630579e61f146100de57806306fdde031461010b5780630dcaeaf214610154575b5f80fd5b6100f16100ec366004610c24565b6102e3565b604080519283526020830191909152015b60405180910390f35b6101476040518060400160405280600f81526020017f436861696e6c696e6b4f7261636c65000000000000000000000000000000000081525081565b6040516101029190610cbe565b61015d612a3081565b604051908152602001610102565b61017461034881565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b6101e77f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610102565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610174565b61015d7f000000000000000000000000000000000000000000000000000000000000000081565b610174735830a930a54ded383c7ef16b69cc456f400b832981565b6101747f000000000000000000000000000000000000000000000000000000000000000081565b61015d6102bd366004610c24565b6102fd565b6102d56102d0366004610cd0565b610313565b604051610102929190610cf0565b5f805f6102f18686866107cc565b96879650945050505050565b5f6103098484846107cc565b90505b9392505050565b5f60608260ff165f0361037157505060408051808201909152600581527f72535043580000000000000000000000000000000000000000000000000000006020820152735181b7dd097b42d7787ee78efab86f43d4e12f4492909150565b8260ff166001036103cd57505060408051808201909152600581527f72534b48590000000000000000000000000000000000000000000000000000006020820152738c61758c719780d62d17470ec94362433bdfd8d592909150565b8260ff1660020361042957505060408051808201909152600581527f724452414d000000000000000000000000000000000000000000000000000000602082015273daa61aa3d01ef52d71982b52b06dcc84479f803692909150565b8260ff1660030361048557505060408051808201909152600481527f7245575900000000000000000000000000000000000000000000000000000000602082015273716e5acbf09813435112ad314fc7499203a0766f92909150565b8260ff166004036104e157505060408051808201909152600381527f724d550000000000000000000000000000000000000000000000000000000000602082015273548cc634a64301a346f174071a90efa93dae4eb392909150565b8260ff1660050361053d57505060408051808201909152600581527f72534e444b000000000000000000000000000000000000000000000000000000602082015273c78c5a7be0e8d72cdda205e53d1147aaacf5a07592909150565b8260ff1660060361059957505060408051808201909152600581527f72504c5452000000000000000000000000000000000000000000000000000000602082015273db1a79026ba57e67c0e769e8be8318fdcacbc90992909150565b8260ff166007036105f557505060408051808201909152600581527f72534f584c00000000000000000000000000000000000000000000000000000060208201527325501fea0562fa74dab22dc09dd3f994d5558dce92909150565b8260ff1660080361065157505060408051808201909152600581527f724352434c000000000000000000000000000000000000000000000000000000602082015273861a85a78c371bc0a02675bbe00a4cbc0826b42192909150565b8260ff166009036106ad57505060408051808201909152600581527f72494e5443000000000000000000000000000000000000000000000000000000602082015273afa43b4badfd062f5f1891a398a0579c904da77692909150565b8260ff16600a0361070957505060408051808201909152600581527f72484f4f44000000000000000000000000000000000000000000000000000000602082015273485cb1ed5662a911eba7f8547eb9e253cf43b8ae92909150565b8260ff16600b0361076557505060408051808201909152600581527f724b4f5255000000000000000000000000000000000000000000000000000000602082015273d7814386beb96dee3a5d9a406c75be62410a687f92909150565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f756e737570706f72746564206d6967726174696f6e206173736574000000000060448201526064015b60405180910390fd5b5f8061081a847f0000000000000000000000000000000000000000000000000000000000000000857f00000000000000000000000000000000000000000000000000000000000000006109b5565b90505f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610887573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ab9190610d37565b509350509250505f82136108eb576040517fd743df6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108f68242610db0565b90507f000000000000000000000000000000000000000000000000000000000000000081111561097b576040517fa6e68d63000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000060248201526044016107c3565b826109a889827f000000000000000000000000000000000000000000000000000000000000000088610af5565b9998505050505050505050565b5f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a1c57508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a2857505f610aed565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015610a8e57508373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a9b57506001610aed565b6040517f4ca22af000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8087166004830152841660248201526044016107c3565b949350505050565b5f6fffffffffffffffffffffffffffffffff8316608084901c8315610b3157610b288782610b238986610dc9565b610b41565b92505050610aed565b610b2887610b3f8885610dc9565b835b8282027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8385098181108201900380610b8f5782610b865763ae47f7025f526004601cfd5b5081900461030c565b808311610ba35763ae47f7025f526004601cfd5b828486095f84810385169485900494848311909303908390038390046001010292030417600260038302811880840282030280840282030280840282030280840282030280840282030280840290910302029392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c1f575f80fd5b919050565b5f805f60608486031215610c36575f80fd5b83359250610c4660208501610bfc565b9150610c5460408501610bfc565b90509250925092565b5f81518084525f5b81811015610c8157602081850181015186830182015201610c65565b505f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61030c6020830184610c5d565b5f60208284031215610ce0575f80fd5b813560ff8116811461030c575f80fd5b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6103096040830184610c5d565b805169ffffffffffffffffffff81168114610c1f575f80fd5b5f805f805f60a08688031215610d4b575f80fd5b610d5486610d1e565b9450602086015193506040860151925060608601519150610d7760808701610d1e565b90509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610dc357610dc3610d83565b92915050565b8082028115828204841417610dc357610dc3610d8356fea2646970667358221220af8f66e5300d54a9d8ad96560b849cd2a547c3d20a3d6ebc2868ab01dd6cea6b64736f6c63430008180033610100604052348015610010575f80fd5b5060405161097c38038061097c83398101604081905261002f916100ed565b6100376100ae565b6001600160a01b038416158061005457506001600160a01b038316155b80610062575060268260ff16115b8061006b575080155b156100895760405163c52a9bd360e01b815260040160405180910390fd5b6001600160a01b039384166080529190921660a05260ff90911660c05260e05261013c565b61a4b146146100d0576040516310dfc03360e01b815260040160405180910390fd5b565b80516001600160a01b03811681146100e8575f80fd5b919050565b5f805f8060808587031215610100575f80fd5b610109856100d2565b9350610117602086016100d2565b9250604085015160ff8116811461012c575f80fd5b6060959095015193969295505050565b60805160a05160c05160e0516107f96101835f395f81816101790152818161045f015261060c01525f60e301525f6101be01525f818161021301526102d201526107f95ff3fe608060405234801561000f575f80fd5b50600436106100da575f3560e01c80639da6048f11610088578063ddac665411610063578063ddac665414610205578063df034cd01461020e578063ef5af04414610235578063feaf968c1461023e575f80fd5b80639da6048f1461019b578063be5da0b4146101b0578063c55dae63146101b9575f80fd5b806385e1f4d0116100b857806385e1f4d01461013b5780638cd221c9146101445780639cb335e714610174575f80fd5b8063313ce567146100de5780633a3b07d31461011c57806385bb7d6914610132575b5f80fd5b6101057f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020015b60405180910390f35b61012461027d565b604051908152602001610113565b61012460015481565b61012461a4b181565b5f546101599069ffffffffffffffffffff1681565b60405169ffffffffffffffffffff9091168152602001610113565b6101247f000000000000000000000000000000000000000000000000000000000000000081565b6101ae6101a93660046106d5565b6102b2565b005b61012460035481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610113565b61012460045481565b6101e07f000000000000000000000000000000000000000000000000000000000000000081565b61012460025481565b61024661056e565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610113565b6102af670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b81565b6102ba610698565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610329576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5469ffffffffffffffffffff858116911614158061035557505f5469ffffffffffffffffffff908116145b1561038c576040517f333556b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f831315806103cb57506103c8670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610748565b83115b15610402576040517fb5f71a2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81158061040e57504282115b8061041b57506002548211155b806104265750428111155b1561045d576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104888342610780565b11156104c0576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80546001919081906104e090849069ffffffffffffffffffff16610799565b82546101009290920a69ffffffffffffffffffff8181021990931691831602179091556001859055600284905542600381905560048490555f546040805188815260208101889052908101929092526060820185905290911691507f78a7ac38a05b7929e47b5618338f826a2e14111752c335c2067465885ebfb8899060800160405180910390a250505050565b5f805f805f61057b610698565b5f805469ffffffffffffffffffff1690036105c2576040517f1c72fad400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4260025411156105fe576040517fb7d0949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6004544210158061063b57507f0000000000000000000000000000000000000000000000000000000000000000600254426106399190610780565b115b15610672576040517fd781580000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505f5460015460025469ffffffffffffffffffff909216959094509092508291508490565b61a4b146146106d3576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f805f80608085870312156106e8575f80fd5b843569ffffffffffffffffffff81168114610701575f80fd5b966020860135965060408601359560600135945092505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8261077b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b818103818111156107935761079361071b565b92915050565b69ffffffffffffffffffff8181168382160190808211156107bc576107bc61071b565b509291505056fea2646970667358221220a26edf1ac03729b6bf6b9199f4505ae38c50a1723b7ddad9bc47483890e27a0264736f6c63430008180033000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000

Signatures

0xca3b3d24b17184e0de8436b39a15de6abdade1bc9ed7f414bb253e7d128cb91321210217c74b4705e5a0716f8122790e9680815e6ef4b66d2b5835ffcefa24291b000000000000000000000000b32c0b10a8fa4e01fed131823be5ae695ddf241b000000000000000000000000000000000000000000000000000000000000000001