0x608060405234801561000f575f80fd5b50600436106101a1575f3560e01c8063715018a6116100f35780639b19251a11610093578063d39b74d41161006e578063d39b74d41461037f578063d505accf14610388578063dd62ed3e1461039b578063f2fde38b146103ae575f80fd5b80639b19251a14610337578063a457c2d714610359578063a9059cbb1461036c575f80fd5b80638187f516116100ce5780638187f516146102f057806384b0196e146103035780638da5cb5b1461031e57806395d89b411461032f575f80fd5b8063715018a6146102c25780637ecebe00146102ca5780637f649783146102dd575f80fd5b80633644e5151161015e5780633d9287fa116101395780633d9287fa14610248578063548db1741461025c5780636ba631cf1461026f57806370a082311461029a575f80fd5b80633644e51514610224578063378dc3dc1461022c5780633950935114610235575f80fd5b806306fdde03146101a5578063095ea7b3146101c357806311eb3047146101e657806318160ddd146101f057806323b872dd14610202578063313ce56714610215575b5f80fd5b6101ad6103c1565b6040516101ba919061157f565b60405180910390f35b6101d66101d13660046115ac565b610451565b60405190151581526020016101ba565b6101ee61046a565b005b6002545b6040519081526020016101ba565b6101d66102103660046115d4565b610481565b604051601281526020016101ba565b6101f461061b565b6101f4600d5481565b6101d66102433660046115ac565b610629565b600b546101d690600160a01b900460ff1681565b6101ee61026a36600461160d565b61064a565b600b54610282906001600160a01b031681565b6040516001600160a01b0390911681526020016101ba565b6101f46102a836600461167c565b6001600160a01b03165f9081526020819052604090205490565b6101ee6106bb565b6101f46102d836600461167c565b6106ce565b6101ee6102eb36600461160d565b6106eb565b6101ee6102fe36600461167c565b610758565b61030b6107cf565b6040516101ba9796959493929190611695565b6009546001600160a01b0316610282565b6101ad610856565b6101d661034536600461167c565b600a6020525f908152604090205460ff1681565b6101d66103673660046115ac565b610865565b6101d661037a3660046115ac565b6108ea565b6101f4600c5481565b6101ee61039636600461172c565b610a76565b6101f46103a9366004611799565b610bd7565b6101ee6103bc36600461167c565b610c01565b6060600380546103d0906117ca565b80601f01602080910402602001604051908101604052809291908181526020018280546103fc906117ca565b80156104475780601f1061041e57610100808354040283529160200191610447565b820191905f5260205f20905b81548152906001019060200180831161042a57829003601f168201915b5050505050905090565b5f3361045e818585610c7a565b60019150505b92915050565b610472610d9d565b600b805460ff60a01b19169055565b600b545f90600160a01b900460ff1680156104aa57506009546001600160a01b03848116911614155b80156104c457506009546001600160a01b03858116911614155b15610608576001600160a01b0383165f908152600a602052604090205460ff166105355760405162461bcd60e51b815260206004820152601c60248201527f526563697069656e74206973206e6f742077686974656c69737465640000000060448201526064015b60405180910390fd5b600b546001600160a01b03166105885760405162461bcd60e51b81526020600482015260186024820152771d1c985919481a5cc81b9bdd08195b98589b1959081e595d60421b604482015260640161052c565b600b546001600160a01b0390811690851603610608576103e8600c546105ad60025490565b6105b79190611810565b6105c19190611827565b826105e0856001600160a01b03165f9081526020819052604090205490565b6105ea9190611846565b11156106085760405162461bcd60e51b815260040161052c90611859565b610613848484610df7565b949350505050565b5f610624610e0f565b905090565b5f3361045e81858561063b8383610bd7565b6106459190611846565b610c7a565b610652610d9d565b5f5b818110156106b6575f600a5f858585818110610672576106726118ac565b9050602002016020810190610687919061167c565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610654565b505050565b6106c3610d9d565b6106cc5f610f38565b565b6001600160a01b0381165f90815260076020526040812054610464565b6106f3610d9d565b5f5b818110156106b6576001600a5f858585818110610714576107146118ac565b9050602002016020810190610729919061167c565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016106f5565b610760610d9d565b6001600160a01b0381166107a85760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b604482015260640161052c565b600b80546001600160a81b0319166001600160a01b0390921691909117600160a01b179055565b5f606080828080836108027f4d616b65204974205261696e000000000000000000000000000000000000000c6005610f89565b61082d7f31000000000000000000000000000000000000000000000000000000000000016006610f89565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546103d0906117ca565b5f33816108728286610bd7565b9050838110156108d25760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161052c565b6108df8286868403610c7a565b506001949350505050565b600b545f90600160a01b900460ff16801561091357506009546001600160a01b03848116911614155b801561092a57506009546001600160a01b03163314155b15610a65576001600160a01b0383165f908152600a602052604090205460ff166109965760405162461bcd60e51b815260206004820152601c60248201527f526563697069656e74206973206e6f742077686974656c697374656400000000604482015260640161052c565b600b546001600160a01b03166109e95760405162461bcd60e51b81526020600482015260186024820152771d1c985919481a5cc81b9bdd08195b98589b1959081e595d60421b604482015260640161052c565b600b546001600160a01b03163303610a65576103e8600c54610a0a60025490565b610a149190611810565b610a1e9190611827565b82610a3d856001600160a01b03165f9081526020819052604090205490565b610a479190611846565b1115610a655760405162461bcd60e51b815260040161052c90611859565b610a6f8383611032565b9392505050565b83421115610ac65760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161052c565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610af48c61103f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610b4e82611066565b90505f610b5d82878787611092565b9050896001600160a01b0316816001600160a01b031614610bc05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161052c565b610bcb8a8a8a610c7a565b50505050505050505050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610c09610d9d565b6001600160a01b038116610c6e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052c565b610c7781610f38565b50565b6001600160a01b038316610cdc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052c565b6001600160a01b038216610d3d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6009546001600160a01b031633146106cc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052c565b5f33610e048582856110b8565b6108df858585611130565b5f306001600160a01b037f0000000000000000000000004712dddb3ea3b9db02e13770adde41d608146adc16148015610e6757507f000000000000000000000000000000000000000000000000000000000000000146145b15610e9157507fad938492120a515e3d784fd1de5b8674613ec56da5155df469b8ec711c5fa3b390565b610624604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f3cf6f0d24b901bccf46fdcda2c801bc8436f303e5ceacbda7256affa641a5b5f918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b606060ff8314610fa357610f9c836112d2565b9050610464565b818054610faf906117ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610fdb906117ca565b80156110265780601f10610ffd57610100808354040283529160200191611026565b820191905f5260205f20905b81548152906001019060200180831161100957829003601f168201915b50505050509050610464565b5f3361045e818585611130565b6001600160a01b0381165f9081526007602052604090208054600181018255905b50919050565b5f610464611072610e0f565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f6110a18787878761130f565b915091506110ae816113cc565b5095945050505050565b5f6110c38484610bd7565b90505f19811461112a578181101561111d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161052c565b61112a8484848403610c7a565b50505050565b6001600160a01b0383166111945760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052c565b6001600160a01b0382166111f65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052c565b6001600160a01b0383165f908152602081905260409020548181101561126d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161052c565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361112a565b60605f6112de83611515565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561134457505f905060036113c3565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611395573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166113bd575f600192509250506113c3565b91505f90505b94509492505050565b5f8160048111156113df576113df6118c0565b036113e75750565b60018160048111156113fb576113fb6118c0565b036114485760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161052c565b600281600481111561145c5761145c6118c0565b036114a95760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161052c565b60038160048111156114bd576114bd6118c0565b03610c775760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161052c565b5f60ff8216601f81111561046457604051632cd44ac360e21b815260040160405180910390fd5b5f81518084525f5b8181101561156057602081850181015186830182015201611544565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610a6f602083018461153c565b80356001600160a01b03811681146115a7575f80fd5b919050565b5f80604083850312156115bd575f80fd5b6115c683611591565b946020939093013593505050565b5f805f606084860312156115e6575f80fd5b6115ef84611591565b92506115fd60208501611591565b9150604084013590509250925092565b5f806020838503121561161e575f80fd5b823567ffffffffffffffff80821115611635575f80fd5b818501915085601f830112611648575f80fd5b813581811115611656575f80fd5b8660208260051b850101111561166a575f80fd5b60209290920196919550909350505050565b5f6020828403121561168c575f80fd5b610a6f82611591565b60ff60f81b881681525f602060e060208401526116b560e084018a61153c565b83810360408501526116c7818a61153c565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b8181101561171a578351835292840192918401916001016116fe565b50909c9b505050505050505050505050565b5f805f805f805f60e0888a031215611742575f80fd5b61174b88611591565b965061175960208901611591565b95506040880135945060608801359350608088013560ff8116811461177c575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f80604083850312156117aa575f80fd5b6117b383611591565b91506117c160208401611591565b90509250929050565b600181811c908216806117de57607f821691505b60208210810361106057634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610464576104646117fc565b5f8261184157634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610464576104646117fc565b60208082526033908201527f466f726269642c20596f752043616e277420686f6c64206d6f7265207468616e60408201527220312e3525206f662074686520737570706c7960681b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffdfea264697066735822122053334d899a070d522a9e04bcd83b2329a93979685b0dc915f2ace6c57261272264736f6c63430008160033
0x610160604052600b805460ff60a01b1916600160a01b179055600f600c556305f5e100600d5534801562000031575f80fd5b506040518060400160405280600c81526020016b26b0b5b29024ba102930b4b760a11b81525080604051806040016040528060018152602001603160f81b8152506040518060400160405280600c81526020016b26b0b5b29024ba102930b4b760a11b8152506040518060400160405280600381526020016226a4a960e91b8152508160039081620000c49190620003f8565b506004620000d38282620003f8565b50620000e591508390506005620001c6565b61012052620000f6816006620001c6565b61014052815160208084019190912060e052815190820120610100524660a0526200018360e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506200019833620001fe565b620001c033620001ab6012600a620005d1565b600d54620001ba9190620005e8565b6200024f565b6200068a565b5f602083511015620001e557620001dd8362000314565b9050620001f8565b81620001f28482620003f8565b5060ff90505b92915050565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b038216620002ab5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b8060025f828254620002be919062000602565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b5f80829050601f8151111562000341578260405163305a27a960e01b8152600401620002a2919062000618565b80516200034e8262000666565b179392505050565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200038457607f821691505b602082108103620003a357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200035657805f5260205f20601f840160051c81016020851015620003d05750805b601f840160051c820191505b81811015620003f1575f8155600101620003dc565b5050505050565b81516001600160401b038111156200041457620004146200035b565b6200042c816200042584546200036f565b84620003a9565b602080601f83116001811462000462575f84156200044a5750858301515b5f19600386901b1c1916600185901b178555620004bc565b5f85815260208120601f198616915b82811015620004925788860151825594840194600190910190840162000471565b5085821015620004b057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200051857815f1904821115620004fc57620004fc620004c4565b808516156200050a57918102915b93841c9390800290620004dd565b509250929050565b5f826200053057506001620001f8565b816200053e57505f620001f8565b8160018114620005575760028114620005625762000582565b6001915050620001f8565b60ff841115620005765762000576620004c4565b50506001821b620001f8565b5060208310610133831016604e8410600b8410161715620005a7575081810a620001f8565b620005b38383620004d8565b805f1904821115620005c957620005c9620004c4565b029392505050565b5f620005e160ff84168362000520565b9392505050565b8082028115828204841417620001f857620001f8620004c4565b80820180821115620001f857620001f8620004c4565b5f602080835283518060208501525f5b81811015620006465785810183015185820160400152820162000628565b505f604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620003a3575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161190a620006dc5f395f61080701525f6107dc01525f610ee801525f610ec001525f610e1b01525f610e4501525f610e6f015261190a5ff3fe608060405234801561000f575f80fd5b50600436106101a1575f3560e01c8063715018a6116100f35780639b19251a11610093578063d39b74d41161006e578063d39b74d41461037f578063d505accf14610388578063dd62ed3e1461039b578063f2fde38b146103ae575f80fd5b80639b19251a14610337578063a457c2d714610359578063a9059cbb1461036c575f80fd5b80638187f516116100ce5780638187f516146102f057806384b0196e146103035780638da5cb5b1461031e57806395d89b411461032f575f80fd5b8063715018a6146102c25780637ecebe00146102ca5780637f649783146102dd575f80fd5b80633644e5151161015e5780633d9287fa116101395780633d9287fa14610248578063548db1741461025c5780636ba631cf1461026f57806370a082311461029a575f80fd5b80633644e51514610224578063378dc3dc1461022c5780633950935114610235575f80fd5b806306fdde03146101a5578063095ea7b3146101c357806311eb3047146101e657806318160ddd146101f057806323b872dd14610202578063313ce56714610215575b5f80fd5b6101ad6103c1565b6040516101ba919061157f565b60405180910390f35b6101d66101d13660046115ac565b610451565b60405190151581526020016101ba565b6101ee61046a565b005b6002545b6040519081526020016101ba565b6101d66102103660046115d4565b610481565b604051601281526020016101ba565b6101f461061b565b6101f4600d5481565b6101d66102433660046115ac565b610629565b600b546101d690600160a01b900460ff1681565b6101ee61026a36600461160d565b61064a565b600b54610282906001600160a01b031681565b6040516001600160a01b0390911681526020016101ba565b6101f46102a836600461167c565b6001600160a01b03165f9081526020819052604090205490565b6101ee6106bb565b6101f46102d836600461167c565b6106ce565b6101ee6102eb36600461160d565b6106eb565b6101ee6102fe36600461167c565b610758565b61030b6107cf565b6040516101ba9796959493929190611695565b6009546001600160a01b0316610282565b6101ad610856565b6101d661034536600461167c565b600a6020525f908152604090205460ff1681565b6101d66103673660046115ac565b610865565b6101d661037a3660046115ac565b6108ea565b6101f4600c5481565b6101ee61039636600461172c565b610a76565b6101f46103a9366004611799565b610bd7565b6101ee6103bc36600461167c565b610c01565b6060600380546103d0906117ca565b80601f01602080910402602001604051908101604052809291908181526020018280546103fc906117ca565b80156104475780601f1061041e57610100808354040283529160200191610447565b820191905f5260205f20905b81548152906001019060200180831161042a57829003601f168201915b5050505050905090565b5f3361045e818585610c7a565b60019150505b92915050565b610472610d9d565b600b805460ff60a01b19169055565b600b545f90600160a01b900460ff1680156104aa57506009546001600160a01b03848116911614155b80156104c457506009546001600160a01b03858116911614155b15610608576001600160a01b0383165f908152600a602052604090205460ff166105355760405162461bcd60e51b815260206004820152601c60248201527f526563697069656e74206973206e6f742077686974656c69737465640000000060448201526064015b60405180910390fd5b600b546001600160a01b03166105885760405162461bcd60e51b81526020600482015260186024820152771d1c985919481a5cc81b9bdd08195b98589b1959081e595d60421b604482015260640161052c565b600b546001600160a01b0390811690851603610608576103e8600c546105ad60025490565b6105b79190611810565b6105c19190611827565b826105e0856001600160a01b03165f9081526020819052604090205490565b6105ea9190611846565b11156106085760405162461bcd60e51b815260040161052c90611859565b610613848484610df7565b949350505050565b5f610624610e0f565b905090565b5f3361045e81858561063b8383610bd7565b6106459190611846565b610c7a565b610652610d9d565b5f5b818110156106b6575f600a5f858585818110610672576106726118ac565b9050602002016020810190610687919061167c565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610654565b505050565b6106c3610d9d565b6106cc5f610f38565b565b6001600160a01b0381165f90815260076020526040812054610464565b6106f3610d9d565b5f5b818110156106b6576001600a5f858585818110610714576107146118ac565b9050602002016020810190610729919061167c565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016106f5565b610760610d9d565b6001600160a01b0381166107a85760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b604482015260640161052c565b600b80546001600160a81b0319166001600160a01b0390921691909117600160a01b179055565b5f606080828080836108027f00000000000000000000000000000000000000000000000000000000000000006005610f89565b61082d7f00000000000000000000000000000000000000000000000000000000000000006006610f89565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546103d0906117ca565b5f33816108728286610bd7565b9050838110156108d25760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161052c565b6108df8286868403610c7a565b506001949350505050565b600b545f90600160a01b900460ff16801561091357506009546001600160a01b03848116911614155b801561092a57506009546001600160a01b03163314155b15610a65576001600160a01b0383165f908152600a602052604090205460ff166109965760405162461bcd60e51b815260206004820152601c60248201527f526563697069656e74206973206e6f742077686974656c697374656400000000604482015260640161052c565b600b546001600160a01b03166109e95760405162461bcd60e51b81526020600482015260186024820152771d1c985919481a5cc81b9bdd08195b98589b1959081e595d60421b604482015260640161052c565b600b546001600160a01b03163303610a65576103e8600c54610a0a60025490565b610a149190611810565b610a1e9190611827565b82610a3d856001600160a01b03165f9081526020819052604090205490565b610a479190611846565b1115610a655760405162461bcd60e51b815260040161052c90611859565b610a6f8383611032565b9392505050565b83421115610ac65760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161052c565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610af48c61103f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610b4e82611066565b90505f610b5d82878787611092565b9050896001600160a01b0316816001600160a01b031614610bc05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161052c565b610bcb8a8a8a610c7a565b50505050505050505050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610c09610d9d565b6001600160a01b038116610c6e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052c565b610c7781610f38565b50565b6001600160a01b038316610cdc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052c565b6001600160a01b038216610d3d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6009546001600160a01b031633146106cc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052c565b5f33610e048582856110b8565b6108df858585611130565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610e6757507f000000000000000000000000000000000000000000000000000000000000000046145b15610e9157507f000000000000000000000000000000000000000000000000000000000000000090565b610624604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b606060ff8314610fa357610f9c836112d2565b9050610464565b818054610faf906117ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610fdb906117ca565b80156110265780601f10610ffd57610100808354040283529160200191611026565b820191905f5260205f20905b81548152906001019060200180831161100957829003601f168201915b50505050509050610464565b5f3361045e818585611130565b6001600160a01b0381165f9081526007602052604090208054600181018255905b50919050565b5f610464611072610e0f565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f6110a18787878761130f565b915091506110ae816113cc565b5095945050505050565b5f6110c38484610bd7565b90505f19811461112a578181101561111d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161052c565b61112a8484848403610c7a565b50505050565b6001600160a01b0383166111945760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052c565b6001600160a01b0382166111f65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052c565b6001600160a01b0383165f908152602081905260409020548181101561126d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161052c565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361112a565b60605f6112de83611515565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561134457505f905060036113c3565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611395573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166113bd575f600192509250506113c3565b91505f90505b94509492505050565b5f8160048111156113df576113df6118c0565b036113e75750565b60018160048111156113fb576113fb6118c0565b036114485760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161052c565b600281600481111561145c5761145c6118c0565b036114a95760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161052c565b60038160048111156114bd576114bd6118c0565b03610c775760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161052c565b5f60ff8216601f81111561046457604051632cd44ac360e21b815260040160405180910390fd5b5f81518084525f5b8181101561156057602081850181015186830182015201611544565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610a6f602083018461153c565b80356001600160a01b03811681146115a7575f80fd5b919050565b5f80604083850312156115bd575f80fd5b6115c683611591565b946020939093013593505050565b5f805f606084860312156115e6575f80fd5b6115ef84611591565b92506115fd60208501611591565b9150604084013590509250925092565b5f806020838503121561161e575f80fd5b823567ffffffffffffffff80821115611635575f80fd5b818501915085601f830112611648575f80fd5b813581811115611656575f80fd5b8660208260051b850101111561166a575f80fd5b60209290920196919550909350505050565b5f6020828403121561168c575f80fd5b610a6f82611591565b60ff60f81b881681525f602060e060208401526116b560e084018a61153c565b83810360408501526116c7818a61153c565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b8181101561171a578351835292840192918401916001016116fe565b50909c9b505050505050505050505050565b5f805f805f805f60e0888a031215611742575f80fd5b61174b88611591565b965061175960208901611591565b95506040880135945060608801359350608088013560ff8116811461177c575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f80604083850312156117aa575f80fd5b6117b383611591565b91506117c160208401611591565b90509250929050565b600181811c908216806117de57607f821691505b60208210810361106057634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610464576104646117fc565b5f8261184157634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610464576104646117fc565b60208082526033908201527f466f726269642c20596f752043616e277420686f6c64206d6f7265207468616e60408201527220312e3525206f662074686520737570706c7960681b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffdfea264697066735822122053334d899a070d522a9e04bcd83b2329a93979685b0dc915f2ace6c57261272264736f6c63430008160033