Mainnet
Testnet

Contract

0x66DA5462a8e0eFBD6e10D773B9DCF4086045758d

Overview

Balance:
0 WBT
WBT Value:
0 USDT (@ 46.6/WBT)

More info

Contract creator:
Are you the contract creator? Verify and Publish your contract source code.

Creation bytecode

0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152503480156200004457600080fd5b50620000556200005b60201b60201c565b62000205565b600060019054906101000a900460ff1615620000ae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a590620001a8565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff16146200011f5760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff604051620001169190620001e8565b60405180910390a15b565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60006200019060278362000121565b91506200019d8262000132565b604082019050919050565b60006020820190508181036000830152620001c38162000181565b9050919050565b600060ff82169050919050565b620001e281620001ca565b82525050565b6000602082019050620001ff6000830184620001d7565b92915050565b6080516156746200023d600039600081816108b80152818161094601528181610b6b01528181610bf90152610cbd01526156746000f3fe6080604052600436106101655760003560e01c80635c975abb116100d15780638da5cb5b1161008a578063e985e9c511610064578063e985e9c5146104f0578063f242432a1461052d578063f2fde38b14610556578063f5298aca1461057f57610165565b80638da5cb5b1461045f578063a22cb4651461048a578063bd85b039146104b357610165565b80635c975abb1461039d5780636b20c454146103c8578063715018a6146103f1578063731133e9146104085780638129fc1c146104315780638456cb591461044857610165565b80633659cfe6116101235780633659cfe61461029c5780633f4ba83a146102c55780634e1273f4146102dc5780634f1ef286146103195780634f558e791461033557806352d1902d1461037257610165565b8062fdd58e1461016a57806301ffc9a7146101a757806302fe5305146101e45780630e89341c1461020d5780631f7fdffa1461024a5780632eb2c2d614610273575b600080fd5b34801561017657600080fd5b50610191600480360381019061018c9190613481565b6105a8565b60405161019e91906134d0565b60405180910390f35b3480156101b357600080fd5b506101ce60048036038101906101c99190613543565b610671565b6040516101db919061358b565b60405180910390f35b3480156101f057600080fd5b5061020b600480360381019061020691906136ec565b610753565b005b34801561021957600080fd5b50610234600480360381019061022f9190613735565b610767565b60405161024191906137e1565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061396c565b6107fb565b005b34801561027f57600080fd5b5061029a60048036038101906102959190613a27565b610815565b005b3480156102a857600080fd5b506102c360048036038101906102be9190613af6565b6108b6565b005b3480156102d157600080fd5b506102da610a3e565b005b3480156102e857600080fd5b5061030360048036038101906102fe9190613be6565b610a50565b6040516103109190613d1c565b60405180910390f35b610333600480360381019061032e9190613d3e565b610b69565b005b34801561034157600080fd5b5061035c60048036038101906103579190613735565b610ca5565b604051610369919061358b565b60405180910390f35b34801561037e57600080fd5b50610387610cb9565b6040516103949190613db3565b60405180910390f35b3480156103a957600080fd5b506103b2610d72565b6040516103bf919061358b565b60405180910390f35b3480156103d457600080fd5b506103ef60048036038101906103ea9190613dce565b610d89565b005b3480156103fd57600080fd5b50610406610e26565b005b34801561041457600080fd5b5061042f600480360381019061042a9190613e59565b610e3a565b005b34801561043d57600080fd5b50610446610e54565b005b34801561045457600080fd5b5061045d610fca565b005b34801561046b57600080fd5b50610474610fdc565b6040516104819190613eeb565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190613f32565b611006565b005b3480156104bf57600080fd5b506104da60048036038101906104d59190613735565b61101c565b6040516104e791906134d0565b60405180910390f35b3480156104fc57600080fd5b5061051760048036038101906105129190613f72565b61103a565b604051610524919061358b565b60405180910390f35b34801561053957600080fd5b50610554600480360381019061054f9190613fb2565b6110ce565b005b34801561056257600080fd5b5061057d60048036038101906105789190613af6565b61116f565b005b34801561058b57600080fd5b506105a660048036038101906105a19190614049565b6111f2565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060f9061410e565b60405180910390fd5b6065600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061073c57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061074c575061074b8261128f565b5b9050919050565b61075b6112f9565b61076481611377565b50565b6060606780546107769061415d565b80601f01602080910402602001604051908101604052809291908181526020018280546107a29061415d565b80156107ef5780601f106107c4576101008083540402835291602001916107ef565b820191906000526020600020905b8154815290600101906020018083116107d257829003601f168201915b50505050509050919050565b6108036112f9565b61080f8484848461138a565b50505050565b61081d6115b7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061086357506108628561085d6115b7565b61103a565b5b6108a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089990614200565b60405180910390fd5b6108af85858585856115bf565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1603610944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093b90614292565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109836118e3565b73ffffffffffffffffffffffffffffffffffffffff16146109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d090614324565b60405180910390fd5b6109e28161193a565b610a3b81600067ffffffffffffffff811115610a0157610a006135c1565b5b6040519080825280601f01601f191660200182016040528015610a335781602001600182028036833780820191505090505b506000611945565b50565b610a466112f9565b610a4e611ab3565b565b60608151835114610a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8d906143b6565b60405180910390fd5b6000835167ffffffffffffffff811115610ab357610ab26135c1565b5b604051908082528060200260200182016040528015610ae15781602001602082028036833780820191505090505b50905060005b8451811015610b5e57610b2e858281518110610b0657610b056143d6565b5b6020026020010151858381518110610b2157610b206143d6565b5b60200260200101516105a8565b828281518110610b4157610b406143d6565b5b60200260200101818152505080610b5790614434565b9050610ae7565b508091505092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1603610bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bee90614292565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610c366118e3565b73ffffffffffffffffffffffffffffffffffffffff1614610c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8390614324565b60405180910390fd5b610c958261193a565b610ca182826001611945565b5050565b600080610cb18361101c565b119050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d40906144ee565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b600060c960009054906101000a900460ff16905090565b610d916115b7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610dd75750610dd683610dd16115b7565b61103a565b5b610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90614200565b60405180910390fd5b610e21838383611b16565b505050565b610e2e6112f9565b610e386000611de6565b565b610e426112f9565b610e4e84848484611eac565b50505050565b60008060019054906101000a900460ff16159050808015610e855750600160008054906101000a900460ff1660ff16105b80610eb25750610e943061205d565b158015610eb15750600160008054906101000a900460ff1660ff16145b5b610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890614580565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f2e576001600060016101000a81548160ff0219169083151502179055505b610f4660405180602001604052806000815250612080565b610f4e6120db565b610f56612134565b610f5e61218d565b610f666121de565b610f6e61222f565b8015610fc75760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610fbe91906145f2565b60405180910390a15b50565b610fd26112f9565b610fda612280565b565b6000609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110186110116115b7565b83836122e3565b5050565b600061012d6000838152602001908152602001600020549050919050565b6000606660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6110d66115b7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061111c575061111b856111166115b7565b61103a565b5b61115b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115290614200565b60405180910390fd5b611168858585858561244f565b5050505050565b6111776112f9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dd9061467f565b60405180910390fd5b6111ef81611de6565b50565b6111fa6115b7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611240575061123f8361123a6115b7565b61103a565b5b61127f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127690614200565b60405180910390fd5b61128a8383836126ed565b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6113016115b7565b73ffffffffffffffffffffffffffffffffffffffff1661131f610fdc565b73ffffffffffffffffffffffffffffffffffffffff1614611375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136c906146eb565b60405180910390fd5b565b806067908161138691906148ad565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036113f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f0906149f1565b60405180910390fd5b815183511461143d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143490614a83565b60405180910390fd5b60006114476115b7565b905061145881600087878787612935565b60005b845181101561151257838181518110611477576114766143d6565b5b602002602001015160656000878481518110611496576114956143d6565b5b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114f89190614aa3565b92505081905550808061150a90614434565b91505061145b565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161158a929190614ad7565b60405180910390a46115a181600087878787612953565b6115b08160008787878761295b565b5050505050565b600033905090565b8151835114611603576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fa90614a83565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611672576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166990614b80565b60405180910390fd5b600061167c6115b7565b905061168c818787878787612935565b60005b84518110156118405760008582815181106116ad576116ac6143d6565b5b6020026020010151905060008583815181106116cc576116cb6143d6565b5b6020026020010151905060006065600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561176e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176590614c12565b60405180910390fd5b8181036065600085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816065600085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118259190614aa3565b925050819055505050508061183990614434565b905061168f565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516118b7929190614ad7565b60405180910390a46118cd818787878787612953565b6118db81878787878761295b565b505050505050565b60006119117f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612b32565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6119426112f9565b50565b6119717f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b612b3c565b60000160009054906101000a900460ff16156119955761199083612b46565b611aae565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119fd57506040513d601f19601f820116820180604052508101906119fa9190614c5e565b60015b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390614cfd565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9890614d8f565b60405180910390fd5b50611aad838383612bff565b5b505050565b611abb612c2b565b600060c960006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611aff6115b7565b604051611b0c9190613eeb565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7c90614e21565b60405180910390fd5b8051825114611bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc090614a83565b60405180910390fd5b6000611bd36115b7565b9050611bf381856000868660405180602001604052806000815250612935565b60005b8351811015611d42576000848281518110611c1457611c136143d6565b5b602002602001015190506000848381518110611c3357611c326143d6565b5b6020026020010151905060006065600084815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccc90614eb3565b60405180910390fd5b8181036065600085815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050508080611d3a90614434565b915050611bf6565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051611dba929190614ad7565b60405180910390a4611de081856000868660405180602001604052806000815250612953565b50505050565b6000609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081609760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611f1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f12906149f1565b60405180910390fd5b6000611f256115b7565b90506000611f3285612c74565b90506000611f3f85612c74565b9050611f5083600089858589612935565b846065600088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611fb09190614aa3565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62898960405161202e929190614ed3565b60405180910390a461204583600089858589612953565b61205483600089898989612cee565b50505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff166120cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c690614f6e565b60405180910390fd5b6120d881612ec5565b50565b600060019054906101000a900460ff1661212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212190614f6e565b60405180910390fd5b612132612f20565b565b600060019054906101000a900460ff16612183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217a90614f6e565b60405180910390fd5b61218b612f81565b565b600060019054906101000a900460ff166121dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d390614f6e565b60405180910390fd5b565b600060019054906101000a900460ff1661222d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222490614f6e565b60405180910390fd5b565b600060019054906101000a900460ff1661227e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227590614f6e565b60405180910390fd5b565b612288612fed565b600160c960006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122cc6115b7565b6040516122d99190613eeb565b60405180910390a1565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234890615000565b60405180910390fd5b80606660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612442919061358b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036124be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b590614b80565b60405180910390fd5b60006124c86115b7565b905060006124d585612c74565b905060006124e285612c74565b90506124f2838989858589612935565b60006065600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508581101561258a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258190614c12565b60405180910390fd5b8581036065600089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550856065600089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126419190614aa3565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a6040516126be929190614ed3565b60405180910390a46126d4848a8a86868a612953565b6126e2848a8a8a8a8a612cee565b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361275c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275390614e21565b60405180910390fd5b60006127666115b7565b9050600061277384612c74565b9050600061278084612c74565b90506127a083876000858560405180602001604052806000815250612935565b60006065600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905084811015612838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282f90614eb3565b60405180910390fd5b8481036065600088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051612906929190614ed3565b60405180910390a461292c84886000868660405180602001604052806000815250612953565b50505050505050565b61293d612fed565b61294b868686868686613037565b505050505050565b505050505050565b61297a8473ffffffffffffffffffffffffffffffffffffffff1661205d565b15612b2a578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016129c0959493929190615075565b6020604051808303816000875af19250505080156129fc57506040513d601f19601f820116820180604052508101906129f991906150f2565b60015b612aa157612a0861512c565b806308c379a003612a645750612a1c61514e565b80612a275750612a66565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5b91906137e1565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9890615250565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1f906152e2565b60405180910390fd5b505b505050505050565b6000819050919050565b6000819050919050565b612b4f8161205d565b612b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8590615374565b60405180910390fd5b80612bbb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612b32565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b612c088361320a565b600082511180612c155750805b15612c2657612c248383613259565b505b505050565b612c33610d72565b612c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c69906153e0565b60405180910390fd5b565b60606000600167ffffffffffffffff811115612c9357612c926135c1565b5b604051908082528060200260200182016040528015612cc15781602001602082028036833780820191505090505b5090508281600081518110612cd957612cd86143d6565b5b60200260200101818152505080915050919050565b612d0d8473ffffffffffffffffffffffffffffffffffffffff1661205d565b15612ebd578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401612d53959493929190615400565b6020604051808303816000875af1925050508015612d8f57506040513d601f19601f82011682018060405250810190612d8c91906150f2565b60015b612e3457612d9b61512c565b806308c379a003612df75750612daf61514e565b80612dba5750612df9565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dee91906137e1565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2b90615250565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612ebb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb2906152e2565b60405180910390fd5b505b505050505050565b600060019054906101000a900460ff16612f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f0b90614f6e565b60405180910390fd5b612f1d81611377565b50565b600060019054906101000a900460ff16612f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f6690614f6e565b60405180910390fd5b612f7f612f7a6115b7565b611de6565b565b600060019054906101000a900460ff16612fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fc790614f6e565b60405180910390fd5b600060c960006101000a81548160ff021916908315150217905550565b612ff5610d72565b15613035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161302c906154a6565b60405180910390fd5b565b613045868686868686613286565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036130f75760005b83518110156130f557828181518110613098576130976143d6565b5b602002602001015161012d60008684815181106130b8576130b76143d6565b5b6020026020010151815260200190815260200160002060008282546130dd9190614aa3565b92505081905550806130ee90614434565b905061307c565b505b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036132025760005b835181101561320057600084828151811061314c5761314b6143d6565b5b60200260200101519050600084838151811061316b5761316a6143d6565b5b60200260200101519050600061012d6000848152602001908152602001600020549050818110156131d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131c890615538565b60405180910390fd5b81810361012d600085815260200190815260200160002081905550505050806131f990614434565b905061312e565b505b505050505050565b61321381612b46565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b606061327e83836040518060600160405280602781526020016156186027913961328e565b905092915050565b505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516132b89190615594565b600060405180830381855af49150503d80600081146132f3576040519150601f19603f3d011682016040523d82523d6000602084013e6132f8565b606091505b509150915061330986838387613314565b925050509392505050565b6060831561337657600083510361336e5761332e8561205d565b61336d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613364906155f7565b60405180910390fd5b5b829050613381565b6133808383613389565b5b949350505050565b60008251111561339c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d091906137e1565b60405180910390fd5b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613418826133ed565b9050919050565b6134288161340d565b811461343357600080fd5b50565b6000813590506134458161341f565b92915050565b6000819050919050565b61345e8161344b565b811461346957600080fd5b50565b60008135905061347b81613455565b92915050565b60008060408385031215613498576134976133e3565b5b60006134a685828601613436565b92505060206134b78582860161346c565b9150509250929050565b6134ca8161344b565b82525050565b60006020820190506134e560008301846134c1565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613520816134eb565b811461352b57600080fd5b50565b60008135905061353d81613517565b92915050565b600060208284031215613559576135586133e3565b5b60006135678482850161352e565b91505092915050565b60008115159050919050565b61358581613570565b82525050565b60006020820190506135a0600083018461357c565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6135f9826135b0565b810181811067ffffffffffffffff82111715613618576136176135c1565b5b80604052505050565b600061362b6133d9565b905061363782826135f0565b919050565b600067ffffffffffffffff821115613657576136566135c1565b5b613660826135b0565b9050602081019050919050565b82818337600083830152505050565b600061368f61368a8461363c565b613621565b9050828152602081018484840111156136ab576136aa6135ab565b5b6136b684828561366d565b509392505050565b600082601f8301126136d3576136d26135a6565b5b81356136e384826020860161367c565b91505092915050565b600060208284031215613702576137016133e3565b5b600082013567ffffffffffffffff8111156137205761371f6133e8565b5b61372c848285016136be565b91505092915050565b60006020828403121561374b5761374a6133e3565b5b60006137598482850161346c565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561379c578082015181840152602081019050613781565b60008484015250505050565b60006137b382613762565b6137bd818561376d565b93506137cd81856020860161377e565b6137d6816135b0565b840191505092915050565b600060208201905081810360008301526137fb81846137a8565b905092915050565b600067ffffffffffffffff82111561381e5761381d6135c1565b5b602082029050602081019050919050565b600080fd5b600061384761384284613803565b613621565b9050808382526020820190506020840283018581111561386a5761386961382f565b5b835b81811015613893578061387f888261346c565b84526020840193505060208101905061386c565b5050509392505050565b600082601f8301126138b2576138b16135a6565b5b81356138c2848260208601613834565b91505092915050565b600067ffffffffffffffff8211156138e6576138e56135c1565b5b6138ef826135b0565b9050602081019050919050565b600061390f61390a846138cb565b613621565b90508281526020810184848401111561392b5761392a6135ab565b5b61393684828561366d565b509392505050565b600082601f830112613953576139526135a6565b5b81356139638482602086016138fc565b91505092915050565b60008060008060808587031215613986576139856133e3565b5b600061399487828801613436565b945050602085013567ffffffffffffffff8111156139b5576139b46133e8565b5b6139c18782880161389d565b935050604085013567ffffffffffffffff8111156139e2576139e16133e8565b5b6139ee8782880161389d565b925050606085013567ffffffffffffffff811115613a0f57613a0e6133e8565b5b613a1b8782880161393e565b91505092959194509250565b600080600080600060a08688031215613a4357613a426133e3565b5b6000613a5188828901613436565b9550506020613a6288828901613436565b945050604086013567ffffffffffffffff811115613a8357613a826133e8565b5b613a8f8882890161389d565b935050606086013567ffffffffffffffff811115613ab057613aaf6133e8565b5b613abc8882890161389d565b925050608086013567ffffffffffffffff811115613add57613adc6133e8565b5b613ae98882890161393e565b9150509295509295909350565b600060208284031215613b0c57613b0b6133e3565b5b6000613b1a84828501613436565b91505092915050565b600067ffffffffffffffff821115613b3e57613b3d6135c1565b5b602082029050602081019050919050565b6000613b62613b5d84613b23565b613621565b90508083825260208201905060208402830185811115613b8557613b8461382f565b5b835b81811015613bae5780613b9a8882613436565b845260208401935050602081019050613b87565b5050509392505050565b600082601f830112613bcd57613bcc6135a6565b5b8135613bdd848260208601613b4f565b91505092915050565b60008060408385031215613bfd57613bfc6133e3565b5b600083013567ffffffffffffffff811115613c1b57613c1a6133e8565b5b613c2785828601613bb8565b925050602083013567ffffffffffffffff811115613c4857613c476133e8565b5b613c548582860161389d565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613c938161344b565b82525050565b6000613ca58383613c8a565b60208301905092915050565b6000602082019050919050565b6000613cc982613c5e565b613cd38185613c69565b9350613cde83613c7a565b8060005b83811015613d0f578151613cf68882613c99565b9750613d0183613cb1565b925050600181019050613ce2565b5085935050505092915050565b60006020820190508181036000830152613d368184613cbe565b905092915050565b60008060408385031215613d5557613d546133e3565b5b6000613d6385828601613436565b925050602083013567ffffffffffffffff811115613d8457613d836133e8565b5b613d908582860161393e565b9150509250929050565b6000819050919050565b613dad81613d9a565b82525050565b6000602082019050613dc86000830184613da4565b92915050565b600080600060608486031215613de757613de66133e3565b5b6000613df586828701613436565b935050602084013567ffffffffffffffff811115613e1657613e156133e8565b5b613e228682870161389d565b925050604084013567ffffffffffffffff811115613e4357613e426133e8565b5b613e4f8682870161389d565b9150509250925092565b60008060008060808587031215613e7357613e726133e3565b5b6000613e8187828801613436565b9450506020613e928782880161346c565b9350506040613ea38782880161346c565b925050606085013567ffffffffffffffff811115613ec457613ec36133e8565b5b613ed08782880161393e565b91505092959194509250565b613ee58161340d565b82525050565b6000602082019050613f006000830184613edc565b92915050565b613f0f81613570565b8114613f1a57600080fd5b50565b600081359050613f2c81613f06565b92915050565b60008060408385031215613f4957613f486133e3565b5b6000613f5785828601613436565b9250506020613f6885828601613f1d565b9150509250929050565b60008060408385031215613f8957613f886133e3565b5b6000613f9785828601613436565b9250506020613fa885828601613436565b9150509250929050565b600080600080600060a08688031215613fce57613fcd6133e3565b5b6000613fdc88828901613436565b9550506020613fed88828901613436565b9450506040613ffe8882890161346c565b935050606061400f8882890161346c565b925050608086013567ffffffffffffffff8111156140305761402f6133e8565b5b61403c8882890161393e565b9150509295509295909350565b600080600060608486031215614062576140616133e3565b5b600061407086828701613436565b93505060206140818682870161346c565b92505060406140928682870161346c565b9150509250925092565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b60006140f8602a8361376d565b91506141038261409c565b604082019050919050565b60006020820190508181036000830152614127816140eb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061417557607f821691505b6020821081036141885761418761412e565b5b50919050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b60006141ea602e8361376d565b91506141f58261418e565b604082019050919050565b60006020820190508181036000830152614219816141dd565b9050919050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b600061427c602c8361376d565b915061428782614220565b604082019050919050565b600060208201905081810360008301526142ab8161426f565b9050919050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b600061430e602c8361376d565b9150614319826142b2565b604082019050919050565b6000602082019050818103600083015261433d81614301565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b60006143a060298361376d565b91506143ab82614344565b604082019050919050565b600060208201905081810360008301526143cf81614393565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061443f8261344b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361447157614470614405565b5b600182019050919050565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b60006144d860388361376d565b91506144e38261447c565b604082019050919050565b60006020820190508181036000830152614507816144cb565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b600061456a602e8361376d565b91506145758261450e565b604082019050919050565b600060208201905081810360008301526145998161455d565b9050919050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b60006145dc6145d76145d2846145a0565b6145b7565b6145aa565b9050919050565b6145ec816145c1565b82525050565b600060208201905061460760008301846145e3565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061466960268361376d565b91506146748261460d565b604082019050919050565b600060208201905081810360008301526146988161465c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006146d560208361376d565b91506146e08261469f565b602082019050919050565b60006020820190508181036000830152614704816146c8565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261476d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614730565b6147778683614730565b95508019841693508086168417925050509392505050565b60006147aa6147a56147a08461344b565b6145b7565b61344b565b9050919050565b6000819050919050565b6147c48361478f565b6147d86147d0826147b1565b84845461473d565b825550505050565b600090565b6147ed6147e0565b6147f88184846147bb565b505050565b5b8181101561481c576148116000826147e5565b6001810190506147fe565b5050565b601f821115614861576148328161470b565b61483b84614720565b8101602085101561484a578190505b61485e61485685614720565b8301826147fd565b50505b505050565b600082821c905092915050565b600061488460001984600802614866565b1980831691505092915050565b600061489d8383614873565b9150826002028217905092915050565b6148b682613762565b67ffffffffffffffff8111156148cf576148ce6135c1565b5b6148d9825461415d565b6148e4828285614820565b600060209050601f8311600181146149175760008415614905578287015190505b61490f8582614891565b865550614977565b601f1984166149258661470b565b60005b8281101561494d57848901518255600182019150602085019450602081019050614928565b8683101561496a5784890151614966601f891682614873565b8355505b6001600288020188555050505b505050505050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006149db60218361376d565b91506149e68261497f565b604082019050919050565b60006020820190508181036000830152614a0a816149ce565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b6000614a6d60288361376d565b9150614a7882614a11565b604082019050919050565b60006020820190508181036000830152614a9c81614a60565b9050919050565b6000614aae8261344b565b9150614ab98361344b565b9250828201905080821115614ad157614ad0614405565b5b92915050565b60006040820190508181036000830152614af18185613cbe565b90508181036020830152614b058184613cbe565b90509392505050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614b6a60258361376d565b9150614b7582614b0e565b604082019050919050565b60006020820190508181036000830152614b9981614b5d565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b6000614bfc602a8361376d565b9150614c0782614ba0565b604082019050919050565b60006020820190508181036000830152614c2b81614bef565b9050919050565b614c3b81613d9a565b8114614c4657600080fd5b50565b600081519050614c5881614c32565b92915050565b600060208284031215614c7457614c736133e3565b5b6000614c8284828501614c49565b91505092915050565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b6000614ce7602e8361376d565b9150614cf282614c8b565b604082019050919050565b60006020820190508181036000830152614d1681614cda565b9050919050565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b6000614d7960298361376d565b9150614d8482614d1d565b604082019050919050565b60006020820190508181036000830152614da881614d6c565b9050919050565b7f455243313135353a206275726e2066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614e0b60238361376d565b9150614e1682614daf565b604082019050919050565b60006020820190508181036000830152614e3a81614dfe565b9050919050565b7f455243313135353a206275726e20616d6f756e7420657863656564732062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b6000614e9d60248361376d565b9150614ea882614e41565b604082019050919050565b60006020820190508181036000830152614ecc81614e90565b9050919050565b6000604082019050614ee860008301856134c1565b614ef560208301846134c1565b9392505050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000614f58602b8361376d565b9150614f6382614efc565b604082019050919050565b60006020820190508181036000830152614f8781614f4b565b9050919050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b6000614fea60298361376d565b9150614ff582614f8e565b604082019050919050565b6000602082019050818103600083015261501981614fdd565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061504782615020565b615051818561502b565b935061506181856020860161377e565b61506a816135b0565b840191505092915050565b600060a08201905061508a6000830188613edc565b6150976020830187613edc565b81810360408301526150a98186613cbe565b905081810360608301526150bd8185613cbe565b905081810360808301526150d1818461503c565b90509695505050505050565b6000815190506150ec81613517565b92915050565b600060208284031215615108576151076133e3565b5b6000615116848285016150dd565b91505092915050565b60008160e01c9050919050565b600060033d111561514b5760046000803e61514860005161511f565b90505b90565b600060443d106151db576151606133d9565b60043d036004823e80513d602482011167ffffffffffffffff821117156151885750506151db565b808201805167ffffffffffffffff8111156151a657505050506151db565b80602083010160043d0385018111156151c35750505050506151db565b6151d2826020018501866135f0565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b600061523a60348361376d565b9150615245826151de565b604082019050919050565b600060208201905081810360008301526152698161522d565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b60006152cc60288361376d565b91506152d782615270565b604082019050919050565b600060208201905081810360008301526152fb816152bf565b9050919050565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b600061535e602d8361376d565b915061536982615302565b604082019050919050565b6000602082019050818103600083015261538d81615351565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006153ca60148361376d565b91506153d582615394565b602082019050919050565b600060208201905081810360008301526153f9816153bd565b9050919050565b600060a0820190506154156000830188613edc565b6154226020830187613edc565b61542f60408301866134c1565b61543c60608301856134c1565b818103608083015261544e818461503c565b90509695505050505050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061549060108361376d565b915061549b8261545a565b602082019050919050565b600060208201905081810360008301526154bf81615483565b9050919050565b7f455243313135353a206275726e20616d6f756e74206578636565647320746f7460008201527f616c537570706c79000000000000000000000000000000000000000000000000602082015250565b600061552260288361376d565b915061552d826154c6565b604082019050919050565b6000602082019050818103600083015261555181615515565b9050919050565b600081905092915050565b600061556e82615020565b6155788185615558565b935061558881856020860161377e565b80840191505092915050565b60006155a08284615563565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006155e1601d8361376d565b91506155ec826155ab565b602082019050919050565b60006020820190508181036000830152615610816155d4565b905091905056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220671cbf78f7ebbf3453e4a99ea40841368c9a9fa2639fd97dcf101b87a28d936a64736f6c63430008120033
Is it a proxy ?

