0x608060405234801562000010575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600681526020017f54424c61623600000000000000000000000000000000000000000000000000008152506001908162000096919062000485565b506040518060400160405280600381526020017f54424c000000000000000000000000000000000000000000000000000000000081525060029081620000dd919062000485565b50601260035f6101000a81548160ff021916908360ff16021790555060035f9054906101000a900460ff1660ff16600a620001199190620006e6565b620f424062000129919062000736565b60048190555060045460055f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60045460405162000213919062000791565b60405180910390a3620007ac565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200029d57607f821691505b602082108103620002b357620002b262000258565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002da565b620003238683620002da565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200036d6200036762000361846200033b565b62000344565b6200033b565b9050919050565b5f819050919050565b62000388836200034d565b620003a0620003978262000374565b848454620002e6565b825550505050565b5f90565b620003b6620003a8565b620003c38184846200037d565b505050565b5b81811015620003ea57620003de5f82620003ac565b600181019050620003c9565b5050565b601f82111562000439576200040381620002b9565b6200040e84620002cb565b810160208510156200041e578190505b620004366200042d85620002cb565b830182620003c8565b50505b505050565b5f82821c905092915050565b5f6200045b5f19846008026200043e565b1980831691505092915050565b5f6200047583836200044a565b9150826002028217905092915050565b620004908262000221565b67ffffffffffffffff811115620004ac57620004ab6200022b565b5b620004b8825462000285565b620004c5828285620003ee565b5f60209050601f831160018114620004fb575f8415620004e6578287015190505b620004f2858262000468565b86555062000561565b601f1984166200050b86620002b9565b5f5b8281101562000534578489015182556001820191506020850194506020810190506200050d565b8683101562000554578489015162000550601f8916826200044a565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620005f357808604811115620005cb57620005ca62000569565b5b6001851615620005db5780820291505b8081029050620005eb8562000596565b9450620005ab565b94509492505050565b5f826200060d5760019050620006df565b816200061c575f9050620006df565b8160018114620006355760028114620006405762000676565b6001915050620006df565b60ff84111562000655576200065462000569565b5b8360020a9150848211156200066f576200066e62000569565b5b50620006df565b5060208310610133831016604e8410600b8410161715620006b05782820a905083811115620006aa57620006a962000569565b5b620006df565b620006bf8484846001620005a2565b92509050818404811115620006d957620006d862000569565b5b81810290505b9392505050565b5f620006f2826200033b565b9150620006ff836200033b565b92506200072e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005fc565b905092915050565b5f62000742826200033b565b91506200074f836200033b565b92508282026200075f816200033b565b9150828204841483151762000779576200077862000569565b5b5092915050565b6200078b816200033b565b82525050565b5f602082019050620007a65f83018462000780565b92915050565b610fb280620007ba5f395ff3fe608060405234801561000f575f80fd5b506004361061009c575f3560e01c8063313ce56711610064578063313ce5671461016a57806370a08231146101885780638da5cb5b146101b857806395d89b41146101d6578063a9059cbb146101f45761009c565b806306fdde03146100a0578063095ea7b3146100be5780630af4187d146100ee57806313af40351461011e57806323b872dd1461013a575b5f80fd5b6100a8610224565b6040516100b59190610af5565b60405180910390f35b6100d860048036038101906100d39190610ba6565b6102b0565b6040516100e59190610bfe565b60405180910390f35b61010860048036038101906101039190610c17565b61039d565b6040516101159190610c64565b60405180910390f35b61013860048036038101906101339190610c7d565b61041f565b005b610154600480360381019061014f9190610ca8565b6104ee565b6040516101619190610bfe565b60405180910390f35b6101726107ce565b60405161017f9190610d13565b60405180910390f35b6101a2600480360381019061019d9190610c7d565b6107e0565b6040516101af9190610c64565b60405180910390f35b6101c0610826565b6040516101cd9190610d3b565b60405180910390f35b6101de610849565b6040516101eb9190610af5565b60405180910390f35b61020e60048036038101906102099190610ba6565b6108d5565b60405161021b9190610bfe565b60405180910390f35b6001805461023190610d81565b80601f016020809104026020016040519081016040528092919081815260200182805461025d90610d81565b80156102a85780601f1061027f576101008083540402835291602001916102a8565b820191905f5260205f20905b81548152906001019060200180831161028b57829003601f168201915b505050505081565b5f8160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161038b9190610c64565b60405180910390a36001905092915050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a390610dfb565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205482111561056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056690610e63565b60405180910390fd5b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205482111561062a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062190610ecb565b60405180910390fd5b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106769190610f16565b925050819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106c99190610f49565b925050819055508160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107579190610f16565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107bb9190610c64565b60405180910390a3600190509392505050565b60035f9054906101000a900460ff1681565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002805461085690610d81565b80601f016020809104026020016040519081016040528092919081815260200182805461088290610d81565b80156108cd5780601f106108a4576101008083540402835291602001916108cd565b820191905f5260205f20905b8154815290600101906020018083116108b057829003601f168201915b505050505081565b5f60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054821115610956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094d90610e63565b60405180910390fd5b8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109a29190610f16565b925050819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546109f59190610f49565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a599190610c64565b60405180910390a36001905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610aa2578082015181840152602081019050610a87565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610ac782610a6b565b610ad18185610a75565b9350610ae1818560208601610a85565b610aea81610aad565b840191505092915050565b5f6020820190508181035f830152610b0d8184610abd565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b4282610b19565b9050919050565b610b5281610b38565b8114610b5c575f80fd5b50565b5f81359050610b6d81610b49565b92915050565b5f819050919050565b610b8581610b73565b8114610b8f575f80fd5b50565b5f81359050610ba081610b7c565b92915050565b5f8060408385031215610bbc57610bbb610b15565b5b5f610bc985828601610b5f565b9250506020610bda85828601610b92565b9150509250929050565b5f8115159050919050565b610bf881610be4565b82525050565b5f602082019050610c115f830184610bef565b92915050565b5f8060408385031215610c2d57610c2c610b15565b5b5f610c3a85828601610b5f565b9250506020610c4b85828601610b5f565b9150509250929050565b610c5e81610b73565b82525050565b5f602082019050610c775f830184610c55565b92915050565b5f60208284031215610c9257610c91610b15565b5b5f610c9f84828501610b5f565b91505092915050565b5f805f60608486031215610cbf57610cbe610b15565b5b5f610ccc86828701610b5f565b9350506020610cdd86828701610b5f565b9250506040610cee86828701610b92565b9150509250925092565b5f60ff82169050919050565b610d0d81610cf8565b82525050565b5f602082019050610d265f830184610d04565b92915050565b610d3581610b38565b82525050565b5f602082019050610d4e5f830184610d2c565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610d9857607f821691505b602082108103610dab57610daa610d54565b5b50919050565b7f4e6f7420746865206f776e6572000000000000000000000000000000000000005f82015250565b5f610de5600d83610a75565b9150610df082610db1565b602082019050919050565b5f6020820190508181035f830152610e1281610dd9565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f610e4d601483610a75565b9150610e5882610e19565b602082019050919050565b5f6020820190508181035f830152610e7a81610e41565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f610eb5601683610a75565b9150610ec082610e81565b602082019050919050565b5f6020820190508181035f830152610ee281610ea9565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610f2082610b73565b9150610f2b83610b73565b9250828203905081811115610f4357610f42610ee9565b5b92915050565b5f610f5382610b73565b9150610f5e83610b73565b9250828201905080821115610f7657610f75610ee9565b5b9291505056fea26469706673582212207f8c4143fe143d47e2d3a9eaad99864c1e59b2ba72bb443a00456550f166b5ae64736f6c63430008160033