Contract Address Details
contract

0x02a16afE8e045f24078B37e464A6F6eAB6E935cA

Creator
0x42657c–ce1afb at 0x0c3950–865175
Balance
0 xDAI ( )
Tokens
Fetching tokens...
Transactions
178,798 Transactions
Transfers
449,823 Transfers
Gas Used
45,194,932,762
Last Balance Update
22865209

Deployed ByteCode

Verify & Publish
0x60806040526004361061008a5760003560e01c80638da5cb5b116100595780638da5cb5b146101eb578063a6f9dae114610216578063ad5c46481461023f578063ee33b7e21461026a578063f80f5dd51461029357610091565b8063627dd56a1461011f5780636d400c091461015c578063798eb5cf14610199578063806d34af146101c257610091565b3661009157005b34801561009d57600080fd5b506000803660049080926100b393929190614976565b8101906100c09190613564565b935050505061011c81600067ffffffffffffffff8111156100e4576100e3614d47565b5b6040519080825280601f01601f1916602001820160405280156101165781602001600182028036833780820191505090505b506102bc565b50005b34801561012b57600080fd5b50610146600480360381019061014191906137ff565b61068b565b60405161015391906141a4565b60405180910390f35b34801561016857600080fd5b50610183600480360381019061017e91906137b2565b611241565b60405161019091906141a4565b60405180910390f35b3480156101a557600080fd5b506101c060048036038101906101bb9190613647565b6113bc565b005b3480156101ce57600080fd5b506101e960048036038101906101e491906136dc565b611455565b005b3480156101f757600080fd5b5061020061157f565b60405161020d9190614137565b60405180910390f35b34801561022257600080fd5b5061023d60048036038101906102389190613537565b6115a3565b005b34801561024b57600080fd5b50610254611674565b6040516102619190614137565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c91906135e7565b611698565b005b34801561029f57600080fd5b506102ba60048036038101906102b59190613537565b611795565b005b600080600080858060200190518101906102d69190613891565b9350935093509350600086805190602001209050600254811461032e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610325906142aa565b60405180910390fd5b6000801b6002819055508360008151811061034c5761034b614d18565b5b60200260200101516101200151156103c0578260028151811061037257610371614d18565b5b6020026020010151610384833061186a565b61038e9190614b08565b836001815181106103a2576103a1614d18565b5b60200260200101818152505060018560800190151590811515815250505b60018451111561053b57836001815181106103de576103dd614d18565b5b602002602001015161010001511561052d578360008151811061040457610403614d18565b5b60200260200101516101200151156104e557600061044283866001815181106104305761042f614d18565b5b6020026020010151610160015161186a565b905061048a838660018151811061045c5761045b614d18565b5b602002602001015161016001518660018151811061047d5761047c614d18565b5b6020026020010151611965565b806104b584876001815181106104a3576104a2614d18565b5b6020026020010151610160015161186a565b6104bf9190614b08565b846001815181106104d3576104d2614d18565b5b6020026020010181815250505061052c565b61052b82856001815181106104fd576104fc614d18565b5b602002602001015161016001518560018151811061051e5761051d614d18565b5b6020026020010151611965565b5b5b61053a8585600186611a9b565b5b8460200151836001855161054f9190614b08565b815181106105605761055f614d18565b5b602002602001015110156105a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a0906143ea565b60405180910390fd5b8460a00151156105bd576105bc83611dad565b5b600086511115610637573373ffffffffffffffffffffffffffffffffffffffff16635eb7d946876040518263ffffffff1660e01b815260040161060091906141c6565b600060405180830381600087803b15801561061a57600080fd5b505af115801561062e573d6000803e3d6000fd5b50505050610682565b61068185600001518560008151811061065357610652614d18565b5b602002602001015161016001518560008151811061067457610673614d18565b5b6020026020010151611965565b5b50505050505050565b60606000610697612df5565b60603073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148260a0019015159081151581525050600080600080600060ff60018b015116945069ffffffffffffffffffff600d8b0151169350600f8a0151925060118a015191508161ffff16876040018181525050601197506000600186161415610785577f000000000000000000000000e91d153e0b41518a2ce8dd3d7944fa863463a97d876000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506107d6565b6014886107929190614a27565b97506000888b0151905080886000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050505b6007600186901c1690506000602086161480156107f557508660a00151155b1561082e576127108361271061080b91906149b1565b61ffff168561081a9190614aae565b6108249190614a7d565b8760200181815250505b6000604086161461084b5760018760600190151590811515815250505b6001816108589190614a27565b67ffffffffffffffff81111561087157610870614d47565b5b60405190808252806020026020018201604052801561089f5781602001602082028036833780820191505090505b50985083896000815181106108b7576108b6614d18565b5b6020026020010181815250508067ffffffffffffffff8111156108dd576108dc614d47565b5b60405190808252806020026020018201604052801561091657816020015b610903612e47565b8152602001906001900390816108fb5790505b509550505050505060005b815181101561101d57600082828151811061093f5761093e614d18565b5b6020026020010151905060008061ffff6002888b0101511691507376543210ffeeddccbbaa998877665544332211006016888b0101511890506016876109859190614a27565b96508083610160019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001808316148360c00190151590811515815250506007600183901c16836020018181525050600183602001511415610a115760008360200181815250506001836101400190151590811515815250505b600083602001511415610a3557600183610100019015159081151581525050610a4d565b60006080831614158360e00190151590811515815250505b60006007600484901c169050600484602001511415610b565760008111610aa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa09061444a565b60405180910390fd5b600181610ab69190614b08565b9050601488610ac59190614a27565b975060007376543210ffeeddccbbaa99887766554433221100898c01511890508085610180019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600061010085161415856101000190151590811515815250506000610200851614158561012001901515908115158152505050610bf3565b600584602001511415610bc75783610160015184610180019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600184610100019015159081151581525050600181610bc09190614a27565b9050610bf2565b60006180008416141584610120019015159081151581525050607f600884901c168460000181815250505b5b6000811115610c5f57600181610c099190614a27565b67ffffffffffffffff811115610c2257610c21614d47565b5b604051908082528060200260200182016040528015610c505781602001602082028036833780820191505090505b50846101a00181905250610ca5565b836101000151610ca4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9b9061442a565b60405180910390fd5b5b5050506000816101a00151511115610f51576000816101a001519050600081519050600583602001511415610d4d576004836020018181525050856000015182600183610cf29190614b08565b81518110610d0357610d02614d18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600181610d4a9190614b08565b90505b6000600190505b81811015610deb57601488610d699190614a27565b975060007376543210ffeeddccbbaa99887766554433221100898c015118905080848381518110610d9d57610d9c614d18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050508080610de390614c71565b915050610d54565b50826101000151610f4e576000841415610e5757856000015182600081518110610e1857610e17614d18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610f4d565b600085600186610e679190614b08565b81518110610e7857610e77614d18565b5b602002602001015190506000816101a001515111610ecb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec29061422a565b60405180910390fd5b806101a001516001826101a0015151610ee49190614b08565b81518110610ef557610ef4614d18565b5b602002602001015183600081518110610f1157610f10614d18565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050505b5b50505b610f75868381518110610f6757610f66614d18565b5b602002602001015182611dc7565b86600184610f839190614a27565b81518110610f9457610f93614d18565b5b602002602001018181525050600086600184610fb09190614a27565b81518110610fc157610fc0614d18565b5b602002602001015111611009576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110009061436a565b60405180910390fd5b50808061101590614c71565b915050610921565b506000826040015111156110a95761271082604001516127106110409190614b08565b856001875161104f9190614b08565b815181106110605761105f614d18565b5b60200260200101516110729190614aae565b61107c9190614a7d565b846001865161108b9190614b08565b8151811061109c5761109b614d18565b5b6020026020010181815250505b816020015184600186516110bd9190614b08565b815181106110ce576110cd614d18565b5b60200260200101511015611117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110e906143ca565b60405180910390fd5b600061112783600001513061186a565b90508260a0015161113b5761113a6121ac565b5b8260600151156111555761115083838761222f565b6111d4565b8160008151811061116957611168614d18565b5b60200260200101516101000151156111c6576111c583600001518360008151811061119757611196614d18565b5b60200260200101516101600151876000815181106111b8576111b7614d18565b5b6020026020010151611965565b5b6111d38383600088611a9b565b5b8260a00151156111e8576111e785611dad565b5b806111f784600001513061186a565b1015611238576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122f9061432a565b60405180910390fd5b50505050919050565b60603073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113685760003073ffffffffffffffffffffffffffffffffffffffff166000366040516112a0929190614107565b6000604051808303816000865af19150503d80600081146112dd576040519150601f19603f3d011682016040523d82523d6000602084013e6112e2565b606091505b5050905080600081146112f157fe5b60046000803e7fffffffff000000000000000000000000000000000000000000000000000000006000511660007ffa61cc120000000000000000000000000000000000000000000000000000000082141415611351573d6000803e3d6000fd5b602060005260043d0380600460203e602081016000f35b6113b583838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061068b565b5092915050565b61144e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506102bc565b5050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da9061426a565b60405180910390fd5b60005b8383905081101561157957600082905060008114156115335761153085858481811061151557611514614d18565b5b905060200201602081019061152a9190613537565b3061186a565b90505b61156585858481811061154957611548614d18565b5b905060200201602081019061155e9190613537565b3383611965565b50808061157190614c71565b9150506114e6565b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611631576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116289061426a565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b7f000000000000000000000000e91d153e0b41518a2ce8dd3d7944fa863463a97d81565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171d9061426a565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16828260405161174d929190614107565b600060405180830381855af49150503d8060008114611788576040519150601f19603f3d011682016040523d82523d6000602084013e61178d565b606091505b505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181a9061426a565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60008060008473ffffffffffffffffffffffffffffffffffffffff166370a082318560405160240161189c9190614137565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516118ea9190614120565b600060405180830381855afa9150503d8060008114611925576040519150601f19603f3d011682016040523d82523d6000602084013e61192a565b606091505b509150915081801561193e57506020815110155b61194757600080fd5b8080602001905181019061195b9190613985565b9250505092915050565b6000808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb858560405160240161199792919061417b565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516119e59190614120565b6000604051808303816000865af19150503d8060008114611a22576040519150601f19603f3d011682016040523d82523d6000602084013e611a27565b606091505b5091509150818015611a555750600081511480611a54575080806020019051810190611a539190613785565b5b5b611a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8b906142ca565b60405180910390fd5b5050505050565b5b8251821015611da757600060018451611ab59190614b08565b83108015611aeb575083600184611acc9190614a27565b81518110611add57611adc614d18565b5b602002602001015161010001515b611af55730611b22565b83600184611b039190614a27565b81518110611b1457611b13614d18565b5b602002602001015161016001515b90506000806000868681518110611b3c57611b3b614d18565b5b60200260200101519050876080015180611b5857508061012001515b886080019015159081151581525050876080015115611ccf576000816101a001515111611bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb19061428a565b60405180910390fd5b806101a001516001826101a0015151611bd39190614b08565b81518110611be457611be3614d18565b5b602002602001015192503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c545750600087600188611c359190614a27565b81518110611c4657611c45614d18565b5b602002602001015160200151145b8015611c8a5750600087600188611c6b9190614a27565b81518110611c7c57611c7b614d18565b5b602002602001015160400151115b15611cc15786600187611c9d9190614a27565b81518110611cae57611cad614d18565b5b6020026020010151604001519150611cce565b611ccb838561186a565b91505b5b611cdc8882888888612540565b876080015115611d905781611cf1848661186a565b611cfb9190614b08565b85600188611d099190614a27565b81518110611d1a57611d19614d18565b5b602002602001018181525050600085600188611d369190614a27565b81518110611d4757611d46614d18565b5b602002602001015111611d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d869061440a565b60405180910390fd5b5b505050508180611d9f90614c71565b925050611a9c565b50505050565b602081510263fa61cc126020830352600482036024820181fd5b60008282608001511415611de1578160a0015190506121a6565b82826080018181525050600082602001511415611fae57600082604001511415611ee95781610160015173ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015611e5057600080fd5b505afa158015611e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e889190613932565b826dffffffffffffffffffffffffffff169250816dffffffffffffffffffffffffffff169150508360400184606001828152508281525050508160c0015115611ee857816060015182604001518360400184606001828152508281525050505b5b60008260400151118015611f01575060008260600151115b611f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f37906142ea565b60405180910390fd5b60008260000151612710611f549190614b08565b84611f5f9190614aae565b9050806127108460400151611f749190614aae565b611f7e9190614a27565b836060015182611f8e9190614aae565b611f989190614a7d565b8360a00181815250508260a001519150506121a6565b60028260200151141561209757600082610160015173ffffffffffffffffffffffffffffffffffffffff1663d06ca61f85856101a001516040518363ffffffff1660e01b815260040161200292919061450b565b60006040518083038186803b15801561201a57600080fd5b505afa15801561202e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190612057919061373c565b905080600182516120689190614b08565b8151811061207957612078614d18565b5b60200260200101518360a00181815250508260a001519150506121a6565b60048260200151141561216b5781610180015173ffffffffffffffffffffffffffffffffffffffff16639701eaa8848461016001518560c001516120dc5760006120df565b60015b866101a001516040518563ffffffff1660e01b815260040161210494939291906144bf565b602060405180830381600087803b15801561211e57600080fd5b505af1158015612132573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121569190613985565b8260a00181815250508160a0015190506121a6565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219d9061438a565b60405180910390fd5b92915050565b60018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461222d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612224906143aa565b60405180910390fd5b565b60008260008151811061224557612244614d18565b5b602002602001015190508060e001511561226d5761226c8460000151826101600151612b7e565b5b6000816101a001516001836101a00151516122889190614b08565b8151811061229957612298614d18565b5b60200260200101519050816101200151156122d9576122b8813061186a565b836002815181106122cc576122cb614d18565b5b6020026020010181815250505b6000858585846040516020016122f2949392919061446a565b604051602081830303815290604052905080805190602001206002819055506000836020015114156123d55760008060008660018151811061233757612336614d18565b5b6020026020010151915091508460c001511561235857808280925081935050505b84610160015173ffffffffffffffffffffffffffffffffffffffff1663022c0d9f838330876040518563ffffffff1660e01b815260040161239c94939291906145cc565b600060405180830381600087803b1580156123b657600080fd5b505af11580156123ca573d6000803e3d6000fd5b5050505050506124f1565b6004836020015114156124b55782610180015173ffffffffffffffffffffffffffffffffffffffff1663a20e5faf8560008151811061241757612416614d18565b5b60200260200101518660018151811061243357612432614d18565b5b60200260200101518661016001518760c00151612451576000612454565b60015b886101a0015130886040518863ffffffff1660e01b815260040161247e9796959493929190614618565b600060405180830381600087803b15801561249857600080fd5b505af11580156124ac573d6000803e3d6000fd5b505050506124f0565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e79061420a565b60405180910390fd5b5b6000801b60025414612538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252f9061430a565b60405180910390fd5b505050505050565b60008460200151141561270e576000808360018661255e9190614a27565b8151811061256f5761256e614d18565b5b602002602001015190508660800151156125aa576125a784868151811061259957612598614d18565b5b602002602001015187611dc7565b90505b8560c00151156125bf57808280925081935050505b856101400151156126435785610160015173ffffffffffffffffffffffffffffffffffffffff16636d9a640a8383866040518463ffffffff1660e01b815260040161260c93929190614595565b600060405180830381600087803b15801561262657600080fd5b505af115801561263a573d6000803e3d6000fd5b50505050612707565b85610160015173ffffffffffffffffffffffffffffffffffffffff1663022c0d9f838386600067ffffffffffffffff81111561268257612681614d47565b5b6040519080825280601f01601f1916602001820160405280156126b45781602001600182028036833780820191505090505b506040518563ffffffff1660e01b81526004016126d494939291906145cc565b600060405180830381600087803b1580156126ee57600080fd5b505af1158015612702573d6000803e3d6000fd5b505050505b5050612b77565b8360e001511561274857612747846101a0015160008151811061273457612733614d18565b5b6020026020010151856101600151612b7e565b5b6002846020015114156128ed578460800151156128005783610160015173ffffffffffffffffffffffffffffffffffffffff16635c11d79583858151811061279357612792614d18565b5b60200260200101516000876101a0015185639c2280456040518663ffffffff1660e01b81526004016127c995949392919061453b565b600060405180830381600087803b1580156127e357600080fd5b505af11580156127f7573d6000803e3d6000fd5b505050506128e8565b83610160015173ffffffffffffffffffffffffffffffffffffffff166338ed173983858151811061283457612833614d18565b5b60200260200101518460018761284a9190614a27565b8151811061285b5761285a614d18565b5b6020026020010151876101a0015185639c2280456040518663ffffffff1660e01b815260040161288f959493929190614712565b600060405180830381600087803b1580156128a957600080fd5b505af11580156128bd573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906128e6919061373c565b505b612b77565b600484602001511415612b35576000856080015161293157826001856129139190614a27565b8151811061292457612923614d18565b5b6020026020010151612934565b60005b905060008086610180015173ffffffffffffffffffffffffffffffffffffffff1663a20e5faf86888151811061296d5761296c614d18565b5b6020026020010151858a61016001518b60c0015161298c57600061298f565b60015b8c6101a001518a600067ffffffffffffffff8111156129b1576129b0614d47565b5b6040519080825280601f01601f1916602001820160405280156129e35781602001600182028036833780820191505090505b506040516024016129fa9796959493929190614695565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051612a489190614120565b600060405180830381855af49150503d8060008114612a83576040519150601f19603f3d011682016040523d82523d6000602084013e612a88565b606091505b509150915081612b2d57604481511015612ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ace9061424a565b60405180910390fd5b60048101905080806020019051810190612af19190613848565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2491906141e8565b60405180910390fd5b505050612b77565b6000612b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6d9061438a565b60405180910390fd5b5b5050505050565b6000612b8b833084612bc1565b1415612bbd57612bbc82827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612cbf565b5b5050565b60008060008573ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e8686604051602401612bf5929190614152565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051612c439190614120565b600060405180830381855afa9150503d8060008114612c7e576040519150601f19603f3d011682016040523d82523d6000602084013e612c83565b606091505b5091509150818015612c9757506020815110155b612ca057600080fd5b80806020019051810190612cb49190613985565b925050509392505050565b6000808473ffffffffffffffffffffffffffffffffffffffff1663095ea7b38585604051602401612cf192919061417b565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051612d3f9190614120565b6000604051808303816000865af19150503d8060008114612d7c576040519150601f19603f3d011682016040523d82523d6000602084013e612d81565b606091505b5091509150818015612daf5750600081511480612dae575080806020019051810190612dad9190613785565b5b5b612dee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612de59061434a565b60405180910390fd5b5050505050565b6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020016000151581526020016000151581526020016000151581525090565b604051806101c00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600015158152602001600015158152602001600015158152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b6000612eff612efa84614791565b61476c565b90508083825260208201905082856020860282011115612f2257612f21614d94565b5b60005b85811015612f525781612f3888826130f3565b845260208401935060208301925050600181019050612f25565b5050509392505050565b6000612f6f612f6a846147bd565b61476c565b90508083825260208201905082856020860282011115612f9257612f91614d94565b5b60005b85811015612fe057815167ffffffffffffffff811115612fb857612fb7614d7b565b5b808601612fc58982613379565b85526020850194506020840193505050600181019050612f95565b5050509392505050565b6000612ffd612ff8846147e9565b61476c565b905080838252602082019050828560208602820111156130205761301f614d94565b5b60005b858110156130505781613036888261350d565b845260208401935060208301925050600181019050613023565b5050509392505050565b600061306d61306884614815565b61476c565b90508281526020810184848401111561308957613088614d99565b5b613094848285614bfe565b509392505050565b60006130af6130aa84614846565b61476c565b9050828152602081018484840111156130cb576130ca614d99565b5b6130d6848285614c0d565b509392505050565b6000813590506130ed816150c4565b92915050565b600081519050613102816150c4565b92915050565b600081359050613117816150db565b92915050565b60008151905061312c816150db565b92915050565b60008083601f84011261314857613147614d7b565b5b8235905067ffffffffffffffff81111561316557613164614d76565b5b60208301915083602082028301111561318157613180614d94565b5b9250929050565b600082601f83011261319d5761319c614d7b565b5b81516131ad848260208601612eec565b91505092915050565b600082601f8301126131cb576131ca614d7b565b5b81516131db848260208601612f5c565b91505092915050565b600082601f8301126131f9576131f8614d7b565b5b8151613209848260208601612fea565b91505092915050565b600081519050613221816150f2565b92915050565b60008083601f84011261323d5761323c614d7b565b5b8235905067ffffffffffffffff81111561325a57613259614d76565b5b60208301915083600182028301111561327657613275614d94565b5b9250929050565b600082601f83011261329257613291614d7b565b5b81356132a284826020860161305a565b91505092915050565b600082601f8301126132c0576132bf614d7b565b5b81516132d084826020860161309c565b91505092915050565b600060c082840312156132ef576132ee614d80565b5b6132f960c061476c565b90506000613309848285016130f3565b600083015250602061331d8482850161350d565b60208301525060406133318482850161350d565b604083015250606061334584828501613212565b606083015250608061335984828501613212565b60808301525060a061336d84828501613212565b60a08301525092915050565b60006101c082840312156133905761338f614d80565b5b61339b6101c061476c565b905060006133ab8482850161350d565b60008301525060206133bf8482850161350d565b60208301525060406133d38482850161350d565b60408301525060606133e78482850161350d565b60608301525060806133fb8482850161350d565b60808301525060a061340f8482850161350d565b60a08301525060c061342384828501613212565b60c08301525060e061343784828501613212565b60e08301525061010061344c84828501613212565b6101008301525061012061346284828501613212565b6101208301525061014061347884828501613212565b6101408301525061016061348e848285016130f3565b610160830152506101806134a4848285016130f3565b610180830152506101a082015167ffffffffffffffff8111156134ca576134c9614d8a565b5b6134d684828501613188565b6101a08301525092915050565b6000815190506134f281615109565b92915050565b60008135905061350781615120565b92915050565b60008151905061351c81615120565b92915050565b60008151905061353181615137565b92915050565b60006020828403121561354d5761354c614da3565b5b600061355b848285016130de565b91505092915050565b6000806000806080858703121561357e5761357d614da3565b5b600061358c87828801613108565b945050602061359d878288016134f8565b93505060406135ae878288016134f8565b925050606085013567ffffffffffffffff8111156135cf576135ce614d9e565b5b6135db8782880161327d565b91505092959194509250565b600080600060408486031215613600576135ff614da3565b5b600061360e868287016130de565b935050602084013567ffffffffffffffff81111561362f5761362e614d9e565b5b61363b86828701613227565b92509250509250925092565b60008060008060006060868803121561366357613662614da3565b5b6000613671888289016130de565b955050602086013567ffffffffffffffff81111561369257613691614d9e565b5b61369e88828901613227565b9450945050604086013567ffffffffffffffff8111156136c1576136c0614d9e565b5b6136cd88828901613227565b92509250509295509295909350565b6000806000604084860312156136f5576136f4614da3565b5b600084013567ffffffffffffffff81111561371357613712614d9e565b5b61371f86828701613132565b93509350506020613732868287016134f8565b9150509250925092565b60006020828403121561375257613751614da3565b5b600082015167ffffffffffffffff8111156137705761376f614d9e565b5b61377c848285016131e4565b91505092915050565b60006020828403121561379b5761379a614da3565b5b60006137a984828501613212565b91505092915050565b600080602083850312156137c9576137c8614da3565b5b600083013567ffffffffffffffff8111156137e7576137e6614d9e565b5b6137f385828601613227565b92509250509250929050565b60006020828403121561381557613814614da3565b5b600082013567ffffffffffffffff81111561383357613832614d9e565b5b61383f8482850161327d565b91505092915050565b60006020828403121561385e5761385d614da3565b5b600082015167ffffffffffffffff81111561387c5761387b614d9e565b5b613888848285016132ab565b91505092915050565b60008060008061012085870312156138ac576138ab614da3565b5b60006138ba878288016132d9565b94505060c085015167ffffffffffffffff8111156138db576138da614d9e565b5b6138e7878288016131b6565b93505060e085015167ffffffffffffffff81111561390857613907614d9e565b5b613914878288016131e4565b9250506101006139268782880161311d565b91505092959194509250565b60008060006060848603121561394b5761394a614da3565b5b6000613959868287016134e3565b935050602061396a868287016134e3565b925050604061397b86828701613522565b9150509250925092565b60006020828403121561399b5761399a614da3565b5b60006139a98482850161350d565b91505092915050565b60006139be83836139f6565b60208301905092915050565b60006139d68383613f9d565b905092915050565b60006139ea83836140cb565b60208301905092915050565b6139ff81614b3c565b82525050565b613a0e81614b3c565b82525050565b6000613a1f826148a7565b613a298185614905565b9350613a3483614877565b8060005b83811015613a65578151613a4c88826139b2565b9750613a57836148de565b925050600181019050613a38565b5085935050505092915050565b6000613a7d826148a7565b613a878185614916565b9350613a9283614877565b8060005b83811015613ac3578151613aaa88826139b2565b9750613ab5836148de565b925050600181019050613a96565b5085935050505092915050565b6000613adb826148b2565b613ae58185614927565b935083602082028501613af785614887565b8060005b85811015613b335784840389528151613b1485826139ca565b9450613b1f836148eb565b925060208a01995050600181019050613afb565b50829750879550505050505092915050565b6000613b50826148bd565b613b5a8185614938565b9350613b6583614897565b8060005b83811015613b96578151613b7d88826139de565b9750613b88836148f8565b925050600181019050613b69565b5085935050505092915050565b613bac81614b60565b82525050565b6000613bbe838561495a565b9350613bcb838584614bfe565b82840190509392505050565b6000613be2826148c8565b613bec8185614949565b9350613bfc818560208601614c0d565b613c0581614da8565b840191505092915050565b6000613c1b826148c8565b613c25818561495a565b9350613c35818560208601614c0d565b80840191505092915050565b613c4a81614bda565b82525050565b6000613c5b826148d3565b613c658185614965565b9350613c75818560208601614c0d565b613c7e81614da8565b840191505092915050565b6000613c96600c83614965565b9150613ca182614db9565b602082019050919050565b6000613cb9601383614965565b9150613cc482614de2565b602082019050919050565b6000613cdc600b83614965565b9150613ce782614e0b565b602082019050919050565b6000613cff601383614965565b9150613d0a82614e34565b602082019050919050565b6000613d22601883614965565b9150613d2d82614e5d565b602082019050919050565b6000613d45600b83614965565b9150613d5082614e86565b602082019050919050565b6000613d68601383614965565b9150613d7382614eaf565b602082019050919050565b6000613d8b601a83614965565b9150613d9682614ed8565b602082019050919050565b6000613dae600983614965565b9150613db982614f01565b602082019050919050565b6000613dd1600683614965565b9150613ddc82614f2a565b602082019050919050565b6000613df4601283614965565b9150613dff82614f53565b602082019050919050565b6000613e17600983614965565b9150613e2282614f7c565b602082019050919050565b6000613e3a600d83614965565b9150613e4582614fa5565b602082019050919050565b6000613e5d600d83614965565b9150613e6882614fce565b602082019050919050565b6000613e80601e83614965565b9150613e8b82614ff7565b602082019050919050565b6000613ea3601f83614965565b9150613eae82615020565b602082019050919050565b6000613ec6600983614965565b9150613ed182615049565b602082019050919050565b6000613ee9601583614965565b9150613ef482615072565b602082019050919050565b6000613f0c601383614965565b9150613f178261509b565b602082019050919050565b60c082016000820151613f3860008501826139f6565b506020820151613f4b60208501826140cb565b506040820151613f5e60408501826140cb565b506060820151613f716060850182613ba3565b506080820151613f846080850182613ba3565b5060a0820151613f9760a0850182613ba3565b50505050565b60006101c083016000830151613fb660008601826140cb565b506020830151613fc960208601826140cb565b506040830151613fdc60408601826140cb565b506060830151613fef60608601826140cb565b50608083015161400260808601826140cb565b5060a083015161401560a08601826140cb565b5060c083015161402860c0860182613ba3565b5060e083015161403b60e0860182613ba3565b50610100830151614050610100860182613ba3565b50610120830151614065610120860182613ba3565b5061014083015161407a610140860182613ba3565b5061016083015161408f6101608601826139f6565b506101808301516140a46101808601826139f6565b506101a08301518482036101a08601526140be8282613a14565b9150508091505092915050565b6140d481614bb3565b82525050565b6140e381614bb3565b82525050565b6140f281614bec565b82525050565b61410181614bcd565b82525050565b6000614114828486613bb2565b91508190509392505050565b600061412c8284613c10565b915081905092915050565b600060208201905061414c6000830184613a05565b92915050565b60006040820190506141676000830185613a05565b6141746020830184613a05565b9392505050565b60006040820190506141906000830185613a05565b61419d60208301846140da565b9392505050565b600060208201905081810360008301526141be8184613b45565b905092915050565b600060208201905081810360008301526141e08184613bd7565b905092915050565b600060208201905081810360008301526142028184613c50565b905092915050565b6000602082019050818103600083015261422381613c89565b9050919050565b6000602082019050818103600083015261424381613cac565b9050919050565b6000602082019050818103600083015261426381613ccf565b9050919050565b6000602082019050818103600083015261428381613cf2565b9050919050565b600060208201905081810360008301526142a381613d15565b9050919050565b600060208201905081810360008301526142c381613d38565b9050919050565b600060208201905081810360008301526142e381613d5b565b9050919050565b6000602082019050818103600083015261430381613d7e565b9050919050565b6000602082019050818103600083015261432381613da1565b9050919050565b6000602082019050818103600083015261434381613dc4565b9050919050565b6000602082019050818103600083015261436381613de7565b9050919050565b6000602082019050818103600083015261438381613e0a565b9050919050565b600060208201905081810360008301526143a381613e2d565b9050919050565b600060208201905081810360008301526143c381613e50565b9050919050565b600060208201905081810360008301526143e381613e73565b9050919050565b6000602082019050818103600083015261440381613e96565b9050919050565b6000602082019050818103600083015261442381613eb9565b9050919050565b6000602082019050818103600083015261444381613edc565b9050919050565b6000602082019050818103600083015261446381613eff565b9050919050565b6000610120820190506144806000830187613f22565b81810360c08301526144928186613ad0565b905081810360e08301526144a68185613b45565b90506144b6610100830184613a05565b95945050505050565b60006080820190506144d460008301876140da565b6144e16020830186613a05565b6144ee60408301856140e9565b81810360608301526145008184613a72565b905095945050505050565b600060408201905061452060008301856140da565b81810360208301526145328184613a72565b90509392505050565b600060a08201905061455060008301886140da565b61455d6020830187613c41565b818103604083015261456f8186613a72565b905061457e6060830185613a05565b61458b60808301846140da565b9695505050505050565b60006060820190506145aa60008301866140da565b6145b760208301856140da565b6145c46040830184613a05565b949350505050565b60006080820190506145e160008301876140da565b6145ee60208301866140da565b6145fb6040830185613a05565b818103606083015261460d8184613bd7565b905095945050505050565b600060e08201905061462d600083018a6140da565b61463a60208301896140da565b6146476040830188613a05565b61465460608301876140e9565b81810360808301526146668186613a72565b905061467560a0830185613a05565b81810360c08301526146878184613bd7565b905098975050505050505050565b600060e0820190506146aa600083018a6140da565b6146b760208301896140da565b6146c46040830188613a05565b6146d160608301876140f8565b81810360808301526146e38186613a72565b90506146f260a0830185613a05565b81810360c08301526147048184613bd7565b905098975050505050505050565b600060a08201905061472760008301886140da565b61473460208301876140da565b81810360408301526147468186613a72565b90506147556060830185613a05565b61476260808301846140da565b9695505050505050565b6000614776614787565b90506147828282614c40565b919050565b6000604051905090565b600067ffffffffffffffff8211156147ac576147ab614d47565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156147d8576147d7614d47565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561480457614803614d47565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156148305761482f614d47565b5b61483982614da8565b9050602081019050919050565b600067ffffffffffffffff82111561486157614860614d47565b5b61486a82614da8565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000808585111561498a57614989614d8f565b5b8386111561499b5761499a614d85565b5b6001850283019150848603905094509492505050565b60006149bc82614b6c565b91506149c783614b6c565b925081617fff038313600083121516156149e4576149e3614cba565b5b817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000038312600083121615614a1c57614a1b614cba565b5b828201905092915050565b6000614a3282614bb3565b9150614a3d83614bb3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614a7257614a71614cba565b5b828201905092915050565b6000614a8882614bb3565b9150614a9383614bb3565b925082614aa357614aa2614ce9565b5b828204905092915050565b6000614ab982614bb3565b9150614ac483614bb3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614afd57614afc614cba565b5b828202905092915050565b6000614b1382614bb3565b9150614b1e83614bb3565b925082821015614b3157614b30614cba565b5b828203905092915050565b6000614b4782614b93565b9050919050565b6000614b5982614b93565b9050919050565b60008115159050919050565b60008160010b9050919050565b60006dffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b6000614be582614bb3565b9050919050565b6000614bf782614bcd565b9050919050565b82818337600083830152505050565b60005b83811015614c2b578082015181840152602081019050614c10565b83811115614c3a576000848401525b50505050565b614c4982614da8565b810181811067ffffffffffffffff82111715614c6857614c67614d47565b5b80604052505050565b6000614c7c82614bb3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614caf57614cae614cba565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f42423a20464c5f524f5554450000000000000000000000000000000000000000600082015250565b7f42423a204d6973734f7574707574546f6b656e00000000000000000000000000600082015250565b7f42423a2041646170746f72000000000000000000000000000000000000000000600082015250565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b7f42423a20526f7574654d6973734f7574707574546f6b656e0000000000000000600082015250565b7f42423a20464c5f5349474e000000000000000000000000000000000000000000600082015250565b7f42423a205452414e534645525f4641494c454400000000000000000000000000600082015250565b7f42423a20494e53554646494349454e545f4c4951554944495459000000000000600082015250565b7f42423a20464c5f43420000000000000000000000000000000000000000000000600082015250565b7f42423a20434b0000000000000000000000000000000000000000000000000000600082015250565b7f42423a20415050524f56455f4641494c45440000000000000000000000000000600082015250565b7f42423a204661696c310000000000000000000000000000000000000000000000600082015250565b7f42423a20526f7574655479706500000000000000000000000000000000000000600082015250565b7f42423a20466f7262696464656e00000000000000000000000000000000000000600082015250565b7f42423a20494e53554646494349454e545f4f55545055545f414d4f554e540000600082015250565b7f42423a20494e53554646494349454e545f4f55545055545f414d4f554e543300600082015250565b7f42423a204661696c320000000000000000000000000000000000000000000000600082015250565b7f42423a20526f75746572576974686f7574506174680000000000000000000000600082015250565b7f42423a2041646170746f72417267756d656e7400000000000000000000000000600082015250565b6150cd81614b3c565b81146150d857600080fd5b50565b6150e481614b4e565b81146150ef57600080fd5b50565b6150fb81614b60565b811461510657600080fd5b50565b61511281614b79565b811461511d57600080fd5b50565b61512981614bb3565b811461513457600080fd5b50565b61514081614bbd565b811461514b57600080fd5b5056fea26469706673582212207f704b0ca5d45967b57b1aa66ba395bc2c15a10a1dfaa77c495d86706bfe119b64736f6c63430008070033