0x608060405260043610610344575f3560e01c80638a8c523c116101bd578063c0246668116100f2578063dd62ed3e11610092578063f11a24d31161006d578063f11a24d314610987578063f2fde38b1461099b578063f6374342146109ba578063f8b45b05146109ce575f80fd5b8063dd62ed3e1461090f578063dde83eca14610953578063e2f4560514610972575f80fd5b8063c18bc195116100cd578063c18bc195146108a8578063c8c8ebe4146108c7578063d257b34f146108dc578063d85ba063146108fb575f80fd5b8063c02466681461084b578063c04a54141461086a578063c17b5b8c14610889575f80fd5b80639c3b4fdc1161015d578063a457c2d711610138578063a457c2d7146107c1578063a9059cbb146107e0578063b62496f5146107ff578063bbc0c7421461082d575f80fd5b80639c3b4fdc146107845780639fccce3214610798578063a0d82dc5146107ad575f80fd5b8063924de9b711610198578063924de9b71461071d57806395d89b411461073c578063967ff23e146107505780639a7a23d614610765575f80fd5b80638a8c523c146106d85780638da5cb5b146106ec5780639213691314610709575f80fd5b80634fbee19311610293578063751039fc1161023357806376e21dd21161020e57806376e21dd2146106675780637bce5a04146106865780637ca8448a1461069a5780638095d564146106b9575f80fd5b8063751039fc146106155780637571336a1461062957806375f0a87414610648575f80fd5b80636ddd17131161026e5780636ddd17131461058f57806370a08231146105ae578063715018a6146105e257806372ac2486146105f6575f80fd5b80634fbee193146105235780635d098b381461055a5780636a486a8e1461057b575f80fd5b80631f3fed8f116102fe578063313ce567116102d9578063313ce5671461049d57806339509351146104b857806349bd5a5e146104d75780634a62bb651461050a575f80fd5b80631f3fed8f1461045457806323b872dd1461046957806327c8f83514610488575f80fd5b806306fdde031461034f578063095ea7b31461037957806310d5de53146103a85780631694505e146103d657806318160ddd146104215780631a8145bb1461043f575f80fd5b3661034b57005b5f80fd5b34801561035a575f80fd5b506103636109e3565b6040516103709190612497565b60405180910390f35b348015610384575f80fd5b506103986103933660046124fa565b610a73565b6040519015158152602001610370565b3480156103b3575f80fd5b506103986103c2366004612524565b601b6020525f908152604090205460ff1681565b3480156103e1575f80fd5b506104097f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610370565b34801561042c575f80fd5b506002545b604051908152602001610370565b34801561044a575f80fd5b50610431600d5481565b34801561045f575f80fd5b50610431600c5481565b348015610474575f80fd5b5061039861048336600461253f565b610a89565b348015610493575f80fd5b5061040961dead81565b3480156104a8575f80fd5b5060405160128152602001610370565b3480156104c3575f80fd5b506103986104d23660046124fa565b610af0565b3480156104e2575f80fd5b506104097f0000000000000000000000001887d7f923c045f26def3bb46ccf6edc091e132981565b348015610515575f80fd5b50600b546103989060ff1681565b34801561052e575f80fd5b5061039861053d366004612524565b6001600160a01b03165f908152601a602052604090205460ff1690565b348015610565575f80fd5b50610579610574366004612524565b610b25565b005b348015610586575f80fd5b50601954610431565b34801561059a575f80fd5b50600b546103989062010000900460ff1681565b3480156105b9575f80fd5b506104316105c8366004612524565b6001600160a01b03165f9081526020819052604090205490565b3480156105ed575f80fd5b50610579610bb4565b348015610601575f80fd5b50610579610610366004612524565b610c27565b348015610620575f80fd5b50610398610cad565b348015610634575f80fd5b5061057961064336600461258c565b610ce9565b348015610653575f80fd5b50600654610409906001600160a01b031681565b348015610672575f80fd5b506105796106813660046125bf565b610d3d565b348015610691575f80fd5b50601254610431565b3480156106a5575f80fd5b506105796106b4366004612524565b610dd1565b3480156106c4575f80fd5b506105796106d336600461263c565b610e5a565b3480156106e3575f80fd5b50610579610eb0565b3480156106f7575f80fd5b506005546001600160a01b0316610409565b348015610714575f80fd5b50601654610431565b348015610728575f80fd5b50610579610737366004612665565b610efa565b348015610747575f80fd5b50610363610f40565b34801561075b575f80fd5b5061043160115481565b348015610770575f80fd5b5061057961077f36600461258c565b610f4f565b34801561078f575f80fd5b50601454610431565b3480156107a3575f80fd5b50610431600e5481565b3480156107b8575f80fd5b50601854610431565b3480156107cc575f80fd5b506103986107db3660046124fa565b61102a565b3480156107eb575f80fd5b506103986107fa3660046124fa565b611077565b34801561080a575f80fd5b50610398610819366004612524565b601c6020525f908152604090205460ff1681565b348015610838575f80fd5b50600b5461039890610100900460ff1681565b348015610856575f80fd5b5061057961086536600461258c565b611083565b348015610875575f80fd5b50600754610409906001600160a01b031681565b348015610894575f80fd5b506105796108a336600461263c565b61110b565b3480156108b3575f80fd5b506105796108c236600461267e565b611161565b3480156108d2575f80fd5b5061043160085481565b3480156108e7575f80fd5b506103986108f636600461267e565b611231565b348015610906575f80fd5b50601554610431565b34801561091a575f80fd5b50610431610929366004612695565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561095e575f80fd5b5061057961096d3660046125bf565b611387565b34801561097d575f80fd5b5061043160095481565b348015610992575f80fd5b50601354610431565b3480156109a6575f80fd5b506105796109b5366004612524565b611480565b3480156109c5575f80fd5b50601754610431565b3480156109d9575f80fd5b50610431600a5481565b6060600380546109f2906126cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1e906126cc565b8015610a695780601f10610a4057610100808354040283529160200191610a69565b820191905f5260205f20905b815481529060010190602001808311610a4c57829003601f168201915b5050505050905090565b5f610a7f33848461156a565b5060015b92915050565b5f610a9584848461168e565b610ae68433610ae185604051806060016040528060288152602001612923602891396001600160a01b038a165f9081526001602090815260408083203384529091529020549190611dbe565b61156a565b5060019392505050565b335f8181526001602090815260408083206001600160a01b03871684529091528120549091610a7f918590610ae19086611df6565b6005546001600160a01b03163314610b585760405162461bcd60e51b8152600401610b4f90612704565b60405180910390fd5b6006546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b05674905f90a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610bde5760405162461bcd60e51b8152600401610b4f90612704565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610c515760405162461bcd60e51b8152600401610b4f90612704565b6007546040516001600160a01b03918216918316907ffaf1b77ed79f6e898c44dd8ab36b330c7b2fd39bcaab05ed6362480df8703965905f90a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005545f906001600160a01b03163314610cd95760405162461bcd60e51b8152600401610b4f90612704565b50600b805460ff19169055600190565b6005546001600160a01b03163314610d135760405162461bcd60e51b8152600401610b4f90612704565b6001600160a01b03919091165f908152601b60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610d675760405162461bcd60e51b8152600401610b4f90612704565b5f5b82811015610dcb5781601b5f868685818110610d8757610d87612739565b9050602002016020810190610d9c9190612524565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610d69565b50505050565b6005546001600160a01b03163314610dfb5760405162461bcd60e51b8152600401610b4f90612704565b5f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114610e44576040519150601f19603f3d011682016040523d82523d5f602084013e610e49565b606091505b5050905080610e56575f80fd5b5050565b6005546001600160a01b03163314610e845760405162461bcd60e51b8152600401610b4f90612704565b60128390556013829055601481905580610e9e8385612761565b610ea89190612761565b601555505050565b6005546001600160a01b03163314610eda5760405162461bcd60e51b8152600401610b4f90612704565b600b805462ffff00191662010100179055600260115543600f5542601055565b6005546001600160a01b03163314610f245760405162461bcd60e51b8152600401610b4f90612704565b600b8054911515620100000262ff000019909216919091179055565b6060600480546109f2906126cc565b6005546001600160a01b03163314610f795760405162461bcd60e51b8152600401610b4f90612704565b7f0000000000000000000000001887d7f923c045f26def3bb46ccf6edc091e13296001600160a01b0316826001600160a01b0316036110205760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610b4f565b610e568282611e5b565b5f610a7f3384610ae18560405180606001604052806025815260200161294b60259139335f9081526001602090815260408083206001600160a01b038d1684529091529020549190611dbe565b5f610a7f33848461168e565b6005546001600160a01b031633146110ad5760405162461bcd60e51b8152600401610b4f90612704565b6001600160a01b0382165f818152601a6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146111355760405162461bcd60e51b8152600401610b4f90612704565b6016839055601782905560188190558061114f8385612761565b6111599190612761565b601955505050565b6005546001600160a01b0316331461118b5760405162461bcd60e51b8152600401610b4f90612704565b670de0b6b3a76400006103e86111a060025490565b6111ab90600a612774565b6111b5919061278b565b6111bf919061278b565b8110156112195760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015261312560f01b6064820152608401610b4f565b61122b81670de0b6b3a7640000612774565b600a5550565b6005545f906001600160a01b0316331461125d5760405162461bcd60e51b8152600401610b4f90612704565b620186a061126a60025490565b611275906001612774565b61127f919061278b565b8210156112ec5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610b4f565b6103e86112f860025490565b611303906005612774565b61130d919061278b565b8211156113795760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610b4f565b50600981905560015b919050565b6005546001600160a01b031633146113b15760405162461bcd60e51b8152600401610b4f90612704565b5f5b82811015610dcb5781601a5f8686858181106113d1576113d1612739565b90506020020160208101906113e69190612524565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905583838281811061141f5761141f612739565b90506020020160208101906114349190612524565b6001600160a01b03167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df783604051611470911515815260200190565b60405180910390a26001016113b3565b6005546001600160a01b031633146114aa5760405162461bcd60e51b8152600401610b4f90612704565b6001600160a01b03811661150f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b4f565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166115cc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b4f565b6001600160a01b03821661162d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b4f565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166116b45760405162461bcd60e51b8152600401610b4f906127aa565b6001600160a01b0382166116da5760405162461bcd60e51b8152600401610b4f906127ef565b805f036116f1576116ec83835f611eae565b505050565b600b5460ff1615611a9f576005546001600160a01b0384811691161480159061172857506005546001600160a01b03838116911614155b801561173c57506001600160a01b03821615155b801561175357506001600160a01b03821661dead14155b80156117695750600554600160a01b900460ff16155b15611a9f5743601154600f5461177f9190612761565b106117af57600a60128190556005601481905560138290556117a19082612761565b6117ab9190612761565b6015555b600b54610100900460ff16611840576001600160a01b0383165f908152601a602052604090205460ff16806117fb57506001600160a01b0382165f908152601a602052604090205460ff165b6118405760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610b4f565b6001600160a01b0383165f908152601c602052604090205460ff16801561187f57506001600160a01b0382165f908152601b602052604090205460ff16155b15611962576008548111156118f45760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610b4f565b600a546001600160a01b0383165f908152602081905260409020546119199083612761565b111561195d5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b4f565b611a9f565b6001600160a01b0382165f908152601c602052604090205460ff1680156119a157506001600160a01b0383165f908152601b602052604090205460ff16155b15611a175760085481111561195d5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610b4f565b6001600160a01b0382165f908152601b602052604090205460ff16611a9f57600a546001600160a01b0383165f90815260208190526040902054611a5b9083612761565b1115611a9f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b4f565b305f9081526020819052604090205460095481108015908190611aca5750600b5462010000900460ff165b8015611ae05750600554600160a01b900460ff16155b8015611b0457506001600160a01b0385165f908152601c602052604090205460ff16155b8015611b2857506001600160a01b0385165f908152601a602052604090205460ff16155b8015611b4c57506001600160a01b0384165f908152601a602052604090205460ff16155b15611b7a576005805460ff60a01b1916600160a01b179055611b6c611fb4565b6005805460ff60a01b191690555b6005546001600160a01b0386165f908152601a602052604090205460ff600160a01b909204821615911680611bc657506001600160a01b0385165f908152601a602052604090205460ff165b15611bce57505f5b5f8115611daa576001600160a01b0386165f908152601c602052604090205460ff168015611bfd575060195415155b15611cb357601954606490611c129087612774565b611c1c919061278b565b60195460175491925090611c309083612774565b611c3a919061278b565b600d5f828254611c4a9190612761565b9091555050601954601854611c5f9083612774565b611c69919061278b565b600e5f828254611c799190612761565b9091555050601954601654611c8e9083612774565b611c98919061278b565b600c5f828254611ca89190612761565b90915550611d8c9050565b6001600160a01b0387165f908152601c602052604090205460ff168015611cdb575060155415155b15611d8c57601554606490611cf09087612774565b611cfa919061278b565b60155460135491925090611d0e9083612774565b611d18919061278b565b600d5f828254611d289190612761565b9091555050601554601454611d3d9083612774565b611d47919061278b565b600e5f828254611d579190612761565b9091555050601554601254611d6c9083612774565b611d76919061278b565b600c5f828254611d869190612761565b90915550505b8015611d9d57611d9d873083611eae565b611da78186612832565b94505b611db5878787611eae565b50505050505050565b5f8184841115611de15760405162461bcd60e51b8152600401610b4f9190612497565b505f611ded8486612832565b95945050505050565b5f80611e028385612761565b905083811015611e545760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b4f565b9392505050565b6001600160a01b0382165f818152601c6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316611ed45760405162461bcd60e51b8152600401610b4f906127aa565b6001600160a01b038216611efa5760405162461bcd60e51b8152600401610b4f906127ef565b611f36816040518060600160405280602681526020016128fd602691396001600160a01b0386165f908152602081905260409020549190611dbe565b6001600160a01b038085165f908152602081905260408082209390935590841681522054611f649082611df6565b6001600160a01b038381165f818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611681565b305f9081526020819052604081205490505f600e54600c54600d54611fd99190612761565b611fe39190612761565b90505f821580611ff1575081155b15611ffb57505050565b600954612009906014612774565b8311156120215760095461201e906014612774565b92505b5f600283600d54866120339190612774565b61203d919061278b565b612047919061278b565b90505f6120548286612832565b905047612060826121de565b5f61206b8247612832565b90505f86600c548361207d9190612774565b612087919061278b565b90505f87600e54846120999190612774565b6120a3919061278b565b90505f816120b18486612832565b6120bb9190612832565b5f600d819055600c819055600e8190556007546040519293506001600160a01b031691849181818185875af1925050503d805f8114612115576040519150601f19603f3d011682016040523d82523d5f602084013e61211a565b606091505b5090985050861580159061212d57505f81115b156121805761213c8782612394565b600d54604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6006546040516001600160a01b039091169047905f81818185875af1925050503d805f81146121ca576040519150601f19603f3d011682016040523d82523d5f602084013e6121cf565b606091505b50505050505050505050505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061221157612211612739565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561228d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122b19190612845565b816001815181106122c4576122c4612739565b60200260200101906001600160a01b031690816001600160a01b03168152505061230f307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8461156a565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906123639085905f90869030904290600401612860565b5f604051808303815f87803b15801561237a575f80fd5b505af115801561238c573d5f803e3d5ffd5b505050505050565b6123bf307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d8461156a565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663f305d7198230855f806124056005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561246b573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061249091906128d1565b5050505050565b5f602080835283518060208501525f5b818110156124c3578581018301518582016040015282016124a7565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146124f7575f80fd5b50565b5f806040838503121561250b575f80fd5b8235612516816124e3565b946020939093013593505050565b5f60208284031215612534575f80fd5b8135611e54816124e3565b5f805f60608486031215612551575f80fd5b833561255c816124e3565b9250602084013561256c816124e3565b929592945050506040919091013590565b80358015158114611382575f80fd5b5f806040838503121561259d575f80fd5b82356125a8816124e3565b91506125b66020840161257d565b90509250929050565b5f805f604084860312156125d1575f80fd5b833567ffffffffffffffff808211156125e8575f80fd5b818601915086601f8301126125fb575f80fd5b813581811115612609575f80fd5b8760208260051b850101111561261d575f80fd5b602092830195509350612633918601905061257d565b90509250925092565b5f805f6060848603121561264e575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215612675575f80fd5b611e548261257d565b5f6020828403121561268e575f80fd5b5035919050565b5f80604083850312156126a6575f80fd5b82356126b1816124e3565b915060208301356126c1816124e3565b809150509250929050565b600181811c908216806126e057607f821691505b6020821081036126fe57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610a8357610a8361274d565b8082028115828204841417610a8357610a8361274d565b5f826127a557634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610a8357610a8361274d565b5f60208284031215612855575f80fd5b8151611e54816124e3565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156128b05784516001600160a01b03168352938301939183019160010161288b565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156128e3575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122060adb4db62f9258dcf3f1a6dfd339ca0ff1fac1862c2fafa958a892aea6fac9564736f6c63430008170033
0x60c0604052600b805462ffffff191660011790553480156200001f575f80fd5b506040518060400160405280600781526020016609ccaeae8e4d2f60cb1b8152506040518060400160405280600581526020016409ca8a492b60db1b81525081600390816200006f9190620007d9565b5060046200007e8282620007d9565b5050505f620000926200047360201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6200010181600162000477565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200014a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001709190620008a5565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e29190620008a5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200022d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002539190620008a5565b6001600160a01b031660a08190526200026e90600162000477565b60a0516200027e906001620004ef565b6b033b2e3c9fd0803ce800000060646200029a826002620008e1565b620002a69190620008fb565b6008556064620002b8826002620008e1565b620002c49190620008fb565b600a556103e8620002d7826001620008e1565b620002e39190620008fb565b600955604080516080808201835260058083526020808401829052838501829052600f606094850181905260128390556013839055601483905560155584519283018552600a80845290830181905293820181905260199190920181905260168390556017929092556018558055600680546001600160a01b031990811673bd425da9545f2c1e31533bb33d59e1c9e81b49ee179091556007805490911633179055620003a46200039c6005546001600160a01b031690565b600162000542565b600754620003bd906001600160a01b0316600162000542565b600654620003d6906001600160a01b0316600162000542565b620003e330600162000542565b620003f261dead600162000542565b62000411620004096005546001600160a01b031690565b600162000477565b6007546200042a906001600160a01b0316600162000477565b60065462000443906001600160a01b0316600162000477565b6200045030600162000477565b6200045f61dead600162000477565b6200046b3382620005ea565b505062000931565b3390565b6005546001600160a01b03163314620004c55760405162461bcd60e51b815260206004820181905260248201525f805160206200332283398151915260448201526064015b60405180910390fd5b6001600160a01b03919091165f908152601b60205260409020805460ff1916911515919091179055565b6001600160a01b0382165f818152601c6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b031633146200058c5760405162461bcd60e51b815260206004820181905260248201525f80516020620033228339815191526044820152606401620004bc565b6001600160a01b0382165f818152601a6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620006425760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620004bc565b600254620006519082620006d1565b6002556001600160a01b0382165f90815260208190526040902054620006789082620006d1565b6001600160a01b0383165f81815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b5f80620006df83856200091b565b905083811015620007335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401620004bc565b90505b92915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200076557607f821691505b6020821081036200078457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620006cc57805f5260205f20601f840160051c81016020851015620007b15750805b601f840160051c820191505b81811015620007d2575f8155600101620007bd565b5050505050565b81516001600160401b03811115620007f557620007f56200073c565b6200080d8162000806845462000750565b846200078a565b602080601f83116001811462000843575f84156200082b5750858301515b5f19600386901b1c1916600185901b1785556200089d565b5f85815260208120601f198616915b82811015620008735788860151825594840194600190910190840162000852565b50858210156200089157878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215620008b6575f80fd5b81516001600160a01b038116811462000733575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417620007365762000736620008cd565b5f826200091657634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620007365762000736620008cd565b60805160a0516129a56200097d5f395f81816104e80152610f7b01525f81816103e701528181612233015281816122ea015281816123260152818161239a01526123c101526129a55ff3fe608060405260043610610344575f3560e01c80638a8c523c116101bd578063c0246668116100f2578063dd62ed3e11610092578063f11a24d31161006d578063f11a24d314610987578063f2fde38b1461099b578063f6374342146109ba578063f8b45b05146109ce575f80fd5b8063dd62ed3e1461090f578063dde83eca14610953578063e2f4560514610972575f80fd5b8063c18bc195116100cd578063c18bc195146108a8578063c8c8ebe4146108c7578063d257b34f146108dc578063d85ba063146108fb575f80fd5b8063c02466681461084b578063c04a54141461086a578063c17b5b8c14610889575f80fd5b80639c3b4fdc1161015d578063a457c2d711610138578063a457c2d7146107c1578063a9059cbb146107e0578063b62496f5146107ff578063bbc0c7421461082d575f80fd5b80639c3b4fdc146107845780639fccce3214610798578063a0d82dc5146107ad575f80fd5b8063924de9b711610198578063924de9b71461071d57806395d89b411461073c578063967ff23e146107505780639a7a23d614610765575f80fd5b80638a8c523c146106d85780638da5cb5b146106ec5780639213691314610709575f80fd5b80634fbee19311610293578063751039fc1161023357806376e21dd21161020e57806376e21dd2146106675780637bce5a04146106865780637ca8448a1461069a5780638095d564146106b9575f80fd5b8063751039fc146106155780637571336a1461062957806375f0a87414610648575f80fd5b80636ddd17131161026e5780636ddd17131461058f57806370a08231146105ae578063715018a6146105e257806372ac2486146105f6575f80fd5b80634fbee193146105235780635d098b381461055a5780636a486a8e1461057b575f80fd5b80631f3fed8f116102fe578063313ce567116102d9578063313ce5671461049d57806339509351146104b857806349bd5a5e146104d75780634a62bb651461050a575f80fd5b80631f3fed8f1461045457806323b872dd1461046957806327c8f83514610488575f80fd5b806306fdde031461034f578063095ea7b31461037957806310d5de53146103a85780631694505e146103d657806318160ddd146104215780631a8145bb1461043f575f80fd5b3661034b57005b5f80fd5b34801561035a575f80fd5b506103636109e3565b6040516103709190612497565b60405180910390f35b348015610384575f80fd5b506103986103933660046124fa565b610a73565b6040519015158152602001610370565b3480156103b3575f80fd5b506103986103c2366004612524565b601b6020525f908152604090205460ff1681565b3480156103e1575f80fd5b506104097f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610370565b34801561042c575f80fd5b506002545b604051908152602001610370565b34801561044a575f80fd5b50610431600d5481565b34801561045f575f80fd5b50610431600c5481565b348015610474575f80fd5b5061039861048336600461253f565b610a89565b348015610493575f80fd5b5061040961dead81565b3480156104a8575f80fd5b5060405160128152602001610370565b3480156104c3575f80fd5b506103986104d23660046124fa565b610af0565b3480156104e2575f80fd5b506104097f000000000000000000000000000000000000000000000000000000000000000081565b348015610515575f80fd5b50600b546103989060ff1681565b34801561052e575f80fd5b5061039861053d366004612524565b6001600160a01b03165f908152601a602052604090205460ff1690565b348015610565575f80fd5b50610579610574366004612524565b610b25565b005b348015610586575f80fd5b50601954610431565b34801561059a575f80fd5b50600b546103989062010000900460ff1681565b3480156105b9575f80fd5b506104316105c8366004612524565b6001600160a01b03165f9081526020819052604090205490565b3480156105ed575f80fd5b50610579610bb4565b348015610601575f80fd5b50610579610610366004612524565b610c27565b348015610620575f80fd5b50610398610cad565b348015610634575f80fd5b5061057961064336600461258c565b610ce9565b348015610653575f80fd5b50600654610409906001600160a01b031681565b348015610672575f80fd5b506105796106813660046125bf565b610d3d565b348015610691575f80fd5b50601254610431565b3480156106a5575f80fd5b506105796106b4366004612524565b610dd1565b3480156106c4575f80fd5b506105796106d336600461263c565b610e5a565b3480156106e3575f80fd5b50610579610eb0565b3480156106f7575f80fd5b506005546001600160a01b0316610409565b348015610714575f80fd5b50601654610431565b348015610728575f80fd5b50610579610737366004612665565b610efa565b348015610747575f80fd5b50610363610f40565b34801561075b575f80fd5b5061043160115481565b348015610770575f80fd5b5061057961077f36600461258c565b610f4f565b34801561078f575f80fd5b50601454610431565b3480156107a3575f80fd5b50610431600e5481565b3480156107b8575f80fd5b50601854610431565b3480156107cc575f80fd5b506103986107db3660046124fa565b61102a565b3480156107eb575f80fd5b506103986107fa3660046124fa565b611077565b34801561080a575f80fd5b50610398610819366004612524565b601c6020525f908152604090205460ff1681565b348015610838575f80fd5b50600b5461039890610100900460ff1681565b348015610856575f80fd5b5061057961086536600461258c565b611083565b348015610875575f80fd5b50600754610409906001600160a01b031681565b348015610894575f80fd5b506105796108a336600461263c565b61110b565b3480156108b3575f80fd5b506105796108c236600461267e565b611161565b3480156108d2575f80fd5b5061043160085481565b3480156108e7575f80fd5b506103986108f636600461267e565b611231565b348015610906575f80fd5b50601554610431565b34801561091a575f80fd5b50610431610929366004612695565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b34801561095e575f80fd5b5061057961096d3660046125bf565b611387565b34801561097d575f80fd5b5061043160095481565b348015610992575f80fd5b50601354610431565b3480156109a6575f80fd5b506105796109b5366004612524565b611480565b3480156109c5575f80fd5b50601754610431565b3480156109d9575f80fd5b50610431600a5481565b6060600380546109f2906126cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1e906126cc565b8015610a695780601f10610a4057610100808354040283529160200191610a69565b820191905f5260205f20905b815481529060010190602001808311610a4c57829003601f168201915b5050505050905090565b5f610a7f33848461156a565b5060015b92915050565b5f610a9584848461168e565b610ae68433610ae185604051806060016040528060288152602001612923602891396001600160a01b038a165f9081526001602090815260408083203384529091529020549190611dbe565b61156a565b5060019392505050565b335f8181526001602090815260408083206001600160a01b03871684529091528120549091610a7f918590610ae19086611df6565b6005546001600160a01b03163314610b585760405162461bcd60e51b8152600401610b4f90612704565b60405180910390fd5b6006546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b05674905f90a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610bde5760405162461bcd60e51b8152600401610b4f90612704565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610c515760405162461bcd60e51b8152600401610b4f90612704565b6007546040516001600160a01b03918216918316907ffaf1b77ed79f6e898c44dd8ab36b330c7b2fd39bcaab05ed6362480df8703965905f90a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005545f906001600160a01b03163314610cd95760405162461bcd60e51b8152600401610b4f90612704565b50600b805460ff19169055600190565b6005546001600160a01b03163314610d135760405162461bcd60e51b8152600401610b4f90612704565b6001600160a01b03919091165f908152601b60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610d675760405162461bcd60e51b8152600401610b4f90612704565b5f5b82811015610dcb5781601b5f868685818110610d8757610d87612739565b9050602002016020810190610d9c9190612524565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610d69565b50505050565b6005546001600160a01b03163314610dfb5760405162461bcd60e51b8152600401610b4f90612704565b5f816001600160a01b0316476040515f6040518083038185875af1925050503d805f8114610e44576040519150601f19603f3d011682016040523d82523d5f602084013e610e49565b606091505b5050905080610e56575f80fd5b5050565b6005546001600160a01b03163314610e845760405162461bcd60e51b8152600401610b4f90612704565b60128390556013829055601481905580610e9e8385612761565b610ea89190612761565b601555505050565b6005546001600160a01b03163314610eda5760405162461bcd60e51b8152600401610b4f90612704565b600b805462ffff00191662010100179055600260115543600f5542601055565b6005546001600160a01b03163314610f245760405162461bcd60e51b8152600401610b4f90612704565b600b8054911515620100000262ff000019909216919091179055565b6060600480546109f2906126cc565b6005546001600160a01b03163314610f795760405162461bcd60e51b8152600401610b4f90612704565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036110205760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610b4f565b610e568282611e5b565b5f610a7f3384610ae18560405180606001604052806025815260200161294b60259139335f9081526001602090815260408083206001600160a01b038d1684529091529020549190611dbe565b5f610a7f33848461168e565b6005546001600160a01b031633146110ad5760405162461bcd60e51b8152600401610b4f90612704565b6001600160a01b0382165f818152601a6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146111355760405162461bcd60e51b8152600401610b4f90612704565b6016839055601782905560188190558061114f8385612761565b6111599190612761565b601955505050565b6005546001600160a01b0316331461118b5760405162461bcd60e51b8152600401610b4f90612704565b670de0b6b3a76400006103e86111a060025490565b6111ab90600a612774565b6111b5919061278b565b6111bf919061278b565b8110156112195760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015261312560f01b6064820152608401610b4f565b61122b81670de0b6b3a7640000612774565b600a5550565b6005545f906001600160a01b0316331461125d5760405162461bcd60e51b8152600401610b4f90612704565b620186a061126a60025490565b611275906001612774565b61127f919061278b565b8210156112ec5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610b4f565b6103e86112f860025490565b611303906005612774565b61130d919061278b565b8211156113795760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610b4f565b50600981905560015b919050565b6005546001600160a01b031633146113b15760405162461bcd60e51b8152600401610b4f90612704565b5f5b82811015610dcb5781601a5f8686858181106113d1576113d1612739565b90506020020160208101906113e69190612524565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905583838281811061141f5761141f612739565b90506020020160208101906114349190612524565b6001600160a01b03167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df783604051611470911515815260200190565b60405180910390a26001016113b3565b6005546001600160a01b031633146114aa5760405162461bcd60e51b8152600401610b4f90612704565b6001600160a01b03811661150f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b4f565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166115cc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b4f565b6001600160a01b03821661162d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b4f565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166116b45760405162461bcd60e51b8152600401610b4f906127aa565b6001600160a01b0382166116da5760405162461bcd60e51b8152600401610b4f906127ef565b805f036116f1576116ec83835f611eae565b505050565b600b5460ff1615611a9f576005546001600160a01b0384811691161480159061172857506005546001600160a01b03838116911614155b801561173c57506001600160a01b03821615155b801561175357506001600160a01b03821661dead14155b80156117695750600554600160a01b900460ff16155b15611a9f5743601154600f5461177f9190612761565b106117af57600a60128190556005601481905560138290556117a19082612761565b6117ab9190612761565b6015555b600b54610100900460ff16611840576001600160a01b0383165f908152601a602052604090205460ff16806117fb57506001600160a01b0382165f908152601a602052604090205460ff165b6118405760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610b4f565b6001600160a01b0383165f908152601c602052604090205460ff16801561187f57506001600160a01b0382165f908152601b602052604090205460ff16155b15611962576008548111156118f45760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610b4f565b600a546001600160a01b0383165f908152602081905260409020546119199083612761565b111561195d5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b4f565b611a9f565b6001600160a01b0382165f908152601c602052604090205460ff1680156119a157506001600160a01b0383165f908152601b602052604090205460ff16155b15611a175760085481111561195d5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610b4f565b6001600160a01b0382165f908152601b602052604090205460ff16611a9f57600a546001600160a01b0383165f90815260208190526040902054611a5b9083612761565b1115611a9f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b4f565b305f9081526020819052604090205460095481108015908190611aca5750600b5462010000900460ff165b8015611ae05750600554600160a01b900460ff16155b8015611b0457506001600160a01b0385165f908152601c602052604090205460ff16155b8015611b2857506001600160a01b0385165f908152601a602052604090205460ff16155b8015611b4c57506001600160a01b0384165f908152601a602052604090205460ff16155b15611b7a576005805460ff60a01b1916600160a01b179055611b6c611fb4565b6005805460ff60a01b191690555b6005546001600160a01b0386165f908152601a602052604090205460ff600160a01b909204821615911680611bc657506001600160a01b0385165f908152601a602052604090205460ff165b15611bce57505f5b5f8115611daa576001600160a01b0386165f908152601c602052604090205460ff168015611bfd575060195415155b15611cb357601954606490611c129087612774565b611c1c919061278b565b60195460175491925090611c309083612774565b611c3a919061278b565b600d5f828254611c4a9190612761565b9091555050601954601854611c5f9083612774565b611c69919061278b565b600e5f828254611c799190612761565b9091555050601954601654611c8e9083612774565b611c98919061278b565b600c5f828254611ca89190612761565b90915550611d8c9050565b6001600160a01b0387165f908152601c602052604090205460ff168015611cdb575060155415155b15611d8c57601554606490611cf09087612774565b611cfa919061278b565b60155460135491925090611d0e9083612774565b611d18919061278b565b600d5f828254611d289190612761565b9091555050601554601454611d3d9083612774565b611d47919061278b565b600e5f828254611d579190612761565b9091555050601554601254611d6c9083612774565b611d76919061278b565b600c5f828254611d869190612761565b90915550505b8015611d9d57611d9d873083611eae565b611da78186612832565b94505b611db5878787611eae565b50505050505050565b5f8184841115611de15760405162461bcd60e51b8152600401610b4f9190612497565b505f611ded8486612832565b95945050505050565b5f80611e028385612761565b905083811015611e545760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b4f565b9392505050565b6001600160a01b0382165f818152601c6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316611ed45760405162461bcd60e51b8152600401610b4f906127aa565b6001600160a01b038216611efa5760405162461bcd60e51b8152600401610b4f906127ef565b611f36816040518060600160405280602681526020016128fd602691396001600160a01b0386165f908152602081905260409020549190611dbe565b6001600160a01b038085165f908152602081905260408082209390935590841681522054611f649082611df6565b6001600160a01b038381165f818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611681565b305f9081526020819052604081205490505f600e54600c54600d54611fd99190612761565b611fe39190612761565b90505f821580611ff1575081155b15611ffb57505050565b600954612009906014612774565b8311156120215760095461201e906014612774565b92505b5f600283600d54866120339190612774565b61203d919061278b565b612047919061278b565b90505f6120548286612832565b905047612060826121de565b5f61206b8247612832565b90505f86600c548361207d9190612774565b612087919061278b565b90505f87600e54846120999190612774565b6120a3919061278b565b90505f816120b18486612832565b6120bb9190612832565b5f600d819055600c819055600e8190556007546040519293506001600160a01b031691849181818185875af1925050503d805f8114612115576040519150601f19603f3d011682016040523d82523d5f602084013e61211a565b606091505b5090985050861580159061212d57505f81115b156121805761213c8782612394565b600d54604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6006546040516001600160a01b039091169047905f81818185875af1925050503d805f81146121ca576040519150601f19603f3d011682016040523d82523d5f602084013e6121cf565b606091505b50505050505050505050505050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061221157612211612739565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561228d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122b19190612845565b816001815181106122c4576122c4612739565b60200260200101906001600160a01b031690816001600160a01b03168152505061230f307f00000000000000000000000000000000000000000000000000000000000000008461156a565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906123639085905f90869030904290600401612860565b5f604051808303815f87803b15801561237a575f80fd5b505af115801561238c573d5f803e3d5ffd5b505050505050565b6123bf307f00000000000000000000000000000000000000000000000000000000000000008461156a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f305d7198230855f806124056005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561246b573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061249091906128d1565b5050505050565b5f602080835283518060208501525f5b818110156124c3578581018301518582016040015282016124a7565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146124f7575f80fd5b50565b5f806040838503121561250b575f80fd5b8235612516816124e3565b946020939093013593505050565b5f60208284031215612534575f80fd5b8135611e54816124e3565b5f805f60608486031215612551575f80fd5b833561255c816124e3565b9250602084013561256c816124e3565b929592945050506040919091013590565b80358015158114611382575f80fd5b5f806040838503121561259d575f80fd5b82356125a8816124e3565b91506125b66020840161257d565b90509250929050565b5f805f604084860312156125d1575f80fd5b833567ffffffffffffffff808211156125e8575f80fd5b818601915086601f8301126125fb575f80fd5b813581811115612609575f80fd5b8760208260051b850101111561261d575f80fd5b602092830195509350612633918601905061257d565b90509250925092565b5f805f6060848603121561264e575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215612675575f80fd5b611e548261257d565b5f6020828403121561268e575f80fd5b5035919050565b5f80604083850312156126a6575f80fd5b82356126b1816124e3565b915060208301356126c1816124e3565b809150509250929050565b600181811c908216806126e057607f821691505b6020821081036126fe57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610a8357610a8361274d565b8082028115828204841417610a8357610a8361274d565b5f826127a557634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610a8357610a8361274d565b5f60208284031215612855575f80fd5b8151611e54816124e3565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156128b05784516001600160a01b03168352938301939183019160010161288b565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156128e3575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122060adb4db62f9258dcf3f1a6dfd339ca0ff1fac1862c2fafa958a892aea6fac9564736f6c634300081700334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572