0x60806040523480156200001157600080fd5b506040516200394438038062003944833981016040819052620000349162000313565b8062000040816200008b565b506200004c336200009d565b62000059600033620000ef565b62000064816200008b565b600762000072848262000432565b50600862000081838262000432565b50505050620004fe565b600262000099828262000432565b5050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6200009982826200010c82826200013860201b6200108a1760201c565b6000828152600560209081526040909120620001339183906200112c620001dc821b17901c565b505050565b60008281526004602090815260408083206001600160a01b038516845290915290205460ff16620000995760008281526004602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620001983390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000620001f3836001600160a01b038416620001fc565b90505b92915050565b60008181526001830160205260408120546200024557508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620001f6565b506000620001f6565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200027657600080fd5b81516001600160401b03808211156200029357620002936200024e565b604051601f8301601f19908116603f01168101908282118183101715620002be57620002be6200024e565b81604052838152602092508683858801011115620002db57600080fd5b600091505b83821015620002ff5785820183015181830184015290820190620002e0565b600093810190920192909252949350505050565b6000806000606084860312156200032957600080fd5b83516001600160401b03808211156200034157600080fd5b6200034f8783880162000264565b945060208601519150808211156200036657600080fd5b620003748783880162000264565b935060408601519150808211156200038b57600080fd5b506200039a8682870162000264565b9150509250925092565b600181811c90821680620003b957607f821691505b602082108103620003da57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200013357600081815260208120601f850160051c81016020861015620004095750805b601f850160051c820191505b818110156200042a5782815560010162000415565b505050505050565b81516001600160401b038111156200044e576200044e6200024e565b62000466816200045f8454620003a4565b84620003e0565b602080601f8311600181146200049e5760008415620004855750858301515b600019600386901b1c1916600185901b1785556200042a565b600085815260208120601f198616915b82811015620004cf57888601518255948401946001909101908401620004ae565b5085821015620004ee5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b613436806200050e6000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c8063715018a61161010f578063ca15c873116100a2578063f242432a11610071578063f242432a1461048a578063f2fde38b1461049d578063f5298aca146104b0578063f5b541a6146104c357600080fd5b8063ca15c87314610415578063d547741f14610428578063da8809431461043b578063e985e9c51461044e57600080fd5b806395d89b41116100de57806395d89b41146103d2578063a217fddf146103da578063a22cb465146103e2578063bd85b039146103f557600080fd5b8063715018a6146103595780638da5cb5b146103615780639010d07c1461038657806391d148541461039957600080fd5b80632eb2c2d611610187578063440127341161015657806344012734146102f15780634e1273f4146103045780634f558e79146103245780636b20c4541461034657600080fd5b80632eb2c2d6146102a55780632f2ff15d146102b857806336568abe146102cb5780633c3331cb146102de57600080fd5b806306fdde03116101c357806306fdde03146102475780630ca834801461025c5780630e89341c1461026f578063248a9ca31461028257600080fd5b8062fdd58e146101e957806301ffc9a71461020f57806302fe530514610232575b600080fd5b6101fc6101f73660046127ee565b6104ea565b6040519081526020015b60405180910390f35b61022261021d36600461282e565b610596565b6040519015158152602001610206565b6102456102403660046128ec565b6105d6565b005b61024f61061c565b604051610206919061298d565b61024561026a3660046129ec565b6106aa565b61024f61027d366004612a6d565b6107a4565b6101fc610290366004612a6d565b60009081526004602052604090206001015490565b6102456102b3366004612b3b565b610838565b6102456102c6366004612be5565b6108c5565b6102456102d9366004612be5565b6108ef565b6102456102ec366004612c11565b61097b565b6102456102ff366004612c48565b610a66565b610317610312366004612ce2565b610b9b565b6040516102069190612de8565b610222610332366004612a6d565b600090815260036020526040902054151590565b610245610354366004612dfb565b610cd9565b610245610d64565b6006546001600160a01b03165b6040516001600160a01b039091168152602001610206565b61036e610394366004612e6f565b610daa565b6102226103a7366004612be5565b60009182526004602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61024f610dc9565b6101fc600081565b6102456103f0366004612e91565b610dd6565b6101fc610403366004612a6d565b60009081526003602052604090205490565b6101fc610423366004612a6d565b610de1565b610245610436366004612be5565b610df8565b610245610449366004612ecd565b610e1d565b61022261045c366004612f19565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b610245610498366004612f43565b610eef565b6102456104ab366004612fa8565b610f7c565b6102456104be366004612fc3565b610fff565b6101fc7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92981565b60006001600160a01b03831661056d5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201527f616c6964206f776e65720000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b14806105c757506001600160e01b031982166303a24d0760e21b145b80610590575061059082611141565b336105e96006546001600160a01b031690565b6001600160a01b03161461061057604051633e8be92f60e01b815260040160405180910390fd5b6106198161117f565b50565b6007805461062990612ff6565b80601f016020809104026020016040519081016040528092919081815260200182805461065590612ff6565b80156106a25780601f10610677576101008083540402835291602001916106a2565b820191906000526020600020905b81548152906001019060200180831161068557829003601f168201915b505050505081565b336106bd6006546001600160a01b031690565b6001600160a01b03161415801561070357503360009081527f57018d00f0894f4c685bdd8ecad35c04cfd005a1a2fa559fc0e3d122bcf5b853602052604090205460ff16155b156107215760405163ea8e4eb560e01b815260040160405180910390fd5b61079d858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080890282810182019093528882529093508892508791829185019084908082843760009201829052506040805160208101909152908152925061118b915050565b5050505050565b6060600280546107b390612ff6565b80601f01602080910402602001604051908101604052809291908181526020018280546107df90612ff6565b801561082c5780601f106108015761010080835404028352916020019161082c565b820191906000526020600020905b81548152906001019060200180831161080f57829003601f168201915b50505050509050919050565b6001600160a01b0385163314806108545750610854853361045c565b6108b85760405162461bcd60e51b815260206004820152602f60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201526e195c881b9bdc88185c1c1c9bdd9959608a1b6064820152608401610564565b61079d8585858585611360565b6000828152600460205260409020600101546108e0816115c4565b6108ea83836115ce565b505050565b6001600160a01b038116331461096d5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610564565b61097782826115f0565b5050565b3361098e6006546001600160a01b031690565b6001600160a01b0316141580156109d457503360009081527f57018d00f0894f4c685bdd8ecad35c04cfd005a1a2fa559fc0e3d122bcf5b853602052604090205460ff16155b156109f25760405163ea8e4eb560e01b815260040160405180910390fd5b60005b83811015610a5e57610a56858583818110610a1257610a12613030565b9050602002016020810190610a279190612fa8565b87858585818110610a3a57610a3a613030565b9050602002013560405180602001604052806000815250611612565b6001016109f5565b505050505050565b33610a796006546001600160a01b031690565b6001600160a01b031614158015610abf57503360009081527f57018d00f0894f4c685bdd8ecad35c04cfd005a1a2fa559fc0e3d122bcf5b853602052604090205460ff16155b15610add5760405163ea8e4eb560e01b815260040160405180910390fd5b60005b85811015610b9257610b8a878783818110610afd57610afd613030565b9050602002016020810190610b129190612fa8565b86868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808a0282810182019093528982529093508992508891829185019084908082843760009201829052506040805160208101909152908152925061118b915050565b600101610ae0565b50505050505050565b60608151835114610c145760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d6174636800000000000000000000000000000000000000000000006064820152608401610564565b6000835167ffffffffffffffff811115610c3057610c3061284b565b604051908082528060200260200182016040528015610c59578160200160208202803683370190505b50905060005b8451811015610cd157610ca4858281518110610c7d57610c7d613030565b6020026020010151858381518110610c9757610c97613030565b60200260200101516104ea565b828281518110610cb657610cb6613030565b6020908102919091010152610cca8161305c565b9050610c5f565b509392505050565b6001600160a01b038316331480610cf55750610cf5833361045c565b610d595760405162461bcd60e51b815260206004820152602f60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201526e195c881b9bdc88185c1c1c9bdd9959608a1b6064820152608401610564565b6108ea83838361172c565b33610d776006546001600160a01b031690565b6001600160a01b031614610d9e57604051633e8be92f60e01b815260040160405180910390fd5b610da86000611981565b565b6000828152600560205260408120610dc290836119eb565b9392505050565b6008805461062990612ff6565b6109773383836119f7565b600081815260056020526040812061059090611aeb565b600082815260046020526040902060010154610e13816115c4565b6108ea83836115f0565b33610e306006546001600160a01b031690565b6001600160a01b031614158015610e7657503360009081527f57018d00f0894f4c685bdd8ecad35c04cfd005a1a2fa559fc0e3d122bcf5b853602052604090205460ff16155b15610e945760405163ea8e4eb560e01b815260040160405180910390fd5b60005b81811015610ee957610ee1838383818110610eb457610eb4613030565b9050602002016020810190610ec99190612fa8565b85600160405180602001604052806000815250611612565b600101610e97565b50505050565b6001600160a01b038516331480610f0b5750610f0b853361045c565b610f6f5760405162461bcd60e51b815260206004820152602f60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201526e195c881b9bdc88185c1c1c9bdd9959608a1b6064820152608401610564565b61079d8585858585611af5565b33610f8f6006546001600160a01b031690565b6001600160a01b031614610fb657604051633e8be92f60e01b815260040160405180910390fd5b6001600160a01b038116610ff6576040517f7448fbae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61061981611981565b6001600160a01b03831633148061101b575061101b833361045c565b61107f5760405162461bcd60e51b815260206004820152602f60248201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60448201526e195c881b9bdc88185c1c1c9bdd9959608a1b6064820152608401610564565b6108ea838383611cae565b60008281526004602090815260408083206001600160a01b038516845290915290205460ff166109775760008281526004602090815260408083206001600160a01b03851684529091529020805460ff191660011790556110e83390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610dc2836001600160a01b038416611e3e565b60006001600160e01b031982167f5a05180f000000000000000000000000000000000000000000000000000000001480610590575061059082611e8d565b600261097782826130bb565b6001600160a01b0384166111eb5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610564565b815183511461124d5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610564565b3361125d81600087878787611ecb565b60005b84518110156112f85783818151811061127b5761127b613030565b602002602001015160008087848151811061129857611298613030565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546112e0919061317b565b909155508190506112f08161305c565b915050611260565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161134992919061318e565b60405180910390a461079d81600087878787611ed9565b81518351146113c25760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610564565b6001600160a01b0384166114265760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b6064820152608401610564565b33611435818787878787611ecb565b60005b845181101561155e57600085828151811061145557611455613030565b60200260200101519050600085838151811061147357611473613030565b602090810291909101810151600084815280835260408082206001600160a01b038e1683529093529190912054909150818110156115065760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b6064820152608401610564565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061154390849061317b565b92505081905550505050806115579061305c565b9050611438565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516115ae92919061318e565b60405180910390a4610a5e818787878787611ed9565b610619813361207e565b6115d8828261108a565b60008281526005602052604090206108ea908261112c565b6115fa82826120fe565b60008281526005602052604090206108ea9082612181565b6001600160a01b0384166116725760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610564565b33600061167e85612196565b9050600061168b85612196565b905061169c83600089858589611ecb565b6000868152602081815260408083206001600160a01b038b168452909152812080548792906116cc90849061317b565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610b92836000898989896121e1565b6001600160a01b03831661178e5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610564565b80518251146117f05760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610564565b600033905061181381856000868660405180602001604052806000815250611ecb565b60005b835181101561191457600084828151811061183357611833613030565b60200260200101519050600084838151811061185157611851613030565b602090810291909101810151600084815280835260408082206001600160a01b038c1683529093529190912054909150818110156118dd5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610564565b6000928352602083815260408085206001600160a01b038b168652909152909220910390558061190c8161305c565b915050611816565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161196592919061318e565b60405180910390a4604080516020810190915260009052610ee9565b600680546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610dc283836122dd565b816001600160a01b0316836001600160a01b031603611a7e5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c6600000000000000000000000000000000000000000000006064820152608401610564565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000610590825490565b6001600160a01b038416611b595760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b6064820152608401610564565b336000611b6585612196565b90506000611b7285612196565b9050611b82838989858589611ecb565b6000868152602081815260408083206001600160a01b038c16845290915290205485811015611c065760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b6064820152608401610564565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290611c4390849061317b565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611ca3848a8a8a8a8a6121e1565b505050505050505050565b6001600160a01b038316611d105760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610564565b336000611d1c84612196565b90506000611d2984612196565b9050611d4983876000858560405180602001604052806000815250611ecb565b6000858152602081815260408083206001600160a01b038a16845290915290205484811015611dc65760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610564565b6000868152602081815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052610b92565b6000818152600183016020526040812054611e8557508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610590565b506000610590565b60006001600160e01b031982167f7965db0b000000000000000000000000000000000000000000000000000000001480610590575061059082612307565b610a5e868686868686612370565b6001600160a01b0384163b15610a5e5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611f1d90899089908890889088906004016131bc565b6020604051808303816000875af1925050508015611f58575060408051601f3d908101601f19168201909252611f559181019061321a565b60015b61200d57611f64613237565b806308c379a003611f9d5750611f78613253565b80611f835750611f9f565b8060405162461bcd60e51b8152600401610564919061298d565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e204552433131353560448201527f526563656976657220696d706c656d656e7465720000000000000000000000006064820152608401610564565b6001600160e01b0319811663bc197c8160e01b14610b925760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b6064820152608401610564565b60008281526004602090815260408083206001600160a01b038516845290915290205460ff16610977576120bc816001600160a01b031660146124fe565b6120c78360206124fe565b6040516020016120d89291906132dd565b60408051601f198184030181529082905262461bcd60e51b82526105649160040161298d565b60008281526004602090815260408083206001600160a01b038516845290915290205460ff16156109775760008281526004602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610dc2836001600160a01b0384166126df565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106121d0576121d0613030565b602090810291909101015292915050565b6001600160a01b0384163b15610a5e5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612225908990899088908890889060040161335e565b6020604051808303816000875af1925050508015612260575060408051601f3d908101601f1916820190925261225d9181019061321a565b60015b61226c57611f64613237565b6001600160e01b0319811663f23a6e6160e01b14610b925760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b6064820152608401610564565b60008260000182815481106122f4576122f4613030565b9060005260206000200154905092915050565b60006001600160e01b03198216636cdb3d1360e11b148061233857506001600160e01b031982166303a24d0760e21b145b8061059057507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b0319831614610590565b6001600160a01b0385166123f75760005b83518110156123f55782818151811061239c5761239c613030565b6020026020010151600360008684815181106123ba576123ba613030565b6020026020010151815260200190815260200160002060008282546123df919061317b565b909155506123ee90508161305c565b9050612381565b505b6001600160a01b038416610a5e5760005b8351811015610b9257600084828151811061242557612425613030565b60200260200101519050600084838151811061244357612443613030565b60200260200101519050600060036000848152602001908152602001600020549050818110156124db5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f7460448201527f616c537570706c790000000000000000000000000000000000000000000000006064820152608401610564565b600092835260036020526040909220910390556124f78161305c565b9050612408565b6060600061250d8360026133a1565b61251890600261317b565b67ffffffffffffffff8111156125305761253061284b565b6040519080825280601f01601f19166020018201604052801561255a576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061259157612591613030565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106125dc576125dc613030565b60200101906001600160f81b031916908160001a90535060006126008460026133a1565b61260b90600161317b565b90505b6001811115612690577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061264c5761264c613030565b1a60f81b82828151811061266257612662613030565b60200101906001600160f81b031916908160001a90535060049490941c93612689816133c0565b905061260e565b508315610dc25760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610564565b600081815260018301602052604081205480156127c85760006127036001836133d7565b8554909150600090612717906001906133d7565b905081811461277c57600086600001828154811061273757612737613030565b906000526020600020015490508087600001848154811061275a5761275a613030565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061278d5761278d6133ea565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610590565b6000915050610590565b80356001600160a01b03811681146127e957600080fd5b919050565b6000806040838503121561280157600080fd5b61280a836127d2565b946020939093013593505050565b6001600160e01b03198116811461061957600080fd5b60006020828403121561284057600080fd5b8135610dc281612818565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156128875761288761284b565b6040525050565b600067ffffffffffffffff8311156128a8576128a861284b565b6040516128bf601f8501601f191660200182612861565b8091508381528484840111156128d457600080fd5b83836020830137600060208583010152509392505050565b6000602082840312156128fe57600080fd5b813567ffffffffffffffff81111561291557600080fd5b8201601f8101841361292657600080fd5b6129358482356020840161288e565b949350505050565b60005b83811015612958578181015183820152602001612940565b50506000910152565b6000815180845261297981602086016020860161293d565b601f01601f19169290920160200192915050565b602081526000610dc26020830184612961565b60008083601f8401126129b257600080fd5b50813567ffffffffffffffff8111156129ca57600080fd5b6020830191508360208260051b85010111156129e557600080fd5b9250929050565b600080600080600060608688031215612a0457600080fd5b612a0d866127d2565b9450602086013567ffffffffffffffff80821115612a2a57600080fd5b612a3689838a016129a0565b90965094506040880135915080821115612a4f57600080fd5b50612a5c888289016129a0565b969995985093965092949392505050565b600060208284031215612a7f57600080fd5b5035919050565b600067ffffffffffffffff821115612aa057612aa061284b565b5060051b60200190565b600082601f830112612abb57600080fd5b81356020612ac882612a86565b604051612ad58282612861565b83815260059390931b8501820192828101915086841115612af557600080fd5b8286015b84811015612b105780358352918301918301612af9565b509695505050505050565b600082601f830112612b2c57600080fd5b610dc28383356020850161288e565b600080600080600060a08688031215612b5357600080fd5b612b5c866127d2565b9450612b6a602087016127d2565b9350604086013567ffffffffffffffff80821115612b8757600080fd5b612b9389838a01612aaa565b94506060880135915080821115612ba957600080fd5b612bb589838a01612aaa565b93506080880135915080821115612bcb57600080fd5b50612bd888828901612b1b565b9150509295509295909350565b60008060408385031215612bf857600080fd5b82359150612c08602084016127d2565b90509250929050565b600080600080600060608688031215612c2957600080fd5b85359450602086013567ffffffffffffffff80821115612a2a57600080fd5b60008060008060008060608789031215612c6157600080fd5b863567ffffffffffffffff80821115612c7957600080fd5b612c858a838b016129a0565b90985096506020890135915080821115612c9e57600080fd5b612caa8a838b016129a0565b90965094506040890135915080821115612cc357600080fd5b50612cd089828a016129a0565b979a9699509497509295939492505050565b60008060408385031215612cf557600080fd5b823567ffffffffffffffff80821115612d0d57600080fd5b818501915085601f830112612d2157600080fd5b81356020612d2e82612a86565b604051612d3b8282612861565b83815260059390931b8501820192828101915089841115612d5b57600080fd5b948201945b83861015612d8057612d71866127d2565b82529482019490820190612d60565b96505086013592505080821115612d9657600080fd5b50612da385828601612aaa565b9150509250929050565b600081518084526020808501945080840160005b83811015612ddd57815187529582019590820190600101612dc1565b509495945050505050565b602081526000610dc26020830184612dad565b600080600060608486031215612e1057600080fd5b612e19846127d2565b9250602084013567ffffffffffffffff80821115612e3657600080fd5b612e4287838801612aaa565b93506040860135915080821115612e5857600080fd5b50612e6586828701612aaa565b9150509250925092565b60008060408385031215612e8257600080fd5b50508035926020909101359150565b60008060408385031215612ea457600080fd5b612ead836127d2565b915060208301358015158114612ec257600080fd5b809150509250929050565b600080600060408486031215612ee257600080fd5b83359250602084013567ffffffffffffffff811115612f0057600080fd5b612f0c868287016129a0565b9497909650939450505050565b60008060408385031215612f2c57600080fd5b612f35836127d2565b9150612c08602084016127d2565b600080600080600060a08688031215612f5b57600080fd5b612f64866127d2565b9450612f72602087016127d2565b93506040860135925060608601359150608086013567ffffffffffffffff811115612f9c57600080fd5b612bd888828901612b1b565b600060208284031215612fba57600080fd5b610dc2826127d2565b600080600060608486031215612fd857600080fd5b612fe1846127d2565b95602085013595506040909401359392505050565b600181811c9082168061300a57607f821691505b60208210810361302a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161306e5761306e613046565b5060010190565b601f8211156108ea57600081815260208120601f850160051c8101602086101561309c5750805b601f850160051c820191505b81811015610a5e578281556001016130a8565b815167ffffffffffffffff8111156130d5576130d561284b565b6130e9816130e38454612ff6565b84613075565b602080601f83116001811461311e57600084156131065750858301515b600019600386901b1c1916600185901b178555610a5e565b600085815260208120601f198616915b8281101561314d5788860151825594840194600190910190840161312e565b508582101561316b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082018082111561059057610590613046565b6040815260006131a16040830185612dad565b82810360208401526131b38185612dad565b95945050505050565b60006001600160a01b03808816835280871660208401525060a060408301526131e860a0830186612dad565b82810360608401526131fa8186612dad565b9050828103608084015261320e8185612961565b98975050505050505050565b60006020828403121561322c57600080fd5b8151610dc281612818565b600060033d11156132505760046000803e5060005160e01c5b90565b600060443d10156132615790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561329157505050505090565b82850191508151818111156132a95750505050505090565b843d87010160208285010111156132c35750505050505090565b6132d260208286010187612861565b509095945050505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161331581601785016020880161293d565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161335281602884016020880161293d565b01602801949350505050565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a0608083015261339660a0830184612961565b979650505050505050565b60008160001904831182151516156133bb576133bb613046565b500290565b6000816133cf576133cf613046565b506000190190565b8181038181111561059057610590613046565b634e487b7160e01b600052603160045260246000fdfea26469706673582212208e4fd05b5d37f58201f9bab96db2598ba7f2ffbd814cdb257c039475abe49f9f64736f6c63430008100033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000184561726c79204d616a6f72697479202d2041697264726f700000000000000000000000000000000000000000000000000000000000000000000000000000000a4541524c592d44524f5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000868747470733a2f2f000000000000000000000000000000000000000000000000