60806040523480156200001157600080fd5b5060405162000f6b38038062000f6b833981016040819052620000349162000245565b8181600362000044838262000347565b50600462000053828262000347565b505050620000716200006a6200008f60201b60201c565b8462000093565b5050600680546001600160401b03191662015180179055506200043b565b3390565b6001600160a01b038216620000ee5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000102919062000413565b90915550506001600160a01b038216600090815260208190526040812080548392906200013190849062000413565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001a857600080fd5b81516001600160401b0380821115620001c557620001c562000180565b604051601f8301601f19908116603f01168101908282118183101715620001f057620001f062000180565b816040528381526020925086838588010111156200020d57600080fd5b600091505b8382101562000231578582018301518183018401529082019062000212565b600093810190920192909252949350505050565b6000806000606084860312156200025b57600080fd5b835160208501519093506001600160401b03808211156200027b57600080fd5b620002898783880162000196565b93506040860151915080821115620002a057600080fd5b50620002af8682870162000196565b9150509250925092565b600181811c90821680620002ce57607f821691505b602082108103620002ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200017b57600081815260208120601f850160051c810160208610156200031e5750805b601f850160051c820191505b818110156200033f578281556001016200032a565b505050505050565b81516001600160401b0381111562000363576200036362000180565b6200037b81620003748454620002b9565b84620002f5565b602080601f831160018114620003b357600084156200039a5750858301515b600019600386901b1c1916600185901b1785556200033f565b600085815260208120601f198616915b82811015620003e457888601518255948401946001909101908401620003c3565b5085821015620004035787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200043557634e487b7160e01b600052601160045260246000fd5b92915050565b610b20806200044b6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063395093511161008c578063a457c2d711610066578063a457c2d714610197578063a9059cbb146101aa578063b3179445146101bd578063dd62ed3e1461020057600080fd5b8063395093511461015357806370a082311461016657806395d89b411461018f57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd146101155780631a363bf11461012757806323b872dd14610131578063313ce56714610144575b600080fd5b6100dc610239565b6040516100e9919061093a565b60405180910390f35b6101056101003660046109a4565b6102cb565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b61012f6102e2565b005b61010561013f3660046109ce565b6103cd565b604051601281526020016100e9565b6101056101613660046109a4565b610477565b610119610174366004610a0a565b6001600160a01b031660009081526020819052604090205490565b6100dc6104b3565b6101056101a53660046109a4565b6104c2565b6101056101b83660046109a4565b61055b565b6101e76101cb366004610a0a565b60056020526000908152604090205467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016100e9565b61011961020e366004610a2c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60606003805461024890610a5f565b80601f016020809104026020016040519081016040528092919081815260200182805461027490610a5f565b80156102c15780601f10610296576101008083540402835291602001916102c1565b820191906000526020600020905b8154815290600101906020018083116102a457829003601f168201915b5050505050905090565b60006102d8338484610568565b5060015b92915050565b3360009081526005602052604090205467ffffffffffffffff16428111156103605760405162461bcd60e51b815260206004820152602660248201527f54657374546f6b656e203a204e6f7420656e6f7567682074696d6520686173206044820152651c185cdcd95960d21b60648201526084015b60405180910390fd5b600654336000908152600560205260408120805467ffffffffffffffff9384169391929161039091859116610aaf565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506103ca33690a968163f0a57b40000061068c565b50565b60006103da84848461076b565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561045f5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610357565b61046c8533858403610568565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102d89185906104ae908690610ad7565b610568565b60606004805461024890610a5f565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156105445760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610357565b6105513385858403610568565b5060019392505050565b60006102d833848461076b565b6001600160a01b0383166105ca5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610357565b6001600160a01b03821661062b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610357565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0382166106e25760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610357565b80600260008282546106f49190610ad7565b90915550506001600160a01b03821660009081526020819052604081208054839290610721908490610ad7565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0383166107cf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610357565b6001600160a01b0382166108315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610357565b6001600160a01b038316600090815260208190526040902054818110156108a95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610357565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906108e0908490610ad7565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161092c91815260200190565b60405180910390a350505050565b600060208083528351808285015260005b818110156109675785810183015185820160400152820161094b565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461099f57600080fd5b919050565b600080604083850312156109b757600080fd5b6109c083610988565b946020939093013593505050565b6000806000606084860312156109e357600080fd5b6109ec84610988565b92506109fa60208501610988565b9150604084013590509250925092565b600060208284031215610a1c57600080fd5b610a2582610988565b9392505050565b60008060408385031215610a3f57600080fd5b610a4883610988565b9150610a5660208401610988565b90509250929050565b600181811c90821680610a7357607f821691505b602082108103610a9357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff818116838216019080821115610ad057610ad0610a99565b5092915050565b808201808211156102dc576102dc610a9956fea2646970667358221220625b99eb06e064fdd69a8045adc2d1f9815f781d7b03ba0b5ab8fd8b7cde3ac964736f6c6343000813003300000000000000000000000000000000000000000052b7d2dcc80cd2e4000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000007546573745546490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047455464900000000000000000000000000000000000000000000000000000000