0x608060405234801561001057600080fd5b50600436106101825760003560e01c806370a08231116100d857806395d89b411161008c578063c997eb8d11610066578063c997eb8d14610348578063dd62ed3e1461035b578063f2fde38b146103a157600080fd5b806395d89b411461031a578063a457c2d714610322578063a9059cbb1461033557600080fd5b8063860a32ec116100bd578063860a32ec146102e657806389f9a1d3146102f35780638da5cb5b146102fc57600080fd5b806370a08231146102a8578063715018a6146102de57600080fd5b806323b872dd1161013a5780633aa633aa116101145780633aa633aa1461023b57806342966c681461025057806349bd5a5e1461026357600080fd5b806323b872dd14610206578063313ce56714610219578063395093511461022857600080fd5b806316c021291161016b57806316c02129146101c857806318160ddd146101eb5780631ab99e12146101fd57600080fd5b806306fdde0314610187578063095ea7b3146101a5575b600080fd5b61018f6103b4565b60405161019c91906113da565b60405180910390f35b6101b86101b3366004611476565b610446565b604051901515815260200161019c565b6101b86101d63660046114a0565b600a6020526000908152604090205460ff1681565b6003545b60405190815260200161019c565b6101ef60085481565b6101b86102143660046114bb565b61045c565b6040516012815260200161019c565b6101b8610236366004611476565b610547565b61024e610249366004611507565b610590565b005b61024e61025e366004611549565b61068f565b6009546102839073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101ef6102b63660046114a0565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b61024e61069c565b6006546101b89060ff1681565b6101ef60075481565b60005473ffffffffffffffffffffffffffffffffffffffff16610283565b61018f610729565b6101b8610330366004611476565b610738565b6101b8610343366004611476565b610810565b61024e610356366004611591565b61081d565b6101ef610369366004611686565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b61024e6103af3660046114a0565b6108b4565b6060600480546103c3906116b9565b80601f01602080910402602001604051908101604052809291908181526020018280546103ef906116b9565b801561043c5780601f106104115761010080835404028352916020019161043c565b820191906000526020600020905b81548152906001019060200180831161041f57829003601f168201915b5050505050905090565b6000610453338484610a61565b50600192915050565b6000610469848484610c14565b73ffffffffffffffffffffffffffffffffffffffff841660009081526002602090815260408083203384529091529020548281101561052f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61053c8533858403610a61565b506001949350505050565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161045391859061058b90869061173c565b610a61565b60005473ffffffffffffffffffffffffffffffffffffffff163314610611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610526565b600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001694151594909417909355600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155600755600855565b6106993382610ed3565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461071d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610526565b61072760006110cc565b565b6060600580546103c3906116b9565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054828110156107f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610526565b6108063385858403610a61565b5060019392505050565b6000610453338484610c14565b60005b82518110156108af5781600a600085848151811061084057610840611754565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055806108a781611783565b915050610820565b505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610526565b73ffffffffffffffffffffffffffffffffffffffff81166109d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610526565b610699816110cc565b6000806109ee838561173c565b905083811015610a5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610526565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8316610b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610526565b73ffffffffffffffffffffffffffffffffffffffff8216610ba6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610526565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610cb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610526565b73ffffffffffffffffffffffffffffffffffffffff8216610d5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610526565b610d65838383611141565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205481811015610e1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610526565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220858503905591851681529081208054849290610e5f90849061173c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ec591815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610526565b610f8282600083611141565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205481811015611038576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610526565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081208383039055600380548492906110749084906117bc565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600a602052604090205460ff1615801561119d575073ffffffffffffffffffffffffffffffffffffffff83166000908152600a602052604090205460ff16155b611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105269060208082526004908201527f4279652100000000000000000000000000000000000000000000000000000000604082015260600190565b60095473ffffffffffffffffffffffffffffffffffffffff166112cb5760005473ffffffffffffffffffffffffffffffffffffffff84811691161480611265575060005473ffffffffffffffffffffffffffffffffffffffff8381169116145b6108af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f7420526561647921000000000000000000000000000000000000000000006044820152606401610526565b60065460ff1680156112f7575060095473ffffffffffffffffffffffffffffffffffffffff8481169116145b156108af576007546113358261132f8573ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b906109e1565b1115801561137457506008546113718261132f8573ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b10155b6108af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4c696d69746564210000000000000000000000000000000000000000000000006044820152606401610526565b600060208083528351808285015260005b81811015611407578581018301518582016040015282016113eb565b81811115611419576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461147157600080fd5b919050565b6000806040838503121561148957600080fd5b6114928361144d565b946020939093013593505050565b6000602082840312156114b257600080fd5b610a5a8261144d565b6000806000606084860312156114d057600080fd5b6114d98461144d565b92506114e76020850161144d565b9150604084013590509250925092565b8035801515811461147157600080fd5b6000806000806080858703121561151d57600080fd5b611526856114f7565b93506115346020860161144d565b93969395505050506040820135916060013590565b60006020828403121561155b57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156115a457600080fd5b823567ffffffffffffffff808211156115bc57600080fd5b818501915085601f8301126115d057600080fd5b81356020828211156115e4576115e4611562565b8160051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110868211171561162757611627611562565b60405292835281830193508481018201928984111561164557600080fd5b948201945b8386101561166a5761165b8661144d565b8552948201949382019361164a565b965061167990508782016114f7565b9450505050509250929050565b6000806040838503121561169957600080fd5b6116a28361144d565b91506116b06020840161144d565b90509250929050565b600181811c908216806116cd57607f821691505b60208210811415611707577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561174f5761174f61170d565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156117b5576117b561170d565b5060010190565b6000828210156117ce576117ce61170d565b50039056fea26469706673582212205e0d57df9db81b3d431dad08309ff22017d7d3fc2f4a612a267fea515c3c227c64736f6c63430008090033
0x60806040523480156200001157600080fd5b50604051806040016040528060068152602001654e6f4661636560d01b815250604051806040016040528060068152602001654e4f4641434560d01b8152506200006a62000064620000ba60201b60201c565b620000be565b81516200007f9060049060208501906200043b565b508051620000959060059060208401906200043b565b505050620000b43369d3c21bcecceda10000006200010e60201b60201c565b62000545565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166200016a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b620001786000838362000205565b80600360008282546200018c9190620004e1565b90915550506001600160a01b03821660009081526001602052604081208054839290620001bb908490620004e1565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0382166000908152600a602052604090205460ff161580156200024857506001600160a01b0383166000908152600a602052604090205460ff16155b6200027f5760405162461bcd60e51b815260040162000161906020808252600490820152634279652160e01b604082015260600190565b6009546001600160a01b0316620002fa576000546001600160a01b0384811691161480620002ba57506000546001600160a01b038381169116145b620002f55760405162461bcd60e51b815260206004820152600a6024820152694e6f742052656164792160b01b604482015260640162000161565b505050565b60065460ff1680156200031a57506009546001600160a01b038481169116145b15620002f55760075462000352826200033e85620003b660201b620002b61760201c565b620003d160201b620009e11790919060201c565b111580156200037d57506008546200037a826200033e85620003b660201b620002b61760201c565b10155b620002f55760405162461bcd60e51b81526020600482015260086024820152674c696d697465642160c01b604482015260640162000161565b6001600160a01b031660009081526001602052604090205490565b600080620003e08385620004e1565b905083811015620004345760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000161565b9392505050565b828054620004499062000508565b90600052602060002090601f0160209004810192826200046d5760008555620004b8565b82601f106200048857805160ff1916838001178555620004b8565b82800160010185558215620004b8579182015b82811115620004b85782518255916020019190600101906200049b565b50620004c6929150620004ca565b5090565b5b80821115620004c65760008155600101620004cb565b600082198211156200050357634e487b7160e01b600052601160045260246000fd5b500190565b600181811c908216806200051d57607f821691505b602082108114156200053f57634e487b7160e01b600052602260045260246000fd5b50919050565b61180980620005556000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c806370a08231116100d857806395d89b411161008c578063c997eb8d11610066578063c997eb8d14610348578063dd62ed3e1461035b578063f2fde38b146103a157600080fd5b806395d89b411461031a578063a457c2d714610322578063a9059cbb1461033557600080fd5b8063860a32ec116100bd578063860a32ec146102e657806389f9a1d3146102f35780638da5cb5b146102fc57600080fd5b806370a08231146102a8578063715018a6146102de57600080fd5b806323b872dd1161013a5780633aa633aa116101145780633aa633aa1461023b57806342966c681461025057806349bd5a5e1461026357600080fd5b806323b872dd14610206578063313ce56714610219578063395093511461022857600080fd5b806316c021291161016b57806316c02129146101c857806318160ddd146101eb5780631ab99e12146101fd57600080fd5b806306fdde0314610187578063095ea7b3146101a5575b600080fd5b61018f6103b4565b60405161019c91906113da565b60405180910390f35b6101b86101b3366004611476565b610446565b604051901515815260200161019c565b6101b86101d63660046114a0565b600a6020526000908152604090205460ff1681565b6003545b60405190815260200161019c565b6101ef60085481565b6101b86102143660046114bb565b61045c565b6040516012815260200161019c565b6101b8610236366004611476565b610547565b61024e610249366004611507565b610590565b005b61024e61025e366004611549565b61068f565b6009546102839073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b6101ef6102b63660046114a0565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b61024e61069c565b6006546101b89060ff1681565b6101ef60075481565b60005473ffffffffffffffffffffffffffffffffffffffff16610283565b61018f610729565b6101b8610330366004611476565b610738565b6101b8610343366004611476565b610810565b61024e610356366004611591565b61081d565b6101ef610369366004611686565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b61024e6103af3660046114a0565b6108b4565b6060600480546103c3906116b9565b80601f01602080910402602001604051908101604052809291908181526020018280546103ef906116b9565b801561043c5780601f106104115761010080835404028352916020019161043c565b820191906000526020600020905b81548152906001019060200180831161041f57829003601f168201915b5050505050905090565b6000610453338484610a61565b50600192915050565b6000610469848484610c14565b73ffffffffffffffffffffffffffffffffffffffff841660009081526002602090815260408083203384529091529020548281101561052f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61053c8533858403610a61565b506001949350505050565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161045391859061058b90869061173c565b610a61565b60005473ffffffffffffffffffffffffffffffffffffffff163314610611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610526565b600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001694151594909417909355600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155600755600855565b6106993382610ed3565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461071d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610526565b61072760006110cc565b565b6060600580546103c3906116b9565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054828110156107f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610526565b6108063385858403610a61565b5060019392505050565b6000610453338484610c14565b60005b82518110156108af5781600a600085848151811061084057610840611754565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055806108a781611783565b915050610820565b505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610526565b73ffffffffffffffffffffffffffffffffffffffff81166109d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610526565b610699816110cc565b6000806109ee838561173c565b905083811015610a5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610526565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8316610b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610526565b73ffffffffffffffffffffffffffffffffffffffff8216610ba6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610526565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610cb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610526565b73ffffffffffffffffffffffffffffffffffffffff8216610d5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610526565b610d65838383611141565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604090205481811015610e1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610526565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220858503905591851681529081208054849290610e5f90849061173c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ec591815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610526565b610f8282600083611141565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604090205481811015611038576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610526565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081208383039055600380548492906110749084906117bc565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600a602052604090205460ff1615801561119d575073ffffffffffffffffffffffffffffffffffffffff83166000908152600a602052604090205460ff16155b611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105269060208082526004908201527f4279652100000000000000000000000000000000000000000000000000000000604082015260600190565b60095473ffffffffffffffffffffffffffffffffffffffff166112cb5760005473ffffffffffffffffffffffffffffffffffffffff84811691161480611265575060005473ffffffffffffffffffffffffffffffffffffffff8381169116145b6108af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e6f7420526561647921000000000000000000000000000000000000000000006044820152606401610526565b60065460ff1680156112f7575060095473ffffffffffffffffffffffffffffffffffffffff8481169116145b156108af576007546113358261132f8573ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b906109e1565b1115801561137457506008546113718261132f8573ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b10155b6108af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4c696d69746564210000000000000000000000000000000000000000000000006044820152606401610526565b600060208083528351808285015260005b81811015611407578581018301518582016040015282016113eb565b81811115611419576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461147157600080fd5b919050565b6000806040838503121561148957600080fd5b6114928361144d565b946020939093013593505050565b6000602082840312156114b257600080fd5b610a5a8261144d565b6000806000606084860312156114d057600080fd5b6114d98461144d565b92506114e76020850161144d565b9150604084013590509250925092565b8035801515811461147157600080fd5b6000806000806080858703121561151d57600080fd5b611526856114f7565b93506115346020860161144d565b93969395505050506040820135916060013590565b60006020828403121561155b57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156115a457600080fd5b823567ffffffffffffffff808211156115bc57600080fd5b818501915085601f8301126115d057600080fd5b81356020828211156115e4576115e4611562565b8160051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110868211171561162757611627611562565b60405292835281830193508481018201928984111561164557600080fd5b948201945b8386101561166a5761165b8661144d565b8552948201949382019361164a565b965061167990508782016114f7565b9450505050509250929050565b6000806040838503121561169957600080fd5b6116a28361144d565b91506116b06020840161144d565b90509250929050565b600181811c908216806116cd57607f821691505b60208210811415611707577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561174f5761174f61170d565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156117b5576117b561170d565b5060010190565b6000828210156117ce576117ce61170d565b50039056fea26469706673582212205e0d57df9db81b3d431dad08309ff22017d7d3fc2f4a612a267fea515c3c227c64736f6c63430008090033