Contract Address Details

0x454e76079B85B4d39bbec7F385400895676BD647

Creator
0x0129bc–1653d7 at 0x0ad757–4651ac
Balance
0 VLX
Tokens
Fetching tokens...
Transactions
2,829 Transactions
Transfers
14 Transfers
Gas Used
606,602,296
Last Balance Update
69615703

Contract Creation Code

Verify & Publish
0x60c06040523480156200001157600080fd5b50604051620038cf380380620038cf83398101604081905262000034916200004a565b336080526001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a05161380a620000c560003960008181610143015281816103eb01526112d30152600081816101b601528181610c3f0152818161174d015261178c015261380a6000f3fe60806040526004361061005e5760003560e01c80638da5cb5b116100435780638da5cb5b146101a457806391dd7346146101d8578063ef1662861461020557610065565b80633fc8cef3146101315780636c05cd2b1461018f57610065565b3661006557005b34801561007157600080fd5b506000806100823660848184612d30565b81019061008f9190612d7f565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152919350915061012f908290849073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012a9190612db8565b610218565b005b34801561013d57600080fd5b506101657f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561019b57600080fd5b5061012f61038d565b3480156101b057600080fd5b506101657f000000000000000000000000000000000000000000000000000000000000000081565b3480156101e457600080fd5b506101f86101f3366004612dd1565b611232565b6040516101869190612eb1565b61012f610213366004612ec4565b611747565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905291516000928392908716916102af9190612ef0565b6000604051808303816000865af19150503d80600081146102ec576040519150601f19603f3d011682016040523d82523d6000602084013e6102f1565b606091505b509150915081801561031b57508051158061031b57508080602001905181019061031b9190612f1a565b610386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f310000000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b5050505050565b600460008036838181106103a3576103a3612f37565b919091013560f81c91506103ba9050826001612f95565b915060008036848181106103d0576103d0612f37565b919091013560f81c91506103e79050836001612f95565b92507f00000000000000000000000000000000000000000000000000000000000000006000610417846001612f95565b67ffffffffffffffff81111561042f5761042f612fa8565b604051908082528060200260200182016040528015610458578160200160208202803683370190505b509050600080368781811061046f5761046f612f37565b9091013560f81c60011490506104855782610488565b60005b8260008151811061049b5761049b612f37565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526104cb866001612f95565b9550600190505b8481101561054d5760006104e7876014612f95565b90506104f68188366000612d30565b6104ff91612fd7565b60601c83838151811061051457610514612f37565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101529550806105458161301f565b9150506104d2565b6000368781811061056057610560612f37565b9091013560f81c60011490506105765782610579565b60005b82868151811061058b5761058b612f37565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526105bb866001612f95565b955060008567ffffffffffffffff8111156105d8576105d8612fa8565b60405190808252806020026020018201604052801561066d57816020015b604080516101208101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105f65790505b50905060008567ffffffffffffffff81111561068b5761068b612fa8565b60405190808252806020026020018201604052801561070257816020015b6040805160a0810182526000808252602080830182905292820181905260608201819052608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816106a95790505b50905060009550600092505b868310156109b857600061072389601c612f95565b90506000610733828b3684612d30565b61073c91613057565b60001c905081995061074d816117d9565b84868151811061075f5761075f612f37565b602002602001018190525083858151811061077c5761077c612f37565b602002602001015160a0015160ff16600a036109a357602860008b366107a382601b612f95565b926107b093929190612d30565b6107b991613057565b901c9050600160ff60a083901c161460a882901c60c083901c600083156107ef576107e58e601b612f95565b9d508490506107fd565b6107fa8e6007612f95565b9d505b6040518060a00160405280898b8151811061081a5761081a612f37565b602002602001015160c00151610853578b6108368c6001612f95565b8151811061084657610846612f37565b602002602001015161086e565b8b8b8151811061086557610865612f37565b60200260200101515b73ffffffffffffffffffffffffffffffffffffffff168152602001898b8151811061089b5761089b612f37565b602002602001015160c001516108ca578b8b815181106108bd576108bd612f37565b60200260200101516108ef565b8b6108d68c6001612f95565b815181106108e6576108e6612f37565b60200260200101515b73ffffffffffffffffffffffffffffffffffffffff1681526020018362ffffff1681526020018460020b81526020018273ffffffffffffffffffffffffffffffffffffffff16815250878d8151811061094a5761094a612f37565b6020026020010181905250610991888a8151811061096a5761096a612f37565b6020026020010151888e8151811061098457610984612f37565b6020026020010151611e7c565b61099c8c6001612f95565b9b50505050505b505082806109b09061301f565b93505061070e565b600088366109c7826020612f95565b926109d493929190612d30565b6109dd91613057565b60001c9550600080610ad5846000815181106109fb576109fb612f37565b6020026020010151600001516fffffffffffffffffffffffffffffffff1685600081518110610a2c57610a2c612f37565b6020026020010151602001516fffffffffffffffffffffffffffffffff1686600181518110610a5d57610a5d612f37565b6020026020010151600001516fffffffffffffffffffffffffffffffff1687600181518110610a8e57610a8e612f37565b6020026020010151602001516fffffffffffffffffffffffffffffffff1688600181518110610abf57610abf612f37565b60200260200101516060015162ffffff166120d4565b91509150600294505b88851015610b7457610b5d8183868881518110610afd57610afd612f37565b6020026020010151600001516fffffffffffffffffffffffffffffffff16878981518110610b2d57610b2d612f37565b6020026020010151602001516fffffffffffffffffffffffffffffffff16888a81518110610abf57610abf612f37565b909250905084610b6c8161301f565b955050610ade565b83600081518110610b8757610b87612f37565b60200260200101516060015162ffffff1699506000610bc9620f42408c8486610bb09190613093565b610bba9190613093565b610bc491906130d9565b61211e565b905081811015610be0575050505050505050505050565b8a610beb83836130ed565b610bf890620f4240613093565b610c0291906130d9565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008181166004840152929350600091908b16906370a0823190602401602060405180830381865afa158015610c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cba9190612db8565b905080831115610cc8578092505b8a6fffffffffffffffffffffffffffffffff16945060808b901c935084831115610cf0578492505b610d1487600081518110610d0657610d06612f37565b6020026020010151846122a4565b87600081518110610d2757610d27612f37565b6020026020010151602001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508287600081518110610d7157610d71612f37565b60209081029190910101516fffffffffffffffffffffffffffffffff9091169052600197505b8b881015610e8d57600087610dad60018b6130ed565b81518110610dbd57610dbd612f37565b6020026020010151602001519050610e00888a81518110610de057610de0612f37565b6020026020010151826fffffffffffffffffffffffffffffffff166122a4565b888a81518110610e1257610e12612f37565b6020026020010151602001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff168152505080888a81518110610e5b57610e5b612f37565b60209081029190910101516fffffffffffffffffffffffffffffffff909116905250610e868861301f565b9750610d97565b610e978484612f95565b87610ea360018f6130ed565b81518110610eb357610eb3612f37565b6020026020010151602001516fffffffffffffffffffffffffffffffff161015610ee65750505050505050505050505050565b60009a50610f448a8360038a600081518110610f0457610f04612f37565b602002602001015160a0015160ff1611610f3c5789600081518110610f2b57610f2b612f37565b602002602001015160400151610f3e565b305b86612396565b600097505b8b881015611128576000610f5e60018e6130ed565b8903610f6b575081610fd0565b600388610f798b6001612f95565b81518110610f8957610f89612f37565b602002602001015160a0015160ff161115610fa5575030610fd0565b87610fb18a6001612f95565b81518110610fc157610fc1612f37565b60200260200101516040015190505b878981518110610fe257610fe2612f37565b602002602001015160a0015160ff16600a0361104757611035888a8151811061100d5761100d612f37565b602002602001015182898f8151811061102857611028612f37565b602002602001015161250f565b6110408c6001612f95565b9b50611115565b60606003898b8151811061105d5761105d612f37565b602002602001015160a0015160ff1611156110ef57888a8151811061108457611084612f37565b6020026020010151604001518b8b815181106110a2576110a2612f37565b60200260200101516040516020016110dd92919073ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b60405160208183030381529060405290505b611113898b8151811061110457611104612f37565b602002602001015183836126b3565b505b50876111208161301f565b985050610f49565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528b16906370a0823190602401602060405180830381865afa158015611194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b89190612db8565b9250808311611223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f4e00000000000000000000000000000000000000000000000000000000000000604482015260640161037d565b50505050505050505050505050565b60606000808080611245868801886131a7565b935093509350935060008373ffffffffffffffffffffffffffffffffffffffff1663f3cd914c84846040518363ffffffff1660e01b815260040161128a929190613292565b6020604051808303816000875af11580156112a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cd9190612db8565b905060007f00000000000000000000000000000000000000000000000000000000000000009050600080600080866000015115611321575050855160208701519092509050600f84900b608085901d611337565b5050505060208401518451608084901d600f85900b5b600081600f0b6113469061333c565b905073ffffffffffffffffffffffffffffffffffffffff8416611480576040517f0b0d9c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152306024830152604482018590528b1690630b0d9c0990606401600060405180830381600087803b1580156113d957600080fd5b505af11580156113ed573d6000803e3d6000fd5b505050508573ffffffffffffffffffffffffffffffffffffffff1663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561143957600080fd5b505af115801561144d573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff8c163014905061147b5761147b868c85610218565b611511565b6040517f0b0d9c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528c81166024830152604482018590528b1690630b0d9c0990606401600060405180830381600087803b1580156114f857600080fd5b505af115801561150c573d6000803e3d6000fd5b505050505b6040517fa584119400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301528b169063a584119490602401600060405180830381600087803b15801561157a57600080fd5b505af115801561158e573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff861690506116a6576040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff871690632e1a7d4d90602401600060405180830381600087803b15801561161657600080fd5b505af115801561162a573d6000803e3d6000fd5b505050508973ffffffffffffffffffffffffffffffffffffffff166311da60b4826040518263ffffffff1660e01b815260040160206040518083038185885af115801561167b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116a09190612db8565b50611724565b6116b1858b83610218565b8973ffffffffffffffffffffffffffffffffffffffff166311da60b46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156116fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117229190612db8565b505b505060408051600081526020810190915299505050505050505050505b92915050565b611772827f000000000000000000000000000000000000000000000000000000000000000083610218565b60405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016904780156108fc02916000818181858888f193505050501580156117d4573d6000803e3d6000fd5b505050565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152600080602084901c8060ff603887901c161515604087901c60e088901c85808062ffffff8716620f4241036118d0578473ffffffffffffffffffffffffffffffffffffffff1663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa15801561189c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c09190613374565b6118cd90620f4240613391565b96505b60038460ff161115611d695760c888901c9250600a8460ff161015611d645760608460ff16600403611a445760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3850c7bd00000000000000000000000000000000000000000000000000000000179052905173ffffffffffffffffffffffffffffffffffffffff88169161197591612ef0565b600060405180830381855afa9150503d80600081146119b0576040519150601f19603f3d011682016040523d82523d6000602084013e6119b5565b606091505b509050809150508573ffffffffffffffffffffffffffffffffffffffff16631a6865026040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2b91906133d9565b6fffffffffffffffffffffffffffffffff169250611cf0565b8460ff16600603611bac5760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f217ac23700000000000000000000000000000000000000000000000000000000179052905173ffffffffffffffffffffffffffffffffffffffff881691611ac891612ef0565b600060405180830381855afa9150503d8060008114611b03576040519150601f19603f3d011682016040523d82523d6000602084013e611b08565b606091505b509050809150506000808773ffffffffffffffffffffffffffffffffffffffff1663ab612f2b6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8191906133f4565b509092509050611b918183613437565b6fffffffffffffffffffffffffffffffff1694505050611cf0565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fe76c01e400000000000000000000000000000000000000000000000000000000179052905173ffffffffffffffffffffffffffffffffffffffff881691611c2591612ef0565b600060405180830381855afa9150503d8060008114611c60576040519150601f19603f3d011682016040523d82523d6000602084013e611c65565b606091505b509050809150508573ffffffffffffffffffffffffffffffffffffffff16631a6865026040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cdb91906133d9565b6fffffffffffffffffffffffffffffffff1692505b602081015191508762ffffff16620f424203611d13576060810151620f42400397505b611d3773ffffffffffffffffffffffffffffffffffffffff8316606085901b6130d9565b9a506fffffffffffffffffffffffffffffffff8b16611d568480613093565b611d6091906130d9565b9950505b611df1565b8473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd8919061347e565b506dffffffffffffffffffffffffffff9182169b501698505b85611dfa579798975b60408051610120810182526fffffffffffffffffffffffffffffffff9b8c168152998b1660208b015273ffffffffffffffffffffffffffffffffffffffff958616908a015262ffffff96871660608a015291909516608088015260ff90911660a087015291151560c08601521660e08401529092166101008201529392505050565b6000806000806000866040015190506000611e988760a0902090565b9050600081600660001b604051602001611ebc929190918252602082015260400190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905280516020909101207f1e2eaeaf00000000000000000000000000000000000000000000000000000000825260048201819052915060009073ffffffffffffffffffffffffffffffffffffffff851690631e2eaeaf90602401602060405180830381865afa158015611f60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f849190612db8565b73ffffffffffffffffffffffffffffffffffffffff80821696509091508416631e2eaeaf611fb3846003612f95565b60405160e083901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810191909152602401602060405180830381865afa158015612007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202b9190612db8565b955061205173ffffffffffffffffffffffffffffffffffffffff8616606088901b6130d9565b97506fffffffffffffffffffffffffffffffff88166120708780613093565b61207a91906130d9565b96508960c00151612089579596955b5050505073ffffffffffffffffffffffffffffffffffffffff1660e08601526fffffffffffffffffffffffffffffffff90811661010086015291821684521660209092019190915250565b620f42408285028202819004906000908387020485018083816120f9576120f96130aa565b0492508588029150808281612110576121106130aa565b049150509550959350505050565b60008160000361213057506000919050565b81600170010000000000000000000000000000000082106121565760809190911c9060401b5b6801000000000000000082106121715760409190911c9060201b5b64010000000082106121885760209190911c9060101b5b62010000821061219d5760109190911c9060081b5b61010082106121b15760089190911c9060041b5b601082106121c45760049190911c9060021b5b600882106121d05760011b5b60018185816121e1576121e16130aa565b048201901c905060018185816121f9576121f96130aa565b048201901c90506001818581612211576122116130aa565b048201901c90506001818581612229576122296130aa565b048201901c90506001818581612241576122416130aa565b048201901c90506001818581612259576122596130aa565b048201901c90506001818581612271576122716130aa565b048201901c90506000818581612289576122896130aa565b049050808210612299578061229b565b815b95945050505050565b600060038360a0015160ff161115612339576000620f4240846060015162ffffff16846122d19190613093565b6122db91906130d9565b905060006122f88560e00151866101000151848860c0015161292c565b90508460c0015161231c576123178560e001518287610100015161294e565b612330565b612330818660e00151876101000151612a40565b92505050611741565b6000836060015162ffffff1683029050808460000151620f4240026fffffffffffffffffffffffffffffffff160184602001516fffffffffffffffffffffffffffffffff1682028161238d5761238d6130aa565b04949350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905291516000928392908816916124359190612ef0565b6000604051808303816000865af19150503d8060008114612472576040519150601f19603f3d011682016040523d82523d6000602084013e612477565b606091505b50915091508180156124a15750805115806124a15750808060200190518101906124a19190612f1a565b612507576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f3200000000000000000000000000000000000000000000000000000000000000604482015260640161037d565b505050505050565b60008284604001518360405180606001604052808860c0015115158152602001620f4240896080015162ffffff168a6000015161254c91906134ce565b61255691906134fa565b6fffffffffffffffffffffffffffffffff166125719061333c565b81526020018860c001516125995773fffd8963efd1fc6a506488495d951d5263988d256125a0565b6401000276a45b73ffffffffffffffffffffffffffffffffffffffff1690526040516125cb9493929190602001613529565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908601517f48c8949100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff16906348c894919061264e908490600401612eb1565b6000604051808303816000875af115801561266d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261038691908101906135e5565b60048360a0015160ff161015612787576000808460c001516126ed5784602001516fffffffffffffffffffffffffffffffff166000612707565b600085602001516fffffffffffffffffffffffffffffffff165b91509150846040015173ffffffffffffffffffffffffffffffffffffffff1663022c0d9f838387876040518563ffffffff1660e01b815260040161274e94939291906136b0565b600060405180830381600087803b15801561276857600080fd5b505af115801561277c573d6000803e3d6000fd5b505050505050505050565b8260a0015160ff1660060361288257826040015173ffffffffffffffffffffffffffffffffffffffff166324b31a0c83620f4240866080015162ffffff1687600001516127d491906134ce565b6127de91906134fa565b6fffffffffffffffffffffffffffffffff168660c001518760c001516128185773fffd8963efd1fc6a506488495d951d5263988d2561281f565b6401000276a45b866040518663ffffffff1660e01b81526004016128409594939291906136f5565b60408051808303816000875af115801561285e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610386919061373c565b826040015173ffffffffffffffffffffffffffffffffffffffff1663128acb08838560c00151620f4240876080015162ffffff1688600001516128c591906134ce565b6128cf91906134fa565b6fffffffffffffffffffffffffffffffff168760c001516129045773fffd8963efd1fc6a506488495d951d5263988d2561290b565b6401000276a45b866040518663ffffffff1660e01b8152600401612840959493929190613760565b6000816129435761293e858585612acb565b61229b565b61229b858585612b5b565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161115612988579192915b7bffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660006129b786866137a7565b73ffffffffffffffffffffffffffffffffffffffff16905060008673ffffffffffffffffffffffffffffffffffffffff16116129f257600080fd5b8573ffffffffffffffffffffffffffffffffffffffff16612a2a83838873ffffffffffffffffffffffffffffffffffffffff16612c30565b612a3491906130d9565b925050505b9392505050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161115612a7a579192915b612ac36fffffffffffffffffffffffffffffffff8316612a9a86866137a7565b73ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000612c30565b949350505050565b60008073ffffffffffffffffffffffffffffffffffffffff831115612b1957612b14836c01000000000000000000000000866fffffffffffffffffffffffffffffffff16612c30565b612b39565b612b396fffffffffffffffffffffffffffffffff8516606085901b6130d9565b905061229b8173ffffffffffffffffffffffffffffffffffffffff8716612f95565b60007bffffffffffffffffffffffffffffffff000000000000000000000000606084901b168173ffffffffffffffffffffffffffffffffffffffff861684612ba38282613093565b9250612baf90836130d9565b03612bf6576000612bc08284612f95565b9050828110612bf457612bea838873ffffffffffffffffffffffffffffffffffffffff1683612cfe565b9350505050612a39565b505b612a348285612c1b73ffffffffffffffffffffffffffffffffffffffff8a16836130d9565b612c259190612f95565b808204910615150190565b6000838302817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8587098281108382030391505080600003612c8557838281612c7b57612c7b6130aa565b0492505050612a39565b808411612c9157600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6000612d0b848484612c30565b905060008280612d1d57612d1d6130aa565b8486091115612a39578061229b8161301f565b60008085851115612d4057600080fd5b83861115612d4d57600080fd5b5050820193919092039150565b73ffffffffffffffffffffffffffffffffffffffff81168114612d7c57600080fd5b50565b60008060408385031215612d9257600080fd5b8235612d9d81612d5a565b91506020830135612dad81612d5a565b809150509250929050565b600060208284031215612dca57600080fd5b5051919050565b60008060208385031215612de457600080fd5b823567ffffffffffffffff80821115612dfc57600080fd5b818501915085601f830112612e1057600080fd5b813581811115612e1f57600080fd5b866020828501011115612e3157600080fd5b60209290920196919550909350505050565b60005b83811015612e5e578181015183820152602001612e46565b50506000910152565b60008151808452612e7f816020860160208601612e43565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612a396020830184612e67565b60008060408385031215612ed757600080fd5b8235612ee281612d5a565b946020939093013593505050565b60008251612f02818460208701612e43565b9190910192915050565b8015158114612d7c57600080fd5b600060208284031215612f2c57600080fd5b8151612a3981612f0c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561174157611741612f66565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156130175780818660140360031b1b83161692505b505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361305057613050612f66565b5060010190565b80356020831015611741577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b808202811582820484141761174157611741612f66565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826130e8576130e86130aa565b500490565b8181038181111561174157611741612f66565b60405160a0810167ffffffffffffffff8111828210171561312357613123612fa8565b60405290565b62ffffff81168114612d7c57600080fd5b60006060828403121561314c57600080fd5b6040516060810181811067ffffffffffffffff8211171561316f5761316f612fa8565b604052905080823561318081612f0c565b815260208381013590820152604083013561319a81612d5a565b6040919091015292915050565b6000806000808486036101408112156131bf57600080fd5b85356131ca81612d5a565b945060208601356131da81612d5a565b935060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08201121561320c57600080fd5b50613215613100565b604086013561322381612d5a565b8152606086013561323381612d5a565b6020820152608086013561324681613129565b604082015260a0860135600281900b811461326057600080fd5b606082015260c086013561327381612d5a565b608082015291506132878660e0870161313a565b905092959194509250565b60006101206132f0838673ffffffffffffffffffffffffffffffffffffffff80825116835280602083015116602084015262ffffff6040830151166040840152606082015160020b6060840152806080830151166080840152505050565b8351151560a0840152602084015160c0840152604084015173ffffffffffffffffffffffffffffffffffffffff1660e08401526101008301819052600090830152506101400192915050565b60007f8000000000000000000000000000000000000000000000000000000000000000820361336d5761336d612f66565b5060000390565b60006020828403121561338657600080fd5b8151612a3981613129565b62ffffff8281168282160390808211156133ad576133ad612f66565b5092915050565b80516fffffffffffffffffffffffffffffffff811681146133d457600080fd5b919050565b6000602082840312156133eb57600080fd5b612a39826133b4565b60008060006060848603121561340957600080fd5b613412846133b4565b9250613420602085016133b4565b915061342e604085016133b4565b90509250925092565b6fffffffffffffffffffffffffffffffff8181168382160190808211156133ad576133ad612f66565b80516dffffffffffffffffffffffffffff811681146133d457600080fd5b60008060006060848603121561349357600080fd5b61349c84613460565b92506134aa60208501613460565b9150604084015163ffffffff811681146134c357600080fd5b809150509250925092565b6fffffffffffffffffffffffffffffffff81811683821602808216919082811461301757613017612f66565b60006fffffffffffffffffffffffffffffffff8084168061351d5761351d6130aa565b92169190910492915050565b73ffffffffffffffffffffffffffffffffffffffff85811682528416602082015261014081016135ab604083018573ffffffffffffffffffffffffffffffffffffffff80825116835280602083015116602084015262ffffff6040830151166040840152606082015160020b6060840152806080830151166080840152505050565b8251151560e08301526020830151610100830152604083015173ffffffffffffffffffffffffffffffffffffffff1661012083015261229b565b6000602082840312156135f757600080fd5b815167ffffffffffffffff8082111561360f57600080fd5b818401915084601f83011261362357600080fd5b81518181111561363557613635612fa8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561367b5761367b612fa8565b8160405282815287602084870101111561369457600080fd5b6136a5836020830160208801612e43565b979650505050505050565b84815283602082015273ffffffffffffffffffffffffffffffffffffffff831660408201526080606082015260006136eb6080830184612e67565b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8088168352866020840152851515604084015280851660608401525060a060808301526136a560a0830184612e67565b6000806040838503121561374f57600080fd5b505080516020909101519092909150565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a060808301526136a560a0830184612e67565b73ffffffffffffffffffffffffffffffffffffffff8281168282160390808211156133ad576133ad612f6656fea26469706673582212206ca8b547b5b616430c660e8418cfdabd975c8c703a72b0012f6c4001b622c1b864736f6c63430008140033000000000000000000000000c579d1f3cf86749e05cd06f7ade17856c2ce3126