Deployed bytecode

0x6080604052600436106101655760003560e01c80635c975abb116100d15780638da5cb5b1161008a578063e985e9c511610064578063e985e9c5146104f0578063f242432a1461052d578063f2fde38b14610556578063f5298aca1461057f57610165565b80638da5cb5b1461045f578063a22cb4651461048a578063bd85b039146104b357610165565b80635c975abb1461039d5780636b20c454146103c8578063715018a6146103f1578063731133e9146104085780638129fc1c146104315780638456cb591461044857610165565b80633659cfe6116101235780633659cfe61461029c5780633f4ba83a146102c55780634e1273f4146102dc5780634f1ef286146103195780634f558e791461033557806352d1902d1461037257610165565b8062fdd58e1461016a57806301ffc9a7146101a757806302fe5305146101e45780630e89341c1461020d5780631f7fdffa1461024a5780632eb2c2d614610273575b600080fd5b34801561017657600080fd5b50610191600480360381019061018c9190613481565b6105a8565b60405161019e91906134d0565b60405180910390f35b3480156101b357600080fd5b506101ce60048036038101906101c99190613543565b610671565b6040516101db919061358b565b60405180910390f35b3480156101f057600080fd5b5061020b600480360381019061020691906136ec565b610753565b005b34801561021957600080fd5b50610234600480360381019061022f9190613735565b610767565b60405161024191906137e1565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061396c565b6107fb565b005b34801561027f57600080fd5b5061029a60048036038101906102959190613a27565b610815565b005b3480156102a857600080fd5b506102c360048036038101906102be9190613af6565b6108b6565b005b3480156102d157600080fd5b506102da610a3e565b005b3480156102e857600080fd5b5061030360048036038101906102fe9190613be6565b610a50565b6040516103109190613d1c565b60405180910390f35b610333600480360381019061032e9190613d3e565b610b69565b005b34801561034157600080fd5b5061035c60048036038101906103579190613735565b610ca5565b604051610369919061358b565b60405180910390f35b34801561037e57600080fd5b50610387610cb9565b6040516103949190613db3565b60405180910390f35b3480156103a957600080fd5b506103b2610d72565b6040516103bf919061358b565b60405180910390f35b3480156103d457600080fd5b506103ef60048036038101906103ea9190613dce565b610d89565b005b3480156103fd57600080fd5b50610406610e26565b005b34801561041457600080fd5b5061042f600480360381019061042a9190613e59565b610e3a565b005b34801561043d57600080fd5b50610446610e54565b005b34801561045457600080fd5b5061045d610fca565b005b34801561046b57600080fd5b50610474610fdc565b6040516104819190613eeb565b60405180910390f35b34801561049657600080fd5b506104b160048036038101906104ac9190613f32565b611006565b005b3480156104bf57600080fd5b506104da60048036038101906104d59190613735565b61101c565b6040516104e791906134d0565b60405180910390f35b3480156104fc57600080fd5b5061051760048036038101906105129190613f72565b61103a565b604051610524919061358b565b60405180910390f35b34801561053957600080fd5b50610554600480360381019061054f9190613fb2565b6110ce565b005b34801561056257600080fd5b5061057d60048036038101906105789190613af6565b61116f565b005b34801561058b57600080fd5b506105a660048036038101906105a19190614049565b6111f2565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060f9061410e565b60405180910390fd5b6065600083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061073c57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061074c575061074b8261128f565b5b9050919050565b61075b6112f9565b61076481611377565b50565b6060606780546107769061415d565b80601f01602080910402602001604051908101604052809291908181526020018280546107a29061415d565b80156107ef5780601f106107c4576101008083540402835291602001916107ef565b820191906000526020600020905b8154815290600101906020018083116107d257829003601f168201915b50505050509050919050565b6108036112f9565b61080f8484848461138a565b50505050565b61081d6115b7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061086357506108628561085d6115b7565b61103a565b5b6108a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089990614200565b60405180910390fd5b6108af85858585856115bf565b5050505050565b7f00000000000000000000000066da5462a8e0efbd6e10d773b9dcf4086045758d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1603610944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093b90614292565b60405180910390fd5b7f00000000000000000000000066da5462a8e0efbd6e10d773b9dcf4086045758d73ffffffffffffffffffffffffffffffffffffffff166109836118e3565b73ffffffffffffffffffffffffffffffffffffffff16146109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d090614324565b60405180910390fd5b6109e28161193a565b610a3b81600067ffffffffffffffff811115610a0157610a006135c1565b5b6040519080825280601f01601f191660200182016040528015610a335781602001600182028036833780820191505090505b506000611945565b50565b610a466112f9565b610a4e611ab3565b565b60608151835114610a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8d906143b6565b60405180910390fd5b6000835167ffffffffffffffff811115610ab357610ab26135c1565b5b604051908082528060200260200182016040528015610ae15781602001602082028036833780820191505090505b50905060005b8451811015610b5e57610b2e858281518110610b0657610b056143d6565b5b6020026020010151858381518110610b2157610b206143d6565b5b60200260200101516105a8565b828281518110610b4157610b406143d6565b5b60200260200101818152505080610b5790614434565b9050610ae7565b508091505092915050565b7f00000000000000000000000066da5462a8e0efbd6e10d773b9dcf4086045758d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1603610bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bee90614292565b60405180910390fd5b7f00000000000000000000000066da5462a8e0efbd6e10d773b9dcf4086045758d73ffffffffffffffffffffffffffffffffffffffff16610c366118e3565b73ffffffffffffffffffffffffffffffffffffffff1614610c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8390614324565b60405180910390fd5b610c958261193a565b610ca182826001611945565b5050565b600080610cb18361101c565b119050919050565b60007f00000000000000000000000066da5462a8e0efbd6e10d773b9dcf4086045758d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d40906144ee565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b600060c960009054906101000a900460ff16905090565b610d916115b7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610dd75750610dd683610dd16115b7565b61103a565b5b610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90614200565b60405180910390fd5b610e21838383611b16565b505050565b610e2e6112f9565b610e386000611de6565b565b610e426112f9565b610e4e84848484611eac565b50505050565b60008060019054906101000a900460ff16159050808015610e855750600160008054906101000a900460ff1660ff16105b80610eb25750610e943061205d565b158015610eb15750600160008054906101000a900460ff1660ff16145b5b610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890614580565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f2e576001600060016101000a81548160ff0219169083151502179055505b610f4660405180602001604052806000815250612080565b610f4e6120db565b610f56612134565b610f5e61218d565b610f666121de565b610f6e61222f565b8015610fc75760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610fbe91906145f2565b60405180910390a15b50565b610fd26112f9565b610fda612280565b565b6000609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110186110116115b7565b83836122e3565b5050565b600061012d6000838152602001908152602001600020549050919050565b6000606660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6110d66115b7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061111c575061111b856111166115b7565b61103a565b5b61115b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115290614200565b60405180910390fd5b611168858585858561244f565b5050505050565b6111776112f9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dd9061467f565b60405180910390fd5b6111ef81611de6565b50565b6111fa6115b7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611240575061123f8361123a6115b7565b61103a565b5b61127f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127690614200565b60405180910390fd5b61128a8383836126ed565b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6113016115b7565b73ffffffffffffffffffffffffffffffffffffffff1661131f610fdc565b73ffffffffffffffffffffffffffffffffffffffff1614611375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136c906146eb565b60405180910390fd5b565b806067908161138691906148ad565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036113f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f0906149f1565b60405180910390fd5b815183511461143d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143490614a83565b60405180910390fd5b60006114476115b7565b905061145881600087878787612935565b60005b845181101561151257838181518110611477576114766143d6565b5b602002602001015160656000878481518110611496576114956143d6565b5b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114f89190614aa3565b92505081905550808061150a90614434565b91505061145b565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161158a929190614ad7565b60405180910390a46115a181600087878787612953565b6115b08160008787878761295b565b5050505050565b600033905090565b8151835114611603576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fa90614a83565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611672576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166990614b80565b60405180910390fd5b600061167c6115b7565b905061168c818787878787612935565b60005b84518110156118405760008582815181106116ad576116ac6143d6565b5b6020026020010151905060008583815181106116cc576116cb6143d6565b5b6020026020010151905060006065600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561176e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176590614c12565b60405180910390fd5b8181036065600085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816065600085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118259190614aa3565b925050819055505050508061183990614434565b905061168f565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516118b7929190614ad7565b60405180910390a46118cd818787878787612953565b6118db81878787878761295b565b505050505050565b60006119117f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612b32565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6119426112f9565b50565b6119717f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b612b3c565b60000160009054906101000a900460ff16156119955761199083612b46565b611aae565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119fd57506040513d601f19601f820116820180604052508101906119fa9190614c5e565b60015b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390614cfd565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9890614d8f565b60405180910390fd5b50611aad838383612bff565b5b505050565b611abb612c2b565b600060c960006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611aff6115b7565b604051611b0c9190613eeb565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7c90614e21565b60405180910390fd5b8051825114611bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc090614a83565b60405180910390fd5b6000611bd36115b7565b9050611bf381856000868660405180602001604052806000815250612935565b60005b8351811015611d42576000848281518110611c1457611c136143d6565b5b602002602001015190506000848381518110611c3357611c326143d6565b5b6020026020010151905060006065600084815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccc90614eb3565b60405180910390fd5b8181036065600085815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050508080611d3a90614434565b915050611bf6565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051611dba929190614ad7565b60405180910390a4611de081856000868660405180602001604052806000815250612953565b50505050565b6000609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081609760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611f1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f12906149f1565b60405180910390fd5b6000611f256115b7565b90506000611f3285612c74565b90506000611f3f85612c74565b9050611f5083600089858589612935565b846065600088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611fb09190614aa3565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62898960405161202e929190614ed3565b60405180910390a461204583600089858589612953565b61205483600089898989612cee565b50505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff166120cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c690614f6e565b60405180910390fd5b6120d881612ec5565b50565b600060019054906101000a900460ff1661212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212190614f6e565b60405180910390fd5b612132612f20565b565b600060019054906101000a900460ff16612183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217a90614f6e565b60405180910390fd5b61218b612f81565b565b600060019054906101000a900460ff166121dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d390614f6e565b60405180910390fd5b565b600060019054906101000a900460ff1661222d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222490614f6e565b60405180910390fd5b565b600060019054906101000a900460ff1661227e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227590614f6e565b60405180910390fd5b565b612288612fed565b600160c960006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122cc6115b7565b6040516122d99190613eeb565b60405180910390a1565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234890615000565b60405180910390fd5b80606660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612442919061358b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036124be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b590614b80565b60405180910390fd5b60006124c86115b7565b905060006124d585612c74565b905060006124e285612c74565b90506124f2838989858589612935565b60006065600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508581101561258a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258190614c12565b60405180910390fd5b8581036065600089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550856065600089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126419190614aa3565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a6040516126be929190614ed3565b60405180910390a46126d4848a8a86868a612953565b6126e2848a8a8a8a8a612cee565b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361275c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275390614e21565b60405180910390fd5b60006127666115b7565b9050600061277384612c74565b9050600061278084612c74565b90506127a083876000858560405180602001604052806000815250612935565b60006065600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905084811015612838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282f90614eb3565b60405180910390fd5b8481036065600088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051612906929190614ed3565b60405180910390a461292c84886000868660405180602001604052806000815250612953565b50505050505050565b61293d612fed565b61294b868686868686613037565b505050505050565b505050505050565b61297a8473ffffffffffffffffffffffffffffffffffffffff1661205d565b15612b2a578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016129c0959493929190615075565b6020604051808303816000875af19250505080156129fc57506040513d601f19601f820116820180604052508101906129f991906150f2565b60015b612aa157612a0861512c565b806308c379a003612a645750612a1c61514e565b80612a275750612a66565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5b91906137e1565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9890615250565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1f906152e2565b60405180910390fd5b505b505050505050565b6000819050919050565b6000819050919050565b612b4f8161205d565b612b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8590615374565b60405180910390fd5b80612bbb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b612b32565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b612c088361320a565b600082511180612c155750805b15612c2657612c248383613259565b505b505050565b612c33610d72565b612c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c69906153e0565b60405180910390fd5b565b60606000600167ffffffffffffffff811115612c9357612c926135c1565b5b604051908082528060200260200182016040528015612cc15781602001602082028036833780820191505090505b5090508281600081518110612cd957612cd86143d6565b5b60200260200101818152505080915050919050565b612d0d8473ffffffffffffffffffffffffffffffffffffffff1661205d565b15612ebd578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401612d53959493929190615400565b6020604051808303816000875af1925050508015612d8f57506040513d601f19601f82011682018060405250810190612d8c91906150f2565b60015b612e3457612d9b61512c565b806308c379a003612df75750612daf61514e565b80612dba5750612df9565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dee91906137e1565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2b90615250565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612ebb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb2906152e2565b60405180910390fd5b505b505050505050565b600060019054906101000a900460ff16612f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f0b90614f6e565b60405180910390fd5b612f1d81611377565b50565b600060019054906101000a900460ff16612f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f6690614f6e565b60405180910390fd5b612f7f612f7a6115b7565b611de6565b565b600060019054906101000a900460ff16612fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fc790614f6e565b60405180910390fd5b600060c960006101000a81548160ff021916908315150217905550565b612ff5610d72565b15613035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161302c906154a6565b60405180910390fd5b565b613045868686868686613286565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036130f75760005b83518110156130f557828181518110613098576130976143d6565b5b602002602001015161012d60008684815181106130b8576130b76143d6565b5b6020026020010151815260200190815260200160002060008282546130dd9190614aa3565b92505081905550806130ee90614434565b905061307c565b505b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036132025760005b835181101561320057600084828151811061314c5761314b6143d6565b5b60200260200101519050600084838151811061316b5761316a6143d6565b5b60200260200101519050600061012d6000848152602001908152602001600020549050818110156131d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131c890615538565b60405180910390fd5b81810361012d600085815260200190815260200160002081905550505050806131f990614434565b905061312e565b505b505050505050565b61321381612b46565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b606061327e83836040518060600160405280602781526020016156186027913961328e565b905092915050565b505050505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516132b89190615594565b600060405180830381855af49150503d80600081146132f3576040519150601f19603f3d011682016040523d82523d6000602084013e6132f8565b606091505b509150915061330986838387613314565b925050509392505050565b6060831561337657600083510361336e5761332e8561205d565b61336d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613364906155f7565b60405180910390fd5b5b829050613381565b6133808383613389565b5b949350505050565b60008251111561339c5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d091906137e1565b60405180910390fd5b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613418826133ed565b9050919050565b6134288161340d565b811461343357600080fd5b50565b6000813590506134458161341f565b92915050565b6000819050919050565b61345e8161344b565b811461346957600080fd5b50565b60008135905061347b81613455565b92915050565b60008060408385031215613498576134976133e3565b5b60006134a685828601613436565b92505060206134b78582860161346c565b9150509250929050565b6134ca8161344b565b82525050565b60006020820190506134e560008301846134c1565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613520816134eb565b811461352b57600080fd5b50565b60008135905061353d81613517565b92915050565b600060208284031215613559576135586133e3565b5b60006135678482850161352e565b91505092915050565b60008115159050919050565b61358581613570565b82525050565b60006020820190506135a0600083018461357c565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6135f9826135b0565b810181811067ffffffffffffffff82111715613618576136176135c1565b5b80604052505050565b600061362b6133d9565b905061363782826135f0565b919050565b600067ffffffffffffffff821115613657576136566135c1565b5b613660826135b0565b9050602081019050919050565b82818337600083830152505050565b600061368f61368a8461363c565b613621565b9050828152602081018484840111156136ab576136aa6135ab565b5b6136b684828561366d565b509392505050565b600082601f8301126136d3576136d26135a6565b5b81356136e384826020860161367c565b91505092915050565b600060208284031215613702576137016133e3565b5b600082013567ffffffffffffffff8111156137205761371f6133e8565b5b61372c848285016136be565b91505092915050565b60006020828403121561374b5761374a6133e3565b5b60006137598482850161346c565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561379c578082015181840152602081019050613781565b60008484015250505050565b60006137b382613762565b6137bd818561376d565b93506137cd81856020860161377e565b6137d6816135b0565b840191505092915050565b600060208201905081810360008301526137fb81846137a8565b905092915050565b600067ffffffffffffffff82111561381e5761381d6135c1565b5b602082029050602081019050919050565b600080fd5b600061384761384284613803565b613621565b9050808382526020820190506020840283018581111561386a5761386961382f565b5b835b81811015613893578061387f888261346c565b84526020840193505060208101905061386c565b5050509392505050565b600082601f8301126138b2576138b16135a6565b5b81356138c2848260208601613834565b91505092915050565b600067ffffffffffffffff8211156138e6576138e56135c1565b5b6138ef826135b0565b9050602081019050919050565b600061390f61390a846138cb565b613621565b90508281526020810184848401111561392b5761392a6135ab565b5b61393684828561366d565b509392505050565b600082601f830112613953576139526135a6565b5b81356139638482602086016138fc565b91505092915050565b60008060008060808587031215613986576139856133e3565b5b600061399487828801613436565b945050602085013567ffffffffffffffff8111156139b5576139b46133e8565b5b6139c18782880161389d565b935050604085013567ffffffffffffffff8111156139e2576139e16133e8565b5b6139ee8782880161389d565b925050606085013567ffffffffffffffff811115613a0f57613a0e6133e8565b5b613a1b8782880161393e565b91505092959194509250565b600080600080600060a08688031215613a4357613a426133e3565b5b6000613a5188828901613436565b9550506020613a6288828901613436565b945050604086013567ffffffffffffffff811115613a8357613a826133e8565b5b613a8f8882890161389d565b935050606086013567ffffffffffffffff811115613ab057613aaf6133e8565b5b613abc8882890161389d565b925050608086013567ffffffffffffffff811115613add57613adc6133e8565b5b613ae98882890161393e565b9150509295509295909350565b600060208284031215613b0c57613b0b6133e3565b5b6000613b1a84828501613436565b91505092915050565b600067ffffffffffffffff821115613b3e57613b3d6135c1565b5b602082029050602081019050919050565b6000613b62613b5d84613b23565b613621565b90508083825260208201905060208402830185811115613b8557613b8461382f565b5b835b81811015613bae5780613b9a8882613436565b845260208401935050602081019050613b87565b5050509392505050565b600082601f830112613bcd57613bcc6135a6565b5b8135613bdd848260208601613b4f565b91505092915050565b60008060408385031215613bfd57613bfc6133e3565b5b600083013567ffffffffffffffff811115613c1b57613c1a6133e8565b5b613c2785828601613bb8565b925050602083013567ffffffffffffffff811115613c4857613c476133e8565b5b613c548582860161389d565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613c938161344b565b82525050565b6000613ca58383613c8a565b60208301905092915050565b6000602082019050919050565b6000613cc982613c5e565b613cd38185613c69565b9350613cde83613c7a565b8060005b83811015613d0f578151613cf68882613c99565b9750613d0183613cb1565b925050600181019050613ce2565b5085935050505092915050565b60006020820190508181036000830152613d368184613cbe565b905092915050565b60008060408385031215613d5557613d546133e3565b5b6000613d6385828601613436565b925050602083013567ffffffffffffffff811115613d8457613d836133e8565b5b613d908582860161393e565b9150509250929050565b6000819050919050565b613dad81613d9a565b82525050565b6000602082019050613dc86000830184613da4565b92915050565b600080600060608486031215613de757613de66133e3565b5b6000613df586828701613436565b935050602084013567ffffffffffffffff811115613e1657613e156133e8565b5b613e228682870161389d565b925050604084013567ffffffffffffffff811115613e4357613e426133e8565b5b613e4f8682870161389d565b9150509250925092565b60008060008060808587031215613e7357613e726133e3565b5b6000613e8187828801613436565b9450506020613e928782880161346c565b9350506040613ea38782880161346c565b925050606085013567ffffffffffffffff811115613ec457613ec36133e8565b5b613ed08782880161393e565b91505092959194509250565b613ee58161340d565b82525050565b6000602082019050613f006000830184613edc565b92915050565b613f0f81613570565b8114613f1a57600080fd5b50565b600081359050613f2c81613f06565b92915050565b60008060408385031215613f4957613f486133e3565b5b6000613f5785828601613436565b9250506020613f6885828601613f1d565b9150509250929050565b60008060408385031215613f8957613f886133e3565b5b6000613f9785828601613436565b9250506020613fa885828601613436565b9150509250929050565b600080600080600060a08688031215613fce57613fcd6133e3565b5b6000613fdc88828901613436565b9550506020613fed88828901613436565b9450506040613ffe8882890161346c565b935050606061400f8882890161346c565b925050608086013567ffffffffffffffff8111156140305761402f6133e8565b5b61403c8882890161393e565b9150509295509295909350565b600080600060608486031215614062576140616133e3565b5b600061407086828701613436565b93505060206140818682870161346c565b92505060406140928682870161346c565b9150509250925092565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b60006140f8602a8361376d565b91506141038261409c565b604082019050919050565b60006020820190508181036000830152614127816140eb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061417557607f821691505b6020821081036141885761418761412e565b5b50919050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b60006141ea602e8361376d565b91506141f58261418e565b604082019050919050565b60006020820190508181036000830152614219816141dd565b9050919050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b600061427c602c8361376d565b915061428782614220565b604082019050919050565b600060208201905081810360008301526142ab8161426f565b9050919050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b600061430e602c8361376d565b9150614319826142b2565b604082019050919050565b6000602082019050818103600083015261433d81614301565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b60006143a060298361376d565b91506143ab82614344565b604082019050919050565b600060208201905081810360008301526143cf81614393565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061443f8261344b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361447157614470614405565b5b600182019050919050565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b60006144d860388361376d565b91506144e38261447c565b604082019050919050565b60006020820190508181036000830152614507816144cb565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b600061456a602e8361376d565b91506145758261450e565b604082019050919050565b600060208201905081810360008301526145998161455d565b9050919050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b60006145dc6145d76145d2846145a0565b6145b7565b6145aa565b9050919050565b6145ec816145c1565b82525050565b600060208201905061460760008301846145e3565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061466960268361376d565b91506146748261460d565b604082019050919050565b600060208201905081810360008301526146988161465c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006146d560208361376d565b91506146e08261469f565b602082019050919050565b60006020820190508181036000830152614704816146c8565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261476d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614730565b6147778683614730565b95508019841693508086168417925050509392505050565b60006147aa6147a56147a08461344b565b6145b7565b61344b565b9050919050565b6000819050919050565b6147c48361478f565b6147d86147d0826147b1565b84845461473d565b825550505050565b600090565b6147ed6147e0565b6147f88184846147bb565b505050565b5b8181101561481c576148116000826147e5565b6001810190506147fe565b5050565b601f821115614861576148328161470b565b61483b84614720565b8101602085101561484a578190505b61485e61485685614720565b8301826147fd565b50505b505050565b600082821c905092915050565b600061488460001984600802614866565b1980831691505092915050565b600061489d8383614873565b9150826002028217905092915050565b6148b682613762565b67ffffffffffffffff8111156148cf576148ce6135c1565b5b6148d9825461415d565b6148e4828285614820565b600060209050601f8311600181146149175760008415614905578287015190505b61490f8582614891565b865550614977565b601f1984166149258661470b565b60005b8281101561494d57848901518255600182019150602085019450602081019050614928565b8683101561496a5784890151614966601f891682614873565b8355505b6001600288020188555050505b505050505050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006149db60218361376d565b91506149e68261497f565b604082019050919050565b60006020820190508181036000830152614a0a816149ce565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b6000614a6d60288361376d565b9150614a7882614a11565b604082019050919050565b60006020820190508181036000830152614a9c81614a60565b9050919050565b6000614aae8261344b565b9150614ab98361344b565b9250828201905080821115614ad157614ad0614405565b5b92915050565b60006040820190508181036000830152614af18185613cbe565b90508181036020830152614b058184613cbe565b90509392505050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614b6a60258361376d565b9150614b7582614b0e565b604082019050919050565b60006020820190508181036000830152614b9981614b5d565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b6000614bfc602a8361376d565b9150614c0782614ba0565b604082019050919050565b60006020820190508181036000830152614c2b81614bef565b9050919050565b614c3b81613d9a565b8114614c4657600080fd5b50565b600081519050614c5881614c32565b92915050565b600060208284031215614c7457614c736133e3565b5b6000614c8284828501614c49565b91505092915050565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b6000614ce7602e8361376d565b9150614cf282614c8b565b604082019050919050565b60006020820190508181036000830152614d1681614cda565b9050919050565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b6000614d7960298361376d565b9150614d8482614d1d565b604082019050919050565b60006020820190508181036000830152614da881614d6c565b9050919050565b7f455243313135353a206275726e2066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614e0b60238361376d565b9150614e1682614daf565b604082019050919050565b60006020820190508181036000830152614e3a81614dfe565b9050919050565b7f455243313135353a206275726e20616d6f756e7420657863656564732062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b6000614e9d60248361376d565b9150614ea882614e41565b604082019050919050565b60006020820190508181036000830152614ecc81614e90565b9050919050565b6000604082019050614ee860008301856134c1565b614ef560208301846134c1565b9392505050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000614f58602b8361376d565b9150614f6382614efc565b604082019050919050565b60006020820190508181036000830152614f8781614f4b565b9050919050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b6000614fea60298361376d565b9150614ff582614f8e565b604082019050919050565b6000602082019050818103600083015261501981614fdd565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061504782615020565b615051818561502b565b935061506181856020860161377e565b61506a816135b0565b840191505092915050565b600060a08201905061508a6000830188613edc565b6150976020830187613edc565b81810360408301526150a98186613cbe565b905081810360608301526150bd8185613cbe565b905081810360808301526150d1818461503c565b90509695505050505050565b6000815190506150ec81613517565b92915050565b600060208284031215615108576151076133e3565b5b6000615116848285016150dd565b91505092915050565b60008160e01c9050919050565b600060033d111561514b5760046000803e61514860005161511f565b90505b90565b600060443d106151db576151606133d9565b60043d036004823e80513d602482011167ffffffffffffffff821117156151885750506151db565b808201805167ffffffffffffffff8111156151a657505050506151db565b80602083010160043d0385018111156151c35750505050506151db565b6151d2826020018501866135f0565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b600061523a60348361376d565b9150615245826151de565b604082019050919050565b600060208201905081810360008301526152698161522d565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b60006152cc60288361376d565b91506152d782615270565b604082019050919050565b600060208201905081810360008301526152fb816152bf565b9050919050565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b600061535e602d8361376d565b915061536982615302565b604082019050919050565b6000602082019050818103600083015261538d81615351565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006153ca60148361376d565b91506153d582615394565b602082019050919050565b600060208201905081810360008301526153f9816153bd565b9050919050565b600060a0820190506154156000830188613edc565b6154226020830187613edc565b61542f60408301866134c1565b61543c60608301856134c1565b818103608083015261544e818461503c565b90509695505050505050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061549060108361376d565b915061549b8261545a565b602082019050919050565b600060208201905081810360008301526154bf81615483565b9050919050565b7f455243313135353a206275726e20616d6f756e74206578636565647320746f7460008201527f616c537570706c79000000000000000000000000000000000000000000000000602082015250565b600061552260288361376d565b915061552d826154c6565b604082019050919050565b6000602082019050818103600083015261555181615515565b9050919050565b600081905092915050565b600061556e82615020565b6155788185615558565b935061558881856020860161377e565b80840191505092915050565b60006155a08284615563565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006155e1601d8361376d565b91506155ec826155ab565b602082019050919050565b60006020820190508181036000830152615610816155d4565b905091905056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220671cbf78f7ebbf3453e4a99ea40841368c9a9fa2639fd97dcf101b87a28d936a64736f6c63430008120033