0x60806040526001600860006101000a81548160ff0219169083151502179055506064600c556000600d553480156200003657600080fd5b506000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600f81526020017f5761647a436861696e20546f6b656e0000000000000000000000000000000000815250600490805190602001906200012592919062000318565b506040518060400160405280600381526020017f57434f0000000000000000000000000000000000000000000000000000000000815250600590805190602001906200017392919062000318565b50620001b73362000189620001bd60201b60201c565b60ff16600a6200019a919062000523565b633b9aca00620001ab919062000660565b620001c660201b60201c565b6200076c565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000239576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000230906200041b565b60405180910390fd5b80600360008282546200024d91906200046b565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002a591906200046b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200030c91906200043d565b60405180910390a35050565b8280546200032690620006cb565b90600052602060002090601f0160209004810192826200034a576000855562000396565b82601f106200036557805160ff191683800117855562000396565b8280016001018555821562000396579182015b828111156200039557825182559160200191906001019062000378565b5b509050620003a59190620003a9565b5090565b5b80821115620003c4576000816000905550600101620003aa565b5090565b6000620003d7601f836200045a565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6200041581620006c1565b82525050565b600060208201905081810360008301526200043681620003c8565b9050919050565b60006020820190506200045460008301846200040a565b92915050565b600082825260208201905092915050565b60006200047882620006c1565b91506200048583620006c1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620004bd57620004bc62000701565b5b828201905092915050565b6000808291508390505b60018511156200051a57808604811115620004f257620004f162000701565b5b6001851615620005025780820291505b808102905062000512856200075f565b9450620004d2565b94509492505050565b60006200053082620006c1565b91506200053d83620006c1565b92506200056c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000574565b905092915050565b60008262000586576001905062000659565b8162000596576000905062000659565b8160018114620005af5760028114620005ba57620005f0565b600191505062000659565b60ff841115620005cf57620005ce62000701565b5b8360020a915084821115620005e957620005e862000701565b5b5062000659565b5060208310610133831016604e8410600b84101617156200062a5782820a90508381111562000624576200062362000701565b5b62000659565b620006398484846001620004c8565b9250905081840481111562000653576200065262000701565b5b81810290505b9392505050565b60006200066d82620006c1565b91506200067a83620006c1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006b657620006b562000701565b5b828202905092915050565b6000819050919050565b60006002820490506001821680620006e457607f821691505b60208210811415620006fb57620006fa62000730565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b613cb4806200077c6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806370a0823111610104578063a9059cbb116100a2578063e4997dc511610071578063e4997dc514610548578063f2fde38b14610564578063f3bdc22814610580578063fe72423f1461059c576101cf565b8063a9059cbb146104b0578063d543dbeb146104e0578063dd62ed3e146104fc578063deb769651461052c576101cf565b806395d89b41116100de57806395d89b41146104235780639ae407e814610441578063a24835d114610464578063a457c2d714610480576101cf565b806370a08231146103cb578063715018a6146103fb5780638da5cb5b14610405576101cf565b8063325eaac1116101715780633ecea6b21161014b5780633ecea6b21461033057806340c10f191461034e5780634838d1651461036a578063617d7ec21461039a576101cf565b8063325eaac1146102c657806336e8c9b3146102e45780633950935114610300576101cf565b806318160ddd116101ad57806318160ddd1461023e57806323b872dd1461025c5780632c0c74aa1461028c578063313ce567146102a8576101cf565b806306fdde03146101d4578063095ea7b3146101f25780630ecb93c014610222575b600080fd5b6101dc6105b8565b6040516101e99190613487565b60405180910390f35b61020c60048036038101906102079190612bcb565b61064a565b604051610219919061346c565b60405180910390f35b61023c60048036038101906102379190612a8e565b610668565b005b61024661076f565b6040516102539190613729565b60405180910390f35b61027660048036038101906102719190612af3565b610779565b604051610283919061346c565b60405180910390f35b6102a660048036038101906102a19190612b42565b61087a565b005b6102b0610ab7565b6040516102bd91906137ce565b60405180910390f35b6102ce610ac0565b6040516102db9190613729565b60405180910390f35b6102fe60048036038101906102f99190612c30565b610ac6565b005b61031a60048036038101906103159190612bcb565b610b45565b604051610327919061346c565b60405180910390f35b610338610bf1565b6040516103459190613428565b60405180910390f35b61036860048036038101906103639190612bcb565b610c17565b005b610384600480360381019061037f9190612a8e565b610cbb565b604051610391919061346c565b60405180910390f35b6103b460048036038101906103af9190612c30565b610cdb565b6040516103c2929190613744565b60405180910390f35b6103e560048036038101906103e09190612a8e565b610d0f565b6040516103f29190613729565b60405180910390f35b610403610d58565b005b61040d610e8b565b60405161041a9190613428565b60405180910390f35b61042b610eb4565b6040516104389190613487565b60405180910390f35b610449610f46565b60405161045b9695949392919061376d565b60405180910390f35b61047e60048036038101906104799190612bcb565b6110d6565b005b61049a60048036038101906104959190612bcb565b61117a565b6040516104a7919061346c565b60405180910390f35b6104ca60048036038101906104c59190612bcb565b61126e565b6040516104d7919061346c565b60405180910390f35b6104fa60048036038101906104f59190612c30565b61128c565b005b61051660048036038101906105119190612ab7565b61130b565b6040516105239190613729565b60405180910390f35b61054660048036038101906105419190612c59565b611392565b005b610562600480360381019061055d9190612a8e565b6116ee565b005b61057e60048036038101906105799190612a8e565b6117f5565b005b61059a60048036038101906105959190612a8e565b611997565b005b6105b660048036038101906105b19190612c07565b611b40565b005b6060600480546105c790613b13565b80601f01602080910402602001604051908101604052809291908181526020018280546105f390613b13565b80156106405780601f1061061557610100808354040283529160200191610640565b820191906000526020600020905b81548152906001019060200180831161062357829003601f168201915b5050505050905090565b600061065e610657611bd2565b8484611bda565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610687610e8b565b73ffffffffffffffffffffffffffffffffffffffff16146106dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d4906135c9565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc816040516107649190613428565b60405180910390a150565b6000600354905090565b6000610786848484611da5565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107d1611bd2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610851576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610848906135a9565b60405180910390fd5b61086e8561085d611bd2565b85846108699190613a57565b611bda565b60019150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16610899610e8b565b73ffffffffffffffffffffffffffffffffffffffff16146108ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e6906135c9565b60405180910390fd5b818190508484905014610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e906136a9565b60405180910390fd5b84600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000848490501115610ab057600960006109929190612970565b60005b84849050811015610aae576009600181600181540180825580915050039060005260206000209050506000600982815481106109fa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600402019050858583818110610a43577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201358160000181905550838383818110610a8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201358160010181905550508080610aa690613b45565b915050610995565b505b5050505050565b60006012905090565b600a5481565b3373ffffffffffffffffffffffffffffffffffffffff16610ae5610e8b565b73ffffffffffffffffffffffffffffffffffffffff1614610b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b32906135c9565b60405180910390fd5b80600d8190555050565b6000610be7610b52611bd2565b848460026000610b60611bd2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610be29190613805565b611bda565b6001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff16610c36610e8b565b73ffffffffffffffffffffffffffffffffffffffff1614610c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c83906135c9565b60405180910390fd5b610cb782610c98610ab7565b60ff16600a610ca791906138df565b83610cb291906139fd565b6121ec565b5050565b60066020528060005260406000206000915054906101000a900460ff1681565b60098181548110610ceb57600080fd5b90600052602060002090600402016000915090508060000154908060010154905082565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610d77610e8b565b73ffffffffffffffffffffffffffffffffffffffff1614610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc4906135c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610ec390613b13565b80601f0160208091040260200160405190810160405280929190818152602001828054610eef90613b13565b8015610f3c5780601f10610f1157610100808354040283529160200191610f3c565b820191906000526020600020905b815481529060010190602001808311610f1f57829003601f168201915b5050505050905090565b6000806000806000806000600a5411156110b8576000600a54905060005b6009805490508110156110b557600060098281548110610fad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600402019050806000015483610fcd9190613805565b92508242116110a157600182610fe39190613805565b8160000154848360010154846002016000610ffc611bd2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16856003016000611052611bd2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549850985098509850985098505050506110ce565b5080806110ad90613b45565b915050610f64565b50505b6000806000806000809550955095509550955095505b909192939495565b3373ffffffffffffffffffffffffffffffffffffffff166110f5610e8b565b73ffffffffffffffffffffffffffffffffffffffff161461114b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611142906135c9565b60405180910390fd5b61117682611157610ab7565b60ff16600a61116691906138df565b8361117191906139fd565b612335565b5050565b60008060026000611189611bd2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123d906136e9565b60405180910390fd5b611263611251611bd2565b85858461125e9190613a57565b611bda565b600191505092915050565b600061128261127b611bd2565b8484611da5565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff166112ab610e8b565b73ffffffffffffffffffffffffffffffffffffffff1614611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f8906135c9565b60405180910390fd5b80600c8190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff166113b1610e8b565b73ffffffffffffffffffffffffffffffffffffffff1614611407576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fe906135c9565b60405180910390fd5b600980549050861061144e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144590613569565b60405180910390fd5b60008411611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890613609565b60405180910390fd5b600986815481106114cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906004020160000154851461153457846009878154811061151e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060040201600001819055505b6009868154811061156e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600402016001015484146115d75783600987815481106115c1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060040201600101819055505b60005b838390508110156116e5578160098881548110611620577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060040201600201600086868581811061166c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906116819190612a8e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806116dd90613b45565b9150506115da565b50505050505050565b3373ffffffffffffffffffffffffffffffffffffffff1661170d610e8b565b73ffffffffffffffffffffffffffffffffffffffff1614611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a906135c9565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c816040516117ea9190613428565b60405180910390a150565b3373ffffffffffffffffffffffffffffffffffffffff16611814610e8b565b73ffffffffffffffffffffffffffffffffffffffff161461186a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611861906135c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d190613529565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b3373ffffffffffffffffffffffffffffffffffffffff166119b6610e8b565b73ffffffffffffffffffffffffffffffffffffffff1614611a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a03906135c9565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f906136c9565b60405180910390fd5b6000611aa382610d0f565b90506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060036000828254611afc9190613a57565b925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68282604051611b34929190613443565b60405180910390a15050565b3373ffffffffffffffffffffffffffffffffffffffff16611b5f610e8b565b73ffffffffffffffffffffffffffffffffffffffff1614611bb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bac906135c9565b60405180910390fd5b80600860006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4190613689565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb190613549565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d989190613729565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0c90613669565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7c906134c9565b60405180910390fd5b600860009054906101000a900460ff1661205557611ea1610e8b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611f0f5750611edf610e8b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611f78576064600c54611f2161076f565b611f2b91906139fd565b611f35919061385b565b811115611f77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6e906135e9565b60405180910390fd5b5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612005576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffc90613629565b60405180910390fd5b6120108383836124ff565b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156120dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d390613589565b60405180910390fd5b81816120e89190613a57565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461217a9190613805565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121de9190613729565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561225c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225390613709565b60405180910390fd5b806003600082825461226e9190613805565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122c49190613805565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123299190613729565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239c90613649565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561242c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242390613509565b60405180910390fd5b81816124389190613a57565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816003600082825461248d9190613a57565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124f29190613729565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061256157506000600980549050145b1561256b5761296b565b6000600a541480156125cb5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156126245750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80156126305750600081115b1561263d5742600a819055505b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156126e85750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561296a5760006126f7610f46565b50505050509050600081111561296857600060096001836127189190613a57565b8154811061274f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906004020190508060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166127ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e4906134a9565b60405180910390fd5b600081600101548260030160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612890578160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826001015461288d9190613a57565b90505b808411156128d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ca906134e9565b60405180910390fd5b838260030160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129209190613805565b8260030160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505b505b5b505050565b50805460008255600402906000526020600020908101906129919190612994565b50565b5b808211156129b757600080820160009055600182016000905550600401612995565b5090565b6000813590506129ca81613c39565b92915050565b60008083601f8401126129e257600080fd5b8235905067ffffffffffffffff8111156129fb57600080fd5b602083019150836020820283011115612a1357600080fd5b9250929050565b60008083601f840112612a2c57600080fd5b8235905067ffffffffffffffff811115612a4557600080fd5b602083019150836020820283011115612a5d57600080fd5b9250929050565b600081359050612a7381613c50565b92915050565b600081359050612a8881613c67565b92915050565b600060208284031215612aa057600080fd5b6000612aae848285016129bb565b91505092915050565b60008060408385031215612aca57600080fd5b6000612ad8858286016129bb565b9250506020612ae9858286016129bb565b9150509250929050565b600080600060608486031215612b0857600080fd5b6000612b16868287016129bb565b9350506020612b27868287016129bb565b9250506040612b3886828701612a79565b9150509250925092565b600080600080600060608688031215612b5a57600080fd5b6000612b68888289016129bb565b955050602086013567ffffffffffffffff811115612b8557600080fd5b612b9188828901612a1a565b9450945050604086013567ffffffffffffffff811115612bb057600080fd5b612bbc88828901612a1a565b92509250509295509295909350565b60008060408385031215612bde57600080fd5b6000612bec858286016129bb565b9250506020612bfd85828601612a79565b9150509250929050565b600060208284031215612c1957600080fd5b6000612c2784828501612a64565b91505092915050565b600060208284031215612c4257600080fd5b6000612c5084828501612a79565b91505092915050565b60008060008060008060a08789031215612c7257600080fd5b6000612c8089828a01612a79565b9650506020612c9189828a01612a79565b9550506040612ca289828a01612a79565b945050606087013567ffffffffffffffff811115612cbf57600080fd5b612ccb89828a016129d0565b93509350506080612cde89828a01612a64565b9150509295509295509295565b612cf481613a8b565b82525050565b612d0381613a9d565b82525050565b6000612d14826137e9565b612d1e81856137f4565b9350612d2e818560208601613ae0565b612d3781613c1b565b840191505092915050565b6000612d4f601e836137f4565b91507f544745202d204275796572206973206e6f742077686974656c697374656400006000830152602082019050919050565b6000612d8f6023836137f4565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612df56026836137f4565b91507f544745202d20416d6f756e7420657863656564732077686974656c697374206d60008301527f6178696d756d00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612e5b6022836137f4565b91507f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008301527f63650000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612ec16026836137f4565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612f276022836137f4565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612f8d600d836137f4565b91507f496e76616c696420696e646578000000000000000000000000000000000000006000830152602082019050919050565b6000612fcd6026836137f4565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006130336028836137f4565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b60006130996020836137f4565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006130d9601c836137f4565b91507f4f766572666c6f77206d6178207472616e7366657220616d6f756e74000000006000830152602082019050919050565b60006131196011836137f4565b91507f496e76616c696420616d6f756e744d61780000000000000000000000000000006000830152602082019050919050565b60006131596012836137f4565b91507f426c61636b6c69737465642073656c6c657200000000000000000000000000006000830152602082019050919050565b60006131996021836137f4565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006131ff6025836137f4565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006132656024836137f4565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006132cb6014836137f4565b91507f496e76616c69642077686974656c6973742873290000000000000000000000006000830152602082019050919050565b600061330b6026836137f4565b91507f546869732075736572206973206e6f742061206d656d626572206f6620626c6160008301527f636b6c69737400000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006133716025836137f4565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006133d7601f836137f4565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b61341381613ac9565b82525050565b61342281613ad3565b82525050565b600060208201905061343d6000830184612ceb565b92915050565b60006040820190506134586000830185612ceb565b613465602083018461340a565b9392505050565b60006020820190506134816000830184612cfa565b92915050565b600060208201905081810360008301526134a18184612d09565b905092915050565b600060208201905081810360008301526134c281612d42565b9050919050565b600060208201905081810360008301526134e281612d82565b9050919050565b6000602082019050818103600083015261350281612de8565b9050919050565b6000602082019050818103600083015261352281612e4e565b9050919050565b6000602082019050818103600083015261354281612eb4565b9050919050565b6000602082019050818103600083015261356281612f1a565b9050919050565b6000602082019050818103600083015261358281612f80565b9050919050565b600060208201905081810360008301526135a281612fc0565b9050919050565b600060208201905081810360008301526135c281613026565b9050919050565b600060208201905081810360008301526135e28161308c565b9050919050565b60006020820190508181036000830152613602816130cc565b9050919050565b600060208201905081810360008301526136228161310c565b9050919050565b600060208201905081810360008301526136428161314c565b9050919050565b600060208201905081810360008301526136628161318c565b9050919050565b60006020820190508181036000830152613682816131f2565b9050919050565b600060208201905081810360008301526136a281613258565b9050919050565b600060208201905081810360008301526136c2816132be565b9050919050565b600060208201905081810360008301526136e2816132fe565b9050919050565b6000602082019050818103600083015261370281613364565b9050919050565b60006020820190508181036000830152613722816133ca565b9050919050565b600060208201905061373e600083018461340a565b92915050565b6000604082019050613759600083018561340a565b613766602083018461340a565b9392505050565b600060c082019050613782600083018961340a565b61378f602083018861340a565b61379c604083018761340a565b6137a9606083018661340a565b6137b66080830185612cfa565b6137c360a083018461340a565b979650505050505050565b60006020820190506137e36000830184613419565b92915050565b600081519050919050565b600082825260208201905092915050565b600061381082613ac9565b915061381b83613ac9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156138505761384f613b8e565b5b828201905092915050565b600061386682613ac9565b915061387183613ac9565b92508261388157613880613bbd565b5b828204905092915050565b6000808291508390505b60018511156138d6578086048111156138b2576138b1613b8e565b5b60018516156138c15780820291505b80810290506138cf85613c2c565b9450613896565b94509492505050565b60006138ea82613ac9565b91506138f583613ac9565b92506139227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461392a565b905092915050565b60008261393a57600190506139f6565b8161394857600090506139f6565b816001811461395e576002811461396857613997565b60019150506139f6565b60ff84111561397a57613979613b8e565b5b8360020a91508482111561399157613990613b8e565b5b506139f6565b5060208310610133831016604e8410600b84101617156139cc5782820a9050838111156139c7576139c6613b8e565b5b6139f6565b6139d9848484600161388c565b925090508184048111156139f0576139ef613b8e565b5b81810290505b9392505050565b6000613a0882613ac9565b9150613a1383613ac9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613a4c57613a4b613b8e565b5b828202905092915050565b6000613a6282613ac9565b9150613a6d83613ac9565b925082821015613a8057613a7f613b8e565b5b828203905092915050565b6000613a9682613aa9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015613afe578082015181840152602081019050613ae3565b83811115613b0d576000848401525b50505050565b60006002820490506001821680613b2b57607f821691505b60208210811415613b3f57613b3e613bec565b5b50919050565b6000613b5082613ac9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613b8357613b82613b8e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b613c4281613a8b565b8114613c4d57600080fd5b50565b613c5981613a9d565b8114613c6457600080fd5b50565b613c7081613ac9565b8114613c7b57600080fd5b5056fea26469706673582212205c0e7be57d1e517f2ab3fae166a9f2bd1230f2aacf84640713c6b2a1411ea9c164736f6c63430008000033