Deployed ByteCode

0x60806040526004361061005e5760003560e01c80638da5cb5b116100435780638da5cb5b146101a457806391dd7346146101d8578063ef1662861461020557610065565b80633fc8cef3146101315780636c05cd2b1461018f57610065565b3661006557005b34801561007157600080fd5b506000806100823660848184612d30565b81019061008f9190612d7f565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152919350915061012f908290849073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012a9190612db8565b610218565b005b34801561013d57600080fd5b506101657f000000000000000000000000c579d1f3cf86749e05cd06f7ade17856c2ce312681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561019b57600080fd5b5061012f61038d565b3480156101b057600080fd5b506101657f0000000000000000000000000129bc54ac23569c2486a5c0319fff0f371653d781565b3480156101e457600080fd5b506101f86101f3366004612dd1565b611232565b6040516101869190612eb1565b61012f610213366004612ec4565b611747565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905291516000928392908716916102af9190612ef0565b6000604051808303816000865af19150503d80600081146102ec576040519150601f19603f3d011682016040523d82523d6000602084013e6102f1565b606091505b509150915081801561031b57508051158061031b57508080602001905181019061031b9190612f1a565b610386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f310000000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b5050505050565b600460008036838181106103a3576103a3612f37565b919091013560f81c91506103ba9050826001612f95565b915060008036848181106103d0576103d0612f37565b919091013560f81c91506103e79050836001612f95565b92507f000000000000000000000000c579d1f3cf86749e05cd06f7ade17856c2ce31266000610417846001612f95565b67ffffffffffffffff81111561042f5761042f612fa8565b604051908082528060200260200182016040528015610458578160200160208202803683370190505b509050600080368781811061046f5761046f612f37565b9091013560f81c60011490506104855782610488565b60005b8260008151811061049b5761049b612f37565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526104cb866001612f95565b9550600190505b8481101561054d5760006104e7876014612f95565b90506104f68188366000612d30565b6104ff91612fd7565b60601c83838151811061051457610514612f37565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101529550806105458161301f565b9150506104d2565b6000368781811061056057610560612f37565b9091013560f81c60011490506105765782610579565b60005b82868151811061058b5761058b612f37565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526105bb866001612f95565b955060008567ffffffffffffffff8111156105d8576105d8612fa8565b60405190808252806020026020018201604052801561066d57816020015b604080516101208101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105f65790505b50905060008567ffffffffffffffff81111561068b5761068b612fa8565b60405190808252806020026020018201604052801561070257816020015b6040805160a0810182526000808252602080830182905292820181905260608201819052608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816106a95790505b50905060009550600092505b868310156109b857600061072389601c612f95565b90506000610733828b3684612d30565b61073c91613057565b60001c905081995061074d816117d9565b84868151811061075f5761075f612f37565b602002602001018190525083858151811061077c5761077c612f37565b602002602001015160a0015160ff16600a036109a357602860008b366107a382601b612f95565b926107b093929190612d30565b6107b991613057565b901c9050600160ff60a083901c161460a882901c60c083901c600083156107ef576107e58e601b612f95565b9d508490506107fd565b6107fa8e6007612f95565b9d505b6040518060a00160405280898b8151811061081a5761081a612f37565b602002602001015160c00151610853578b6108368c6001612f95565b8151811061084657610846612f37565b602002602001015161086e565b8b8b8151811061086557610865612f37565b60200260200101515b73ffffffffffffffffffffffffffffffffffffffff168152602001898b8151811061089b5761089b612f37565b602002602001015160c001516108ca578b8b815181106108bd576108bd612f37565b60200260200101516108ef565b8b6108d68c6001612f95565b815181106108e6576108e6612f37565b60200260200101515b73ffffffffffffffffffffffffffffffffffffffff1681526020018362ffffff1681526020018460020b81526020018273ffffffffffffffffffffffffffffffffffffffff16815250878d8151811061094a5761094a612f37565b6020026020010181905250610991888a8151811061096a5761096a612f37565b6020026020010151888e8151811061098457610984612f37565b6020026020010151611e7c565b61099c8c6001612f95565b9b50505050505b505082806109b09061301f565b93505061070e565b600088366109c7826020612f95565b926109d493929190612d30565b6109dd91613057565b60001c9550600080610ad5846000815181106109fb576109fb612f37565b6020026020010151600001516fffffffffffffffffffffffffffffffff1685600081518110610a2c57610a2c612f37565b6020026020010151602001516fffffffffffffffffffffffffffffffff1686600181518110610a5d57610a5d612f37565b6020026020010151600001516fffffffffffffffffffffffffffffffff1687600181518110610a8e57610a8e612f37565b6020026020010151602001516fffffffffffffffffffffffffffffffff1688600181518110610abf57610abf612f37565b60200260200101516060015162ffffff166120d4565b91509150600294505b88851015610b7457610b5d8183868881518110610afd57610afd612f37565b6020026020010151600001516fffffffffffffffffffffffffffffffff16878981518110610b2d57610b2d612f37565b6020026020010151602001516fffffffffffffffffffffffffffffffff16888a81518110610abf57610abf612f37565b909250905084610b6c8161301f565b955050610ade565b83600081518110610b8757610b87612f37565b60200260200101516060015162ffffff1699506000610bc9620f42408c8486610bb09190613093565b610bba9190613093565b610bc491906130d9565b61211e565b905081811015610be0575050505050505050505050565b8a610beb83836130ed565b610bf890620f4240613093565b610c0291906130d9565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000129bc54ac23569c2486a5c0319fff0f371653d78181166004840152929350600091908b16906370a0823190602401602060405180830381865afa158015610c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cba9190612db8565b905080831115610cc8578092505b8a6fffffffffffffffffffffffffffffffff16945060808b901c935084831115610cf0578492505b610d1487600081518110610d0657610d06612f37565b6020026020010151846122a4565b87600081518110610d2757610d27612f37565b6020026020010151602001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508287600081518110610d7157610d71612f37565b60209081029190910101516fffffffffffffffffffffffffffffffff9091169052600197505b8b881015610e8d57600087610dad60018b6130ed565b81518110610dbd57610dbd612f37565b6020026020010151602001519050610e00888a81518110610de057610de0612f37565b6020026020010151826fffffffffffffffffffffffffffffffff166122a4565b888a81518110610e1257610e12612f37565b6020026020010151602001906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff168152505080888a81518110610e5b57610e5b612f37565b60209081029190910101516fffffffffffffffffffffffffffffffff909116905250610e868861301f565b9750610d97565b610e978484612f95565b87610ea360018f6130ed565b81518110610eb357610eb3612f37565b6020026020010151602001516fffffffffffffffffffffffffffffffff161015610ee65750505050505050505050505050565b60009a50610f448a8360038a600081518110610f0457610f04612f37565b602002602001015160a0015160ff1611610f3c5789600081518110610f2b57610f2b612f37565b602002602001015160400151610f3e565b305b86612396565b600097505b8b881015611128576000610f5e60018e6130ed565b8903610f6b575081610fd0565b600388610f798b6001612f95565b81518110610f8957610f89612f37565b602002602001015160a0015160ff161115610fa5575030610fd0565b87610fb18a6001612f95565b81518110610fc157610fc1612f37565b60200260200101516040015190505b878981518110610fe257610fe2612f37565b602002602001015160a0015160ff16600a0361104757611035888a8151811061100d5761100d612f37565b602002602001015182898f8151811061102857611028612f37565b602002602001015161250f565b6110408c6001612f95565b9b50611115565b60606003898b8151811061105d5761105d612f37565b602002602001015160a0015160ff1611156110ef57888a8151811061108457611084612f37565b6020026020010151604001518b8b815181106110a2576110a2612f37565b60200260200101516040516020016110dd92919073ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b60405160208183030381529060405290505b611113898b8151811061110457611104612f37565b602002602001015183836126b3565b505b50876111208161301f565b985050610f49565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528b16906370a0823190602401602060405180830381865afa158015611194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b89190612db8565b9250808311611223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f4e00000000000000000000000000000000000000000000000000000000000000604482015260640161037d565b50505050505050505050505050565b60606000808080611245868801886131a7565b935093509350935060008373ffffffffffffffffffffffffffffffffffffffff1663f3cd914c84846040518363ffffffff1660e01b815260040161128a929190613292565b6020604051808303816000875af11580156112a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cd9190612db8565b905060007f000000000000000000000000c579d1f3cf86749e05cd06f7ade17856c2ce31269050600080600080866000015115611321575050855160208701519092509050600f84900b608085901d611337565b5050505060208401518451608084901d600f85900b5b600081600f0b6113469061333c565b905073ffffffffffffffffffffffffffffffffffffffff8416611480576040517f0b0d9c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152306024830152604482018590528b1690630b0d9c0990606401600060405180830381600087803b1580156113d957600080fd5b505af11580156113ed573d6000803e3d6000fd5b505050508573ffffffffffffffffffffffffffffffffffffffff1663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561143957600080fd5b505af115801561144d573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff8c163014905061147b5761147b868c85610218565b611511565b6040517f0b0d9c0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528c81166024830152604482018590528b1690630b0d9c0990606401600060405180830381600087803b1580156114f857600080fd5b505af115801561150c573d6000803e3d6000fd5b505050505b6040517fa584119400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301528b169063a584119490602401600060405180830381600087803b15801561157a57600080fd5b505af115801561158e573d6000803e3d6000fd5b50505073ffffffffffffffffffffffffffffffffffffffff861690506116a6576040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff871690632e1a7d4d90602401600060405180830381600087803b15801561161657600080fd5b505af115801561162a573d6000803e3d6000fd5b505050508973ffffffffffffffffffffffffffffffffffffffff166311da60b4826040518263ffffffff1660e01b815260040160206040518083038185885af115801561167b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116a09190612db8565b50611724565b6116b1858b83610218565b8973ffffffffffffffffffffffffffffffffffffffff166311da60b46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156116fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117229190612db8565b505b505060408051600081526020810190915299505050505050505050505b92915050565b611772827f0000000000000000000000000129bc54ac23569c2486a5c0319fff0f371653d783610218565b60405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000129bc54ac23569c2486a5c0319fff0f371653d716904780156108fc02916000818181858888f193505050501580156117d4573d6000803e3d6000fd5b505050565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152600080602084901c8060ff603887901c161515604087901c60e088901c85808062ffffff8716620f4241036118d0578473ffffffffffffffffffffffffffffffffffffffff1663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa15801561189c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c09190613374565b6118cd90620f4240613391565b96505b60038460ff161115611d695760c888901c9250600a8460ff161015611d645760608460ff16600403611a445760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3850c7bd00000000000000000000000000000000000000000000000000000000179052905173ffffffffffffffffffffffffffffffffffffffff88169161197591612ef0565b600060405180830381855afa9150503d80600081146119b0576040519150601f19603f3d011682016040523d82523d6000602084013e6119b5565b606091505b509050809150508573ffffffffffffffffffffffffffffffffffffffff16631a6865026040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2b91906133d9565b6fffffffffffffffffffffffffffffffff169250611cf0565b8460ff16600603611bac5760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f217ac23700000000000000000000000000000000000000000000000000000000179052905173ffffffffffffffffffffffffffffffffffffffff881691611ac891612ef0565b600060405180830381855afa9150503d8060008114611b03576040519150601f19603f3d011682016040523d82523d6000602084013e611b08565b606091505b509050809150506000808773ffffffffffffffffffffffffffffffffffffffff1663ab612f2b6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8191906133f4565b509092509050611b918183613437565b6fffffffffffffffffffffffffffffffff1694505050611cf0565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fe76c01e400000000000000000000000000000000000000000000000000000000179052905173ffffffffffffffffffffffffffffffffffffffff881691611c2591612ef0565b600060405180830381855afa9150503d8060008114611c60576040519150601f19603f3d011682016040523d82523d6000602084013e611c65565b606091505b509050809150508573ffffffffffffffffffffffffffffffffffffffff16631a6865026040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cdb91906133d9565b6fffffffffffffffffffffffffffffffff1692505b602081015191508762ffffff16620f424203611d13576060810151620f42400397505b611d3773ffffffffffffffffffffffffffffffffffffffff8316606085901b6130d9565b9a506fffffffffffffffffffffffffffffffff8b16611d568480613093565b611d6091906130d9565b9950505b611df1565b8473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd8919061347e565b506dffffffffffffffffffffffffffff9182169b501698505b85611dfa579798975b60408051610120810182526fffffffffffffffffffffffffffffffff9b8c168152998b1660208b015273ffffffffffffffffffffffffffffffffffffffff958616908a015262ffffff96871660608a015291909516608088015260ff90911660a087015291151560c08601521660e08401529092166101008201529392505050565b6000806000806000866040015190506000611e988760a0902090565b9050600081600660001b604051602001611ebc929190918252602082015260400190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905280516020909101207f1e2eaeaf00000000000000000000000000000000000000000000000000000000825260048201819052915060009073ffffffffffffffffffffffffffffffffffffffff851690631e2eaeaf90602401602060405180830381865afa158015611f60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f849190612db8565b73ffffffffffffffffffffffffffffffffffffffff80821696509091508416631e2eaeaf611fb3846003612f95565b60405160e083901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810191909152602401602060405180830381865afa158015612007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202b9190612db8565b955061205173ffffffffffffffffffffffffffffffffffffffff8616606088901b6130d9565b97506fffffffffffffffffffffffffffffffff88166120708780613093565b61207a91906130d9565b96508960c00151612089579596955b5050505073ffffffffffffffffffffffffffffffffffffffff1660e08601526fffffffffffffffffffffffffffffffff90811661010086015291821684521660209092019190915250565b620f42408285028202819004906000908387020485018083816120f9576120f96130aa565b0492508588029150808281612110576121106130aa565b049150509550959350505050565b60008160000361213057506000919050565b81600170010000000000000000000000000000000082106121565760809190911c9060401b5b6801000000000000000082106121715760409190911c9060201b5b64010000000082106121885760209190911c9060101b5b62010000821061219d5760109190911c9060081b5b61010082106121b15760089190911c9060041b5b601082106121c45760049190911c9060021b5b600882106121d05760011b5b60018185816121e1576121e16130aa565b048201901c905060018185816121f9576121f96130aa565b048201901c90506001818581612211576122116130aa565b048201901c90506001818581612229576122296130aa565b048201901c90506001818581612241576122416130aa565b048201901c90506001818581612259576122596130aa565b048201901c90506001818581612271576122716130aa565b048201901c90506000818581612289576122896130aa565b049050808210612299578061229b565b815b95945050505050565b600060038360a0015160ff161115612339576000620f4240846060015162ffffff16846122d19190613093565b6122db91906130d9565b905060006122f88560e00151866101000151848860c0015161292c565b90508460c0015161231c576123178560e001518287610100015161294e565b612330565b612330818660e00151876101000151612a40565b92505050611741565b6000836060015162ffffff1683029050808460000151620f4240026fffffffffffffffffffffffffffffffff160184602001516fffffffffffffffffffffffffffffffff1682028161238d5761238d6130aa565b04949350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905291516000928392908816916124359190612ef0565b6000604051808303816000865af19150503d8060008114612472576040519150601f19603f3d011682016040523d82523d6000602084013e612477565b606091505b50915091508180156124a15750805115806124a15750808060200190518101906124a19190612f1a565b612507576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f3200000000000000000000000000000000000000000000000000000000000000604482015260640161037d565b505050505050565b60008284604001518360405180606001604052808860c0015115158152602001620f4240896080015162ffffff168a6000015161254c91906134ce565b61255691906134fa565b6fffffffffffffffffffffffffffffffff166125719061333c565b81526020018860c001516125995773fffd8963efd1fc6a506488495d951d5263988d256125a0565b6401000276a45b73ffffffffffffffffffffffffffffffffffffffff1690526040516125cb9493929190602001613529565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908601517f48c8949100000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff16906348c894919061264e908490600401612eb1565b6000604051808303816000875af115801561266d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261038691908101906135e5565b60048360a0015160ff161015612787576000808460c001516126ed5784602001516fffffffffffffffffffffffffffffffff166000612707565b600085602001516fffffffffffffffffffffffffffffffff165b91509150846040015173ffffffffffffffffffffffffffffffffffffffff1663022c0d9f838387876040518563ffffffff1660e01b815260040161274e94939291906136b0565b600060405180830381600087803b15801561276857600080fd5b505af115801561277c573d6000803e3d6000fd5b505050505050505050565b8260a0015160ff1660060361288257826040015173ffffffffffffffffffffffffffffffffffffffff166324b31a0c83620f4240866080015162ffffff1687600001516127d491906134ce565b6127de91906134fa565b6fffffffffffffffffffffffffffffffff168660c001518760c001516128185773fffd8963efd1fc6a506488495d951d5263988d2561281f565b6401000276a45b866040518663ffffffff1660e01b81526004016128409594939291906136f5565b60408051808303816000875af115801561285e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610386919061373c565b826040015173ffffffffffffffffffffffffffffffffffffffff1663128acb08838560c00151620f4240876080015162ffffff1688600001516128c591906134ce565b6128cf91906134fa565b6fffffffffffffffffffffffffffffffff168760c001516129045773fffd8963efd1fc6a506488495d951d5263988d2561290b565b6401000276a45b866040518663ffffffff1660e01b8152600401612840959493929190613760565b6000816129435761293e858585612acb565b61229b565b61229b858585612b5b565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161115612988579192915b7bffffffffffffffffffffffffffffffff000000000000000000000000606083901b1660006129b786866137a7565b73ffffffffffffffffffffffffffffffffffffffff16905060008673ffffffffffffffffffffffffffffffffffffffff16116129f257600080fd5b8573ffffffffffffffffffffffffffffffffffffffff16612a2a83838873ffffffffffffffffffffffffffffffffffffffff16612c30565b612a3491906130d9565b925050505b9392505050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161115612a7a579192915b612ac36fffffffffffffffffffffffffffffffff8316612a9a86866137a7565b73ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000612c30565b949350505050565b60008073ffffffffffffffffffffffffffffffffffffffff831115612b1957612b14836c01000000000000000000000000866fffffffffffffffffffffffffffffffff16612c30565b612b39565b612b396fffffffffffffffffffffffffffffffff8516606085901b6130d9565b905061229b8173ffffffffffffffffffffffffffffffffffffffff8716612f95565b60007bffffffffffffffffffffffffffffffff000000000000000000000000606084901b168173ffffffffffffffffffffffffffffffffffffffff861684612ba38282613093565b9250612baf90836130d9565b03612bf6576000612bc08284612f95565b9050828110612bf457612bea838873ffffffffffffffffffffffffffffffffffffffff1683612cfe565b9350505050612a39565b505b612a348285612c1b73ffffffffffffffffffffffffffffffffffffffff8a16836130d9565b612c259190612f95565b808204910615150190565b6000838302817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8587098281108382030391505080600003612c8557838281612c7b57612c7b6130aa565b0492505050612a39565b808411612c9157600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6000612d0b848484612c30565b905060008280612d1d57612d1d6130aa565b8486091115612a39578061229b8161301f565b60008085851115612d4057600080fd5b83861115612d4d57600080fd5b5050820193919092039150565b73ffffffffffffffffffffffffffffffffffffffff81168114612d7c57600080fd5b50565b60008060408385031215612d9257600080fd5b8235612d9d81612d5a565b91506020830135612dad81612d5a565b809150509250929050565b600060208284031215612dca57600080fd5b5051919050565b60008060208385031215612de457600080fd5b823567ffffffffffffffff80821115612dfc57600080fd5b818501915085601f830112612e1057600080fd5b813581811115612e1f57600080fd5b866020828501011115612e3157600080fd5b60209290920196919550909350505050565b60005b83811015612e5e578181015183820152602001612e46565b50506000910152565b60008151808452612e7f816020860160208601612e43565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612a396020830184612e67565b60008060408385031215612ed757600080fd5b8235612ee281612d5a565b946020939093013593505050565b60008251612f02818460208701612e43565b9190910192915050565b8015158114612d7c57600080fd5b600060208284031215612f2c57600080fd5b8151612a3981612f0c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561174157611741612f66565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156130175780818660140360031b1b83161692505b505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361305057613050612f66565b5060010190565b80356020831015611741577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b808202811582820484141761174157611741612f66565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826130e8576130e86130aa565b500490565b8181038181111561174157611741612f66565b60405160a0810167ffffffffffffffff8111828210171561312357613123612fa8565b60405290565b62ffffff81168114612d7c57600080fd5b60006060828403121561314c57600080fd5b6040516060810181811067ffffffffffffffff8211171561316f5761316f612fa8565b604052905080823561318081612f0c565b815260208381013590820152604083013561319a81612d5a565b6040919091015292915050565b6000806000808486036101408112156131bf57600080fd5b85356131ca81612d5a565b945060208601356131da81612d5a565b935060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08201121561320c57600080fd5b50613215613100565b604086013561322381612d5a565b8152606086013561323381612d5a565b6020820152608086013561324681613129565b604082015260a0860135600281900b811461326057600080fd5b606082015260c086013561327381612d5a565b608082015291506132878660e0870161313a565b905092959194509250565b60006101206132f0838673ffffffffffffffffffffffffffffffffffffffff80825116835280602083015116602084015262ffffff6040830151166040840152606082015160020b6060840152806080830151166080840152505050565b8351151560a0840152602084015160c0840152604084015173ffffffffffffffffffffffffffffffffffffffff1660e08401526101008301819052600090830152506101400192915050565b60007f8000000000000000000000000000000000000000000000000000000000000000820361336d5761336d612f66565b5060000390565b60006020828403121561338657600080fd5b8151612a3981613129565b62ffffff8281168282160390808211156133ad576133ad612f66565b5092915050565b80516fffffffffffffffffffffffffffffffff811681146133d457600080fd5b919050565b6000602082840312156133eb57600080fd5b612a39826133b4565b60008060006060848603121561340957600080fd5b613412846133b4565b9250613420602085016133b4565b915061342e604085016133b4565b90509250925092565b6fffffffffffffffffffffffffffffffff8181168382160190808211156133ad576133ad612f66565b80516dffffffffffffffffffffffffffff811681146133d457600080fd5b60008060006060848603121561349357600080fd5b61349c84613460565b92506134aa60208501613460565b9150604084015163ffffffff811681146134c357600080fd5b809150509250925092565b6fffffffffffffffffffffffffffffffff81811683821602808216919082811461301757613017612f66565b60006fffffffffffffffffffffffffffffffff8084168061351d5761351d6130aa565b92169190910492915050565b73ffffffffffffffffffffffffffffffffffffffff85811682528416602082015261014081016135ab604083018573ffffffffffffffffffffffffffffffffffffffff80825116835280602083015116602084015262ffffff6040830151166040840152606082015160020b6060840152806080830151166080840152505050565b8251151560e08301526020830151610100830152604083015173ffffffffffffffffffffffffffffffffffffffff1661012083015261229b565b6000602082840312156135f757600080fd5b815167ffffffffffffffff8082111561360f57600080fd5b818401915084601f83011261362357600080fd5b81518181111561363557613635612fa8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561367b5761367b612fa8565b8160405282815287602084870101111561369457600080fd5b6136a5836020830160208801612e43565b979650505050505050565b84815283602082015273ffffffffffffffffffffffffffffffffffffffff831660408201526080606082015260006136eb6080830184612e67565b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8088168352866020840152851515604084015280851660608401525060a060808301526136a560a0830184612e67565b6000806040838503121561374f57600080fd5b505080516020909101519092909150565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a060808301526136a560a0830184612e67565b73ffffffffffffffffffffffffffffffffffffffff8281168282160390808211156133ad576133ad612f6656fea26469706673582212206ca8b547b5b616430c660e8418cfdabd975c8c703a72b0012f6c4001b622c1b864736f6c63430008140033