6101006040523480156200001257600080fd5b5060405162003a8238038062003a828339810160408190526200003591620005ed565b60c081015160e082015160408301516001600160a01b031660805260006200005e838262000858565b5060016200006d828262000858565b5050506200008a620000846200022f60201b60201c565b6200024b565b6127108160a0015161ffff161115620001105760405162461bcd60e51b815260206004820152603c60248201527f426f617264696e67204d656d6265722050726f706f7274696f6e206d7573742060448201527f62652030207e2031303030302e2831303025203d3e203130303030290000000060648201526084015b60405180910390fd5b80516001600160a01b0316620001745760405162461bcd60e51b815260206004820152602260248201527f64616f547265617375727941646472657373206d757374206265206164647265604482015261737360f01b606482015260840162000107565b80516001600160a01b0390811660a090815282015161ffff1660e05260208083015190911660c05260608201518051620001b392600e920190620002d9565b5060808101518051620001cf91600f9160209091019062000343565b50610100810151600890620001e5908262000858565b50610120810151600990620001fb908262000858565b50610140810151600a9062000211908262000858565b50610160810151600b9062000227908262000858565b505062000924565b6000620002466200029d60201b6200137b1760201c565b905090565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6080516000906001600160a01b03163303620002c0575060131936013560601c90565b62000246620002d560201b620013c41760201c565b3390565b82805482825590600052602060002090810192821562000331579160200282015b828111156200033157825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620002fa565b506200033f92915062000387565b5090565b82805482825590600052602060002090810192821562000331579160200282015b8281111562000331578251829061ffff1690559160200191906001019062000364565b5b808211156200033f576000815560010162000388565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715620003da57620003da6200039e565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200040b576200040b6200039e565b604052919050565b6001600160a01b03811681146200042957600080fd5b50565b8051620004398162000413565b919050565b60006001600160401b038211156200045a576200045a6200039e565b5060051b60200190565b600082601f8301126200047657600080fd5b815160206200048f62000489836200043e565b620003e0565b82815260059290921b84018101918181019086841115620004af57600080fd5b8286015b84811015620004d7578051620004c98162000413565b8352918301918301620004b3565b509695505050505050565b805161ffff811681146200043957600080fd5b600082601f8301126200050757600080fd5b815160206200051a62000489836200043e565b82815260059290921b840181019181810190868411156200053a57600080fd5b8286015b84811015620004d7576200055281620004e2565b83529183019183016200053e565b600082601f8301126200057257600080fd5b81516001600160401b038111156200058e576200058e6200039e565b6020620005a4601f8301601f19168201620003e0565b8281528582848701011115620005b957600080fd5b60005b83811015620005d9578581018301518282018401528201620005bc565b506000928101909101919091529392505050565b6000602082840312156200060057600080fd5b81516001600160401b03808211156200061857600080fd5b9083019061018082860312156200062e57600080fd5b62000638620003b4565b62000643836200042c565b815262000653602084016200042c565b602082015262000666604084016200042c565b60408201526060830151828111156200067e57600080fd5b6200068c8782860162000464565b606083015250608083015182811115620006a557600080fd5b620006b387828601620004f5565b608083015250620006c760a08401620004e2565b60a082015260c083015182811115620006df57600080fd5b620006ed8782860162000560565b60c08301525060e0830151828111156200070657600080fd5b620007148782860162000560565b60e08301525061010080840151838111156200072f57600080fd5b6200073d8882870162000560565b82840152505061012080840151838111156200075857600080fd5b620007668882870162000560565b82840152505061014080840151838111156200078157600080fd5b6200078f8882870162000560565b8284015250506101608084015183811115620007aa57600080fd5b620007b88882870162000560565b918301919091525095945050505050565b600181811c90821680620007de57607f821691505b602082108103620007ff57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200085357600081815260208120601f850160051c810160208610156200082e5750805b601f850160051c820191505b818110156200084f578281556001016200083a565b5050505b505050565b81516001600160401b038111156200087457620008746200039e565b6200088c81620008858454620007c9565b8462000805565b602080601f831160018114620008c45760008415620008ab5750858301515b600019600386901b1c1916600185901b1785556200084f565b600085815260208120601f198616915b82811015620008f557888601518255948401946001909101908401620008d4565b5085821015620009145787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e0516130e56200099d600039600081816102ae015281816110bd015281816119be0152611c4e0152600081816103fe0152818161064301528181610d5e0152818161100e01526118ff0152600081816104e80152611fae015260008181610349015261137f01526130e56000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80638da5cb5b11610125578063c5597961116100ad578063de069ba51161007c578063de069ba5146104d0578063e3aab35f146104e3578063e985e9c51461050a578063f0fc5c9914610546578063f2fde38b1461055b57600080fd5b8063c55979611461048f578063c87b56dd146104a2578063cd09b8fa146104b5578063d7b09f02146104bd57600080fd5b8063abaa9916116100f4578063abaa991614610420578063adef0bf914610428578063b88d4fde14610456578063bc23ecf214610469578063c5322f171461047c57600080fd5b80638da5cb5b146103cd57806395d89b41146103de578063a22cb465146103e6578063a580b195146103f957600080fd5b806323b872dd116101a85780636352211e116101775780636352211e146103795780636a5333f51461038c57806370a082311461039f578063715018a6146103b25780638cc836b3146103ba57600080fd5b806323b872dd1461030057806324dbb7de1461031357806342842e0e14610326578063572b6c051461033957600080fd5b8063095ea7b3116101e4578063095ea7b314610294578063125453f2146102a95780631a454ea6146102e557806321fda017146102ed57600080fd5b806301ffc9a71461021657806306fdde031461023e5780630785159214610253578063081812fc14610269575b600080fd5b610229610224366004612697565b61056e565b60405190151581526020015b60405180910390f35b610246610599565b604051610235919061270b565b61025b61062b565b604051908152602001610235565b61027c61027736600461271e565b6106be565b6040516001600160a01b039091168152602001610235565b6102a76102a2366004612753565b6106e5565b005b6102d07f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610235565b6102d0600381565b6102a76102fb36600461277d565b610811565b6102a761030e366004612798565b610982565b6102a76103213660046127d4565b6109ba565b6102a7610334366004612798565b610a05565b61022961034736600461277d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b61027c61038736600461271e565b610a20565b6102a761039a3660046127d4565b610a80565b61025b6103ad36600461277d565b610abf565b6102a7610b45565b6102a76103c8366004612846565b610b59565b6006546001600160a01b031661027c565b610246610d27565b6102a76103f4366004612887565b610d36565b61027c7f000000000000000000000000000000000000000000000000000000000000000081565b6102a7610d4c565b61022961043636600461277d565b6001600160a01b03166000908152600c6020526040902060010154151590565b6102a76104643660046128d4565b610dc5565b6102a76104773660046127d4565b610e04565b6102a761048a3660046127d4565b610e4b565b6102a761049d36600461277d565b610e8a565b6102466104b036600461271e565b610ede565b61025b610ff6565b6102a76104cb36600461277d565b6110f6565b6102a76104de366004612846565b611148565b61027c7f000000000000000000000000000000000000000000000000000000000000000081565b610229610518366004612846565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61054e6112a1565b60405161023591906129b0565b6102a761056936600461277d565b611302565b60006001600160e01b03198216630dcce08f60e41b14806105935750610593826113c8565b92915050565b6060600080546105a8906129fd565b80601f01602080910402602001604051908101604052809291908181526020018280546105d4906129fd565b80156106215780601f106105f657610100808354040283529160200191610621565b820191906000526020600020905b81548152906001019060200180831161060457829003601f168201915b5050505050905090565b6040516370a0823160e01b81523060048201526000907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b038216906370a0823190602401602060405180830381865afa158015610694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b89190612a37565b91505090565b60006106c982611418565b506000908152600460205260409020546001600160a01b031690565b60006106f082610a20565b9050806001600160a01b0316836001600160a01b0316036107625760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b806001600160a01b0316610774611477565b6001600160a01b03161480610790575061079081610518611477565b6108025760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610759565b61080c8383611481565b505050565b6108196114ef565b6001600160a01b0381166000908152600c6020526040902060010154156108525760405162461bcd60e51b815260040161075990612a50565b6001600160a01b0381166000908152600c60205260409020546108c15760405162461bcd60e51b815260206004820152602160248201527f6d656d62657220686173206e6f20636f6e747269627574696f6e206c6f6769636044820152607360f81b6064820152608401610759565b6108cf600780546001019055565b600d80546001810182556000919091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319166001600160a01b0383161790556007546001600160a01b0382166000908152600c602052604090206001015561094b8161094660075490565b611568565b6040516001600160a01b038216907f560ed54a157942f8e95ce2fe85e970f21c2677e33259825c508d0110f3dd784890600090a250565b61099361098d611477565b82611582565b6109af5760405162461bcd60e51b815260040161075990612a91565b61080c838383611601565b60096109c7828483612b2c565b507fee2bedf99842de1c8205b07d7d0a5d65635e52fa1ef621209e39592f0187474882826040516109f9929190612bed565b60405180910390a15050565b61080c83838360405180602001604052806000815250610dc5565b6000818152600260205260408120546001600160a01b0316806105935760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610759565b600a610a8d828483612b2c565b507f186df5b2dd948443bfaa846cc5a5dea14139954424069cd0b5b44072ddbc875a82826040516109f9929190612bed565b60006001600160a01b038216610b295760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610759565b506001600160a01b031660009081526003602052604090205490565b610b4d6114ef565b610b576000611772565b565b610b616114ef565b6001600160a01b0382166000908152600c602052604090206001015415610b9a5760405162461bcd60e51b815260040161075990612a50565b6001600160a01b038082166000908152601160209081526040808320805460ff191660011790559285168252600c9052908120905b8154811015610c3b57826001600160a01b0316826000018281548110610bf757610bf7612c1c565b6000918252602090912001546001600160a01b031603610c295760405162461bcd60e51b815260040161075990612c32565b80610c3381612c8d565b915050610bcf565b5080546001810182556000828152602090200180546001600160a01b0384166001600160a01b0319909116179055610c77600780546001019055565b600d80546001810182556000919091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319166001600160a01b0385161790556007546001600160a01b0384166000908152600c6020526040902060010155610cee8361094660075490565b6040516001600160a01b038416907f560ed54a157942f8e95ce2fe85e970f21c2677e33259825c508d0110f3dd784890600090a2505050565b6060600180546105a8906129fd565b610d48610d41611477565b83836117c4565b5050565b610d546114ef565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600003610d9257610d8d611892565b610d9a565b610d9a6118ea565b6040517fcfdaf4732a324d02472306388ec76e6ec1363a42dc245542f90b06a568668d1490600090a1565b610dd6610dd0611477565b83611582565b610df25760405162461bcd60e51b815260040161075990612a91565b610dfe84848484612034565b50505050565b610e0c6114ef565b6008610e19828483612b2c565b507fa61313734fd1ed8931cad1919124d3384adab7d91b983a90cd622071e29ea1cf82826040516109f9929190612bed565b600b610e58828483612b2c565b507fefcc438bec58fb9b7b61c892400017663226c392fb167fe085b8ad1507da404d82826040516109f9929190612bed565b610e926114ef565b6001600160a01b038116600081815260116020526040808220805460ff19166001179055517fc691468ce3c56ffe92a1a3167a10e63e1fba3b1988fe42d7622ebdde2b1d39b19190a250565b6010546060906001600160a01b03166000610ef884610a20565b6001600160a01b038082166000908152600c602052604080822090516359b5670360e01b81529394509290918516906359b5670390610f3d9086908690600401612ca6565b602060405180830381865afa158015610f5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7e9190612a37565b905060006009610f8d88612067565b600a600b6008610f9c87612067565b604051602001610fb196959493929190612da6565b6040516020818303038152906040529050610fcb816120fa565b604051602001610fdb9190612ebd565b60405160208183030381529060405295505050505050919050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000009082906001600160a01b038316906370a0823190602401602060405180830381865afa158015611061573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110859190612a37565b905060006064611096600384612f02565b6110a09190612f19565b905060006110ae8284612f3b565b90506127106110e363ffffffff7f00000000000000000000000000000000000000000000000000000000000000001683612f02565b6110ed9190612f19565b94505050505090565b6110fe6114ef565b601080546001600160a01b0319166001600160a01b0383169081179091556040517fa38af217a303114c9da13bc619719fd5487a479f2f73eed816c7b493a1fefb3890600090a250565b6111506114ef565b6001600160a01b03811660009081526011602052604090205460ff166111b85760405162461bcd60e51b815260206004820152601a60248201527f696e76616c696420636f6e747269627574696f6e206c6f6769630000000000006044820152606401610759565b6001600160a01b0382166000908152600c60205260408120905b815481101561123e57826001600160a01b03168260000182815481106111fa576111fa612c1c565b6000918252602090912001546001600160a01b03160361122c5760405162461bcd60e51b815260040161075990612c32565b8061123681612c8d565b9150506111d2565b50805460018101825560008281526020812090910180546001600160a01b0319166001600160a01b038581169182179092556040519092918616917fc2f21fd99ab35029bb8433ed1febff25f6dce419be201ad41a174651060c403e91a3505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561062157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116112db575050505050905090565b61130a6114ef565b6001600160a01b03811661136f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610759565b61137881611772565b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036113ba575060131936013560601c90565b503390565b905090565b3390565b60006001600160e01b031982166380ac58cd60e01b14806113f957506001600160e01b03198216635b5e139f60e01b145b8061059357506301ffc9a760e01b6001600160e01b0319831614610593565b6000818152600260205260409020546001600160a01b03166113785760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610759565b60006113bf61137b565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906114b682610a20565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6114f7611477565b6001600160a01b03166115126006546001600160a01b031690565b6001600160a01b031614610b575760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610759565b610d4882826040518060200160405280600081525061224d565b60008061158e83610a20565b9050806001600160a01b0316846001600160a01b031614806115d557506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806115f95750836001600160a01b03166115ee846106be565b6001600160a01b0316145b949350505050565b826001600160a01b031661161482610a20565b6001600160a01b03161461163a5760405162461bcd60e51b815260040161075990612f4e565b6001600160a01b03821661169c5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610759565b6116a98383836001612280565b826001600160a01b03166116bc82610a20565b6001600160a01b0316146116e25760405162461bcd60e51b815260040161075990612f4e565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036118255760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610759565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60405162461bcd60e51b815260206004820152602760248201527f6e617469766520746f6b656e20616c6c6f616374696f6e206e6f7420696d706c604482015266195b595b9d195960ca1b6064820152608401610759565b6040516370a0823160e01b81523060048201527f0000000000000000000000000000000000000000000000000000000000000000906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611953573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119779190612a37565b6010549091506001600160a01b031660006064611995600385612f02565b61199f9190612f19565b905060006119ad8285612f3b565b905060006127106119e463ffffffff7f00000000000000000000000000000000000000000000000000000000000000001684612f02565b6119ee9190612f19565b600d5490915015611c4c57600d5460009067ffffffffffffffff811115611a1757611a176128be565b604051908082528060200260200182016040528015611a40578160200160208202803683370190505b5090506000805b600d54811015611b3a576000600d8281548110611a6657611a66612c1c565b60009182526020808320909101546001600160a01b03908116808452600c909252604080842090516359b5670360e01b81529294509291908b16906359b5670390611ab79086908690600401612ca6565b602060405180830381865afa158015611ad4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af89190612a37565b905080868581518110611b0d57611b0d612c1c565b6020908102919091010152611b228186612f93565b94505050508080611b3290612c8d565b915050611a47565b508015611c495760005b600d54811015611c47576000600d8281548110611b6357611b63612c1c565b9060005260206000200160009054906101000a90046001600160a01b03169050896001600160a01b031663a9059cbb8285878681518110611ba657611ba6612c1c565b602002602001015189611bb99190612f02565b611bc39190612f19565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c329190612fa6565b50508080611c3f90612c8d565b915050611b44565b505b50505b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1661271014611ee457600f54611cd65760405162461bcd60e51b8152602060048201526024808201527f6174206c65617374206f6e6520627573696e657373206f776e657220726571756044820152631a5c995960e21b6064820152608401610759565b600e54600f5414611d755760405162461bcd60e51b815260206004820152605e60248201527f746865206c656e677468206f6620627573696e6573734f776e6572732073686160448201527f726573206d7573742062652073616d6520617320746865206c656e677468206f60648201527f66205f627573696e6573734f776e657273536861726573206c656e6774680000608482015260a401610759565b6000611d818284612f3b565b90506000805b600f54811015611dd5576000600f8281548110611da657611da6612c1c565b906000526020600020015490508083611dbf9190612f93565b9250508080611dcd90612c8d565b915050611d87565b5060005b600f54811015611ee0576000600e8281548110611df857611df8612c1c565b9060005260206000200160009054906101000a90046001600160a01b03169050896001600160a01b031663a9059cbb8285600f8681548110611e3c57611e3c612c1c565b906000526020600020015488611e529190612f02565b611e5c9190612f19565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecb9190612fa6565b50508080611ed890612c8d565b915050611dd9565b5050505b6040516370a0823160e01b81523060048201526000906001600160a01b038816906370a0823190602401602060405180830381865afa158015611f2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4f9190612a37565b905080841115611f975760405162461bcd60e51b8152602060048201526013602482015272746f6f206665772070726f746f636f6c46656560681b6044820152606401610759565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820183905288169063a9059cbb906044016020604051808303816000875af1158015612006573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202a9190612fa6565b5050505050505050565b61203f848484611601565b61204b84848484612308565b610dfe5760405162461bcd60e51b815260040161075990612fc3565b6060600061207483612410565b600101905060008167ffffffffffffffff811115612094576120946128be565b6040519080825280601f01601f1916602001820160405280156120be576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846120c857509392505050565b6060815160000361211957505060408051602081019091526000815290565b600060405180606001604052806040815260200161307060409139905060006003845160026121489190612f93565b6121529190612f19565b61215d906004612f02565b67ffffffffffffffff811115612175576121756128be565b6040519080825280601f01601f19166020018201604052801561219f576020820181803683370190505b509050600182016020820185865187015b8082101561220b576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f81168501518453506001830192506121b0565b5050600386510660018114612227576002811461223a57612242565b603d6001830353603d6002830353612242565b603d60018303535b509195945050505050565b61225783836124e8565b6122646000848484612308565b61080c5760405162461bcd60e51b815260040161075990612fc3565b6001811115610dfe576001600160a01b038416156122c6576001600160a01b038416600090815260036020526040812080548392906122c0908490612f3b565b90915550505b6001600160a01b03831615610dfe576001600160a01b038316600090815260036020526040812080548392906122fd908490612f93565b909155505050505050565b60006001600160a01b0384163b1561240557836001600160a01b031663150b7a02612331611477565b8786866040518563ffffffff1660e01b81526004016123539493929190613015565b6020604051808303816000875af192505050801561238e575060408051601f3d908101601f1916820190925261238b91810190613052565b60015b6123eb573d8080156123bc576040519150601f19603f3d011682016040523d82523d6000602084013e6123c1565b606091505b5080516000036123e35760405162461bcd60e51b815260040161075990612fc3565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506115f9565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061244f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061247b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061249957662386f26fc10000830492506010015b6305f5e10083106124b1576305f5e100830492506008015b61271083106124c557612710830492506004015b606483106124d7576064830492506002015b600a83106105935760010192915050565b6001600160a01b03821661253e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610759565b6000818152600260205260409020546001600160a01b0316156125a35760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610759565b6125b1600083836001612280565b6000818152600260205260409020546001600160a01b0316156126165760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610759565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b03198116811461137857600080fd5b6000602082840312156126a957600080fd5b81356126b481612681565b9392505050565b60005b838110156126d65781810151838201526020016126be565b50506000910152565b600081518084526126f78160208601602086016126bb565b601f01601f19169290920160200192915050565b6020815260006126b460208301846126df565b60006020828403121561273057600080fd5b5035919050565b80356001600160a01b038116811461274e57600080fd5b919050565b6000806040838503121561276657600080fd5b61276f83612737565b946020939093013593505050565b60006020828403121561278f57600080fd5b6126b482612737565b6000806000606084860312156127ad57600080fd5b6127b684612737565b92506127c460208501612737565b9150604084013590509250925092565b600080602083850312156127e757600080fd5b823567ffffffffffffffff808211156127ff57600080fd5b818501915085601f83011261281357600080fd5b81358181111561282257600080fd5b86602082850101111561283457600080fd5b60209290920196919550909350505050565b6000806040838503121561285957600080fd5b61286283612737565b915061287060208401612737565b90509250929050565b801515811461137857600080fd5b6000806040838503121561289a57600080fd5b6128a383612737565b915060208301356128b381612879565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156128ea57600080fd5b6128f385612737565b935061290160208601612737565b925060408501359150606085013567ffffffffffffffff8082111561292557600080fd5b818701915087601f83011261293957600080fd5b81358181111561294b5761294b6128be565b604051601f8201601f19908116603f01168101908382118183101715612973576129736128be565b816040528281528a602084870101111561298c57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6020808252825182820181905260009190848201906040850190845b818110156129f15783516001600160a01b0316835292840192918401916001016129cc565b50909695505050505050565b600181811c90821680612a1157607f821691505b602082108103612a3157634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215612a4957600080fd5b5051919050565b60208082526021908201527f616c7265616479204d656d62657220697320426f617264696e67204d656d62656040820152603960f91b606082015260800190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b601f82111561080c57600081815260208120601f850160051c81016020861015612b055750805b601f850160051c820191505b81811015612b2457828155600101612b11565b505050505050565b67ffffffffffffffff831115612b4457612b446128be565b612b5883612b5283546129fd565b83612ade565b6000601f841160018114612b8c5760008515612b745750838201355b600019600387901b1c1916600186901b178355612be6565b600083815260209020601f19861690835b82811015612bbd5786850135825560209485019460019092019101612b9d565b5086821015612bda5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052603260045260246000fd5b60208082526025908201527f616c7265616479207265676973746572656420636f6e747269627574696f6e206040820152646c6f67696360d81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600060018201612c9f57612c9f612c77565b5060010190565b600060018060a01b03808516835260206040818501526080840160408086015280865480835260a0870191508760005283600020925060005b81811015612cfd578354861683526001938401939285019201612cdf565b505060018701546060870152809450505050509392505050565b60008154612d24816129fd565b60018281168015612d3c5760018114612d5157612d80565b60ff1984168752821515830287019450612d80565b8560005260208060002060005b85811015612d775781548a820152908401908201612d5e565b50505082870194505b5050505092915050565b60008151612d9c8185602086016126bb565b9290920192915050565b607b60f81b815267113730b6b2911d1160c11b60018201526000612dcd6009830189612d17565b61202360f01b81528751612de8816002840160208c016126bb565b61088b60f21b9101600281018290526e113232b9b1b934b83a34b7b7111d1160891b600482015290612e1d6013830189612d17565b8181526d1130ba3a3934b13aba32b9911d1160911b60028201529150612e466010830188612d17565b908152681134b6b0b3b2911d1160b91b60028201529050612eb0612ea3612e96612e90612e76600b86018a612d17565b6d26636f6e747269627574696f6e3d60901b8152600e0190565b87612d8a565b601160f91b815260010190565b607d60f81b815260010190565b9998505050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251612ef581601d8501602087016126bb565b91909101601d0192915050565b808202811582820484141761059357610593612c77565b600082612f3657634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561059357610593612c77565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b8082018082111561059357610593612c77565b600060208284031215612fb857600080fd5b81516126b481612879565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613048908301846126df565b9695505050505050565b60006020828403121561306457600080fd5b81516126b48161268156fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220f85a79ce3177f5fa3fa63ee7e04a9fabe663d6650a678bc2c56855d55054956d64736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000002b0e742f0324048a0b9f7b681588d4f2ea806b460000000000000000000000008db662639750b22efeb56a568348c09a40d37ee9000000000000000000000000b11b3f3a9887df734c8336a1ea7825d61286d9c5000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eeba89394384bbc01eb6bf1d0c7d7b1bfbeea16a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000d53616d706c6550726f6a656374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003534d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001868747470733a2f2f7669657765722e626f6172642e636f6d0000000000000000000000000000000000000000000000000000000000000000000000000000000b53616d706c65426f617264000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001253616d706c65204465736372697074696f6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000225b7b2274726169745f74797065223a224c6576656c222c2276616c7565223a357d5d000000000000000000000000000000000000000000000000000000000000