0x60806040523480156200001157600080fd5b50600054610100900460ff166200002f5760005460ff161562000039565b62000039620000de565b620000a15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff16158015620000c4576000805461ffff19166101011790555b8015620000d7576000805461ff00191690555b506200010b565b6000620000f630620000fc60201b62000aa51760201c565b15905090565b6001600160a01b03163b151590565b61142e806200011b6000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806370a082311161010f57806395d89b41116100a2578063f2fde38b11610071578063f2fde38b14610562578063f3a6d60814610575578063f4359ce514610588578063f52a36f71461059257600080fd5b806395d89b41146104e7578063bd85b0391461050b578063e2c5b4d21461051e578063eda2108d1461055757600080fd5b80638da5cb5b116100de5780638da5cb5b146104a85780638ff07b5b146104b9578063900cf0cf146104c1578063911dcf5c146104ca57600080fd5b806370a0823114610426578063715018a61461043957806381fc83bb146104415780638ad4c4471461046157600080fd5b80632c678c641161018757806347ac36011161015657806347ac3601146103be5780634deafcae146103c7578063538daac4146103f357806354fd4d501461041e57600080fd5b80632c678c64146102f9578063313ce5671461031657806334d901a41461033057806344e83ccf146103b557600080fd5b806306fdde03116101c357806306fdde031461029657806317b5e895146102d157806318160ddd146102e657806326949984146102ee57600080fd5b8062fdd58e146101e95780630483a7f61461020f578063059f8b1614610287575b600080fd5b6101fc6101f7366004611053565b6105b5565b6040519081526020015b60405180910390f35b61025661021d36600461107d565b609d602052600090815260409020805460019091015460ff80831692610100810490911691620100009091046001600160801b03169084565b6040516102069493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b6101fc670de0b6b3a764000081565b6102c46040518060400160405280600f81526020016e566f74652d657363726f772053504160881b81525081565b60405161020691906110c8565b6102e46102df36600461107d565b6106d6565b005b6101fc610843565b6101fc630784ce0081565b60a0546103069060ff1681565b6040519015158152602001610206565b61031e601281565b60405160ff9091168152602001610206565b61038261033e366004611053565b609e6020908152600092835260408084209091529082529020805460018201546002830154600390930154600f83810b94600160801b909404810b9392900b919085565b60408051600f96870b815294860b60208601529290940b918301919091526060820152608081019190915260a001610206565b6101fc60985481565b6101fc60a15481565b6101fc6103d536600461107d565b6001600160a01b03166000908152609d602052604090206001015490565b609954610406906001600160a01b031681565b6040516001600160a01b039091168152602001610206565b6102c4610853565b6101fc61043436600461107d565b6108e1565b6102e46108ed565b6101fc61044f36600461107d565b609f6020526000908152604090205481565b61038261046f3660046110fb565b609b602052600090815260409020805460018201546002830154600390930154600f83810b94600160801b909404810b9392900b919085565b6033546001600160a01b0316610406565b6101fc610923565b6101fc609a5481565b6104d462093a8081565b604051600f9190910b8152602001610206565b6102c460405180604001604052806005815260200164766553504160d81b81525081565b6101fc6105193660046110fb565b610934565b6101fc61052c366004611053565b6001600160a01b03919091166000908152609e60209081526040808320938352929052206002015490565b6104d46301e1338081565b6102e461057036600461107d565b6109ad565b6104d461058336600461107d565b610a48565b6101fc62093a8081565b6104d46105a03660046110fb565b609c60205260009081526040902054600f0b81565b60a05460009060ff1680156105cb575060a15482115b156105d8575060006106d0565b60006105e48484610ab4565b9050806105f55760009150506106d0565b6001600160a01b0384166000908152609e60209081526040808320848452825291829020825160a0810184528154600f81810b8352600160801b909104810b93820193909352600182015490920b9282019290925260028201546060820181905260039092015460808201529061066c908561112a565b816020015161067b9190611169565b8151829061068a908390611207565b600f90810b90915282516000910b121590506106a557600081525b6040810151815182906106b9908390611257565b600f90810b909152915190910b92506106d0915050565b92915050565b6033546001600160a01b031633146107095760405162461bcd60e51b8152600401610700906112a6565b60405180910390fd5b6002606554141561075c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610700565b60026065556099546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156107aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ce91906112db565b6099549091506107e8906001600160a01b03168383610b6c565b600060985560a0805460ff191660011790554260a1556040516001600160a01b03831681527fac9509427cf08cdc0fa09bbb1b4f95e2ea56e039b17a926c6a0dce61c2eee01b9060200160405180910390a150506001606555565b600061084e42610934565b905090565b60978054610860906112f4565b80601f016020809104026020016040519081016040528092919081815260200182805461088c906112f4565b80156108d95780601f106108ae576101008083540402835291602001916108d9565b820191906000526020600020905b8154815290600101906020018083116108bc57829003601f168201915b505050505081565b60006106d082426105b5565b6033546001600160a01b031633146109175760405162461bcd60e51b8152600401610700906112a6565b6109216000610bc3565b565b61093162093a80600161132f565b81565b60008061094083610c15565b6000818152609b6020908152604091829020825160a0810184528154600f81810b8352600160801b909104810b93820193909352600182015490920b928201929092526002820154606082015260039091015460808201529091506109a58185610ca4565b949350505050565b6033546001600160a01b031633146109d75760405162461bcd60e51b8152600401610700906112a6565b6001600160a01b038116610a3c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610700565b610a4581610bc3565b50565b6001600160a01b0381166000908152609f602052604081205480610a6f5750600092915050565b6001600160a01b039092166000908152609e602090815260408083209483529390529190912054600160801b9004600f0b919050565b6001600160a01b03163b151590565b6001600160a01b0382166000908152609f60205260408120548190815b6080811015610b6257818310610ae657610b62565b60006002610af4848661134e565b610aff90600161134e565b610b099190611366565b6001600160a01b0388166000908152609e602090815260408083208484529091529020600201549091508610610b4157809350610b4f565b610b4c600182611388565b92505b5080610b5a8161139f565b915050610ad1565b5090949350505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bbe908490610de2565b505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b609a546000908190815b6080811015610c9b57818310610c3457610c9b565b60006002610c42848661134e565b610c4d90600161134e565b610c579190611366565b6000818152609b60205260409020600201549091508610610c7a57809350610c88565b610c85600182611388565b92505b5080610c938161139f565b915050610c1f565b50909392505050565b60a05460009060ff168015610cba575060a15482115b15610cc7575060006106d0565b6000839050600062093a80808360600151610ce29190611366565b610cec919061132f565b905060005b60ff811015610da257610d0762093a808361134e565b9150600085831115610d1b57859250610d2f565b506000828152609c6020526040902054600f0b5b6060840151610d3e908461112a565b8460200151610d4d9190611169565b84518590610d5c908390611207565b600f0b90525082861415610d705750610da2565b8084602001818151610d829190611257565b600f0b905250506060830182905280610d9a8161139f565b915050610cf1565b5060008260000151600f0b1215610db857600082525b604082015182518390610dcc908390611257565b600f90810b909152925190920b95945050505050565b6000610e37826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610eb49092919063ffffffff16565b805190915015610bbe5780806020019051810190610e5591906113ba565b610bbe5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610700565b6060610ec38484600085610ecd565b90505b9392505050565b606082471015610f2e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610700565b6001600160a01b0385163b610f855760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610700565b600080866001600160a01b03168587604051610fa191906113dc565b60006040518083038185875af1925050503d8060008114610fde576040519150601f19603f3d011682016040523d82523d6000602084013e610fe3565b606091505b5091509150610ff3828286610ffe565b979650505050505050565b6060831561100d575081610ec6565b82511561101d5782518084602001fd5b8160405162461bcd60e51b815260040161070091906110c8565b80356001600160a01b038116811461104e57600080fd5b919050565b6000806040838503121561106657600080fd5b61106f83611037565b946020939093013593505050565b60006020828403121561108f57600080fd5b610ec682611037565b60005b838110156110b357818101518382015260200161109b565b838111156110c2576000848401525b50505050565b60208152600082518060208401526110e7816040850160208701611098565b601f01601f19169190910160400192915050565b60006020828403121561110d57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b60008083128015600160ff1b85018412161561114857611148611114565b6001600160ff1b038401831381161561116357611163611114565b50500390565b600081600f0b83600f0b60016001607f1b0360008213600084138383048511828216161561119957611199611114565b6f7fffffffffffffffffffffffffffffff1960008512828116878305871216156111c5576111c5611114565b600087129250858205871284841616156111e1576111e1611114565b858505871281841616156111f7576111f7611114565b5050509290910295945050505050565b600081600f0b83600f0b600081128160016001607f1b03190183128115161561123257611232611114565b8160016001607f1b0301831381161561124d5761124d611114565b5090039392505050565b600081600f0b83600f0b600082128260016001607f1b030382138115161561128157611281611114565b8260016001607f1b031903821281161561129d5761129d611114565b50019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156112ed57600080fd5b5051919050565b600181811c9082168061130857607f821691505b6020821081141561132957634e487b7160e01b600052602260045260246000fd5b50919050565b600081600019048311821515161561134957611349611114565b500290565b6000821982111561136157611361611114565b500190565b60008261138357634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561139a5761139a611114565b500390565b60006000198214156113b3576113b3611114565b5060010190565b6000602082840312156113cc57600080fd5b81518015158114610ec657600080fd5b600082516113ee818460208701611098565b919091019291505056fea264697066735822122080c882442595e35273a19bb3ac8e04f965c5c2753ca836120c4ad0beb50f2f8b64736f6c634300080a0033