0x6101606040523480156200001257600080fd5b506040516200387838038062003878833981016040819052620000359162000287565b6001600160a01b0386166080819052604080516378e9792560e01b815290518892916378e979259160048083019260209291908290030181865afa15801562000082573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a891906200031b565b60a052506001600160a01b0380861660c05284811660e0819052908416610100526040805163c5438b1b60e01b8152905163c5438b1b916004808201926020929091908290030181865afa15801562000105573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012b91906200031b565b610140526001600160a01b0380821661012052604080516308acd44d60e31b8152905191851691634566a2689160048082019260209290919082900301816000875af115801562000180573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a691906200031b565b506040805180820182526001600160a01b03808516825260016020808401918252600080805261100390915292517fd20a0949d46f2a3fe8e2b097639cb0509b48cd46f5f5b8e4534ea046b7dbd326805492511515600160a01b026001600160a81b0319909316919093161717905590517f375399aa7a22a9cce4a6b9bf254f18feb160b830a7b95ca9884465b1eb46aedb916200025a918591906001600160a01b03929092168252602082015260400190565b60405180910390a150505050505062000335565b6001600160a01b03811681146200028457600080fd5b50565b60008060008060008060c08789031215620002a157600080fd5b8651620002ae816200026e565b6020880151909650620002c1816200026e565b6040880151909550620002d4816200026e565b6060880151909450620002e7816200026e565b6080880151909350620002fa816200026e565b60a08801519092506200030d816200026e565b809150509295509295509295565b6000602082840312156200032e57600080fd5b5051919050565b60805160a05160c05160e05161010051610120516101405161346a6200040e60003960008181610e2a015281816119ac0152818161244601526124720152600081816103ef015261101b01526000818161038f015261083201526000818161056201526124ee01526000818161052801528181610624015281816110c10152818161127901528181611a9401526123ca0152600061161d0152600081816102350152818161071801528181610d9201528181610ee901528181611685015281816119e201528181611bd40152612099015261346a6000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c806384bdd3151161011a578063a64b6e5f116100ad578063d4add76a1161007c578063d4add76a1461054a578063d7b96d4e1461055d578063e46c3d4e14610584578063ed51e69c146105d9578063fb42714f146105ec57600080fd5b8063a64b6e5f146104d7578063b52bbe48146104ea578063c13d940414610510578063c9f601a81461052357600080fd5b80638da5cb5b116100e95780638da5cb5b146104815780639a863476146104895780639e27a51b146104b15780639ef66300146104c457600080fd5b806384bdd31514610440578063874d6d81146104535780638777f4d21461045b5780638d804ee01461046e57600080fd5b8063452a9320116101925780636be986ba116101615780636be986ba146103d75780636ca32a9e146103ea5780637201fb0e14610411578063804cf8561461042b57600080fd5b8063452a93201461038257806346c96aac1461038a57806363b82893146103b15780636bd2fe3e146103c457600080fd5b806333dee360116101ce57806333dee360146102fb578063351bae3b1461030e578063378cbf75146103405780634225e5bb1461036157600080fd5b80630b2f728a146102005780631f915d9214610230578063226883b71461026f57806327b13b3c146102d8575b600080fd5b600254610213906001600160801b031681565b6040516001600160801b0390911681526020015b60405180910390f35b6102577f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610227565b6102af61027d366004612ddc565b6190076020526000908152604090205460ff811690610100810461ffff1690630100000090046001600160a01b031683565b60408051931515845261ffff90921660208401526001600160a01b031690820152606001610227565b6102eb6102e6366004612e00565b6105ff565b6040519015158152602001610227565b6102eb610309366004612e19565b610714565b60025461032890600160801b90046001600160401b031681565b6040516001600160401b039091168152602001610227565b61035361034e366004612e00565b610a32565b604051908152602001610227565b61035361036f366004612ddc565b6190046020526000908152604090205481565b610257610d8e565b6102577f000000000000000000000000000000000000000000000000000000000000000081565b6102eb6103bf366004612ddc565b610e17565b6102eb6103d2366004612e45565b610e9f565b6102eb6103e5366004612ddc565b610ee5565b6102577f000000000000000000000000000000000000000000000000000000000000000081565b60025461032890600160c01b90046001600160401b031681565b61043e610439366004612faf565b611010565b005b6102eb61044e3660046130d4565b611445565b610353611612565b610213610469366004612e00565b61164c565b600154610257906001600160a01b031681565b610257611681565b61049c610497366004612ddc565b6116e1565b60408051928352602083019190915201610227565b6102eb6104bf366004613116565b6117fe565b6103536104d2366004612ddc565b611990565b6102eb6104e5366004612e45565b6119de565b6104fd6104f8366004612e00565b611ba1565b60405161ffff9091168152602001610227565b6102eb61051e3660046131b2565b611bd0565b6102577f000000000000000000000000000000000000000000000000000000000000000081565b61049c6105583660046131e2565b611d77565b6102577f000000000000000000000000000000000000000000000000000000000000000081565b6105ba610592366004612e00565b611003602052600090815260409020546001600160a01b03811690600160a01b900460ff1682565b604080516001600160a01b039093168352901515602083015201610227565b600054610257906001600160a01b031681565b6102eb6105fa366004612ddc565b612095565b6040516323b872dd60e01b8152336004820152306024820152604481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af1158015610675573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610699919061323e565b506002546000906106b49084906001600160801b0316613271565b600280546001600160801b0319166001600160801b03831617905560408051858152602081018390529192507f54b8dd835b48a0b306a9a706a47fc0e08468ce12148a3b645c496018f9852ff9910160405180910390a150600192915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610774573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107989190613284565b6001600160a01b0316336001600160a01b0316146107d15760405162461bcd60e51b81526004016107c8906132a1565b60405180910390fd5b6000826001600160401b038111156107eb576107eb612e86565b604051908082528060200260200182016040528015610814578160200160208202803683370190505b5090506000610821611612565b905060005b848110156109b45760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634566a2686040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610890573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b491906132c5565b9050808483815181106108c9576108c96132de565b6020026020010181815250508260038261ffff81106108ea576108ea6132de565b6010810491909101805461ffff9384166002600f909416939093026101000a92830293909202199091169190911790556040805180820182526001600160a01b0389811680835260016020808501918252600087815261100382528690209451855492511515600160a01b026001600160a81b031990931694169390931717909255825191825281018390527f375399aa7a22a9cce4a6b9bf254f18feb160b830a7b95ca9884465b1eb46aedb910160405180910390a150806109ac816132f4565b915050610826565b50604051635bbe8aad60e01b81526001600160a01b03861690635bbe8aad906109e190859060040161330d565b6020604051808303816000875af1158015610a00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a24919061323e565b506001925050505b92915050565b6000818152611003602090815260408083208151808301909252546001600160a01b038116808352600160a01b90910460ff16151592820192909252903314610abd5760405162461bcd60e51b815260206004820152601760248201527f5265636569766572206e6f74207265676973746572656400000000000000000060448201526064016107c8565b600060038461ffff8110610ad357610ad36132de565b601091828204019190066002029054906101000a900461ffff1661ffff1690506000610afd611612565b9050808203610b1157506000949350505050565b6000546001600160a01b0316610b278183612197565b6001600160a01b038116610b7c578160038761ffff8110610b4a57610b4a6132de565b601091828204019190066002026101000a81548161ffff021916908361ffff1602179055506000945050505050919050565b60005b82841015610c5657610b90846132f4565b9350816001600160a01b031663a3af6b9b88866110048861ffff8110610bb857610bb86132de565b60028104919091015460405160e086901b6001600160e01b0319168152600481019490945260248401929092526001166010026101000a90046001600160801b031660448201526064016020604051808303816000875af1158015610c21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4591906132c5565b610c4f9082613271565b9050610b7f565b8260038861ffff8110610c6b57610c6b6132de565b601091828204019190066002026101000a81548161ffff021916908361ffff160217905550846020015115610d0f573360009081526190046020526040902054610cb6908290613271565b3360008181526190046020526040908190209290925590517fda1c4f2d69a45f565043251bb71522280543796bb865d00e12065191714d470790610cfd9084815260200190565b60405180910390a29695505050505050565b600254600090610d299083906001600160801b0316613271565b600280546001600160801b0319166001600160801b03831617905560408051848152602081018390529192507f54b8dd835b48a0b306a9a706a47fc0e08468ce12148a3b645c496018f9852ff9910160405180910390a1506000979650505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e129190613284565b905090565b33600090815261900660205260408120547f0000000000000000000000000000000000000000000000000000000000000000811015610e8b5760405162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b60448201526064016107c8565b610e96338483612373565b50600192915050565b60008115610edb57336000908152619004602052604081208054849290610ec7908490613351565b90915550610edb9050600085858286612565565b5060019392505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f699190613284565b6001600160a01b0316336001600160a01b031614610f995760405162461bcd60e51b81526004016107c8906132a1565b600054610fb6906001600160a01b0316610fb1611612565b612197565b600080546001600160a01b0319166001600160a01b0384169081179091556040519081527f2c342266e3979163d824140326453c8bf5592ad2f774a58222ea35b5c0bfc774906020015b60405180910390a1506001919050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461107d5760405162461bcd60e51b815260206004820152601260248201527110b232b83637bcb6b2b73a26b0b730b3b2b960711b60448201526064016107c8565b600080546001600160a01b038881166001600160a01b0319928316179092556001805488841692169190911790556040516324c9383760e01b8152600481018690527f0000000000000000000000000000000000000000000000000000000000000000909116906324c93837906024016020604051808303816000875af115801561110c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611130919061323e565b5081516000908161113f611612565b61114a906001613271565b905060005b828110156111f057600086828151811061116b5761116b6132de565b602002602001015190508061100484846111859190613271565b61ffff8110611196576111966132de565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b03160217905550806001600160801b0316856111da9190613271565b94505080806111e8906132f4565b91505061114f565b508351915060005b828110156112fe576000858281518110611214576112146132de565b60200260200101516020015190506000868381518110611236576112366132de565b602002602001015160000151905081866112509190613271565b604051633950935160e01b81526001600160a01b038381166004830152602482018590529197507f0000000000000000000000000000000000000000000000000000000000000000909116906339509351906044016020604051808303816000875af11580156112c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e8919061323e565b50505080806112f6906132f4565b9150506111f8565b506113098388613351565b600280546001600160801b0319166001600160801b03929092169190911790558451600190611339908390613271565b6113439190613351565b600280546001600160801b0316600160801b6001600160401b03938416026001600160c01b031617600160c01b928916929092029190911790556040516001600160a01b038a1681527f2c342266e3979163d824140326453c8bf5592ad2f774a58222ea35b5c0bfc7749060200160405180910390a16040516001600160a01b03891681527fe1a7ee8754d81e0a44e79c238dfe94867d6af6153c6967474dc7f60e9211d9fa9060200160405180910390a1600254604080518581526001600160801b0390921660208301527fe53029f1371dc130e1277d91cdacc0f9ece4b29159e62598ef1fc911551c6033910160405180910390a1505050505050505050565b60008315611598576127108311158061145f575061ffff83145b61149c5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a59081999595418dd60921b60448201526064016107c8565b6001600160a01b0382161515806114b4575061ffff83145b15611510576001600160a01b0382163b6115105760405162461bcd60e51b815260206004820152601b60248201527f43616c6c6261636b206d757374206265206120636f6e7472616374000000000060448201526064016107c8565b604080516060810182526001815261ffff85811660208084019182526001600160a01b0387811685870190815233600090815261900790935295909120935184549251955162ffffff1990931690151562ffff001916176101009590931694909402919091176301000000600160b81b031916630100000091909316029190911790556115b7565b3360009081526190076020526040902080546001600160b81b03191690555b604080518515158152602081018590526001600160a01b0384169181019190915233907f4de72252e36ce14be9125843bdbb926e0ad0fb57c1a7255e7d4d05383fc184a3906060015b60405180910390a25060019392505050565b600062093a806116427f000000000000000000000000000000000000000000000000000000000000000042613351565b610e129190613364565b6110048161ffff811061165e57600080fd5b60029182820401919006601002915054906101000a90046001600160801b031681565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dee573d6000803e3d6000fd5b60008060006116ee611612565b905060006110048261ffff8110611707576117076132de565b6002810491909101546001600160a01b03871660009081526190056020526040812060019093166010026101000a9091046001600160801b03169250908361ffff8110611756576117566132de565b6002810491909101546001805460405163423b1fe360e01b81526001600160a01b038b81166004830152929094166010026101000a9092046001600160801b031660248401819052604484018690529350169063423b1fe3906064016040805180830381865afa1580156117ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f29190613386565b94509450505050915091565b60006127108211156118465760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081b585e1199595418dd607a1b60448201526064016107c8565b600083815b81811015611974576000878783818110611867576118676132de565b905060200201602081019061187c9190612ddc565b604051631e0b040760e31b81523360048201526001600160a01b038c81166024830152919091169063f0582038906044016020604051808303816000875af11580156118cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f091906132c5565b90508061900460008a8a8681811061190a5761190a6132de565b905060200201602081019061191f9190612ddc565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461194e9190613351565b9091555061195e90508185613271565b935050808061196c906132f4565b91505061184b565b5061198284338a8a86612565565b506001979650505050505050565b6001600160a01b038116600090815261900660205260409020547f00000000000000000000000000000000000000000000000000000000000000008110156119d9576000610a2c565b919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a629190613284565b6001600160a01b0316336001600160a01b031614611a925760405162461bcd60e51b81526004016107c8906132a1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603611b8d57306001600160a01b03841603611b1a5760405162461bcd60e51b815260206004820152601460248201527314d95b19881d1c985b9cd9995c8819195b9a595960621b60448201526064016107c8565b600254600090611b349084906001600160801b0316613351565b600280546001600160801b0319166001600160801b03831617905560408051858152602081018390529192507fe53029f1371dc130e1277d91cdacc0f9ece4b29159e62598ef1fc911551c6033910160405180910390a1505b610edb6001600160a01b0385168484612b08565b60038161ffff8110611bb257600080fd5b60109182820401919006600202915054906101000a900461ffff1681565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c549190613284565b6001600160a01b0316336001600160a01b031614611c845760405162461bcd60e51b81526004016107c8906132a1565b600083815261100360209081526040918290208251808401909352546001600160a01b038116808452600160a01b90910460ff16151591830191909152611cfa5760405162461bcd60e51b815260206004820152600a6024820152691251081b9bdd081cd95d60b21b60448201526064016107c8565b821515602080830191825260008681526110039091526040908190208351815493511515600160a01b026001600160a81b03199094166001600160a01b0390911617929092179091555184907f82a4ff8311333266bb50969521800e4bed9369da4894334ef456427e3ad921099061160090861515815260200190565b60405163e950342560e01b81526001600160a01b038581166004830152600091829182919085169063e950342590602401602060405180830381865afa158015611dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de991906132c5565b90506000611df5611612565b905060006110048261ffff8110611e0e57611e0e6132de565b60028104919091015460019091166010026101000a90046001600160801b0316905060006001600160a01b03881615611e475787611e49565b895b6001600160a01b038116600090815261900560205260408120919250908461ffff8110611e7857611e786132de565b60028104919091015460019091166010026101000a90046001600160801b0316905060006001600160a01b038a1615611fe7576001600160a01b03808b16600090815261900760209081526040918290208251606081018452905460ff8116151580835261ffff610100830416938301939093526301000000900490931691830191909152611f1457600080985098505050505050505061208c565b602081015161ffff16915061fffe198201611fc8576040808201519051636a2243a960e01b81526001600160a01b0386811660048301528e81166024830152604482018a9052606482018690526084820188905290911690636a2243a99060a401602060405180830381865afa925050508015611fae575060408051601f3d908101601f19168201909252611fab918101906132c5565b60015b611fc557600080985098505050505050505061208c565b91505b612710821115611fe557600080985098505050505050505061208c565b505b6001546040516349955f6360e01b81526001600160a01b038581166004830152602482018990526044820185905260648201879052909116906349955f6390608401602060405180830381865afa158015612046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206a91906132c5565b9750612710612079828a6133aa565b6120839190613364565b96505050505050505b94509492505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121199190613284565b6001600160a01b0316336001600160a01b0316146121495760405162461bcd60e51b81526004016107c8906132a1565b600180546001600160a01b0319166001600160a01b0384169081179091556040519081527fe1a7ee8754d81e0a44e79c238dfe94867d6af6153c6967474dc7f60e9211d9fa90602001611000565b600254600160801b90046001600160401b03168181106121b657505050565b6001600160a01b0383166121f35750600280546001600160401b03909216600160801b0267ffffffffffffffff60801b1990921691909117905550565b60025460009081906001600160801b03165b8484101561232057612216846132f4565b60405163e8643de960e01b815260048101829052602481018390529094506001600160a01b0387169063e8643de99060440160408051808303816000875af1158015612266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228a9190613386565b93509150816110048561ffff81106122a4576122a46132de565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b0316021790555081816122df9190613351565b60408051848152602081018390529192507fe53029f1371dc130e1277d91cdacc0f9ece4b29159e62598ef1fc911551c6033910160405180910390a1612205565b600280546001600160801b03929092166001600160c01b031990921691909117600160801b6001600160401b0396871602176001600160c01b0316600160c01b9390951692909202939093179055505050565b600254600160c01b90046001600160401b0316600081900361243f576001600160a01b0384811660009081526190066020526040808220919091555163a9059cbb60e01b81528482166004820152602481018490527f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015612415573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612439919061323e565b5061255f565b600061246b7f000000000000000000000000000000000000000000000000000000000000000084613364565b90506124977f0000000000000000000000000000000000000000000000000000000000000000826133aa565b6124a19084613351565b6001600160a01b03861660009081526190066020526040902055801561255d5760405163e2ab691d60e01b81526001600160a01b03858116600483015260248201839052604482018490527f0000000000000000000000000000000000000000000000000000000000000000169063e2ab691d906064016020604051808303816000875af1158015612537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061255b919061323e565b505b505b50505050565b801561255d576000612575611612565b905060006110048261ffff811061258e5761258e6132de565b60028104919091015460019091166010026101000a90046001600160801b0316905060006001600160a01b038516156125c757846125c9565b865b6001600160a01b038116600090815261900560205260408120919250908461ffff81106125f8576125f86132de565b60028104919091015460019091166010026101000a90046001600160801b031690506000806001600160a01b0388161561280057506001600160a01b03808816600090815261900760209081526040918290208251606081018452905460ff8116151580835261ffff61010083041693830193909352630100000090049093169183018290529091906126c05760405162461bcd60e51b815260206004820152601060248201526f496e76616c69642064656c656761746560801b60448201526064016107c8565b61ffff8016816020015161ffff16036127aa57604051636a2243a960e01b81526001600160a01b038c811660048301528b81166024830152604482018a90526064820186905260848201889052831690636a2243a99060a401602060405180830381865afa158015612736573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275a91906132c5565b92506127108311156127a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642064656c65676174652066656560601b60448201526064016107c8565b6127b6565b806020015161ffff1692505b8b8311156127fe5760405162461bcd60e51b815260206004820152601560248201527419995948195e18d959591cc81b585e1199595418dd605a1b60448201526064016107c8565b505b600154604051630609d12160e41b81526001600160a01b038681166004830152602482018a90526044820186905260648201889052600092169063609d1210906084016020604051808303816000875af1158015612862573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061288691906132c5565b90506000612894828a613351565b9050801561290f576002546000906128b69083906001600160801b0316613271565b600280546001600160801b0319166001600160801b03831617905560408051848152602081018390529192507f54b8dd835b48a0b306a9a706a47fc0e08468ce12148a3b645c496018f9852ff9910160405180910390a1505b5061291a8885613271565b6001600160a01b0386166000908152619005602052604090208861ffff8110612945576129456132de565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b03160217905550826000146129a25761271061298984836133aa565b6129939190613364565b925061299f8382613351565b90505b6001600160a01b038b16600090815261900660205260409020546129c69082613271565b90506129d38b8b83612373565b8215612a08576001600160a01b0389166000908152619006602052604081208054859290612a02908490613271565b90915550505b6001600160a01b03821615612afa576040516346d1a77560e01b81526001600160a01b038c811660048301528b81166024830152604482018a9052606482018390526084820185905260a4820186905260c482018890528316906346d1a7759060e4016020604051808303816000875af1158015612a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aae919061323e565b612afa5760405162461bcd60e51b815260206004820152601a60248201527f44656c65676174652063616c6c6261636b2072656a656374656400000000000060448201526064016107c8565b505050505050505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612b5a908490612b5f565b505050565b6000612bb4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612c349092919063ffffffff16565b9050805160001480612bd5575080806020019051810190612bd5919061323e565b612b5a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107c8565b6060612c438484600085612c4b565b949350505050565b606082471015612cac5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016107c8565b600080866001600160a01b03168587604051612cc891906133e5565b60006040518083038185875af1925050503d8060008114612d05576040519150601f19603f3d011682016040523d82523d6000602084013e612d0a565b606091505b5091509150612d1b87838387612d26565b979650505050505050565b60608315612d95578251600003612d8e576001600160a01b0385163b612d8e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107c8565b5081612c43565b612c438383815115612daa5781518083602001fd5b8060405162461bcd60e51b81526004016107c89190613401565b6001600160a01b0381168114612dd957600080fd5b50565b600060208284031215612dee57600080fd5b8135612df981612dc4565b9392505050565b600060208284031215612e1257600080fd5b5035919050565b60008060408385031215612e2c57600080fd5b8235612e3781612dc4565b946020939093013593505050565b600080600060608486031215612e5a57600080fd5b8335612e6581612dc4565b92506020840135612e7581612dc4565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612ebe57612ebe612e86565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612eec57612eec612e86565b604052919050565b60006001600160401b03821115612f0d57612f0d612e86565b5060051b60200190565b600082601f830112612f2857600080fd5b81356020612f3d612f3883612ef4565b612ec4565b82815260069290921b84018101918181019086841115612f5c57600080fd5b8286015b84811015612fa45760408189031215612f795760008081fd5b612f81612e9c565b8135612f8c81612dc4565b81528185013585820152835291830191604001612f60565b509695505050505050565b60008060008060008060c08789031215612fc857600080fd5b8635612fd381612dc4565b9550602087810135612fe481612dc4565b95506040880135945060608801356001600160401b03808216821461300857600080fd5b9094506080890135908082111561301e57600080fd5b818a0191508a601f83011261303257600080fd5b8135613040612f3882612ef4565b81815260059190911b8301840190848101908d83111561305f57600080fd5b938501935b828510156130935784356001600160801b03811681146130845760008081fd5b82529385019390850190613064565b9650505060a08a01359250808311156130ab57600080fd5b50506130b989828a01612f17565b9150509295509295509295565b8015158114612dd957600080fd5b6000806000606084860312156130e957600080fd5b83356130f4816130c6565b925060208401359150604084013561310b81612dc4565b809150509250925092565b60008060008060006080868803121561312e57600080fd5b853561313981612dc4565b9450602086013561314981612dc4565b935060408601356001600160401b038082111561316557600080fd5b818801915088601f83011261317957600080fd5b81358181111561318857600080fd5b8960208260051b850101111561319d57600080fd5b96999598505060200195606001359392505050565b600080604083850312156131c557600080fd5b8235915060208301356131d7816130c6565b809150509250929050565b600080600080608085870312156131f857600080fd5b843561320381612dc4565b9350602085013561321381612dc4565b9250604085013561322381612dc4565b9150606085013561323381612dc4565b939692955090935050565b60006020828403121561325057600080fd5b8151612df9816130c6565b634e487b7160e01b600052601160045260246000fd5b80820180821115610a2c57610a2c61325b565b60006020828403121561329657600080fd5b8151612df981612dc4565b6020808252600a908201526927b7363c9037bbb732b960b11b604082015260600190565b6000602082840312156132d757600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b6000600182016133065761330661325b565b5060010190565b6020808252825182820181905260009190848201906040850190845b8181101561334557835183529284019291840191600101613329565b50909695505050505050565b81810381811115610a2c57610a2c61325b565b60008261338157634e487b7160e01b600052601260045260246000fd5b500490565b6000806040838503121561339957600080fd5b505080516020909101519092909150565b8082028115828204841417610a2c57610a2c61325b565b60005b838110156133dc5781810151838201526020016133c4565b50506000910152565b600082516133f78184602087016133c1565b9190910192915050565b60208152600082518060208401526134208160408501602087016133c1565b601f01601f1916919091016040019291505056fea2646970667358221220dfeff2de4c190a0d80e046d80b7e495454ae7d8ee06c2d93f068b2a39628d44064736f6c63430008130033000000000000000000000000ae36c951c6c3fffcddcde990aab5056e722b09dc00000000000000000000000047f43ccb49dfe30ac666afd039dcf2c967ac1ea7000000000000000000000000ebd4d5b738dd43d153caab5be49a7afc3df4359a0000000000000000000000007274ae5b49df066b1431ad4a36d1139cf2fb2716000000000000000000000000817c9c880b8627308d8d6c9e66357752dafda571000000000000000000000000983fb7d0c7cf79189ec5edb01b275572eb429469