0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461015d57806395d89b411461018d578063a9059cbb146101ab578063c36956a0146101db578063dd62ed3e146101f95761009e565b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100f157806323b872dd1461010f578063313ce5671461013f575b600080fd5b6100ab610229565b6040516100b89190610ee6565b60405180910390f35b6100db60048036038101906100d69190610fa1565b6102bb565b6040516100e89190610ffc565b60405180910390f35b6100f96102d2565b6040516101069190611026565b60405180910390f35b61012960048036038101906101249190611041565b6102dc565b6040516101369190610ffc565b60405180910390f35b61014761038d565b60405161015491906110b0565b60405180910390f35b610177600480360381019061017291906110cb565b6103a3565b6040516101849190611026565b60405180910390f35b6101956103ec565b6040516101a29190610ee6565b60405180910390f35b6101c560048036038101906101c09190610fa1565b61047e565b6040516101d29190610ffc565b60405180910390f35b6101e3610495565b6040516101f09190611026565b60405180910390f35b610213600480360381019061020e91906110f8565b61049b565b6040516102209190611026565b60405180910390f35b6060600b805461023890611167565b80601f016020809104026020016040519081016040528092919081815260200182805461026490611167565b80156102b15780601f10610286576101008083540402835291602001916102b1565b820191906000526020600020905b81548152906001019060200180831161029457829003601f168201915b5050505050905090565b60006102c8338484610522565b6001905092915050565b6000600554905090565b60006102e98484846106eb565b610382843361037d85600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc190919063ffffffff16565b610522565b600190509392505050565b60008060009054906101000a900460ff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600c80546103fb90611167565b80601f016020809104026020016040519081016040528092919081815260200182805461042790611167565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b600061048b3384846106eb565b6001905092915050565b600a5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610591576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105889061120a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f79061129c565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516106de9190611026565b60405180910390a3505050565b6000811161072e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107259061132e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361079d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610794906113c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361080c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080390611452565b60405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610a115750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d69190611487565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561095f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190611487565b6040518363ffffffff1660e01b81526004016109a09291906114c3565b602060405180830381865afa1580156109bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e19190611487565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610add57600a5460095411610ad65760095460065411610a3457600954610ad1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401610a8f91906114ec565b602060405180830381865afa158015610aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad0919061151c565b5b610ada565b6008545b90505b6000610b056064610af78486610d2090919063ffffffff16565b610d9a90919063ffffffff16565b9050610b6b81610b5d85600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610df890919063ffffffff16565b610cc190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c0083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc190919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ca58487610cc190919063ffffffff16565b604051610cb29190611026565b60405180910390a35050505050565b600082821115610d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfd90611595565b60405180910390fd5b60008284610d1491906115e4565b90508091505092915050565b6000808303610d325760009050610d94565b60008284610d409190611618565b9050828482610d4f9190611689565b14610d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d869061172c565b60405180910390fd5b809150505b92915050565b6000808211610dde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd590611798565b60405180910390fd5b60008284610dec9190611689565b90508091505092915050565b6000808284610e0791906117b8565b905083811015610e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4390611838565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e90578082015181840152602081019050610e75565b60008484015250505050565b6000601f19601f8301169050919050565b6000610eb882610e56565b610ec28185610e61565b9350610ed2818560208601610e72565b610edb81610e9c565b840191505092915050565b60006020820190508181036000830152610f008184610ead565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f3882610f0d565b9050919050565b610f4881610f2d565b8114610f5357600080fd5b50565b600081359050610f6581610f3f565b92915050565b6000819050919050565b610f7e81610f6b565b8114610f8957600080fd5b50565b600081359050610f9b81610f75565b92915050565b60008060408385031215610fb857610fb7610f08565b5b6000610fc685828601610f56565b9250506020610fd785828601610f8c565b9150509250929050565b60008115159050919050565b610ff681610fe1565b82525050565b60006020820190506110116000830184610fed565b92915050565b61102081610f6b565b82525050565b600060208201905061103b6000830184611017565b92915050565b60008060006060848603121561105a57611059610f08565b5b600061106886828701610f56565b935050602061107986828701610f56565b925050604061108a86828701610f8c565b9150509250925092565b600060ff82169050919050565b6110aa81611094565b82525050565b60006020820190506110c560008301846110a1565b92915050565b6000602082840312156110e1576110e0610f08565b5b60006110ef84828501610f56565b91505092915050565b6000806040838503121561110f5761110e610f08565b5b600061111d85828601610f56565b925050602061112e85828601610f56565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061117f57607f821691505b60208210810361119257611191611138565b5b50919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006111f4602483610e61565b91506111ff82611198565b604082019050919050565b60006020820190508181036000830152611223816111e7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611286602283610e61565b91506112918261122a565b604082019050919050565b600060208201905081810360008301526112b581611279565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000611318602983610e61565b9150611323826112bc565b604082019050919050565b600060208201905081810360008301526113478161130b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006113aa602583610e61565b91506113b58261134e565b604082019050919050565b600060208201905081810360008301526113d98161139d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061143c602383610e61565b9150611447826113e0565b604082019050919050565b6000602082019050818103600083015261146b8161142f565b9050919050565b60008151905061148181610f3f565b92915050565b60006020828403121561149d5761149c610f08565b5b60006114ab84828501611472565b91505092915050565b6114bd81610f2d565b82525050565b60006040820190506114d860008301856114b4565b6114e560208301846114b4565b9392505050565b600060208201905061150160008301846114b4565b92915050565b60008151905061151681610f75565b92915050565b60006020828403121561153257611531610f08565b5b600061154084828501611507565b91505092915050565b7f536166654d6174683a20207375627472616374696f6e206f766572666c6f7700600082015250565b600061157f601f83610e61565b915061158a82611549565b602082019050919050565b600060208201905081810360008301526115ae81611572565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115ef82610f6b565b91506115fa83610f6b565b9250828203905081811115611612576116116115b5565b5b92915050565b600061162382610f6b565b915061162e83610f6b565b925082820261163c81610f6b565b91508282048414831517611653576116526115b5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061169482610f6b565b915061169f83610f6b565b9250826116af576116ae61165a565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c60008201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b6000611716602283610e61565b9150611721826116ba565b604082019050919050565b6000602082019050818103600083015261174581611709565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f0000000000600082015250565b6000611782601b83610e61565b915061178d8261174c565b602082019050919050565b600060208201905081810360008301526117b181611775565b9050919050565b60006117c382610f6b565b91506117ce83610f6b565b92508282019050808211156117e6576117e56115b5565b5b92915050565b7f536166654d6174683a20206164646974696f6e206f766572666c6f7700000000600082015250565b6000611822601c83610e61565b915061182d826117ec565b602082019050919050565b6000602082019050818103600083015261185181611815565b905091905056fea2646970667358221220850868d329de4cdd2504540980bd4ba32553109d08dc22ca525bfd4a5e8eb41d64736f6c63430008180033
0x608060405260096000806101000a81548160ff021916908360ff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507351aca28865e927bba688af462915c5044e455017600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900460ff16600a620000e59190620003fe565b633b9aca00620000f691906200044f565b60055560056006556001600755600060085560006009556003600a556040518060400160405280600981526020017f4269746368436f696e0000000000000000000000000000000000000000000000815250600b90816200015891906200070a565b506040518060400160405280600481526020017f4254434800000000000000000000000000000000000000000000000000000000815250600c90816200019f91906200070a565b50348015620001ad57600080fd5b50600554600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055460405162000256919062000802565b60405180910390a36200081f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620002f257808604811115620002ca57620002c962000264565b5b6001851615620002da5780820291505b8081029050620002ea8562000293565b9450620002aa565b94509492505050565b6000826200030d5760019050620003e0565b816200031d5760009050620003e0565b8160018114620003365760028114620003415762000377565b6001915050620003e0565b60ff84111562000356576200035562000264565b5b8360020a91508482111562000370576200036f62000264565b5b50620003e0565b5060208310610133831016604e8410600b8410161715620003b15782820a905083811115620003ab57620003aa62000264565b5b620003e0565b620003c08484846001620002a0565b92509050818404811115620003da57620003d962000264565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200040b82620003e7565b91506200041883620003f1565b9250620004477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620002fb565b905092915050565b60006200045c82620003e7565b91506200046983620003e7565b92508282026200047981620003e7565b9150828204841483151762000493576200049262000264565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200051c57607f821691505b602082108103620005325762000531620004d4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200059c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200055d565b620005a886836200055d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620005eb620005e5620005df84620003e7565b620005c0565b620003e7565b9050919050565b6000819050919050565b6200060783620005ca565b6200061f6200061682620005f2565b8484546200056a565b825550505050565b600090565b6200063662000627565b62000643818484620005fc565b505050565b5b818110156200066b576200065f6000826200062c565b60018101905062000649565b5050565b601f821115620006ba57620006848162000538565b6200068f846200054d565b810160208510156200069f578190505b620006b7620006ae856200054d565b83018262000648565b50505b505050565b600082821c905092915050565b6000620006df60001984600802620006bf565b1980831691505092915050565b6000620006fa8383620006cc565b9150826002028217905092915050565b62000715826200049a565b67ffffffffffffffff811115620007315762000730620004a5565b5b6200073d825462000503565b6200074a8282856200066f565b600060209050601f8311600181146200078257600084156200076d578287015190505b620007798582620006ec565b865550620007e9565b601f198416620007928662000538565b60005b82811015620007bc5784890151825560018201915060208501945060208101905062000795565b86831015620007dc5784890151620007d8601f891682620006cc565b8355505b6001600288020188555050505b505050505050565b620007fc81620003e7565b82525050565b6000602082019050620008196000830184620007f1565b92915050565b61188e806200082f6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461015d57806395d89b411461018d578063a9059cbb146101ab578063c36956a0146101db578063dd62ed3e146101f95761009e565b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100f157806323b872dd1461010f578063313ce5671461013f575b600080fd5b6100ab610229565b6040516100b89190610ee6565b60405180910390f35b6100db60048036038101906100d69190610fa1565b6102bb565b6040516100e89190610ffc565b60405180910390f35b6100f96102d2565b6040516101069190611026565b60405180910390f35b61012960048036038101906101249190611041565b6102dc565b6040516101369190610ffc565b60405180910390f35b61014761038d565b60405161015491906110b0565b60405180910390f35b610177600480360381019061017291906110cb565b6103a3565b6040516101849190611026565b60405180910390f35b6101956103ec565b6040516101a29190610ee6565b60405180910390f35b6101c560048036038101906101c09190610fa1565b61047e565b6040516101d29190610ffc565b60405180910390f35b6101e3610495565b6040516101f09190611026565b60405180910390f35b610213600480360381019061020e91906110f8565b61049b565b6040516102209190611026565b60405180910390f35b6060600b805461023890611167565b80601f016020809104026020016040519081016040528092919081815260200182805461026490611167565b80156102b15780601f10610286576101008083540402835291602001916102b1565b820191906000526020600020905b81548152906001019060200180831161029457829003601f168201915b5050505050905090565b60006102c8338484610522565b6001905092915050565b6000600554905090565b60006102e98484846106eb565b610382843361037d85600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc190919063ffffffff16565b610522565b600190509392505050565b60008060009054906101000a900460ff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600c80546103fb90611167565b80601f016020809104026020016040519081016040528092919081815260200182805461042790611167565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b600061048b3384846106eb565b6001905092915050565b600a5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610591576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105889061120a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f79061129c565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516106de9190611026565b60405180910390a3505050565b6000811161072e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107259061132e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361079d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610794906113c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361080c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080390611452565b60405180910390fd5b60003073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610a115750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d69190611487565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561095f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190611487565b6040518363ffffffff1660e01b81526004016109a09291906114c3565b602060405180830381865afa1580156109bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e19190611487565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15610add57600a5460095411610ad65760095460065411610a3457600954610ad1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401610a8f91906114ec565b602060405180830381865afa158015610aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad0919061151c565b5b610ada565b6008545b90505b6000610b056064610af78486610d2090919063ffffffff16565b610d9a90919063ffffffff16565b9050610b6b81610b5d85600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610df890919063ffffffff16565b610cc190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c0083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc190919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ca58487610cc190919063ffffffff16565b604051610cb29190611026565b60405180910390a35050505050565b600082821115610d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfd90611595565b60405180910390fd5b60008284610d1491906115e4565b90508091505092915050565b6000808303610d325760009050610d94565b60008284610d409190611618565b9050828482610d4f9190611689565b14610d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d869061172c565b60405180910390fd5b809150505b92915050565b6000808211610dde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd590611798565b60405180910390fd5b60008284610dec9190611689565b90508091505092915050565b6000808284610e0791906117b8565b905083811015610e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4390611838565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e90578082015181840152602081019050610e75565b60008484015250505050565b6000601f19601f8301169050919050565b6000610eb882610e56565b610ec28185610e61565b9350610ed2818560208601610e72565b610edb81610e9c565b840191505092915050565b60006020820190508181036000830152610f008184610ead565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f3882610f0d565b9050919050565b610f4881610f2d565b8114610f5357600080fd5b50565b600081359050610f6581610f3f565b92915050565b6000819050919050565b610f7e81610f6b565b8114610f8957600080fd5b50565b600081359050610f9b81610f75565b92915050565b60008060408385031215610fb857610fb7610f08565b5b6000610fc685828601610f56565b9250506020610fd785828601610f8c565b9150509250929050565b60008115159050919050565b610ff681610fe1565b82525050565b60006020820190506110116000830184610fed565b92915050565b61102081610f6b565b82525050565b600060208201905061103b6000830184611017565b92915050565b60008060006060848603121561105a57611059610f08565b5b600061106886828701610f56565b935050602061107986828701610f56565b925050604061108a86828701610f8c565b9150509250925092565b600060ff82169050919050565b6110aa81611094565b82525050565b60006020820190506110c560008301846110a1565b92915050565b6000602082840312156110e1576110e0610f08565b5b60006110ef84828501610f56565b91505092915050565b6000806040838503121561110f5761110e610f08565b5b600061111d85828601610f56565b925050602061112e85828601610f56565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061117f57607f821691505b60208210810361119257611191611138565b5b50919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006111f4602483610e61565b91506111ff82611198565b604082019050919050565b60006020820190508181036000830152611223816111e7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611286602283610e61565b91506112918261122a565b604082019050919050565b600060208201905081810360008301526112b581611279565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000611318602983610e61565b9150611323826112bc565b604082019050919050565b600060208201905081810360008301526113478161130b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006113aa602583610e61565b91506113b58261134e565b604082019050919050565b600060208201905081810360008301526113d98161139d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061143c602383610e61565b9150611447826113e0565b604082019050919050565b6000602082019050818103600083015261146b8161142f565b9050919050565b60008151905061148181610f3f565b92915050565b60006020828403121561149d5761149c610f08565b5b60006114ab84828501611472565b91505092915050565b6114bd81610f2d565b82525050565b60006040820190506114d860008301856114b4565b6114e560208301846114b4565b9392505050565b600060208201905061150160008301846114b4565b92915050565b60008151905061151681610f75565b92915050565b60006020828403121561153257611531610f08565b5b600061154084828501611507565b91505092915050565b7f536166654d6174683a20207375627472616374696f6e206f766572666c6f7700600082015250565b600061157f601f83610e61565b915061158a82611549565b602082019050919050565b600060208201905081810360008301526115ae81611572565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115ef82610f6b565b91506115fa83610f6b565b9250828203905081811115611612576116116115b5565b5b92915050565b600061162382610f6b565b915061162e83610f6b565b925082820261163c81610f6b565b91508282048414831517611653576116526115b5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061169482610f6b565b915061169f83610f6b565b9250826116af576116ae61165a565b5b828204905092915050565b7f536166654d6174683a20206d756c7469706c69636174696f6e206f766572666c60008201527f6f77000000000000000000000000000000000000000000000000000000000000602082015250565b6000611716602283610e61565b9150611721826116ba565b604082019050919050565b6000602082019050818103600083015261174581611709565b9050919050565b7f536166654d6174683a20206469766973696f6e206279207a65726f0000000000600082015250565b6000611782601b83610e61565b915061178d8261174c565b602082019050919050565b600060208201905081810360008301526117b181611775565b9050919050565b60006117c382610f6b565b91506117ce83610f6b565b92508282019050808211156117e6576117e56115b5565b5b92915050565b7f536166654d6174683a20206164646974696f6e206f766572666c6f7700000000600082015250565b6000611822601c83610e61565b915061182d826117ec565b602082019050919050565b6000602082019050818103600083015261185181611815565b905091905056fea2646970667358221220850868d329de4cdd2504540980bd4ba32553109d08dc22ca525bfd4a5e8eb41d64736f6c63430008180033