6080604052600a805460ff191690556000600f556010805461ffff1916610100179055668e1bc9bf040000601155600560125560016013553480156200004457600080fd5b50604051620034b0380380620034b08339810160408190526200006791620003bc565b6040518060400160405280600c81526020016b44697a7a792044656d6f6e7360a01b815250604051806040016040528060058152602001642222a6a7a760d91b8152508282828160009080519060200190620000c592919062000316565b508051620000db90600190602084019062000316565b5050506000620000f06200019560201b60201c565b600d80546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b0319166001600160a01b0383161790556200016483620001b1565b5050601680546001600160a01b03191673882a47e6070aca3f38ce6929501f4787803a072b179055506200042b9050565b6000620001ac6200021560201b62001bde1760201c565b905090565b600a5460ff1615620001fa5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b604482015260640160405180910390fd5b620002058162000274565b50600a805460ff19166001179055565b6000333014156200026e57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b03169150620002719050565b50335b90565b6040518060800160405280604f815260200162003461604f9139805160209182012082519282019290922060408051808201825260018152603160f81b90840152805180840194909452838101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608401523060808401524660a0808501919091528151808503909101815260c090930190528151910120600b55565b8280546200032490620003ee565b90600052602060002090601f01602090048101928262000348576000855562000393565b82601f106200036357805160ff191683800117855562000393565b8280016001018555821562000393579182015b828111156200039357825182559160200191906001019062000376565b50620003a1929150620003a5565b5090565b5b80821115620003a15760008155600101620003a6565b600060208284031215620003cf57600080fd5b81516001600160a01b0381168114620003e757600080fd5b9392505050565b600181811c908216806200040357607f821691505b602082108114156200042557634e487b7160e01b600052602260045260246000fd5b50919050565b613026806200043b6000396000f3fe6080604052600436106102125760003560e01c80636ce68eed1161011f5780636ce68eed146104c95780637084b2b7146104df57806370a08231146104ff578063715018a61461051f5780638da5cb5b14610534578063938e3d7b1461054957806395d89b41146105695780639e34070f1461057e578063a0712d68146105ac578063a22cb465146105bf578063b1f4e514146105df578063b625efea1461062b578063b88d4fde1461064b578063c35536c81461066b578063c87b56dd1461068b578063cc47a40b146106ab578063d547cfb7146106cb578063e8a3d485146106e0578063e985e9c5146106f5578063eb8d244414610715578063f03255491461072f578063f2fde38b14610744578063f4a0a5281461076457600080fd5b806301ffc9a71461021757806306fdde031461024c578063081812fc1461026e578063095ea7b31461029b5780630ba133c5146102bd5780630c53c51c146102e15780630f7e5970146102f457806318160ddd146103215780631f0234d81461033657806320379ee51461035557806323b872dd1461036a5780632d0335ab1461038a5780632f745c59146103c057806330176e13146103e057806332cb6b0c146104005780633408e4701461041657806334918dfd146104295780633ccfd60b1461043e57806342842e0e146104535780634f6ccce7146104735780636352211e146104935780636817c76c146104b3575b600080fd5b34801561022357600080fd5b50610237610232366004612829565b610784565b60405190151581526020015b60405180910390f35b34801561025857600080fd5b506102616107af565b604051610243919061289e565b34801561027a57600080fd5b5061028e6102893660046128b1565b610841565b60405161024391906128ca565b3480156102a757600080fd5b506102bb6102b63660046128f3565b6108ce565b005b3480156102c957600080fd5b506102d360125481565b604051908152602001610243565b6102616102ef3660046129dc565b6109f1565b34801561030057600080fd5b50610261604051806040016040528060018152602001603160f81b81525081565b34801561032d57600080fd5b506008546102d3565b34801561034257600080fd5b5060105461023790610100900460ff1681565b34801561036157600080fd5b50600b546102d3565b34801561037657600080fd5b506102bb610385366004612a59565b610bda565b34801561039657600080fd5b506102d36103a5366004612a9a565b6001600160a01b03166000908152600c602052604090205490565b3480156103cc57600080fd5b506102d36103db3660046128f3565b610c12565b3480156103ec57600080fd5b506102bb6103fb366004612ab7565b610ca8565b34801561040c57600080fd5b506102d361138881565b34801561042257600080fd5b50466102d3565b34801561043557600080fd5b506102bb610cfe565b34801561044a57600080fd5b506102bb610d51565b34801561045f57600080fd5b506102bb61046e366004612a59565b610e24565b34801561047f57600080fd5b506102d361048e3660046128b1565b610e3f565b34801561049f57600080fd5b5061028e6104ae3660046128b1565b610ed2565b3480156104bf57600080fd5b506102d360115481565b3480156104d557600080fd5b506102d360135481565b3480156104eb57600080fd5b506102bb6104fa3660046128b1565b610f49565b34801561050b57600080fd5b506102d361051a366004612a9a565b610f8d565b34801561052b57600080fd5b506102bb611014565b34801561054057600080fd5b5061028e61109d565b34801561055557600080fd5b506102bb610564366004612ab7565b6110ac565b34801561057557600080fd5b506102616110fe565b34801561058a57600080fd5b506102376105993660046128b1565b6000818152601760205260409020541490565b6102bb6105ba3660046128b1565b61110d565b3480156105cb57600080fd5b506102bb6105da366004612aff565b611420565b3480156105eb57600080fd5b506106166105fa3660046128b1565b6017602052600090815260409020805460019091015460ff1682565b60408051928352901515602083015201610243565b34801561063757600080fd5b506102bb6106463660046128b1565b61151e565b34801561065757600080fd5b506102bb610666366004612b3d565b611562565b34801561067757600080fd5b506102bb610686366004612ba8565b6115a1565b34801561069757600080fd5b506102616106a63660046128b1565b6118ac565b3480156106b757600080fd5b506102bb6106c63660046128f3565b6118e6565b3480156106d757600080fd5b5061026161194c565b3480156106ec57600080fd5b5061026161195b565b34801561070157600080fd5b50610237610710366004612c41565b61196a565b34801561072157600080fd5b506010546102379060ff1681565b34801561073b57600080fd5b506102bb611a3e565b34801561075057600080fd5b506102bb61075f366004612a9a565b611a9a565b34801561077057600080fd5b506102bb61077f3660046128b1565b611b9a565b60006001600160e01b0319821663780e9d6360e01b14806107a957506107a982611c3b565b92915050565b6060600080546107be90612c6f565b80601f01602080910402602001604051908101604052809291908181526020018280546107ea90612c6f565b80156108375780601f1061080c57610100808354040283529160200191610837565b820191906000526020600020905b81548152906001019060200180831161081a57829003601f168201915b5050505050905090565b600061084c82611c8b565b6108b25760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006108d982610ed2565b9050806001600160a01b0316836001600160a01b031614156109475760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016108a9565b806001600160a01b0316610959611ca8565b6001600160a01b03161480610975575061097581610710611ca8565b6109e25760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b60648201526084016108a9565b6109ec8383611cb7565b505050565b60408051606081810183526001600160a01b0388166000818152600c602090815290859020548452830152918101869052610a2f8782878787611d25565b610a855760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084016108a9565b6001600160a01b0387166000908152600c6020526040902054610aa9906001611e15565b6001600160a01b0388166000908152600c60205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b90610af990899033908a90612caa565b60405180910390a1600080306001600160a01b0316888a604051602001610b21929190612cdf565b60408051601f1981840301815290829052610b3b91612d11565b6000604051808303816000865af19150503d8060008114610b78576040519150601f19603f3d011682016040523d82523d6000602084013e610b7d565b606091505b509150915081610bce5760405162461bcd60e51b815260206004820152601c60248201527b119d5b98dd1a5bdb8818d85b1b081b9bdd081cdd58d8d95cdcd99d5b60221b60448201526064016108a9565b98975050505050505050565b610beb610be5611ca8565b82611e28565b610c075760405162461bcd60e51b81526004016108a990612d2d565b6109ec838383611eea565b6000610c1d83610f8d565b8210610c7f5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016108a9565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b610cb0611ca8565b6001600160a01b0316610cc161109d565b6001600160a01b031614610ce75760405162461bcd60e51b81526004016108a990612d7e565b8051610cfa906014906020840190612777565b5050565b610d06611ca8565b6001600160a01b0316610d1761109d565b6001600160a01b031614610d3d5760405162461bcd60e51b81526004016108a990612d7e565b6010805460ff19811660ff90911615179055565b610d59611ca8565b6001600160a01b0316610d6a61109d565b6001600160a01b031614610d905760405162461bcd60e51b81526004016108a990612d7e565b476000610da96064610da3846005612095565b906120a1565b60405190915073ffe5cbcddf2bd1b4dc3c00455d4cdccf20f775879082156108fc029083906000818181858888f19350505050158015610ded573d6000803e3d6000fd5b50336108fc610dfc84846120ad565b6040518115909202916000818181858888f193505050501580156109ec573d6000803e3d6000fd5b6109ec83838360405180602001604052806000815250611562565b6000610e4a60085490565b8210610ead5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016108a9565b60088281548110610ec057610ec0612db3565b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806107a95760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016108a9565b610f51611ca8565b6001600160a01b0316610f6261109d565b6001600160a01b031614610f885760405162461bcd60e51b81526004016108a990612d7e565b601255565b60006001600160a01b038216610ff85760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016108a9565b506001600160a01b031660009081526003602052604090205490565b61101c611ca8565b6001600160a01b031661102d61109d565b6001600160a01b0316146110535760405162461bcd60e51b81526004016108a990612d7e565b600d546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600d80546001600160a01b0319169055565b600d546001600160a01b031690565b6110b4611ca8565b6001600160a01b03166110c561109d565b6001600160a01b0316146110eb5760405162461bcd60e51b81526004016108a990612d7e565b8051610cfa906015906020840190612777565b6060600180546107be90612c6f565b60105460ff166111555760405162461bcd60e51b815260206004820152601360248201527229b0b6329034b9903737ba1030b1ba34bb329760691b60448201526064016108a9565b61138861116b8261116560085490565b90611e15565b11156111a55760405162461bcd60e51b815260206004820152600960248201526829b7b6321037baba1760b91b60448201526064016108a9565b60115434906111b49083612095565b11156111fb5760405162461bcd60e51b815260206004820152601660248201527522aa241039b2b73a1034b99034b731b7b93932b1ba1760511b60448201526064016108a9565b601054610100900460ff16156113a75760135481111561125d5760405162461bcd60e51b815260206004820152601e60248201527f457863656564732077616c6c6574207072652d73616c65206c696d69742e000060448201526064016108a9565b6016546040516370a0823160e01b81526000916001600160a01b0316906370a082319061128e9033906004016128ca565b60206040518083038186803b1580156112a657600080fd5b505afa1580156112ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112de9190612dc9565b116113355760405162461bcd60e51b815260206004820152602160248201527f596f7520646f206e6f74206f776e20616e792044697a7a7920447261676f6e736044820152601760f91b60648201526084016108a9565b600161134033610f8d565b106113a25760405162461bcd60e51b815260206004820152602c60248201527f4c696d6974206f66206f6e65207065722077616c6c657420647572696e67207460448201526b34329038393296b9b0b6329760a11b60648201526084016108a9565b6113f9565b6012548111156113f95760405162461bcd60e51b815260206004820152601e60248201527f4578636565647320706572207472616e73616374696f6e206c696d69742e000060448201526064016108a9565b60005b81811015610cfa5761140d336120b9565b508061141881612df8565b9150506113fc565b611428611ca8565b6001600160a01b0316826001600160a01b031614156114855760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b60448201526064016108a9565b8060056000611492611ca8565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff1916921515929092179091556114d6611ca8565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611512911515815260200190565b60405180910390a35050565b611526611ca8565b6001600160a01b031661153761109d565b6001600160a01b03161461155d5760405162461bcd60e51b81526004016108a990612d7e565b601355565b61157361156d611ca8565b83611e28565b61158f5760405162461bcd60e51b81526004016108a990612d2d565b61159b848484846120d8565b50505050565b6014815111156116045760405162461bcd60e51b815260206004820152602860248201527f43616e277420636c61696d206d6f7265207468616e2032302044656d6f6e732060448201526730ba1037b731b29760c11b60648201526084016108a9565b60005b8151811015610cfa57611d4c82828151811061162557611625612db3565b6020026020010151116116755760405162461bcd60e51b81526020600482015260186024820152772a3434b9903a37b5b2b71034b9903737ba10333ab9b2b21760411b60448201526064016108a9565b601654825133916001600160a01b031690636352211e9085908590811061169e5761169e612db3565b60200260200101516040518263ffffffff1660e01b81526004016116c491815260200190565b60206040518083038186803b1580156116dc57600080fd5b505afa1580156116f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117149190612e13565b6001600160a01b0316146117675760405162461bcd60e51b815260206004820152601a6024820152792cb7ba903237903737ba1037bbb7103a3434b9903a37b5b2b71760311b60448201526064016108a9565b61179782828151811061177c5761177c612db3565b60200260200101516000818152601760205260409020541490565b156117fb5760405162461bcd60e51b815260206004820152602e60248201527f44656d6f6e2068617320616c7265616479206265656e20636c61696d6564206660448201526d37b9103a3434b9903a37b5b2b71760911b60648201526084016108a9565b81818151811061180d5761180d612db3565b60200260200101516017600084848151811061182b5761182b612db3565b602002602001015181526020019081526020016000206000018190555060016017600084848151811061186057611860612db3565b6020026020010151815260200190815260200160002060010160006101000a81548160ff021916908315150217905550611899336120b9565b50806118a481612df8565b915050611607565b60606118b661194c565b6118bf8361210b565b6040516020016118d0929190612e30565b6040516020818303038152906040529050919050565b6118ee611ca8565b6001600160a01b03166118ff61109d565b6001600160a01b0316146119255760405162461bcd60e51b81526004016108a990612d7e565b60005b818110156109ec57611939836120b9565b508061194481612df8565b915050611928565b6060601480546107be90612c6f565b6060601580546107be90612c6f565b600e5460405163c455279160e01b81526000916001600160a01b039081169190841690829063c4552791906119a39088906004016128ca565b60206040518083038186803b1580156119bb57600080fd5b505afa1580156119cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f39190612e13565b6001600160a01b03161415611a0c5760019150506107a9565b6001600160a01b0380851660009081526005602090815260408083209387168352929052205460ff165b949350505050565b611a46611ca8565b6001600160a01b0316611a5761109d565b6001600160a01b031614611a7d5760405162461bcd60e51b81526004016108a990612d7e565b6010805461ff001981166101009182900460ff1615909102179055565b611aa2611ca8565b6001600160a01b0316611ab361109d565b6001600160a01b031614611ad95760405162461bcd60e51b81526004016108a990612d7e565b6001600160a01b038116611b3e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108a9565b600d546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b611ba2611ca8565b6001600160a01b0316611bb361109d565b6001600160a01b031614611bd95760405162461bcd60e51b81526004016108a990612d7e565b601155565b600033301415611c3557600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b03169150611c389050565b50335b90565b60006001600160e01b031982166380ac58cd60e01b1480611c6c57506001600160e01b03198216635b5e139f60e01b145b806107a957506301ffc9a760e01b6001600160e01b03198316146107a9565b6000908152600260205260409020546001600160a01b0316151590565b6000611cb2611bde565b905090565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611cec82610ed2565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006001600160a01b038616611d8b5760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b60648201526084016108a9565b6001611d9e611d9987612208565b612285565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa158015611dec573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b6000611e218284612e5f565b9392505050565b6000611e3382611c8b565b611e945760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016108a9565b6000611e9f83610ed2565b9050806001600160a01b0316846001600160a01b03161480611eda5750836001600160a01b0316611ecf84610841565b6001600160a01b0316145b80611a365750611a36818561196a565b826001600160a01b0316611efd82610ed2565b6001600160a01b031614611f655760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016108a9565b6001600160a01b038216611fc75760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016108a9565b611fd28383836122b5565b611fdd600082611cb7565b6001600160a01b0383166000908152600360205260408120805460019290612006908490612e77565b90915550506001600160a01b0382166000908152600360205260408120805460019290612034908490612e5f565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000611e218284612e8e565b6000611e218284612ec3565b6000611e218284612e77565b6000806120c461236d565b90506120d0838261237e565b6107a96124bc565b6120e3848484611eea565b6120ef848484846124d3565b61159b5760405162461bcd60e51b81526004016108a990612ed7565b60608161212f5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612159578061214381612df8565b91506121529050600a83612ec3565b9150612133565b6000816001600160401b038111156121735761217361291f565b6040519080825280601f01601f19166020018201604052801561219d576020820181803683370190505b5090505b8415611a36576121b2600183612e77565b91506121bf600a86612f29565b6121ca906030612e5f565b60f81b8183815181106121df576121df612db3565b60200101906001600160f81b031916908160001a905350612201600a86612ec3565b94506121a1565b6000604051806080016040528060438152602001612fae6043913980516020918201208351848301516040808701518051908601209051612268950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6000612290600b5490565b60405161190160f01b6020820152602281019190915260428101839052606201612268565b6001600160a01b0383166123105761230b81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b612333565b816001600160a01b0316836001600160a01b0316146123335761233383826125e7565b6001600160a01b03821661234a576109ec81612684565b826001600160a01b0316826001600160a01b0316146109ec576109ec8282612733565b600f54600090611cb2906001611e15565b6001600160a01b0382166123d45760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016108a9565b6123dd81611c8b565b156124295760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b60448201526064016108a9565b612435600083836122b5565b6001600160a01b038216600090815260036020526040812080546001929061245e908490612e5f565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600f80549060006124cc83612df8565b9190505550565b60006001600160a01b0384163b156125dc57836001600160a01b031663150b7a026124fc611ca8565b8786866040518563ffffffff1660e01b815260040161251e9493929190612f3d565b602060405180830381600087803b15801561253857600080fd5b505af1925050508015612568575060408051601f3d908101601f1916820190925261256591810190612f7a565b60015b6125c2573d808015612596576040519150601f19603f3d011682016040523d82523d6000602084013e61259b565b606091505b5080516125ba5760405162461bcd60e51b81526004016108a990612ed7565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611a36565b506001949350505050565b600060016125f484610f8d565b6125fe9190612e77565b600083815260076020526040902054909150808214612651576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061269690600190612e77565b600083815260096020526040812054600880549394509092849081106126be576126be612db3565b9060005260206000200154905080600883815481106126df576126df612db3565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061271757612717612f97565b6001900381819060005260206000200160009055905550505050565b600061273e83610f8d565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b82805461278390612c6f565b90600052602060002090601f0160209004810192826127a557600085556127eb565b82601f106127be57805160ff19168380011785556127eb565b828001600101855582156127eb579182015b828111156127eb5782518255916020019190600101906127d0565b506127f79291506127fb565b5090565b5b808211156127f757600081556001016127fc565b6001600160e01b03198116811461282657600080fd5b50565b60006020828403121561283b57600080fd5b8135611e2181612810565b60005b83811015612861578181015183820152602001612849565b8381111561159b5750506000910152565b6000815180845261288a816020860160208601612846565b601f01601f19169290920160200192915050565b602081526000611e216020830184612872565b6000602082840312156128c357600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461282657600080fd5b6000806040838503121561290657600080fd5b8235612911816128de565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561295d5761295d61291f565b604052919050565b60006001600160401b0383111561297e5761297e61291f565b612991601f8401601f1916602001612935565b90508281528383830111156129a557600080fd5b828260208301376000602084830101529392505050565b600082601f8301126129cd57600080fd5b611e2183833560208501612965565b600080600080600060a086880312156129f457600080fd5b85356129ff816128de565b945060208601356001600160401b03811115612a1a57600080fd5b612a26888289016129bc565b9450506040860135925060608601359150608086013560ff81168114612a4b57600080fd5b809150509295509295909350565b600080600060608486031215612a6e57600080fd5b8335612a79816128de565b92506020840135612a89816128de565b929592945050506040919091013590565b600060208284031215612aac57600080fd5b8135611e21816128de565b600060208284031215612ac957600080fd5b81356001600160401b03811115612adf57600080fd5b8201601f81018413612af057600080fd5b611a3684823560208401612965565b60008060408385031215612b1257600080fd5b8235612b1d816128de565b915060208301358015158114612b3257600080fd5b809150509250929050565b60008060008060808587031215612b5357600080fd5b8435612b5e816128de565b93506020850135612b6e816128de565b92506040850135915060608501356001600160401b03811115612b9057600080fd5b612b9c878288016129bc565b91505092959194509250565b60006020808385031215612bbb57600080fd5b82356001600160401b0380821115612bd257600080fd5b818501915085601f830112612be657600080fd5b813581811115612bf857612bf861291f565b8060051b9150612c09848301612935565b8181529183018401918481019088841115612c2357600080fd5b938501935b83851015610bce57843582529385019390850190612c28565b60008060408385031215612c5457600080fd5b8235612c5f816128de565b91506020830135612b32816128de565b600181811c90821680612c8357607f821691505b60208210811415612ca457634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03848116825283166020820152606060408201819052600090612cd690830184612872565b95945050505050565b60008351612cf1818460208801612846565b60609390931b6001600160601b0319169190920190815260140192915050565b60008251612d23818460208701612846565b9190910192915050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612ddb57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415612e0c57612e0c612de2565b5060010190565b600060208284031215612e2557600080fd5b8151611e21816128de565b60008351612e42818460208801612846565b835190830190612e56818360208801612846565b01949350505050565b60008219821115612e7257612e72612de2565b500190565b600082821015612e8957612e89612de2565b500390565b6000816000190483118215151615612ea857612ea8612de2565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612ed257612ed2612ead565b500490565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600082612f3857612f38612ead565b500690565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612f7090830184612872565b9695505050505050565b600060208284031215612f8c57600080fd5b8151611e2181612810565b634e487b7160e01b600052603160045260246000fdfe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529a264697066735822122099a077d999f885dec8b24db3050393a84880c69834cf2e7b8fd894e460f7a42364736f6c63430008090033454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c7429000000000000000000000000a5409ec958c83c3f309868babaca7c86dcb077c1