0x60806040523480156200001157600080fd5b506040518060400160405280600981526020017f42616279536861726b00000000000000000000000000000000000000000000008152506000908162000058919062000371565b506040518060400160405280600681526020017f42534841524b0000000000000000000000000000000000000000000000000000815250600190816200009f919062000371565b506301406f40600281905550600254600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000458565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200017957607f821691505b6020821081036200018f576200018e62000131565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001f97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620001ba565b620002058683620001ba565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620002526200024c62000246846200021d565b62000227565b6200021d565b9050919050565b6000819050919050565b6200026e8362000231565b620002866200027d8262000259565b848454620001c7565b825550505050565b600090565b6200029d6200028e565b620002aa81848462000263565b505050565b5b81811015620002d257620002c660008262000293565b600181019050620002b0565b5050565b601f8211156200032157620002eb8162000195565b620002f684620001aa565b8101602085101562000306578190505b6200031e6200031585620001aa565b830182620002af565b50505b505050565b600082821c905092915050565b6000620003466000198460080262000326565b1980831691505092915050565b600062000361838362000333565b9150826002028217905092915050565b6200037c82620000f7565b67ffffffffffffffff81111562000398576200039762000102565b5b620003a4825462000160565b620003b1828285620002d6565b600060209050601f831160018114620003e95760008415620003d4578287015190505b620003e0858262000353565b86555062000450565b601f198416620003f98662000195565b60005b828110156200042357848901518255600182019150602085019450602081019050620003fc565b868310156200044357848901516200043f601f89168262000333565b8355505b6001600288020188555050505b505050505050565b61087f80620004686000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806306fdde031461005c57806318160ddd1461007a57806370a082311461009857806395d89b41146100c8578063a9059cbb146100e6575b600080fd5b610064610116565b60405161007191906104f2565b60405180910390f35b6100826101a4565b60405161008f919061052d565b60405180910390f35b6100b260048036038101906100ad91906105ab565b6101aa565b6040516100bf919061052d565b60405180910390f35b6100d06101f3565b6040516100dd91906104f2565b60405180910390f35b61010060048036038101906100fb9190610604565b610281565b60405161010d919061065f565b60405180910390f35b60008054610123906106a9565b80601f016020809104026020016040519081016040528092919081815260200182805461014f906106a9565b801561019c5780601f106101715761010080835404028352916020019161019c565b820191906000526020600020905b81548152906001019060200180831161017f57829003601f168201915b505050505081565b60025481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60018054610200906106a9565b80601f016020809104026020016040519081016040528092919081815260200182805461022c906106a9565b80156102795780601f1061024e57610100808354040283529160200191610279565b820191906000526020600020905b81548152906001019060200180831161025c57829003601f168201915b505050505081565b60008082116102c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102bc90610726565b60405180910390fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033e90610792565b60405180910390fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461039691906107e1565b9250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103ec9190610815565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610450919061052d565b60405180910390a36001905092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561049c578082015181840152602081019050610481565b60008484015250505050565b6000601f19601f8301169050919050565b60006104c482610462565b6104ce818561046d565b93506104de81856020860161047e565b6104e7816104a8565b840191505092915050565b6000602082019050818103600083015261050c81846104b9565b905092915050565b6000819050919050565b61052781610514565b82525050565b6000602082019050610542600083018461051e565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105788261054d565b9050919050565b6105888161056d565b811461059357600080fd5b50565b6000813590506105a58161057f565b92915050565b6000602082840312156105c1576105c0610548565b5b60006105cf84828501610596565b91505092915050565b6105e181610514565b81146105ec57600080fd5b50565b6000813590506105fe816105d8565b92915050565b6000806040838503121561061b5761061a610548565b5b600061062985828601610596565b925050602061063a858286016105ef565b9150509250929050565b60008115159050919050565b61065981610644565b82525050565b60006020820190506106746000830184610650565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806106c157607f821691505b6020821081036106d4576106d361067a565b5b50919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f600082015250565b600061071060208361046d565b915061071b826106da565b602082019050919050565b6000602082019050818103600083015261073f81610703565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b600061077c60148361046d565b915061078782610746565b602082019050919050565b600060208201905081810360008301526107ab8161076f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006107ec82610514565b91506107f783610514565b925082820390508181111561080f5761080e6107b2565b5b92915050565b600061082082610514565b915061082b83610514565b9250828201905080821115610843576108426107b2565b5b9291505056fea26469706673582212206cf0618abdf918d9a9cf530a7fda3ba3c99daf7a99c51bc49e2b38222b8f624c64736f6c63430008120033