0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d7146102be578063a9059cbb146102ee578063abd9a39c1461031e578063dd62ed3e1461033a578063e074839e1461036a5761010b565b806370a0823114610248578063715018a6146102785780638da5cb5b1461028257806395d89b41146102a05761010b565b806323b872dd116100de57806323b872dd1461019a57806329bfc160146101ca578063313ce567146101fa57806339509351146102185761010b565b806306fdde0314610110578063095ea7b31461012e5780630cfccc831461015e57806318160ddd1461017c575b600080fd5b610118610386565b6040516101259190611558565b60405180910390f35b61014860048036038101906101439190611313565b610418565b604051610155919061153d565b60405180910390f35b610166610436565b60405161017391906116ba565b60405180910390f35b610184610440565b60405161019191906116ba565b60405180910390f35b6101b460048036038101906101af91906112c4565b61044a565b6040516101c1919061153d565b60405180910390f35b6101e460048036038101906101df919061125f565b610542565b6040516101f1919061153d565b60405180910390f35b610202610598565b60405161020f91906116d5565b60405180910390f35b610232600480360381019061022d9190611313565b6105a1565b60405161023f919061153d565b60405180910390f35b610262600480360381019061025d919061125f565b61064d565b60405161026f91906116ba565b60405180910390f35b610280610696565b005b61028a61071e565b6040516102979190611522565b60405180910390f35b6102a8610747565b6040516102b59190611558565b60405180910390f35b6102d860048036038101906102d39190611313565b6107d9565b6040516102e5919061153d565b60405180910390f35b61030860048036038101906103039190611313565b6108c4565b604051610315919061153d565b60405180910390f35b6103386004803603810190610333919061125f565b6108e2565b005b610354600480360381019061034f9190611288565b610a84565b60405161036191906116ba565b60405180910390f35b610384600480360381019061037f919061125f565b610b0b565b005b606060078054610395906117ea565b80601f01602080910402602001604051908101604052809291908181526020018280546103c1906117ea565b801561040e5780601f106103e35761010080835404028352916020019161040e565b820191906000526020600020905b8154815290600101906020018083116103f157829003601f168201915b5050505050905090565b600061042c610425610c26565b8484610c2e565b6001905092915050565b6000600654905090565b6000600554905090565b6000610457848484610df9565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a2610c26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610522576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610519906115da565b60405180910390fd5b6105368561052e610c26565b858403610c2e565b60019150509392505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006009905090565b60006106436105ae610c26565b8484600360006105bc610c26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461063e919061170c565b610c2e565b6001905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61069e610c26565b73ffffffffffffffffffffffffffffffffffffffff166106bc61071e565b73ffffffffffffffffffffffffffffffffffffffff1614610712576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610709906115fa565b60405180910390fd5b61071c6000611167565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610756906117ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610782906117ea565b80156107cf5780601f106107a4576101008083540402835291602001916107cf565b820191906000526020600020905b8154815290600101906020018083116107b257829003601f168201915b5050505050905090565b600080600360006107e8610c26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089c9061169a565b60405180910390fd5b6108b96108b0610c26565b85858403610c2e565b600191505092915050565b60006108d86108d1610c26565b8484610df9565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610972576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109699061167a565b60405180910390fd5b60011515600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610a28576000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610a81565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b13610c26565b73ffffffffffffffffffffffffffffffffffffffff16610b3161071e565b73ffffffffffffffffffffffffffffffffffffffff1614610b87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7e906115fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be257600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c959061165a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d059061159a565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dec91906116ba565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e609061161a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed09061157a565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f7a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610fc35760008114610fc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb99061163a565b60405180910390fd5b5b610fce83838361122b565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104c906115ba565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110ea919061170c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161114e91906116ba565b60405180910390a3611161848484611230565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b60008135905061124481611b09565b92915050565b60008135905061125981611b20565b92915050565b60006020828403121561127157600080fd5b600061127f84828501611235565b91505092915050565b6000806040838503121561129b57600080fd5b60006112a985828601611235565b92505060206112ba85828601611235565b9150509250929050565b6000806000606084860312156112d957600080fd5b60006112e786828701611235565b93505060206112f886828701611235565b92505060406113098682870161124a565b9150509250925092565b6000806040838503121561132657600080fd5b600061133485828601611235565b92505060206113458582860161124a565b9150509250929050565b61135881611762565b82525050565b61136781611774565b82525050565b6000611378826116f0565b61138281856116fb565b93506113928185602086016117b7565b61139b8161187a565b840191505092915050565b60006113b36023836116fb565b91506113be8261188b565b604082019050919050565b60006113d66022836116fb565b91506113e1826118da565b604082019050919050565b60006113f96026836116fb565b915061140482611929565b604082019050919050565b600061141c6028836116fb565b915061142782611978565b604082019050919050565b600061143f6020836116fb565b915061144a826119c7565b602082019050919050565b60006114626025836116fb565b915061146d826119f0565b604082019050919050565b60006114856000836116fb565b915061149082611a3f565b600082019050919050565b60006114a86024836116fb565b91506114b382611a42565b604082019050919050565b60006114cb601d836116fb565b91506114d682611a91565b602082019050919050565b60006114ee6025836116fb565b91506114f982611aba565b604082019050919050565b61150d816117a0565b82525050565b61151c816117aa565b82525050565b6000602082019050611537600083018461134f565b92915050565b6000602082019050611552600083018461135e565b92915050565b60006020820190508181036000830152611572818461136d565b905092915050565b60006020820190508181036000830152611593816113a6565b9050919050565b600060208201905081810360008301526115b3816113c9565b9050919050565b600060208201905081810360008301526115d3816113ec565b9050919050565b600060208201905081810360008301526115f38161140f565b9050919050565b6000602082019050818103600083015261161381611432565b9050919050565b6000602082019050818103600083015261163381611455565b9050919050565b6000602082019050818103600083015261165381611478565b9050919050565b600060208201905081810360008301526116738161149b565b9050919050565b60006020820190508181036000830152611693816114be565b9050919050565b600060208201905081810360008301526116b3816114e1565b9050919050565b60006020820190506116cf6000830184611504565b92915050565b60006020820190506116ea6000830184611513565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611717826117a0565b9150611722836117a0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156117575761175661181c565b5b828201905092915050565b600061176d82611780565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156117d55780820151818401526020810190506117ba565b838111156117e4576000848401525b50505050565b6000600282049050600182168061180257607f821691505b602082108114156118165761181561184b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f7420666565206469737472696275746f72000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b611b1281611762565b8114611b1d57600080fd5b50565b611b29816117a0565b8114611b3457600080fd5b5056fea26469706673582212201d2a390c2291ecca9c25a2c06d32b73c85c0ca6a1bf43bc1ef84492ddb91686c64736f6c63430008010033
0x60806040523480156200001157600080fd5b5060405162002123380380620021238339818101604052810190620000379190620003ee565b620000576200004b6200025b60201b60201c565b6200026360201b60201c565b6040518060400160405280600c81526020017f5368696261204f726967696e000000000000000000000000000000000000000081525060079080519060200190620000a492919062000327565b506040518060400160405280600781526020017f534849424f52490000000000000000000000000000000000000000000000000081525060089080519060200190620000f292919062000327565b50670de0b6b3a7640000600581905550633b9aca00600681905550600554600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200016091906200045d565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600554604051620001c9919062000440565b60405180910390a381600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620005a6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200033590620004f8565b90600052602060002090601f016020900481019282620003595760008555620003a5565b82601f106200037457805160ff1916838001178555620003a5565b82800160010185558215620003a5579182015b82811115620003a457825182559160200191906001019062000387565b5b509050620003b49190620003b8565b5090565b5b80821115620003d3576000816000905550600101620003b9565b5090565b600081519050620003e8816200058c565b92915050565b600080604083850312156200040257600080fd5b60006200041285828601620003d7565b92505060206200042585828601620003d7565b9150509250929050565b6200043a81620004ee565b82525050565b60006020820190506200045760008301846200042f565b92915050565b60006200046a82620004ee565b91506200047783620004ee565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620004af57620004ae6200052e565b5b828201905092915050565b6000620004c782620004ce565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200051157607f821691505b602082108114156200052857620005276200055d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6200059781620004ba565b8114620005a357600080fd5b50565b611b6d80620005b66000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d7146102be578063a9059cbb146102ee578063abd9a39c1461031e578063dd62ed3e1461033a578063e074839e1461036a5761010b565b806370a0823114610248578063715018a6146102785780638da5cb5b1461028257806395d89b41146102a05761010b565b806323b872dd116100de57806323b872dd1461019a57806329bfc160146101ca578063313ce567146101fa57806339509351146102185761010b565b806306fdde0314610110578063095ea7b31461012e5780630cfccc831461015e57806318160ddd1461017c575b600080fd5b610118610386565b6040516101259190611558565b60405180910390f35b61014860048036038101906101439190611313565b610418565b604051610155919061153d565b60405180910390f35b610166610436565b60405161017391906116ba565b60405180910390f35b610184610440565b60405161019191906116ba565b60405180910390f35b6101b460048036038101906101af91906112c4565b61044a565b6040516101c1919061153d565b60405180910390f35b6101e460048036038101906101df919061125f565b610542565b6040516101f1919061153d565b60405180910390f35b610202610598565b60405161020f91906116d5565b60405180910390f35b610232600480360381019061022d9190611313565b6105a1565b60405161023f919061153d565b60405180910390f35b610262600480360381019061025d919061125f565b61064d565b60405161026f91906116ba565b60405180910390f35b610280610696565b005b61028a61071e565b6040516102979190611522565b60405180910390f35b6102a8610747565b6040516102b59190611558565b60405180910390f35b6102d860048036038101906102d39190611313565b6107d9565b6040516102e5919061153d565b60405180910390f35b61030860048036038101906103039190611313565b6108c4565b604051610315919061153d565b60405180910390f35b6103386004803603810190610333919061125f565b6108e2565b005b610354600480360381019061034f9190611288565b610a84565b60405161036191906116ba565b60405180910390f35b610384600480360381019061037f919061125f565b610b0b565b005b606060078054610395906117ea565b80601f01602080910402602001604051908101604052809291908181526020018280546103c1906117ea565b801561040e5780601f106103e35761010080835404028352916020019161040e565b820191906000526020600020905b8154815290600101906020018083116103f157829003601f168201915b5050505050905090565b600061042c610425610c26565b8484610c2e565b6001905092915050565b6000600654905090565b6000600554905090565b6000610457848484610df9565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a2610c26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610522576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610519906115da565b60405180910390fd5b6105368561052e610c26565b858403610c2e565b60019150509392505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006009905090565b60006106436105ae610c26565b8484600360006105bc610c26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461063e919061170c565b610c2e565b6001905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61069e610c26565b73ffffffffffffffffffffffffffffffffffffffff166106bc61071e565b73ffffffffffffffffffffffffffffffffffffffff1614610712576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610709906115fa565b60405180910390fd5b61071c6000611167565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054610756906117ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610782906117ea565b80156107cf5780601f106107a4576101008083540402835291602001916107cf565b820191906000526020600020905b8154815290600101906020018083116107b257829003601f168201915b5050505050905090565b600080600360006107e8610c26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089c9061169a565b60405180910390fd5b6108b96108b0610c26565b85858403610c2e565b600191505092915050565b60006108d86108d1610c26565b8484610df9565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610972576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109699061167a565b60405180910390fd5b60011515600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415610a28576000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610a81565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b13610c26565b73ffffffffffffffffffffffffffffffffffffffff16610b3161071e565b73ffffffffffffffffffffffffffffffffffffffff1614610b87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7e906115fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be257600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c959061165a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d059061159a565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dec91906116ba565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e609061161a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed09061157a565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610f7a5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610fc35760008114610fc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb99061163a565b60405180910390fd5b5b610fce83838361122b565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104c906115ba565b60405180910390fd5b818103600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110ea919061170c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161114e91906116ba565b60405180910390a3611161848484611230565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b60008135905061124481611b09565b92915050565b60008135905061125981611b20565b92915050565b60006020828403121561127157600080fd5b600061127f84828501611235565b91505092915050565b6000806040838503121561129b57600080fd5b60006112a985828601611235565b92505060206112ba85828601611235565b9150509250929050565b6000806000606084860312156112d957600080fd5b60006112e786828701611235565b93505060206112f886828701611235565b92505060406113098682870161124a565b9150509250925092565b6000806040838503121561132657600080fd5b600061133485828601611235565b92505060206113458582860161124a565b9150509250929050565b61135881611762565b82525050565b61136781611774565b82525050565b6000611378826116f0565b61138281856116fb565b93506113928185602086016117b7565b61139b8161187a565b840191505092915050565b60006113b36023836116fb565b91506113be8261188b565b604082019050919050565b60006113d66022836116fb565b91506113e1826118da565b604082019050919050565b60006113f96026836116fb565b915061140482611929565b604082019050919050565b600061141c6028836116fb565b915061142782611978565b604082019050919050565b600061143f6020836116fb565b915061144a826119c7565b602082019050919050565b60006114626025836116fb565b915061146d826119f0565b604082019050919050565b60006114856000836116fb565b915061149082611a3f565b600082019050919050565b60006114a86024836116fb565b91506114b382611a42565b604082019050919050565b60006114cb601d836116fb565b91506114d682611a91565b602082019050919050565b60006114ee6025836116fb565b91506114f982611aba565b604082019050919050565b61150d816117a0565b82525050565b61151c816117aa565b82525050565b6000602082019050611537600083018461134f565b92915050565b6000602082019050611552600083018461135e565b92915050565b60006020820190508181036000830152611572818461136d565b905092915050565b60006020820190508181036000830152611593816113a6565b9050919050565b600060208201905081810360008301526115b3816113c9565b9050919050565b600060208201905081810360008301526115d3816113ec565b9050919050565b600060208201905081810360008301526115f38161140f565b9050919050565b6000602082019050818103600083015261161381611432565b9050919050565b6000602082019050818103600083015261163381611455565b9050919050565b6000602082019050818103600083015261165381611478565b9050919050565b600060208201905081810360008301526116738161149b565b9050919050565b60006020820190508181036000830152611693816114be565b9050919050565b600060208201905081810360008301526116b3816114e1565b9050919050565b60006020820190506116cf6000830184611504565b92915050565b60006020820190506116ea6000830184611513565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611717826117a0565b9150611722836117a0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156117575761175661181c565b5b828201905092915050565b600061176d82611780565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156117d55780820151818401526020810190506117ba565b838111156117e4576000848401525b50505050565b6000600282049050600182168061180257607f821691505b602082108114156118165761181561184b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b50565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f7420666565206469737472696275746f72000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b611b1281611762565b8114611b1d57600080fd5b50565b611b29816117a0565b8114611b3457600080fd5b5056fea26469706673582212201d2a390c2291ecca9c25a2c06d32b73c85c0ca6a1bf43bc1ef84492ddb91686c64736f6c634300080100330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f