0x6080604052600436106104615760003560e01c80638a8c523c1161023f578063a9059cbb11610139578063d257b34f116100b6578063f03a62771161007a578063f03a627714610d0f578063f145bba614610d25578063f2fde38b14610d45578063f8b45b0514610d65578063fe72b27a14610d7b57600080fd5b8063d257b34f14610c68578063d85ba06314610c88578063dd62ed3e14610c9e578063e2f4560514610ce4578063e884f26014610cfa57600080fd5b8063bbc0c742116100fd578063bbc0c74214610bd9578063c024666814610bf8578063c18bc19514610c18578063c876d0b914610c38578063c8c8ebe414610c5257600080fd5b8063a9059cbb14610b3d578063aacebbe314610b5d578063b361b2b514610b7d578063b62496f514610b93578063b9a0a7b114610bc357600080fd5b80639c48cb97116101c7578063a0d82dc51161018b578063a0d82dc514610ab0578063a265777814610ac6578063a457c2d714610ae6578063a4c82a0014610b06578063a4d15b6414610b1c57600080fd5b80639c48cb9714610a385780639c63e6b914610a4e5780639ec22c0e14610a6e5780639f9733b814610a845780639fccce3214610a9a57600080fd5b8063924de9b71161020e578063924de9b7146109b757806395d89b41146109d75780639a7a23d6146109ec5780639b26f25014610a0c5780639c3b4fdc14610a2257600080fd5b80638a8c523c1461094e5780638da5cb5b146109635780638ea5220f1461098157806392136913146109a157600080fd5b80632c3e486c1161035b57806366ca9b83116102d8578063751039fc1161029c578063751039fc146108cd5780637571336a146108e257806375f0a874146109025780637afe01cb146109225780637bce5a041461093857600080fd5b806366ca9b83146108225780636ddd17131461084257806370a0823114610862578063715018a614610898578063730c1888146108ad57600080fd5b806348e5796c1161031f57806348e5796c1461076f57806349bd5a5e1461078557806349fbb6b8146107b95780634a62bb65146107cf5780634fbee193146107e957600080fd5b80632c3e486c146106e35780632d5a5d34146106f95780632e82f1a014610719578063313ce56714610733578063395093511461074f57600080fd5b8063184c16c5116103e9578063203e727e116103ad578063203e727e146106575780632189b0e71461067757806322d3e2aa1461068d57806323b872dd146106ad57806327c8f835146106cd57600080fd5b8063184c16c5146105df578063199ffc72146105f55780631a8145bb1461060b5780631c14ce0b146106215780631f3fed8f1461064157600080fd5b80630e95b757116104305780630e95b7571461050e57806310d5de531461052e5780631694505e1461055e57806318160ddd146105aa5780631816467f146105bf57600080fd5b806306fdde031461046d578063095ea7b3146104985780630a286859146104c85780630da5f845146104ec57600080fd5b3661046857005b600080fd5b34801561047957600080fd5b50610482610d9b565b60405161048f91906137c0565b60405180910390f35b3480156104a457600080fd5b506104b86104b336600461382d565b610e2d565b604051901515815260200161048f565b3480156104d457600080fd5b506104de601a5481565b60405190815260200161048f565b3480156104f857600080fd5b5061050c610507366004613859565b610e44565b005b34801561051a57600080fd5b5061050c610529366004613876565b610e91565b34801561053a57600080fd5b506104b8610549366004613859565b602d6020526000908152604090205460ff1681565b34801561056a57600080fd5b506105927f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b03909116815260200161048f565b3480156105b657600080fd5b506002546104de565b3480156105cb57600080fd5b5061050c6105da366004613859565b610ed0565b3480156105eb57600080fd5b506104de60105481565b34801561060157600080fd5b506104de600c5481565b34801561061757600080fd5b506104de60295481565b34801561062d57600080fd5b50600654610592906001600160a01b031681565b34801561064d57600080fd5b506104de60275481565b34801561066357600080fd5b5061050c610672366004613876565b610f60565b34801561068357600080fd5b506104de601f5481565b34801561069957600080fd5b5061050c6106a836600461388f565b61103d565b3480156106b957600080fd5b506104b86106c83660046138d2565b611288565b3480156106d957600080fd5b5061059261dead81565b3480156106ef57600080fd5b506104de600e5481565b34801561070557600080fd5b5061050c610714366004613923565b6112f1565b34801561072557600080fd5b50600d546104b89060ff1681565b34801561073f57600080fd5b506040516012815260200161048f565b34801561075b57600080fd5b506104b861076a36600461382d565b611346565b34801561077b57600080fd5b506104de602a5481565b34801561079157600080fd5b506105927f00000000000000000000000033cb752352668115fffeeec3c6ab7c5e3ec78e2081565b3480156107c557600080fd5b506104de601b5481565b3480156107db57600080fd5b506012546104b89060ff1681565b3480156107f557600080fd5b506104b8610804366004613859565b6001600160a01b03166000908152602c602052604090205460ff1690565b34801561082e57600080fd5b5061050c61083d366004613958565b61137c565b34801561084e57600080fd5b506012546104b89062010000900460ff1681565b34801561086e57600080fd5b506104de61087d366004613859565b6001600160a01b031660009081526020819052604090205490565b3480156108a457600080fd5b5061050c611424565b3480156108b957600080fd5b5061050c6108c836600461397a565b611498565b3480156108d957600080fd5b506104b86115c1565b3480156108ee57600080fd5b5061050c6108fd366004613923565b611617565b34801561090e57600080fd5b50600754610592906001600160a01b031681565b34801561092e57600080fd5b506104de60265481565b34801561094457600080fd5b506104de601d5481565b34801561095a57600080fd5b5061050c61166c565b34801561096f57600080fd5b506005546001600160a01b0316610592565b34801561098d57600080fd5b50600854610592906001600160a01b031681565b3480156109ad57600080fd5b506104de60215481565b3480156109c357600080fd5b5061050c6109d23660046139af565b6116b6565b3480156109e357600080fd5b506104826116fc565b3480156109f857600080fd5b5061050c610a07366004613923565b61170b565b348015610a1857600080fd5b506104de60195481565b348015610a2e57600080fd5b506104de601e5481565b348015610a4457600080fd5b506104de60205481565b348015610a5a57600080fd5b5061050c610a69366004613a16565b6117e7565b348015610a7a57600080fd5b506104de60115481565b348015610a9057600080fd5b506104de60235481565b348015610aa657600080fd5b506104de60285481565b348015610abc57600080fd5b506104de60225481565b348015610ad257600080fd5b5061050c610ae13660046139af565b6118b9565b348015610af257600080fd5b506104b8610b0136600461382d565b611901565b348015610b1257600080fd5b506104de600f5481565b348015610b2857600080fd5b506012546104b8906301000000900460ff1681565b348015610b4957600080fd5b506104b8610b5836600461382d565b611950565b348015610b6957600080fd5b5061050c610b78366004613859565b61195d565b348015610b8957600080fd5b506104de60185481565b348015610b9f57600080fd5b506104b8610bae366004613859565b602e6020526000908152604090205460ff1681565b348015610bcf57600080fd5b506104de60245481565b348015610be557600080fd5b506012546104b890610100900460ff1681565b348015610c0457600080fd5b5061050c610c13366004613923565b6119e4565b348015610c2457600080fd5b5061050c610c33366004613876565b611a6d565b348015610c4457600080fd5b506017546104b89060ff1681565b348015610c5e57600080fd5b506104de60095481565b348015610c7457600080fd5b506104b8610c83366004613876565b611b3e565b348015610c9457600080fd5b506104de601c5481565b348015610caa57600080fd5b506104de610cb9366004613a82565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610cf057600080fd5b506104de600a5481565b348015610d0657600080fd5b506104b8611c95565b348015610d1b57600080fd5b506104de60255481565b348015610d3157600080fd5b5061050c610d40366004613876565b611cd2565b348015610d5157600080fd5b5061050c610d60366004613859565b611d0f565b348015610d7157600080fd5b506104de600b5481565b348015610d8757600080fd5b506104b8610d96366004613876565b611dfa565b606060038054610daa90613abb565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd690613abb565b8015610e235780601f10610df857610100808354040283529160200191610e23565b820191906000526020600020905b815481529060010190602001808311610e0657829003601f168201915b5050505050905090565b6000610e3a3384846120e9565b5060015b92915050565b6005546001600160a01b0316331480610e6757506006546001600160a01b031633145b610e7057600080fd5b6001600160a01b03166000908152601660205260409020805460ff19169055565b6005546001600160a01b0316331480610eb457506006546001600160a01b031633145b610ebd57600080fd5b610e108110610ecb57600080fd5b601a55565b6005546001600160a01b03163314610f035760405162461bcd60e51b8152600401610efa90613af6565b60405180910390fd5b6008546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74390600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610f8a5760405162461bcd60e51b8152600401610efa90613af6565b670de0b6b3a76400006103e8610f9f60025490565b610faa906005613b41565b610fb49190613b60565b610fbe9190613b60565b8110156110255760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e352560881b6064820152608401610efa565b61103781670de0b6b3a7640000613b41565b60095550565b6005546001600160a01b031633148061106057506006546001600160a01b031633145b61106957600080fd5b602186905560228590556023849055602483905560258290556026819055818411156110ff576040805162461bcd60e51b81526020600482015260248101919091527f4d757374206b6565702066696e616c206c69717569646974792066656573206c60448201527f6f776572206f7220657175616c207468616e207374617274696e6720666565736064820152608401610efa565b602554602454111561117b576040805162461bcd60e51b81526020600482015260248101919091527f4d757374206b6565702066696e616c2049726f6e2042616e6b2066656573206c60448201527f6f776572206f7220657175616c207468616e207374617274696e6720666565736064820152608401610efa565b600060225460215461118d9190613b82565b905060648111156111f45760405162461bcd60e51b815260206004820152602b60248201527f4d757374206b656570207374616e646172642073656c6c20666565732061742060448201526a313025206f72206c65737360a81b6064820152608401610efa565b600060265460255460225460215461120c9190613b82565b6112169190613b82565b6112209190613b82565b9050609681111561127e5760405162461bcd60e51b815260206004820152602260248201527f4d757374206b6565702073656c6c206665657320617420313525206f72206c65604482015261737360f01b6064820152608401610efa565b5050505050505050565b600061129584848461220e565b6112e784336112e285604051806060016040528060288152602001613e59602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190612dd7565b6120e9565b5060019392505050565b6005546001600160a01b0316331461131b5760405162461bcd60e51b8152600401610efa90613af6565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610e3a9185906112e29086612083565b6005546001600160a01b031633148061139f57506006546001600160a01b031633145b6113a857600080fd5b601d829055601e819055601f8290556113c18183613b82565b601c819055606410156114205760405162461bcd60e51b815260206004820152602160248201527f4d757374206b65657020627579206665657320617420313025206f72206c65736044820152607360f81b6064820152608401610efa565b5050565b6005546001600160a01b0316331461144e5760405162461bcd60e51b8152600401610efa90613af6565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146114c25760405162461bcd60e51b8152600401610efa90613af6565b6102588310156115305760405162461bcd60e51b815260206004820152603360248201527f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e207468604482015272616e206576657279203130206d696e7574657360681b6064820152608401610efa565b6103e88211158015611540575060015b6115a55760405162461bcd60e51b815260206004820152603060248201527f4d75737420736574206175746f204c50206275726e2070657263656e7420626560448201526f747765656e20302520616e642031302560801b6064820152608401610efa565b600e92909255600c55600d805460ff1916911515919091179055565b60006115d56005546001600160a01b031690565b6001600160a01b0316336001600160a01b031614806115fe57506006546001600160a01b031633145b61160757600080fd5b506012805460ff19169055600190565b6005546001600160a01b031633146116415760405162461bcd60e51b8152600401610efa90613af6565b6001600160a01b03919091166000908152602d60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146116965760405162461bcd60e51b8152600401610efa90613af6565b6012805462ffff0019166201010017905542600f81905543602b55601b55565b6005546001600160a01b031633146116e05760405162461bcd60e51b8152600401610efa90613af6565b60128054911515620100000262ff000019909216919091179055565b606060048054610daa90613abb565b6005546001600160a01b031633146117355760405162461bcd60e51b8152600401610efa90613af6565b7f00000000000000000000000033cb752352668115fffeeec3c6ab7c5e3ec78e206001600160a01b0316826001600160a01b031614156117dd5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610efa565b6114208282612e11565b6005546001600160a01b031633146118115760405162461bcd60e51b8152600401610efa90613af6565b61183a6118266005546001600160a01b031690565b6005546001600160a01b03166002546120e9565b60005b838110156118b25761189f3386868481811061185b5761185b613b9a565b90506020020160208101906118709190613859565b61187c6012600a613c94565b86868681811061188e5761188e613b9a565b905060200201356106c89190613b41565b50806118aa81613ca3565b91505061183d565b5050505050565b6005546001600160a01b031633146118e35760405162461bcd60e51b8152600401610efa90613af6565b6012805491151563010000000263ff00000019909216919091179055565b6000610e3a33846112e285604051806060016040528060258152602001613e81602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190612dd7565b6000610e3a33848461220e565b6005546001600160a01b031633146119875760405162461bcd60e51b8152600401610efa90613af6565b6007546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567490600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611a0e5760405162461bcd60e51b8152600401610efa90613af6565b6001600160a01b0382166000818152602c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314611a975760405162461bcd60e51b8152600401610efa90613af6565b670de0b6b3a76400006103e8611aac60025490565b611ab790600f613b41565b611ac19190613b60565b611acb9190613b60565b811015611b265760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263312e352560e01b6064820152608401610efa565b611b3881670de0b6b3a7640000613b41565b600b5550565b6005546000906001600160a01b03163314611b6b5760405162461bcd60e51b8152600401610efa90613af6565b620186a0611b7860025490565b611b83906001613b41565b611b8d9190613b60565b821015611bfa5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610efa565b6103e8611c0660025490565b611c11906005613b41565b611c1b9190613b60565b821115611c875760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610efa565b50600a81905560015b919050565b6005546000906001600160a01b03163314611cc25760405162461bcd60e51b8152600401610efa90613af6565b506017805460ff19169055600190565b6005546001600160a01b03163314611cfc5760405162461bcd60e51b8152600401610efa90613af6565b610e108110611d0a57600080fd5b601955565b6005546001600160a01b03163314611d395760405162461bcd60e51b8152600401610efa90613af6565b6001600160a01b038116611d9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610efa565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546000906001600160a01b03163314611e275760405162461bcd60e51b8152600401610efa90613af6565b601054601154611e379190613b82565b4211611e855760405162461bcd60e51b815260206004820181905260248201527f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973686044820152606401610efa565b6103e8821115611eea5760405162461bcd60e51b815260206004820152602a60248201527f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60448201526906b656e7320696e204c560b41b6064820152608401610efa565b426011556040516370a0823160e01b81526001600160a01b037f00000000000000000000000033cb752352668115fffeeec3c6ab7c5e3ec78e2016600482015260009030906370a082319060240160206040518083038186803b158015611f5057600080fd5b505afa158015611f64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f889190613cbe565b90506000611fa2612710611f9c8487612e65565b90612ee4565b90508015611fd757611fd77f00000000000000000000000033cb752352668115fffeeec3c6ab7c5e3ec78e2061dead83612f26565b60007f00000000000000000000000033cb752352668115fffeeec3c6ab7c5e3ec78e209050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561203757600080fd5b505af115801561204b573d6000803e3d6000fd5b50506040517f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb925060009150a1506001949350505050565b6000806120908385613b82565b9050838110156120e25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610efa565b9392505050565b6001600160a01b03831661214b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610efa565b6001600160a01b0382166121ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610efa565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166122345760405162461bcd60e51b8152600401610efa90613cd7565b6001600160a01b03821661225a5760405162461bcd60e51b8152600401610efa90613d1c565b6001600160a01b03821660009081526016602052604090205460ff1615801561229c57506001600160a01b03831660009081526016602052604090205460ff16155b6123025760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b6064820152608401610efa565b806123185761231383836000612f26565b505050565b60125460ff16156127d4576005546001600160a01b0384811691161480159061234f57506005546001600160a01b03838116911614155b801561236357506001600160a01b03821615155b801561237a57506001600160a01b03821661dead14155b80156123905750600554600160a01b900460ff16155b156127d457601254610100900460ff16612428576001600160a01b0383166000908152602c602052604090205460ff16806123e357506001600160a01b0382166000908152602c602052604090205460ff165b6124285760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610efa565b60175460ff161561256e576005546001600160a01b0383811691161480159061248357507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b031614155b80156124c157507f00000000000000000000000033cb752352668115fffeeec3c6ab7c5e3ec78e206001600160a01b0316826001600160a01b031614155b1561256e5732600090815260136020526040902054431161255b5760405162461bcd60e51b815260206004820152604860248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060648201526730b63637bbb2b21760c11b608482015260a401610efa565b3260009081526013602052604090204390555b6001600160a01b0383166000908152602e602052604090205460ff1680156125af57506001600160a01b0382166000908152602d602052604090205460ff16155b15612693576009548111156126245760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610efa565b600b546001600160a01b03831660009081526020819052604090205461264a9083613b82565b111561268e5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610efa565b6127d4565b6001600160a01b0382166000908152602e602052604090205460ff1680156126d457506001600160a01b0383166000908152602d602052604090205460ff16155b1561274a5760095481111561268e5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610efa565b6001600160a01b0382166000908152602d602052604090205460ff166127d457600b546001600160a01b0383166000908152602081905260409020546127909083613b82565b11156127d45760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610efa565b602b546127e2906001613b82565b431115801561282357507f00000000000000000000000033cb752352668115fffeeec3c6ab7c5e3ec78e206001600160a01b0316826001600160a01b031614155b801561284c57506001600160a01b038216737a250d5630b4cf539739df2c5dacb4c659f2488d14155b15612875576001600160a01b0382166000908152601660205260409020805460ff191660011790555b30600090815260208190526040902054600a54811080159081906128a1575060125462010000900460ff165b80156128b75750600554600160a01b900460ff16155b80156128dc57506001600160a01b0385166000908152602e602052604090205460ff16155b801561290157506001600160a01b0385166000908152602c602052604090205460ff16155b801561292657506001600160a01b0384166000908152602c602052604090205460ff16155b15612954576005805460ff60a01b1916600160a01b17905561294661302f565b6005805460ff60a01b191690555b600554600160a01b900460ff1615801561298657506001600160a01b0384166000908152602e602052604090205460ff165b80156129945750600d5460ff165b80156129af5750600e54600f546129ab9190613b82565b4210155b80156129d457506001600160a01b0385166000908152602c602052604090205460ff16155b156129e3576129e16132f9565b505b6005546001600160a01b0386166000908152602c602052604090205460ff600160a01b909204821615911680612a3157506001600160a01b0385166000908152602c602052604090205460ff165b15612a3a575060005b60008115612dc3576001600160a01b0386166000908152602e602052604090205460ff1615612c3c5732600090815260146020526040812054819015612b3157601a5432600090815260146020526040812054909190612a9a9042613d5f565b612aa5906005613b41565b612aaf9190613b60565b60235460255491925082918291612ac591613d5f565b821115612adf57602354602554612adc9190613d5f565b91505b602454602654612aef9190613d5f565b811115612b0957602454602654612b069190613d5f565b90505b81602554612b179190613d5f565b945080602654612b279190613d5f565b9350505050612b3a565b50506023546024545b60008183602254602154612b4e9190613b82565b612b589190613b82565b612b629190613b82565b90508015612c3457601854612b7b90611f9c8a84612e65565b93508060215485612b8c9190613b41565b612b969190613b60565b60276000828254612ba79190613b82565b90915550506022548190612bbb9086613b41565b612bc59190613b60565b60286000828254612bd69190613b82565b90915550819050612be78486613b41565b612bf19190613b60565b60296000828254612c029190613b82565b90915550819050612c138386613b41565b612c1d9190613b60565b602a6000828254612c2e9190613b82565b90915550505b505050612da5565b6001600160a01b0387166000908152602e602052604090205460ff168015612c6657506000601c54115b15612da557601f54601d54118015612c8d5750601954601b54612c899190613b82565b4210155b15612cee57601d54612ca090600a613498565b5042601b55601e54601d54612cb59190613b82565b601c8190556040519081527f788df89b5bf16aa9e794526e55926df502d62a389e82dfe13404072054ca234e9060200160405180910390a15b612d09601854611f9c601c5488612e6590919063ffffffff16565b9050601c54601e5482612d1c9190613b41565b612d269190613b60565b60286000828254612d379190613b82565b9091555050601c54601d54612d4c9083613b41565b612d569190613b60565b60276000828254612d679190613b82565b90915550506001600160a01b038616600090815260146020526040902054612da5576001600160a01b03861660009081526014602052604090204290555b8015612db657612db6873083612f26565b612dc08186613d5f565b94505b612dce878787612f26565b50505050505050565b60008184841115612dfb5760405162461bcd60e51b8152600401610efa91906137c0565b506000612e088486613d5f565b95945050505050565b6001600160a01b0382166000818152602e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b600082612e7457506000610e3e565b6000612e808385613b41565b905082612e8d8583613b60565b146120e25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610efa565b60006120e283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506134da565b6001600160a01b038316612f4c5760405162461bcd60e51b8152600401610efa90613cd7565b6001600160a01b038216612f725760405162461bcd60e51b8152600401610efa90613d1c565b612faf81604051806060016040528060268152602001613e33602691396001600160a01b0386166000908152602081905260409020549190612dd7565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612fde9082612083565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101612201565b3060009081526020819052604081205490506000602a546029546028546027546130599190613b82565b6130639190613b82565b61306d9190613b82565b9050600082158061307c575081155b1561308657505050565b600a54613094906014613b41565b8311156130ac57600a546130a9906014613b41565b92505b6000600283602954866130bf9190613b41565b6130c99190613b60565b6130d39190613b60565b905060006130e18583613498565b9050476130ed82613508565b60006130f94783613498565b9050600061311687611f9c60275485612e6590919063ffffffff16565b9050600061313388611f9c60285486612e6590919063ffffffff16565b9050600061315089611f9c602a5487612e6590919063ffffffff16565b9050600081836131608688613d5f565b61316a9190613d5f565b6131749190613d5f565b6000602781905560288190556029819055602a8190556008546040519293506001600160a01b031691859181818185875af1925050503d80600081146131d6576040519150601f19603f3d011682016040523d82523d6000602084013e6131db565b606091505b5050600654604051919a506001600160a01b0316908390600081818185875af1925050503d806000811461322b576040519150601f19603f3d011682016040523d82523d6000602084013e613230565b606091505b509099505087158015906132445750600081115b156132975761325388826136d7565b602954604080518981526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6007546040516001600160a01b03909116904790600081818185875af1925050503d80600081146132e4576040519150601f19603f3d011682016040523d82523d6000602084013e6132e9565b606091505b5050505050505050505050505050565b42600f556040516370a0823160e01b81526001600160a01b037f00000000000000000000000033cb752352668115fffeeec3c6ab7c5e3ec78e20166004820152600090819030906370a082319060240160206040518083038186803b15801561336157600080fd5b505afa158015613375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133999190613cbe565b905060006133b8612710611f9c600c5485612e6590919063ffffffff16565b905080156133ed576133ed7f00000000000000000000000033cb752352668115fffeeec3c6ab7c5e3ec78e2061dead83612f26565b60007f00000000000000000000000033cb752352668115fffeeec3c6ab7c5e3ec78e209050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561344d57600080fd5b505af1158015613461573d6000803e3d6000fd5b50506040517f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d925060009150a16001935050505090565b60006120e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612dd7565b600081836134fb5760405162461bcd60e51b8152600401610efa91906137c0565b506000612e088486613b60565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061353d5761353d613b9a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156135b657600080fd5b505afa1580156135ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ee9190613d76565b8160018151811061360157613601613b9a565b60200260200101906001600160a01b031690816001600160a01b03168152505061364c307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846120e9565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac947906136a1908590600090869030904290600401613d93565b600060405180830381600087803b1580156136bb57600080fd5b505af11580156136cf573d6000803e3d6000fd5b505050505050565b613702307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846120e9565b60405163f305d71960e01b815230600482015260248101839052600060448201819052606482015261dead60848201524260a48201527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03169063f305d71990839060c4016060604051808303818588803b15801561378757600080fd5b505af115801561379b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118b29190613e04565b600060208083528351808285015260005b818110156137ed578581018301518582016040015282016137d1565b818111156137ff576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461382a57600080fd5b50565b6000806040838503121561384057600080fd5b823561384b81613815565b946020939093013593505050565b60006020828403121561386b57600080fd5b81356120e281613815565b60006020828403121561388857600080fd5b5035919050565b60008060008060008060c087890312156138a857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806000606084860312156138e757600080fd5b83356138f281613815565b9250602084013561390281613815565b929592945050506040919091013590565b80358015158114611c9057600080fd5b6000806040838503121561393657600080fd5b823561394181613815565b915061394f60208401613913565b90509250929050565b6000806040838503121561396b57600080fd5b50508035926020909101359150565b60008060006060848603121561398f57600080fd5b83359250602084013591506139a660408501613913565b90509250925092565b6000602082840312156139c157600080fd5b6120e282613913565b60008083601f8401126139dc57600080fd5b50813567ffffffffffffffff8111156139f457600080fd5b6020830191508360208260051b8501011115613a0f57600080fd5b9250929050565b60008060008060408587031215613a2c57600080fd5b843567ffffffffffffffff80821115613a4457600080fd5b613a50888389016139ca565b90965094506020870135915080821115613a6957600080fd5b50613a76878288016139ca565b95989497509550505050565b60008060408385031215613a9557600080fd5b8235613aa081613815565b91506020830135613ab081613815565b809150509250929050565b600181811c90821680613acf57607f821691505b60208210811415613af057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615613b5b57613b5b613b2b565b500290565b600082613b7d57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115613b9557613b95613b2b565b500190565b634e487b7160e01b600052603260045260246000fd5b600181815b80851115613beb578160001904821115613bd157613bd1613b2b565b80851615613bde57918102915b93841c9390800290613bb5565b509250929050565b600082613c0257506001610e3e565b81613c0f57506000610e3e565b8160018114613c255760028114613c2f57613c4b565b6001915050610e3e565b60ff841115613c4057613c40613b2b565b50506001821b610e3e565b5060208310610133831016604e8410600b8410161715613c6e575081810a610e3e565b613c788383613bb0565b8060001904821115613c8c57613c8c613b2b565b029392505050565b60006120e260ff841683613bf3565b6000600019821415613cb757613cb7613b2b565b5060010190565b600060208284031215613cd057600080fd5b5051919050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600082821015613d7157613d71613b2b565b500390565b600060208284031215613d8857600080fd5b81516120e281613815565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015613de35784516001600160a01b031683529383019391830191600101613dbe565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215613e1957600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a94e12fc412d41331a1ae0bcc2483cc02ea595347eba42cd3a1a43592c86514f64736f6c63430008090033
0x60c06040526019600c55600d8054600160ff199182168117909255611c20600e556102586010556012805463ffffffff191663010000011790556017805490911690911790553480156200005257600080fd5b506040805180820182526011815270486f757365206f662074686520446f676560781b602080830191825283518085019094526006845265484f54444f4760d01b908401528151919291620000aa916003916200081f565b508051620000c09060049060208401906200081f565b5050506000620000d56200053d60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6200014581600162000541565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200018b57600080fd5b505afa158015620001a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c69190620008c5565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020f57600080fd5b505afa15801562000224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024a9190620008c5565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200029357600080fd5b505af1158015620002a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ce9190620008c5565b6001600160a01b031660a0819052620002e990600162000541565b60a051620002f9906001620005bb565b6103e86014601e60508082846000806032806a52b7d2dcc80cd2e40000008b6200032582600f62000906565b62000331919062000928565b6009556103e86200034482601462000906565b62000350919062000928565b600b556127106200036382600562000906565b6200036f919062000928565b600a5560188c90556107086019819055601a55601d889055601e8b9055601f8a90556020899055620003a28b896200094b565b601c55602187905560228690556023859055602484905560258390556026829055600554600680546001600160a01b039092166001600160a01b0319928316811790915560078054831673394b5311160655b053c3d209cf78e83507079cdc179055600880549092167314821ccb9604c713ec3c60c38d5eedf658fc6e6317909155620004319060016200060f565b6006546200044a906001600160a01b031660016200060f565b60075462000463906001600160a01b031660016200060f565b6008546200047c906001600160a01b031660016200060f565b620004893060016200060f565b6200049861dead60016200060f565b620004b7620004af6005546001600160a01b031690565b600162000541565b600654620004d0906001600160a01b0316600162000541565b600754620004e9906001600160a01b0316600162000541565b60085462000502906001600160a01b0316600162000541565b6200050f30600162000541565b6200051e61dead600162000541565b6200052a3382620006b9565b50505050505050505050505050620009a3565b3390565b6005546001600160a01b03163314620005905760405162461bcd60e51b815260206004820181905260248201526000805160206200490d83398151915260448201526064015b60405180910390fd5b6001600160a01b03919091166000908152602d60205260409020805460ff1916911515919091179055565b6001600160a01b0382166000818152602e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b031633146200065a5760405162461bcd60e51b815260206004820181905260248201526000805160206200490d833981519152604482015260640162000587565b6001600160a01b0382166000818152602c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620007115760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000587565b6200072d81600254620007b560201b620020831790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200076091839062002083620007b5821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600080620007c483856200094b565b905083811015620008185760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640162000587565b9392505050565b8280546200082d9062000966565b90600052602060002090601f0160209004810192826200085157600085556200089c565b82601f106200086c57805160ff19168380011785556200089c565b828001600101855582156200089c579182015b828111156200089c5782518255916020019190600101906200087f565b50620008aa929150620008ae565b5090565b5b80821115620008aa5760008155600101620008af565b600060208284031215620008d857600080fd5b81516001600160a01b03811681146200081857600080fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620009235762000923620008f0565b500290565b6000826200094657634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620009615762000961620008f0565b500190565b600181811c908216806200097b57607f821691505b602082108114156200099d57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a051613edb62000a32600039600081816107970152818161173701528181611f0501528181611faf01528181611fdb0152818161248c015281816127ee01528181613314015281816133c501526133f10152600081816105700152818161244e0152818161355f0152818161362701528181613663015281816136dd015261373a0152613edb6000f3fe6080604052600436106104615760003560e01c80638a8c523c1161023f578063a9059cbb11610139578063d257b34f116100b6578063f03a62771161007a578063f03a627714610d0f578063f145bba614610d25578063f2fde38b14610d45578063f8b45b0514610d65578063fe72b27a14610d7b57600080fd5b8063d257b34f14610c68578063d85ba06314610c88578063dd62ed3e14610c9e578063e2f4560514610ce4578063e884f26014610cfa57600080fd5b8063bbc0c742116100fd578063bbc0c74214610bd9578063c024666814610bf8578063c18bc19514610c18578063c876d0b914610c38578063c8c8ebe414610c5257600080fd5b8063a9059cbb14610b3d578063aacebbe314610b5d578063b361b2b514610b7d578063b62496f514610b93578063b9a0a7b114610bc357600080fd5b80639c48cb97116101c7578063a0d82dc51161018b578063a0d82dc514610ab0578063a265777814610ac6578063a457c2d714610ae6578063a4c82a0014610b06578063a4d15b6414610b1c57600080fd5b80639c48cb9714610a385780639c63e6b914610a4e5780639ec22c0e14610a6e5780639f9733b814610a845780639fccce3214610a9a57600080fd5b8063924de9b71161020e578063924de9b7146109b757806395d89b41146109d75780639a7a23d6146109ec5780639b26f25014610a0c5780639c3b4fdc14610a2257600080fd5b80638a8c523c1461094e5780638da5cb5b146109635780638ea5220f1461098157806392136913146109a157600080fd5b80632c3e486c1161035b57806366ca9b83116102d8578063751039fc1161029c578063751039fc146108cd5780637571336a146108e257806375f0a874146109025780637afe01cb146109225780637bce5a041461093857600080fd5b806366ca9b83146108225780636ddd17131461084257806370a0823114610862578063715018a614610898578063730c1888146108ad57600080fd5b806348e5796c1161031f57806348e5796c1461076f57806349bd5a5e1461078557806349fbb6b8146107b95780634a62bb65146107cf5780634fbee193146107e957600080fd5b80632c3e486c146106e35780632d5a5d34146106f95780632e82f1a014610719578063313ce56714610733578063395093511461074f57600080fd5b8063184c16c5116103e9578063203e727e116103ad578063203e727e146106575780632189b0e71461067757806322d3e2aa1461068d57806323b872dd146106ad57806327c8f835146106cd57600080fd5b8063184c16c5146105df578063199ffc72146105f55780631a8145bb1461060b5780631c14ce0b146106215780631f3fed8f1461064157600080fd5b80630e95b757116104305780630e95b7571461050e57806310d5de531461052e5780631694505e1461055e57806318160ddd146105aa5780631816467f146105bf57600080fd5b806306fdde031461046d578063095ea7b3146104985780630a286859146104c85780630da5f845146104ec57600080fd5b3661046857005b600080fd5b34801561047957600080fd5b50610482610d9b565b60405161048f91906137c0565b60405180910390f35b3480156104a457600080fd5b506104b86104b336600461382d565b610e2d565b604051901515815260200161048f565b3480156104d457600080fd5b506104de601a5481565b60405190815260200161048f565b3480156104f857600080fd5b5061050c610507366004613859565b610e44565b005b34801561051a57600080fd5b5061050c610529366004613876565b610e91565b34801561053a57600080fd5b506104b8610549366004613859565b602d6020526000908152604090205460ff1681565b34801561056a57600080fd5b506105927f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161048f565b3480156105b657600080fd5b506002546104de565b3480156105cb57600080fd5b5061050c6105da366004613859565b610ed0565b3480156105eb57600080fd5b506104de60105481565b34801561060157600080fd5b506104de600c5481565b34801561061757600080fd5b506104de60295481565b34801561062d57600080fd5b50600654610592906001600160a01b031681565b34801561064d57600080fd5b506104de60275481565b34801561066357600080fd5b5061050c610672366004613876565b610f60565b34801561068357600080fd5b506104de601f5481565b34801561069957600080fd5b5061050c6106a836600461388f565b61103d565b3480156106b957600080fd5b506104b86106c83660046138d2565b611288565b3480156106d957600080fd5b5061059261dead81565b3480156106ef57600080fd5b506104de600e5481565b34801561070557600080fd5b5061050c610714366004613923565b6112f1565b34801561072557600080fd5b50600d546104b89060ff1681565b34801561073f57600080fd5b506040516012815260200161048f565b34801561075b57600080fd5b506104b861076a36600461382d565b611346565b34801561077b57600080fd5b506104de602a5481565b34801561079157600080fd5b506105927f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c557600080fd5b506104de601b5481565b3480156107db57600080fd5b506012546104b89060ff1681565b3480156107f557600080fd5b506104b8610804366004613859565b6001600160a01b03166000908152602c602052604090205460ff1690565b34801561082e57600080fd5b5061050c61083d366004613958565b61137c565b34801561084e57600080fd5b506012546104b89062010000900460ff1681565b34801561086e57600080fd5b506104de61087d366004613859565b6001600160a01b031660009081526020819052604090205490565b3480156108a457600080fd5b5061050c611424565b3480156108b957600080fd5b5061050c6108c836600461397a565b611498565b3480156108d957600080fd5b506104b86115c1565b3480156108ee57600080fd5b5061050c6108fd366004613923565b611617565b34801561090e57600080fd5b50600754610592906001600160a01b031681565b34801561092e57600080fd5b506104de60265481565b34801561094457600080fd5b506104de601d5481565b34801561095a57600080fd5b5061050c61166c565b34801561096f57600080fd5b506005546001600160a01b0316610592565b34801561098d57600080fd5b50600854610592906001600160a01b031681565b3480156109ad57600080fd5b506104de60215481565b3480156109c357600080fd5b5061050c6109d23660046139af565b6116b6565b3480156109e357600080fd5b506104826116fc565b3480156109f857600080fd5b5061050c610a07366004613923565b61170b565b348015610a1857600080fd5b506104de60195481565b348015610a2e57600080fd5b506104de601e5481565b348015610a4457600080fd5b506104de60205481565b348015610a5a57600080fd5b5061050c610a69366004613a16565b6117e7565b348015610a7a57600080fd5b506104de60115481565b348015610a9057600080fd5b506104de60235481565b348015610aa657600080fd5b506104de60285481565b348015610abc57600080fd5b506104de60225481565b348015610ad257600080fd5b5061050c610ae13660046139af565b6118b9565b348015610af257600080fd5b506104b8610b0136600461382d565b611901565b348015610b1257600080fd5b506104de600f5481565b348015610b2857600080fd5b506012546104b8906301000000900460ff1681565b348015610b4957600080fd5b506104b8610b5836600461382d565b611950565b348015610b6957600080fd5b5061050c610b78366004613859565b61195d565b348015610b8957600080fd5b506104de60185481565b348015610b9f57600080fd5b506104b8610bae366004613859565b602e6020526000908152604090205460ff1681565b348015610bcf57600080fd5b506104de60245481565b348015610be557600080fd5b506012546104b890610100900460ff1681565b348015610c0457600080fd5b5061050c610c13366004613923565b6119e4565b348015610c2457600080fd5b5061050c610c33366004613876565b611a6d565b348015610c4457600080fd5b506017546104b89060ff1681565b348015610c5e57600080fd5b506104de60095481565b348015610c7457600080fd5b506104b8610c83366004613876565b611b3e565b348015610c9457600080fd5b506104de601c5481565b348015610caa57600080fd5b506104de610cb9366004613a82565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610cf057600080fd5b506104de600a5481565b348015610d0657600080fd5b506104b8611c95565b348015610d1b57600080fd5b506104de60255481565b348015610d3157600080fd5b5061050c610d40366004613876565b611cd2565b348015610d5157600080fd5b5061050c610d60366004613859565b611d0f565b348015610d7157600080fd5b506104de600b5481565b348015610d8757600080fd5b506104b8610d96366004613876565b611dfa565b606060038054610daa90613abb565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd690613abb565b8015610e235780601f10610df857610100808354040283529160200191610e23565b820191906000526020600020905b815481529060010190602001808311610e0657829003601f168201915b5050505050905090565b6000610e3a3384846120e9565b5060015b92915050565b6005546001600160a01b0316331480610e6757506006546001600160a01b031633145b610e7057600080fd5b6001600160a01b03166000908152601660205260409020805460ff19169055565b6005546001600160a01b0316331480610eb457506006546001600160a01b031633145b610ebd57600080fd5b610e108110610ecb57600080fd5b601a55565b6005546001600160a01b03163314610f035760405162461bcd60e51b8152600401610efa90613af6565b60405180910390fd5b6008546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74390600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610f8a5760405162461bcd60e51b8152600401610efa90613af6565b670de0b6b3a76400006103e8610f9f60025490565b610faa906005613b41565b610fb49190613b60565b610fbe9190613b60565b8110156110255760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e352560881b6064820152608401610efa565b61103781670de0b6b3a7640000613b41565b60095550565b6005546001600160a01b031633148061106057506006546001600160a01b031633145b61106957600080fd5b602186905560228590556023849055602483905560258290556026819055818411156110ff576040805162461bcd60e51b81526020600482015260248101919091527f4d757374206b6565702066696e616c206c69717569646974792066656573206c60448201527f6f776572206f7220657175616c207468616e207374617274696e6720666565736064820152608401610efa565b602554602454111561117b576040805162461bcd60e51b81526020600482015260248101919091527f4d757374206b6565702066696e616c2049726f6e2042616e6b2066656573206c60448201527f6f776572206f7220657175616c207468616e207374617274696e6720666565736064820152608401610efa565b600060225460215461118d9190613b82565b905060648111156111f45760405162461bcd60e51b815260206004820152602b60248201527f4d757374206b656570207374616e646172642073656c6c20666565732061742060448201526a313025206f72206c65737360a81b6064820152608401610efa565b600060265460255460225460215461120c9190613b82565b6112169190613b82565b6112209190613b82565b9050609681111561127e5760405162461bcd60e51b815260206004820152602260248201527f4d757374206b6565702073656c6c206665657320617420313525206f72206c65604482015261737360f01b6064820152608401610efa565b5050505050505050565b600061129584848461220e565b6112e784336112e285604051806060016040528060288152602001613e59602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190612dd7565b6120e9565b5060019392505050565b6005546001600160a01b0316331461131b5760405162461bcd60e51b8152600401610efa90613af6565b6001600160a01b03919091166000908152601660205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610e3a9185906112e29086612083565b6005546001600160a01b031633148061139f57506006546001600160a01b031633145b6113a857600080fd5b601d829055601e819055601f8290556113c18183613b82565b601c819055606410156114205760405162461bcd60e51b815260206004820152602160248201527f4d757374206b65657020627579206665657320617420313025206f72206c65736044820152607360f81b6064820152608401610efa565b5050565b6005546001600160a01b0316331461144e5760405162461bcd60e51b8152600401610efa90613af6565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146114c25760405162461bcd60e51b8152600401610efa90613af6565b6102588310156115305760405162461bcd60e51b815260206004820152603360248201527f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e207468604482015272616e206576657279203130206d696e7574657360681b6064820152608401610efa565b6103e88211158015611540575060015b6115a55760405162461bcd60e51b815260206004820152603060248201527f4d75737420736574206175746f204c50206275726e2070657263656e7420626560448201526f747765656e20302520616e642031302560801b6064820152608401610efa565b600e92909255600c55600d805460ff1916911515919091179055565b60006115d56005546001600160a01b031690565b6001600160a01b0316336001600160a01b031614806115fe57506006546001600160a01b031633145b61160757600080fd5b506012805460ff19169055600190565b6005546001600160a01b031633146116415760405162461bcd60e51b8152600401610efa90613af6565b6001600160a01b03919091166000908152602d60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146116965760405162461bcd60e51b8152600401610efa90613af6565b6012805462ffff0019166201010017905542600f81905543602b55601b55565b6005546001600160a01b031633146116e05760405162461bcd60e51b8152600401610efa90613af6565b60128054911515620100000262ff000019909216919091179055565b606060048054610daa90613abb565b6005546001600160a01b031633146117355760405162461bcd60e51b8152600401610efa90613af6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614156117dd5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610efa565b6114208282612e11565b6005546001600160a01b031633146118115760405162461bcd60e51b8152600401610efa90613af6565b61183a6118266005546001600160a01b031690565b6005546001600160a01b03166002546120e9565b60005b838110156118b25761189f3386868481811061185b5761185b613b9a565b90506020020160208101906118709190613859565b61187c6012600a613c94565b86868681811061188e5761188e613b9a565b905060200201356106c89190613b41565b50806118aa81613ca3565b91505061183d565b5050505050565b6005546001600160a01b031633146118e35760405162461bcd60e51b8152600401610efa90613af6565b6012805491151563010000000263ff00000019909216919091179055565b6000610e3a33846112e285604051806060016040528060258152602001613e81602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190612dd7565b6000610e3a33848461220e565b6005546001600160a01b031633146119875760405162461bcd60e51b8152600401610efa90613af6565b6007546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567490600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611a0e5760405162461bcd60e51b8152600401610efa90613af6565b6001600160a01b0382166000818152602c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314611a975760405162461bcd60e51b8152600401610efa90613af6565b670de0b6b3a76400006103e8611aac60025490565b611ab790600f613b41565b611ac19190613b60565b611acb9190613b60565b811015611b265760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263312e352560e01b6064820152608401610efa565b611b3881670de0b6b3a7640000613b41565b600b5550565b6005546000906001600160a01b03163314611b6b5760405162461bcd60e51b8152600401610efa90613af6565b620186a0611b7860025490565b611b83906001613b41565b611b8d9190613b60565b821015611bfa5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610efa565b6103e8611c0660025490565b611c11906005613b41565b611c1b9190613b60565b821115611c875760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610efa565b50600a81905560015b919050565b6005546000906001600160a01b03163314611cc25760405162461bcd60e51b8152600401610efa90613af6565b506017805460ff19169055600190565b6005546001600160a01b03163314611cfc5760405162461bcd60e51b8152600401610efa90613af6565b610e108110611d0a57600080fd5b601955565b6005546001600160a01b03163314611d395760405162461bcd60e51b8152600401610efa90613af6565b6001600160a01b038116611d9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610efa565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546000906001600160a01b03163314611e275760405162461bcd60e51b8152600401610efa90613af6565b601054601154611e379190613b82565b4211611e855760405162461bcd60e51b815260206004820181905260248201527f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973686044820152606401610efa565b6103e8821115611eea5760405162461bcd60e51b815260206004820152602a60248201527f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60448201526906b656e7320696e204c560b41b6064820152608401610efa565b426011556040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600482015260009030906370a082319060240160206040518083038186803b158015611f5057600080fd5b505afa158015611f64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f889190613cbe565b90506000611fa2612710611f9c8487612e65565b90612ee4565b90508015611fd757611fd77f000000000000000000000000000000000000000000000000000000000000000061dead83612f26565b60007f00000000000000000000000000000000000000000000000000000000000000009050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561203757600080fd5b505af115801561204b573d6000803e3d6000fd5b50506040517f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb925060009150a1506001949350505050565b6000806120908385613b82565b9050838110156120e25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610efa565b9392505050565b6001600160a01b03831661214b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610efa565b6001600160a01b0382166121ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610efa565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166122345760405162461bcd60e51b8152600401610efa90613cd7565b6001600160a01b03821661225a5760405162461bcd60e51b8152600401610efa90613d1c565b6001600160a01b03821660009081526016602052604090205460ff1615801561229c57506001600160a01b03831660009081526016602052604090205460ff16155b6123025760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b6064820152608401610efa565b806123185761231383836000612f26565b505050565b60125460ff16156127d4576005546001600160a01b0384811691161480159061234f57506005546001600160a01b03838116911614155b801561236357506001600160a01b03821615155b801561237a57506001600160a01b03821661dead14155b80156123905750600554600160a01b900460ff16155b156127d457601254610100900460ff16612428576001600160a01b0383166000908152602c602052604090205460ff16806123e357506001600160a01b0382166000908152602c602052604090205460ff165b6124285760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610efa565b60175460ff161561256e576005546001600160a01b0383811691161480159061248357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b80156124c157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b1561256e5732600090815260136020526040902054431161255b5760405162461bcd60e51b815260206004820152604860248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060648201526730b63637bbb2b21760c11b608482015260a401610efa565b3260009081526013602052604090204390555b6001600160a01b0383166000908152602e602052604090205460ff1680156125af57506001600160a01b0382166000908152602d602052604090205460ff16155b15612693576009548111156126245760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610efa565b600b546001600160a01b03831660009081526020819052604090205461264a9083613b82565b111561268e5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610efa565b6127d4565b6001600160a01b0382166000908152602e602052604090205460ff1680156126d457506001600160a01b0383166000908152602d602052604090205460ff16155b1561274a5760095481111561268e5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610efa565b6001600160a01b0382166000908152602d602052604090205460ff166127d457600b546001600160a01b0383166000908152602081905260409020546127909083613b82565b11156127d45760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610efa565b602b546127e2906001613b82565b431115801561282357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b801561284c57506001600160a01b038216737a250d5630b4cf539739df2c5dacb4c659f2488d14155b15612875576001600160a01b0382166000908152601660205260409020805460ff191660011790555b30600090815260208190526040902054600a54811080159081906128a1575060125462010000900460ff165b80156128b75750600554600160a01b900460ff16155b80156128dc57506001600160a01b0385166000908152602e602052604090205460ff16155b801561290157506001600160a01b0385166000908152602c602052604090205460ff16155b801561292657506001600160a01b0384166000908152602c602052604090205460ff16155b15612954576005805460ff60a01b1916600160a01b17905561294661302f565b6005805460ff60a01b191690555b600554600160a01b900460ff1615801561298657506001600160a01b0384166000908152602e602052604090205460ff165b80156129945750600d5460ff165b80156129af5750600e54600f546129ab9190613b82565b4210155b80156129d457506001600160a01b0385166000908152602c602052604090205460ff16155b156129e3576129e16132f9565b505b6005546001600160a01b0386166000908152602c602052604090205460ff600160a01b909204821615911680612a3157506001600160a01b0385166000908152602c602052604090205460ff165b15612a3a575060005b60008115612dc3576001600160a01b0386166000908152602e602052604090205460ff1615612c3c5732600090815260146020526040812054819015612b3157601a5432600090815260146020526040812054909190612a9a9042613d5f565b612aa5906005613b41565b612aaf9190613b60565b60235460255491925082918291612ac591613d5f565b821115612adf57602354602554612adc9190613d5f565b91505b602454602654612aef9190613d5f565b811115612b0957602454602654612b069190613d5f565b90505b81602554612b179190613d5f565b945080602654612b279190613d5f565b9350505050612b3a565b50506023546024545b60008183602254602154612b4e9190613b82565b612b589190613b82565b612b629190613b82565b90508015612c3457601854612b7b90611f9c8a84612e65565b93508060215485612b8c9190613b41565b612b969190613b60565b60276000828254612ba79190613b82565b90915550506022548190612bbb9086613b41565b612bc59190613b60565b60286000828254612bd69190613b82565b90915550819050612be78486613b41565b612bf19190613b60565b60296000828254612c029190613b82565b90915550819050612c138386613b41565b612c1d9190613b60565b602a6000828254612c2e9190613b82565b90915550505b505050612da5565b6001600160a01b0387166000908152602e602052604090205460ff168015612c6657506000601c54115b15612da557601f54601d54118015612c8d5750601954601b54612c899190613b82565b4210155b15612cee57601d54612ca090600a613498565b5042601b55601e54601d54612cb59190613b82565b601c8190556040519081527f788df89b5bf16aa9e794526e55926df502d62a389e82dfe13404072054ca234e9060200160405180910390a15b612d09601854611f9c601c5488612e6590919063ffffffff16565b9050601c54601e5482612d1c9190613b41565b612d269190613b60565b60286000828254612d379190613b82565b9091555050601c54601d54612d4c9083613b41565b612d569190613b60565b60276000828254612d679190613b82565b90915550506001600160a01b038616600090815260146020526040902054612da5576001600160a01b03861660009081526014602052604090204290555b8015612db657612db6873083612f26565b612dc08186613d5f565b94505b612dce878787612f26565b50505050505050565b60008184841115612dfb5760405162461bcd60e51b8152600401610efa91906137c0565b506000612e088486613d5f565b95945050505050565b6001600160a01b0382166000818152602e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b600082612e7457506000610e3e565b6000612e808385613b41565b905082612e8d8583613b60565b146120e25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610efa565b60006120e283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506134da565b6001600160a01b038316612f4c5760405162461bcd60e51b8152600401610efa90613cd7565b6001600160a01b038216612f725760405162461bcd60e51b8152600401610efa90613d1c565b612faf81604051806060016040528060268152602001613e33602691396001600160a01b0386166000908152602081905260409020549190612dd7565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612fde9082612083565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101612201565b3060009081526020819052604081205490506000602a546029546028546027546130599190613b82565b6130639190613b82565b61306d9190613b82565b9050600082158061307c575081155b1561308657505050565b600a54613094906014613b41565b8311156130ac57600a546130a9906014613b41565b92505b6000600283602954866130bf9190613b41565b6130c99190613b60565b6130d39190613b60565b905060006130e18583613498565b9050476130ed82613508565b60006130f94783613498565b9050600061311687611f9c60275485612e6590919063ffffffff16565b9050600061313388611f9c60285486612e6590919063ffffffff16565b9050600061315089611f9c602a5487612e6590919063ffffffff16565b9050600081836131608688613d5f565b61316a9190613d5f565b6131749190613d5f565b6000602781905560288190556029819055602a8190556008546040519293506001600160a01b031691859181818185875af1925050503d80600081146131d6576040519150601f19603f3d011682016040523d82523d6000602084013e6131db565b606091505b5050600654604051919a506001600160a01b0316908390600081818185875af1925050503d806000811461322b576040519150601f19603f3d011682016040523d82523d6000602084013e613230565b606091505b509099505087158015906132445750600081115b156132975761325388826136d7565b602954604080518981526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6007546040516001600160a01b03909116904790600081818185875af1925050503d80600081146132e4576040519150601f19603f3d011682016040523d82523d6000602084013e6132e9565b606091505b5050505050505050505050505050565b42600f556040516370a0823160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819030906370a082319060240160206040518083038186803b15801561336157600080fd5b505afa158015613375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133999190613cbe565b905060006133b8612710611f9c600c5485612e6590919063ffffffff16565b905080156133ed576133ed7f000000000000000000000000000000000000000000000000000000000000000061dead83612f26565b60007f00000000000000000000000000000000000000000000000000000000000000009050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561344d57600080fd5b505af1158015613461573d6000803e3d6000fd5b50506040517f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d925060009150a16001935050505090565b60006120e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612dd7565b600081836134fb5760405162461bcd60e51b8152600401610efa91906137c0565b506000612e088486613b60565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061353d5761353d613b9a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156135b657600080fd5b505afa1580156135ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ee9190613d76565b8160018151811061360157613601613b9a565b60200260200101906001600160a01b031690816001600160a01b03168152505061364c307f0000000000000000000000000000000000000000000000000000000000000000846120e9565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac947906136a1908590600090869030904290600401613d93565b600060405180830381600087803b1580156136bb57600080fd5b505af11580156136cf573d6000803e3d6000fd5b505050505050565b613702307f0000000000000000000000000000000000000000000000000000000000000000846120e9565b60405163f305d71960e01b815230600482015260248101839052600060448201819052606482015261dead60848201524260a48201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f305d71990839060c4016060604051808303818588803b15801561378757600080fd5b505af115801561379b573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118b29190613e04565b600060208083528351808285015260005b818110156137ed578581018301518582016040015282016137d1565b818111156137ff576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461382a57600080fd5b50565b6000806040838503121561384057600080fd5b823561384b81613815565b946020939093013593505050565b60006020828403121561386b57600080fd5b81356120e281613815565b60006020828403121561388857600080fd5b5035919050565b60008060008060008060c087890312156138a857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000806000606084860312156138e757600080fd5b83356138f281613815565b9250602084013561390281613815565b929592945050506040919091013590565b80358015158114611c9057600080fd5b6000806040838503121561393657600080fd5b823561394181613815565b915061394f60208401613913565b90509250929050565b6000806040838503121561396b57600080fd5b50508035926020909101359150565b60008060006060848603121561398f57600080fd5b83359250602084013591506139a660408501613913565b90509250925092565b6000602082840312156139c157600080fd5b6120e282613913565b60008083601f8401126139dc57600080fd5b50813567ffffffffffffffff8111156139f457600080fd5b6020830191508360208260051b8501011115613a0f57600080fd5b9250929050565b60008060008060408587031215613a2c57600080fd5b843567ffffffffffffffff80821115613a4457600080fd5b613a50888389016139ca565b90965094506020870135915080821115613a6957600080fd5b50613a76878288016139ca565b95989497509550505050565b60008060408385031215613a9557600080fd5b8235613aa081613815565b91506020830135613ab081613815565b809150509250929050565b600181811c90821680613acf57607f821691505b60208210811415613af057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615613b5b57613b5b613b2b565b500290565b600082613b7d57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115613b9557613b95613b2b565b500190565b634e487b7160e01b600052603260045260246000fd5b600181815b80851115613beb578160001904821115613bd157613bd1613b2b565b80851615613bde57918102915b93841c9390800290613bb5565b509250929050565b600082613c0257506001610e3e565b81613c0f57506000610e3e565b8160018114613c255760028114613c2f57613c4b565b6001915050610e3e565b60ff841115613c4057613c40613b2b565b50506001821b610e3e565b5060208310610133831016604e8410600b8410161715613c6e575081810a610e3e565b613c788383613bb0565b8060001904821115613c8c57613c8c613b2b565b029392505050565b60006120e260ff841683613bf3565b6000600019821415613cb757613cb7613b2b565b5060010190565b600060208284031215613cd057600080fd5b5051919050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600082821015613d7157613d71613b2b565b500390565b600060208284031215613d8857600080fd5b81516120e281613815565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015613de35784516001600160a01b031683529383019391830191600101613dbe565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215613e1957600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a94e12fc412d41331a1ae0bcc2483cc02ea595347eba42cd3a1a43592c86514f64736f6c634300080900334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572