60806040523480156200001157600080fd5b506040516200399e3803806200399e83398101604081905262000034916200023a565b8151829082906200004d906000906020850190620000e9565b50805162000063906001906020840190620000e9565b505050620000806200007a6200009360201b60201c565b62000097565b5050665543df729c0000600755620002f4565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620000f790620002a1565b90600052602060002090601f0160209004810192826200011b576000855562000166565b82601f106200013657805160ff191683800117855562000166565b8280016001018555821562000166579182015b828111156200016657825182559160200191906001019062000149565b506200017492915062000178565b5090565b5b8082111562000174576000815560010162000179565b600082601f830112620001a0578081fd5b81516001600160401b0380821115620001bd57620001bd620002de565b6040516020601f8401601f1916820181018381118382101715620001e557620001e5620002de565b6040528382528584018101871015620001fc578485fd5b8492505b838310156200021f578583018101518284018201529182019162000200565b838311156200023057848185840101525b5095945050505050565b600080604083850312156200024d578182fd5b82516001600160401b038082111562000264578384fd5b62000272868387016200018f565b9350602085015191508082111562000288578283fd5b5062000297858286016200018f565b9150509250929050565b600281046001821680620002b657607f821691505b60208210811415620002d857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b61369a80620003046000396000f3fe6080604052600436106101b75760003560e01c806395d89b41116100ec578063c71a7d671161008a578063de4b326211610064578063de4b326214610496578063e985e9c5146104b6578063efd32692146104d6578063f2fde38b146104f6576101b7565b8063c71a7d671461044c578063c7876ea414610461578063c87b56dd14610476576101b7565b8063a5929815116100c6578063a5929815146103d7578063ad044f49146103f7578063ae198eb41461040c578063b88d4fde1461042c576101b7565b806395d89b41146103825780639fa5819014610397578063a22cb465146103b7576101b7565b806356e7f6c71161015957806370a082311161013357806370a0823114610325578063715018a6146103455780637ba0e2e71461035a5780638da5cb5b1461036d576101b7565b806356e7f6c7146102c35780636352211e146102e557806364d265df14610305576101b7565b8063095ea7b311610195578063095ea7b31461024157806323b872dd1461026357806342842e0e14610283578063441a3e70146102a3576101b7565b806301ffc9a7146101bc57806306fdde03146101f2578063081812fc14610214575b600080fd5b3480156101c857600080fd5b506101dc6101d7366004612811565b610516565b6040516101e99190612cb4565b60405180910390f35b3480156101fe57600080fd5b50610207610590565b6040516101e99190612cbf565b34801561022057600080fd5b5061023461022f36600461287c565b610622565b6040516101e99190612c64565b34801561024d57600080fd5b5061026161025c3660046127e8565b61066e565b005b34801561026f57600080fd5b5061026161027e36600461270d565b610706565b34801561028f57600080fd5b5061026161029e36600461270d565b61073e565b3480156102af57600080fd5b506102616102be366004612894565b610759565b3480156102cf57600080fd5b506102d8610856565b6040516101e9919061341b565b3480156102f157600080fd5b5061023461030036600461287c565b61085c565b34801561031157600080fd5b50610261610320366004612849565b610891565b34801561033157600080fd5b506102d86103403660046126c1565b611663565b34801561035157600080fd5b506102616116a7565b6102d8610368366004612849565b6116f2565b34801561037957600080fd5b506102346117dd565b34801561038e57600080fd5b506102076117ec565b3480156103a357600080fd5b506102076103b236600461287c565b6117fb565b3480156103c357600080fd5b506102616103d23660046127ae565b61182b565b3480156103e357600080fd5b506102346103f236600461287c565b6118f9565b34801561040357600080fd5b506102d861193c565b34801561041857600080fd5b506102d861042736600461287c565b611981565b34801561043857600080fd5b50610261610447366004612748565b6119be565b34801561045857600080fd5b506102d86119fd565b34801561046d57600080fd5b506102d8611a2c565b34801561048257600080fd5b5061020761049136600461287c565b611a32565b3480156104a257600080fd5b506102616104b136600461287c565b611ad8565b3480156104c257600080fd5b506101dc6104d13660046126db565b611b1c565b3480156104e257600080fd5b506102d86104f136600461287c565b611b4a565b34801561050257600080fd5b506102616105113660046126c1565b611be8565b60006001600160e01b031982167f80ac58cd00000000000000000000000000000000000000000000000000000000148061057957506001600160e01b031982167f5b5e139f00000000000000000000000000000000000000000000000000000000145b80610588575061058882611c59565b90505b919050565b60606000805461059f90613502565b80601f01602080910402602001604051908101604052809291908181526020018280546105cb90613502565b80156106185780601f106105ed57610100808354040283529160200191610618565b820191906000526020600020905b8154815290600101906020018083116105fb57829003601f168201915b5050505050905090565b600061062d82611c8b565b6106525760405162461bcd60e51b81526004016106499061315d565b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006106798261085c565b9050806001600160a01b0316836001600160a01b031614156106ad5760405162461bcd60e51b815260040161064990613298565b806001600160a01b03166106bf611ca8565b6001600160a01b031614806106db57506106db816104d1611ca8565b6106f75760405162461bcd60e51b815260040161064990612fda565b6107018383611cac565b505050565b610717610711611ca8565b82611d1a565b6107335760405162461bcd60e51b815260040161064990613389565b610701838383611d9f565b610701838383604051806020016040528060008152506119be565b600061076483611b4a565b9050818110156107865760405162461bcd60e51b815260040161064990612f7d565b336107908461085c565b6001600160a01b0316146107b65760405162461bcd60e51b815260040161064990612d40565b6000838152600960205260408120600381018054919285926107d9908490613456565b9091555050600084815260096020526040808220835481546001600160a01b0319166001600160a01b03909116178155600180850154908201556002808501549082015560038085015491015551339185156108fc02918691818181858888f1935050505015801561084f573d6000803e3d6000fd5b5050505050565b60085490565b6000818152600260205260408120546001600160a01b0316806105885760405162461bcd60e51b815260040161064990613094565b60408051600a8082526101608201909252600091816020015b6108b2612579565b8152602001906001900390816108aa575050604080518082019091529091506000908082815260200160008152508260008151811061090157634e487b7160e01b600052603260045260246000fd5b602002602001018190525060005b8351811015611640576000838361ffff168151811061093e57634e487b7160e01b600052603260045260246000fd5b602002602001015160000151600681111561096957634e487b7160e01b600052602160045260246000fd5b1415610a4d5783818151811061098f57634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b031916600f60fa1b146109c15760405162461bcd60e51b815260040161064990612cd2565b82516109ce836001613430565b61ffff16106109ef5760405162461bcd60e51b815260040161064990612f46565b604080518082019091528060018152602001610a0c836001613456565b905283610a188461353d565b93508361ffff1681518110610a3d57634e487b7160e01b600052603260045260246000fd5b602002602001018190525061162e565b6001838361ffff1681518110610a7357634e487b7160e01b600052603260045260246000fd5b6020026020010151600001516006811115610a9e57634e487b7160e01b600052602160045260246000fd5b1415610ec657838181518110610ac457634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b031916602f60f81b1415610b295760408051808201909152806002815260200182815250838361ffff1681518110610b1957634e487b7160e01b600052603260045260246000fd5b6020026020010181905250610ec1565b838181518110610b4957634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b031916601160f91b1415610bd6578251610b71836001613430565b61ffff1610610b925760405162461bcd60e51b815260040161064990612f46565b60408051808201909152806006815260200182905283610bb18461353d565b93508361ffff1681518110610b1957634e487b7160e01b600052603260045260246000fd5b838181518110610bf657634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b031916601f60f91b1415610c7a57604080518082019091528060038152602001848461ffff1681518110610c4757634e487b7160e01b600052603260045260246000fd5b602002602001015160200151815250838361ffff1681518110610b1957634e487b7160e01b600052603260045260246000fd5b603060f81b848281518110610c9f57634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b03191610801590610cee5750603960f81b848281518110610cdc57634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b03191611155b80610d685750604160f81b848281518110610d1957634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b03191610801590610d685750607a60f81b848281518110610d5657634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b03191611155b80610da55750838181518110610d8e57634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b031916603d60f81b145b80610dfe5750838181518110610dcb57634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b0319167f2000000000000000000000000000000000000000000000000000000000000000145b80610e575750838181518110610e2457634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b0319167f2d00000000000000000000000000000000000000000000000000000000000000145b848281518110610e7757634e487b7160e01b600052603260045260246000fd5b602001015160f81c60f81b604051602001610e929190612add565b60405160208183030381529060405290610ebf5760405162461bcd60e51b81526004016106499190612cbf565b505b61162e565b6002838361ffff1681518110610eec57634e487b7160e01b600052603260045260246000fd5b6020026020010151600001516006811115610f1757634e487b7160e01b600052602160045260246000fd5b1415610f8157838181518110610f3d57634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b031916601f60f91b14610f6f5760405162461bcd60e51b8152600401610649906130f1565b81610f79816134e4565b92505061162e565b6003838361ffff1681518110610fa757634e487b7160e01b600052603260045260246000fd5b6020026020010151600001516006811115610fd257634e487b7160e01b600052602160045260246000fd5b141561109357838181518110610ff857634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b031916600f60fa1b1461102a5760405162461bcd60e51b815260040161064990612cd2565b604080518082019091528060048152602001848461ffff168151811061106057634e487b7160e01b600052603260045260246000fd5b602002602001015160200151815250838361ffff1681518110610a3d57634e487b7160e01b600052603260045260246000fd5b6004838361ffff16815181106110b957634e487b7160e01b600052603260045260246000fd5b60200260200101516000015160068111156110e457634e487b7160e01b600052602160045260246000fd5b14156112f65783818151811061110a57634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b031916602f60f81b14156111a557604080518082019091528060058152602001848461ffff168151811061115b57634e487b7160e01b600052603260045260246000fd5b6020026020010151602001518360016111749190613456565b61117e91906134a1565b815250838361ffff1681518110610b1957634e487b7160e01b600052603260045260246000fd5b604160f81b8482815181106111ca57634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b031916108015906112195750607a60f81b84828151811061120757634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b03191611155b6112355760405162461bcd60e51b815260040161064990613352565b8251611242836001613430565b61ffff16106112635760405162461bcd60e51b815260040161064990612f46565b604080518082019091528060038152602001848461ffff168151811061129957634e487b7160e01b600052603260045260246000fd5b602002602001015160200151815250838361ffff16815181106112cc57634e487b7160e01b600052603260045260246000fd5b602090810291909101015260408051808201909152806001815260200182905283610a188461353d565b6005838361ffff168151811061131c57634e487b7160e01b600052603260045260246000fd5b602002602001015160000151600681111561134757634e487b7160e01b600052602160045260246000fd5b14156114b45783818151811061136d57634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b031916601f60f91b141561139a5781611392816134e4565b925050610ec1565b83838361ffff16815181106113bf57634e487b7160e01b600052603260045260246000fd5b602002602001015160200151826113d691906134a1565b815181106113f457634e487b7160e01b600052603260045260246000fd5b602001015160f81c60f81b6001600160f81b03191684828151811061142957634e487b7160e01b600052603260045260246000fd5b602001015160f81c60f81b6001600160f81b0319161484848461ffff168151811061146457634e487b7160e01b600052603260045260246000fd5b6020026020010151602001518361147b91906134a1565b8151811061149957634e487b7160e01b600052603260045260246000fd5b602001015160f81c60f81b604051602001610e929190612c29565b6006838361ffff16815181106114da57634e487b7160e01b600052603260045260246000fd5b602002602001015160000151600681111561150557634e487b7160e01b600052602160045260246000fd5b141561162e5783818151811061152b57634e487b7160e01b600052603260045260246000fd5b6020910101516001600160f81b031916601160f91b14156115505781610f79816134e4565b602060f81b84828151811061157557634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b031916108015906115c45750607e60f81b8482815181106115b257634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b03191611155b8482815181106115e457634e487b7160e01b600052603260045260246000fd5b602001015160f81c60f81b6040516020016115ff9190612b83565b6040516020818303038152906040529061162c5760405162461bcd60e51b81526004016106499190612cbf565b505b806116388161355f565b91505061090f565b5061ffff8116156107015760405162461bcd60e51b8152600401610649906132f5565b60006001600160a01b03821661168b5760405162461bcd60e51b815260040161064990613037565b506001600160a01b031660009081526003602052604090205490565b6116af611ca8565b6001600160a01b03166116c06117dd565b6001600160a01b0316146116e65760405162461bcd60e51b8152600401610649906131a9565b6116f06000611ecc565b565b6000346116fd6119fd565b111561171b5760405162461bcd60e51b8152600401610649906133e6565b61172482610891565b600880546001810182556000919091528251611768907ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee38301906020860190612590565b506117733382611f1e565b6040805160808101825233815242602080830191825234838501908152600060608501818152878252600990935294909420925183546001600160a01b0319166001600160a01b039091161783559051600183015591516002820155905160039091015592915050565b6006546001600160a01b031690565b60606001805461059f90613502565b606061180682611c8b565b6118225760405162461bcd60e51b815260040161064990612d09565b61058882611f3c565b611833611ca8565b6001600160a01b0316826001600160a01b031614156118645760405162461bcd60e51b815260040161064990612ec3565b8060056000611871611ca8565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff1916921515929092179091556118b5611ca8565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516118ed9190612cb4565b60405180910390a35050565b600061190482611c8b565b6119205760405162461bcd60e51b815260040161064990612d09565b506000908152600960205260409020546001600160a01b031690565b600080805b60085481101561197b576000818152600960205260409020600201546119679083613456565b9150806119738161355f565b915050611941565b50905090565b600061198c82611c8b565b6119a85760405162461bcd60e51b815260040161064990612d09565b5060009081526009602052604090206001015490565b6119cf6119c9611ca8565b83611d1a565b6119eb5760405162461bcd60e51b815260040161064990613389565b6119f784848484611f75565b50505050565b600854600090611a0f90600a9061346e565b611a1a906001613456565b600754611a279190613482565b905090565b60075481565b6060611a3d82611c8b565b611a595760405162461bcd60e51b81526004016106499061323b565b600854600090611a7490611a6f906001906134a1565b611f3c565b90506000611aaa611a8485611fa8565b83604051602001611a96929190612a32565b6040516020818303038152906040526120df565b9050600081604051602001611abf9190612b3e565b60408051808303601f1901815291905295945050505050565b611ae0611ca8565b6001600160a01b0316611af16117dd565b6001600160a01b031614611b175760405162461bcd60e51b8152600401610649906131a9565b600755565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000611b5582611c8b565b611b715760405162461bcd60e51b815260040161064990612d09565b6000825b600854811015611bc457611b8a816001613456565b600082815260096020526040902060020154611ba6919061346e565b611bb09083613456565b915080611bbc8161355f565b915050611b75565b50600083815260096020526040902060030154611be190826134a1565b9392505050565b611bf0611ca8565b6001600160a01b0316611c016117dd565b6001600160a01b031614611c275760405162461bcd60e51b8152600401610649906131a9565b6001600160a01b038116611c4d5760405162461bcd60e51b815260040161064990612dd2565b611c5681611ecc565b50565b6001600160e01b031981167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b6000908152600260205260409020546001600160a01b0316151590565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611ce18261085c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611d2582611c8b565b611d415760405162461bcd60e51b815260040161064990612efa565b6000611d4c8361085c565b9050806001600160a01b0316846001600160a01b03161480611d875750836001600160a01b0316611d7c84610622565b6001600160a01b0316145b80611d975750611d978185611b1c565b949350505050565b826001600160a01b0316611db28261085c565b6001600160a01b031614611dd85760405162461bcd60e51b8152600401610649906131de565b6001600160a01b038216611dfe5760405162461bcd60e51b815260040161064990612e66565b611e09838383610701565b611e14600082611cac565b6001600160a01b0383166000908152600360205260408120805460019290611e3d9084906134a1565b90915550506001600160a01b0382166000908152600360205260408120805460019290611e6b908490613456565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611f3882826040518060200160405280600081525061226f565b5050565b6060611f4f611f4a836122a2565b6120df565b604051602001611f5f9190612be4565b6040516020818303038152906040529050919050565b611f80848484611d9f565b611f8c84848484612360565b6119f75760405162461bcd60e51b815260040161064990612d75565b606081611fe9575060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015261058b565b8160005b81156120135780611ffd8161355f565b915061200c9050600a8361346e565b9150611fed565b60008167ffffffffffffffff81111561203c57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612066576020820181803683370190505b5090505b8415611d975761207b6001836134a1565b9150612088600a8661357a565b612093906030613456565b60f81b8183815181106120b657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506120d8600a8661346e565b945061206a565b6060815160001415612100575060408051602081019091526000815261058b565b60006040518060600160405280604081526020016135e7604091399050600060038451600261212f9190613456565b612139919061346e565b612144906004613482565b90506000612153826020613456565b67ffffffffffffffff81111561217957634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156121a3576020820181803683370190505b509050818152600183018586518101602084015b8183101561220f576003830192508251603f8160121c168501518253600182019150603f81600c1c168501518253600182019150603f8160061c168501518253600182019150603f81168501518253506001016121b7565b600389510660018114612229576002811461225557612261565b7f3d3d000000000000000000000000000000000000000000000000000000000000600119830152612261565b603d60f81b6000198301525b509398975050505050505050565b6122798383612494565b6122866000848484612360565b6107015760405162461bcd60e51b815260040161064990612d75565b606060006040518060600160405280603e8152602001613627603e9139905060005b6122cf846001613456565b8110156123375781600882815481106122f857634e487b7160e01b600052603260045260246000fd5b9060005260206000200160405160200161231392919061290a565b6040516020818303038152906040529150808061232f9061355f565b9150506122c4565b8160405160200161234891906129f1565b60408051808303601f19018152919052949350505050565b6000612374846001600160a01b0316612573565b1561248957836001600160a01b031663150b7a02612390611ca8565b8786866040518563ffffffff1660e01b81526004016123b29493929190612c78565b602060405180830381600087803b1580156123cc57600080fd5b505af19250505080156123fc575060408051601f3d908101601f191682019092526123f99181019061282d565b60015b612456573d80801561242a576040519150601f19603f3d011682016040523d82523d6000602084013e61242f565b606091505b50805161244e5760405162461bcd60e51b815260040161064990612d75565b805181602001fd5b6001600160e01b0319167f150b7a0200000000000000000000000000000000000000000000000000000000149050611d97565b506001949350505050565b6001600160a01b0382166124ba5760405162461bcd60e51b815260040161064990613128565b6124c381611c8b565b156124e05760405162461bcd60e51b815260040161064990612e2f565b6124ec60008383610701565b6001600160a01b0382166000908152600360205260408120805460019290612515908490613456565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b604080518082019091526000808252602082015290565b82805461259c90613502565b90600052602060002090601f0160209004810192826125be5760008555612604565b82601f106125d757805160ff1916838001178555612604565b82800160010185558215612604579182015b828111156126045782518255916020019190600101906125e9565b50612610929150612614565b5090565b5b808211156126105760008155600101612615565b80356001600160a01b038116811461058b57600080fd5b600082601f830112612650578081fd5b813567ffffffffffffffff8082111561266b5761266b6135ba565b604051601f8301601f19168101602001828111828210171561268f5761268f6135ba565b6040528281528483016020018610156126a6578384fd5b82602086016020830137918201602001929092529392505050565b6000602082840312156126d2578081fd5b611be182612629565b600080604083850312156126ed578081fd5b6126f683612629565b915061270460208401612629565b90509250929050565b600080600060608486031215612721578081fd5b61272a84612629565b925061273860208501612629565b9150604084013590509250925092565b6000806000806080858703121561275d578081fd5b61276685612629565b935061277460208601612629565b925060408501359150606085013567ffffffffffffffff811115612796578182fd5b6127a287828801612640565b91505092959194509250565b600080604083850312156127c0578182fd5b6127c983612629565b9150602083013580151581146127dd578182fd5b809150509250929050565b600080604083850312156127fa578182fd5b61280383612629565b946020939093013593505050565b600060208284031215612822578081fd5b8135611be1816135d0565b60006020828403121561283e578081fd5b8151611be1816135d0565b60006020828403121561285a578081fd5b813567ffffffffffffffff811115612870578182fd5b611d9784828501612640565b60006020828403121561288d578081fd5b5035919050565b600080604083850312156128a6578182fd5b50508035926020909101359150565b600081518084526128cd8160208601602086016134b8565b601f01601f19169290920160200192915050565b7f3c2f673e00000000000000000000000000000000000000000000000000000000815260040190565b60008351602061291d82858389016134b8565b7f3c673e0000000000000000000000000000000000000000000000000000000000918401918252845460039084906002810460018083168061296057607f831692505b86831081141561297e57634e487b7160e01b89526022600452602489fd5b80801561299257600181146129a7576129d7565b60ff19851689880152838901870195506129d7565b6129b08c613424565b8a5b858110156129cd5781548b82018a01529084019089016129b2565b505086848a010195505b50505050506129e5816128e1565b98975050505050505050565b60008251612a038184602087016134b8565b7f3c2f7376673e0000000000000000000000000000000000000000000000000000920191825250600601919050565b60007f7b226e616d65223a224175746f6e6f6d6f75732041727420230000000000000082528351612a6a8160198501602088016134b8565b7f222c22696d616765223a220000000000000000000000000000000000000000006019918401918201528351612aa78160248401602088016134b8565b7f227d00000000000000000000000000000000000000000000000000000000000060249290910191820152602601949350505050565b7f457870656374696e672027302d39272c2027612d7a412d5a272c20273d272c2081527f272d272c206f72202720272062757420676f743a20000000000000000000000060208201526001600160f81b031991909116603582015260360190565b60007f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000082528251612b7681601d8501602087016134b8565b91909101601d0192915050565b7f457870656374696e6720617363696920307832302d307837652c20627574206781527f6f743a200000000000000000000000000000000000000000000000000000000060208201526001600160f81b031991909116602482015260250190565b60007f646174613a696d6167652f7376672b786d6c3b6261736536342c00000000000082528251612c1c81601a8501602087016134b8565b91909101601a0192915050565b7f457870656374696e6720612d7a412d5a20746f206d617463683a20000000000081526001600160f81b031991909116601b820152601c0190565b6001600160a01b0391909116815260200190565b60006001600160a01b03808716835280861660208401525083604083015260806060830152612caa60808301846128b5565b9695505050505050565b901515815260200190565b600060208252611be160208301846128b5565b6020808252600d908201527f457870656374696e6720273c2700000000000000000000000000000000000000604082015260600190565b6020808252601b908201527f517565727920666f72206e6f6e6578697374656e7420746f6b656e0000000000604082015260600190565b6020808252818101527f556e617574686f72697a656420617474656d707420746f207769746864726177604082015260600190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527f63656976657220696d706c656d656e7465720000000000000000000000000000606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201527f6464726573730000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526014908201527f537461636b207370616365206578636565646564000000000000000000000000604082015260600190565b60208082526025908201527f417474656d707420746f207769746864726177206d6f7265207468616e20626160408201527f6c616e6365000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560408201527f726f206164647265737300000000000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201527f656e7420746f6b656e0000000000000000000000000000000000000000000000606082015260800190565b6020808252600d908201527f457870656374696e6720273e2700000000000000000000000000000000000000604082015260600190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526029908201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960408201527f73206e6f74206f776e0000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560408201527f7200000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f496e76616c6964206c617965722c20656e6465642077697468206e6f6e2d7a6560408201527f726f20696e646578000000000000000000000000000000000000000000000000606082015260800190565b60208082526010908201527f457870656374696e6720612d7a412d5a00000000000000000000000000000000604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60408201527f776e6572206e6f7220617070726f766564000000000000000000000000000000606082015260800190565b6020808252818101527f4574682076616c75652073656e74206973206e6f742073756666696369656e74604082015260600190565b90815260200190565b60009081526020902090565b600061ffff80831681851680830382111561344d5761344d61358e565b01949350505050565b600082198211156134695761346961358e565b500190565b60008261347d5761347d6135a4565b500490565b600081600019048311821515161561349c5761349c61358e565b500290565b6000828210156134b3576134b361358e565b500390565b60005b838110156134d35781810151838201526020016134bb565b838111156119f75750506000910152565b600061ffff8216806134f8576134f861358e565b6000190192915050565b60028104600182168061351657607f821691505b6020821081141561353757634e487b7160e01b600052602260045260246000fd5b50919050565b600061ffff808316818114156135555761355561358e565b6001019392505050565b60006000198214156135735761357361358e565b5060010190565b600082613589576135896135a4565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114611c5657600080fdfe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c7376672076696577426f783d2230203020353030203530302220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f737667223ea264697066735822122056481b716f95f7f973f134c0698b1233a76e86a9d2bf2aaaf15531bedd4e217164736f6c6343000800003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000d4175746f6e6f6d6f75734172740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044141525400000000000000000000000000000000000000000000000000000000