@layerzerolabs/lz-evm-sdk-v1 1.5.15 → 1.5.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/artifacts/contracts/Endpoint.sol/Endpoint.json +2 -2
  2. package/artifacts/contracts/NonceContract.sol/NonceContract.json +2 -2
  3. package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +2 -2
  4. package/artifacts/contracts/Relayer.sol/Relayer.json +2 -2
  5. package/artifacts/contracts/RelayerV2.sol/RelayerV2.json +2 -2
  6. package/artifacts/contracts/UltraLightNode.sol/UltraLightNode.json +2 -2
  7. package/artifacts/contracts/UltraLightNodeV2.sol/UltraLightNodeV2.json +2 -2
  8. package/artifacts/contracts/proof/FPValidator.sol/FPValidator.json +2 -2
  9. package/artifacts/contracts/proof/MPTValidator.sol/MPTValidator.json +2 -2
  10. package/artifacts/contracts/proof/MPTValidator01.sol/MPTValidator01.json +2 -2
  11. package/artifacts/contracts/proof/MPTValidatorStgV3.sol/MPTValidatorStgV3.json +2 -2
  12. package/artifacts/contracts/proof/MPTValidatorV2.sol/MPTValidatorV2.json +2 -2
  13. package/artifacts/contracts/proof/MPTValidatorV4.sol/MPTValidatorV4.json +2 -2
  14. package/artifacts/contracts/proof/MPTValidatorV5.sol/MPTValidatorV5.json +2 -2
  15. package/artifacts/contracts/proof/utility/Buffer.sol/Buffer.json +2 -2
  16. package/artifacts/contracts/proof/utility/LayerZeroPacket.sol/LayerZeroPacket.json +2 -2
  17. package/artifacts/contracts/proof/utility/RLPDecode.sol/RLPDecode.json +2 -2
  18. package/artifacts/contracts/proof/utility/UltraLightNodeEVMDecoder.sol/UltraLightNodeEVMDecoder.json +2 -2
  19. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +273 -0
  20. package/deployments/ethereum-sandbox-local/Endpoint.json +1282 -0
  21. package/deployments/ethereum-sandbox-local/FPValidator.json +382 -0
  22. package/deployments/ethereum-sandbox-local/MPTValidator01.json +395 -0
  23. package/deployments/ethereum-sandbox-local/NonceContract.json +159 -0
  24. package/deployments/ethereum-sandbox-local/PriceFeed.json +760 -0
  25. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +776 -0
  26. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +233 -0
  27. package/deployments/ethereum-sandbox-local/RelayerV2.json +1169 -0
  28. package/deployments/ethereum-sandbox-local/RelayerV2_Implementation.json +1270 -0
  29. package/deployments/ethereum-sandbox-local/RelayerV2_Proxy.json +245 -0
  30. package/deployments/ethereum-sandbox-local/TreasuryV2.json +458 -0
  31. package/deployments/ethereum-sandbox-local/UltraLightNodeV2.json +1816 -0
  32. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +273 -0
  33. package/deployments/polygon-sandbox-local/Endpoint.json +1282 -0
  34. package/deployments/polygon-sandbox-local/FPValidator.json +382 -0
  35. package/deployments/polygon-sandbox-local/MPTValidator01.json +395 -0
  36. package/deployments/polygon-sandbox-local/NonceContract.json +159 -0
  37. package/deployments/polygon-sandbox-local/PriceFeed.json +760 -0
  38. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +776 -0
  39. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +233 -0
  40. package/deployments/polygon-sandbox-local/RelayerV2.json +1169 -0
  41. package/deployments/polygon-sandbox-local/RelayerV2_Implementation.json +1270 -0
  42. package/deployments/polygon-sandbox-local/RelayerV2_Proxy.json +245 -0
  43. package/deployments/polygon-sandbox-local/TreasuryV2.json +458 -0
  44. package/deployments/polygon-sandbox-local/UltraLightNodeV2.json +1816 -0
  45. package/package.json +3 -3
  46. package/artifacts/contracts/messagelib-e2/MessageLibBase.sol/MessageLibBase.json +0 -886
  47. package/artifacts/contracts/messagelib-e2/interfaces/ILayerZeroRelayer.sol/ILayerZeroRelayer.json +0 -79
  48. package/artifacts/contracts/messagelib-e2/interfaces/ILayerZeroTreasury.sol/ILayerZeroTreasury.json +0 -45
  49. package/artifacts/contracts/messagelib-e2/interfaces/IMessageLib.sol/IMessageLib.json +0 -319
  50. package/artifacts/contracts/messagelib-e2/interfaces/IPacket.sol/IPacket.json +0 -10
  51. package/artifacts/contracts/messagelib-e2/libs/BytesLib.sol/BytesLib.json +0 -10
  52. package/artifacts/contracts/messagelib-e2/libs/Options.sol/Options.json +0 -63
  53. package/artifacts/contracts/messagelib-e2/libs/PacketV1Codec.sol/PacketV1Codec.json +0 -10
  54. package/artifacts/contracts/messagelib-e2/libs/RelayerOptions.sol/RelayerOptions.json +0 -76
  55. package/artifacts/contracts/messagelib-e2/libs/TreasuryOptions.sol/TreasuryOptions.json +0 -37
  56. package/artifacts/contracts/messagelib-e2/uln/UlnConfig.sol/UlnConfig.json +0 -356
  57. package/artifacts/contracts/messagelib-e2/uln/UltraLightNode301.sol/UltraLightNode301.json +0 -1381
  58. package/artifacts/contracts/messagelib-e2/uln/interfaces/ILayerZeroOracle.sol/ILayerZeroOracle.json +0 -79
  59. package/artifacts/contracts/messagelib-e2/uln/libs/OracleOptions.sol/OracleOptions.json +0 -24
@@ -1468,8 +1468,8 @@
1468
1468
  "type": "function"
1469
1469
  }
1470
1470
  ],
1471
- "bytecode": "0x60a06040523480156200001157600080fd5b5060405162004c4538038062004c458339810160408190526200003491620000df565b6001600090815562000045620000db565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b038116620000c55760405162461bcd60e51b8152600401620000bc906200010f565b60405180910390fd5b60601b6001600160601b03191660805262000159565b3390565b600060208284031215620000f1578081fd5b81516001600160a01b038116811462000108578182fd5b9392505050565b6020808252602a908201527f4c617965725a65726f3a20656e64706f696e742063616e6e6f74206265207a65604082015269726f206164647265737360b01b606082015260800190565b60805160601c614abf62000186600039806113325280612092528061210c5280612d215250614abf6000f3fe60806040526004361061031e5760003560e01c80638317814a116101a5578063d56bc64b116100ec578063ebfa08e911610095578063f2fde38b1161006f578063f2fde38b146108a4578063f47a5feb146108c4578063f8e1734c146108d9578063f9dd8e0f146108f95761031e565b8063ebfa08e914610837578063ed28580a14610864578063f0f44260146108845761031e565b8063e6108a82116100c6578063e6108a82146107d7578063ea216c21146107f7578063eb0d4c31146108175761031e565b8063d56bc64b14610777578063db00719b14610797578063ddfdef5a146107b75761031e565b8063a183608c1161014e578063b77d22ad11610128578063b77d22ad14610708578063b8e7e3e01461071d578063d543c7741461074a5761031e565b8063a183608c146106a6578063a4662222146106c6578063abe685cd146106f35761031e565b80638da5cb5b1161017f5780638da5cb5b1461065c578063904d3b8d14610671578063959f5943146106865761031e565b80638317814a146105fc5780638525b7111461061c57806387078f9f1461063c5761031e565b80634d0ca1b4116102695780635e280f1111610212578063715018a6116101ec578063715018a6146105b25780638140666e146105c75780638207f79d146105dc5761031e565b80635e280f111461055d57806361aa19da14610572578063704316e5146105925761031e565b806352d3b5001161024357806352d3b500146105085780635b5a2678146105285780635c0115311461053d5761031e565b80634d0ca1b4146104c05780634d3a0f7c146104d557806352d2871f146104e85761031e565b80632cfacb06116102cb57806331bd2430116102a557806331bd24301461046857806340a7bb101461047d57806349148c37146104ab5761031e565b80632cfacb06146103ff5780632e9959ec146104145780632f813464146104365761031e565b806318da0011116102fc57806318da00111461039d57806322c10776146103b25780632a819bbf146103d25761031e565b806302e72c631461032357806307b9ca7c14610359578063096607f81461037b575b600080fd5b34801561032f57600080fd5b5061034361033e36600461365a565b61090e565b6040516103509190613e2f565b60405180910390f35b34801561036557600080fd5b5061036e610920565b6040516103509190613da1565b34801561038757600080fd5b5061039b610396366004613bc4565b61092f565b005b3480156103a957600080fd5b5061036e610c7c565b3480156103be57600080fd5b5061039b6103cd366004613c8d565b610c8b565b3480156103de57600080fd5b506103f26103ed366004613b45565b610e84565b6040516103509190613e63565b34801561040b57600080fd5b50610343610f28565b34801561042057600080fd5b50610429610f2d565b6040516103509190614926565b34801561044257600080fd5b506104566104513660046138e3565b610f32565b60405161035096959493929190614885565b34801561047457600080fd5b50610343610f8e565b34801561048957600080fd5b5061049d61049836600461392c565b610f93565b604051610350929190614904565b3480156104b757600080fd5b50610343611326565b3480156104cc57600080fd5b5061042961132b565b61039b6104e3366004613719565b611330565b3480156104f457600080fd5b506103f26105033660046139d6565b611ab6565b34801561051457600080fd5b5061039b61052336600461365a565b611da3565b34801561053457600080fd5b50610343611e81565b34801561054957600080fd5b5061039b610558366004613a05565b611e87565b34801561056957600080fd5b5061036e61210a565b34801561057e57600080fd5b5061034361058d36600461365a565b61212e565b34801561059e57600080fd5b5061039b6105ad366004613b0b565b61214d565b3480156105be57600080fd5b5061039b6121e2565b3480156105d357600080fd5b5061034361228e565b3480156105e857600080fd5b5061039b6105f73660046138ff565b612293565b34801561060857600080fd5b5061039b610617366004613b62565b6123e4565b34801561062857600080fd5b5061039b6106373660046136ee565b6124b5565b34801561064857600080fd5b5061039b610657366004613aee565b6125a7565b34801561066857600080fd5b5061036e612682565b34801561067d57600080fd5b50610343612691565b34801561069257600080fd5b506103436106a13660046138e3565b612696565b3480156106b257600080fd5b506103436106c136600461365a565b6126a8565b3480156106d257600080fd5b506106e66106e13660046138ff565b6126ba565b60405161035091906145b4565b3480156106ff57600080fd5b50610343612835565b34801561071457600080fd5b50610343610f2d565b34801561072957600080fd5b5061073d6107383660046138e3565b61283b565b6040516103509190614636565b34801561075657600080fd5b5061076a610765366004613b45565b612851565b6040516103509190613e0c565b34801561078357600080fd5b5061049d6107923660046136ae565b612871565b3480156107a357600080fd5b5061036e6107b2366004613b45565b61289b565b3480156107c357600080fd5b506104566107d2366004613676565b6128c1565b3480156107e357600080fd5b506103436107f236600461365a565b612928565b34801561080357600080fd5b506103436108123660046138e3565b612943565b34801561082357600080fd5b5061039b610832366004613b45565b612955565b34801561084357600080fd5b506108576108523660046136ae565b612a14565b604051610350919061461f565b34801561087057600080fd5b5061039b61087f366004613aee565b612a68565b34801561089057600080fd5b5061039b61089f36600461365a565b612b43565b3480156108b057600080fd5b5061039b6108bf36600461365a565b612c16565b3480156108d057600080fd5b50610343612d19565b3480156108e557600080fd5b5061039b6108f4366004613a7e565b612d1f565b34801561090557600080fd5b50610429611326565b60056020526000908152604090205481565b6002546001600160a01b031681565b61093761300d565b6001600160a01b0316610948612682565b6001600160a01b031614610991576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b61ffff8088166000908152600c60205260409020548116908716118015906109bd575060008661ffff16115b6109e25760405162461bcd60e51b81526004016109d9906142a0565b60405180910390fd5b6000856001600160401b031611610a0b5760405162461bcd60e51b81526004016109d99061451e565b6001600160a01b038416610a315760405162461bcd60e51b81526004016109d990614003565b61ffff8088166000908152600d602090815260408083209387168352929052205460ff16610a715760405162461bcd60e51b81526004016109d990613e76565b60008261ffff1611610a955760405162461bcd60e51b81526004016109d9906143f4565b6001600160a01b038116610abb5760405162461bcd60e51b81526004016109d990614108565b6040518060c001604052808761ffff168152602001866001600160401b03168152602001856001600160a01b031681526020018461ffff1681526020018361ffff166001600160401b03168152602001826001600160a01b0316815250600960008961ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548161ffff021916908361ffff16021790555060208201518160000160026101000a8154816001600160401b0302191690836001600160401b03160217905550604082015181600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600001601e6101000a81548161ffff021916908361ffff16021790555060808201518160010160006101000a8154816001600160401b0302191690836001600160401b0316021790555060a08201518160010160086101000a8154816001600160a01b0302191690836001600160a01b031602179055509050507f45bb8a2b6b05457ff80b84be5bf06f2d05069fa8099fcb9d8e34149654b4d5c287878787878787604051610c6b9796959493929190614836565b60405180910390a150505050505050565b6003546001600160a01b031681565b60026000541415610ce3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005560ff8416610d2f576003546001600160a01b03163314610d1a5760405162461bcd60e51b81526004016109d990614269565b600654610d279082613011565b600655610dbd565b60ff841660011415610d6a5733600090815260046020526040902054610d559082613011565b33600090815260046020526040902055610dbd565b60ff841660021415610da55733600090815260056020526040902054610d909082613011565b33600090815260056020526040902055610dbd565b60405162461bcd60e51b81526004016109d990614442565b6000826001600160a01b031682604051610dd690613d38565b60006040518083038185875af1925050503d8060008114610e13576040519150601f19603f3d011682016040523d82523d6000602084013e610e18565b606091505b5050905080610e395760405162461bcd60e51b81526004016109d990613f2a565b7f163adce0473e267e1db8ecb524c0fcdceda62c3e6f231966bbb252e0104325378585338686604051610e70959493929190614934565b60405180910390a150506001600055505050565b600a6020908152600092835260408084208252918352918190208054825160026001831615610100026000190190921691909104601f810185900485028201850190935282815292909190830182828015610f205780601f10610ef557610100808354040283529160200191610f20565b820191906000526020600020905b815481529060010190602001808311610f0357829003601f168201915b505050505081565b600381565b600181565b6009602052600090815260409020805460019091015461ffff808316926001600160401b036201000082048116936001600160a01b03600160501b8404811694600160f01b9094049093169291811691600160401b9091041686565b600681565b604080516020601f840181900481028201810190925282815260009182918a918a91899185919089908990819084018382808284376000920182905250939450610fe392508791508690506126ba565b905060008251600014156111355761ffff8681166000908152600a60209081526040808320606087015190941683529281528282208054845160026001831615610100026000190190921691909104601f81018490048402820184019095528481529293909183018282801561109a5780601f1061106f5761010080835404028352916020019161109a565b820191906000526020600020905b81548152906001019060200180831161107d57829003601f168201915b5050505050905082604001516001600160a01b031663e54a22158885606001518989866040518663ffffffff1660e01b81526004016110dd95949392919061477b565b60206040518083038186803b1580156110f557600080fd5b505afa158015611109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112d9190613c59565b9150506111c4565b81604001516001600160a01b031663e54a22158784606001518888886040518663ffffffff1660e01b815260040161117195949392919061477b565b60206040518083038186803b15801561118957600080fd5b505afa15801561119d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c19190613c59565b90505b60a08201516060830151604051630b4d510760e01b81526000926001600160a01b031691630b4d5107916111fc918b9160040161471d565b60206040518083038186803b15801561121457600080fd5b505afa158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613c59565b90506000600360009054906101000a90046001600160a01b03166001600160a01b0316635cbbbd758e85856040518463ffffffff1660e01b815260040161129593929190613e17565b60206040518083038186803b1580156112ad57600080fd5b505afa1580156112c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e59190613c59565b90508c6112f557809950896112fa565b809850885b5061131190508161130b8b8561306e565b9061306e565b98505050505050505097509795505050505050565b600281565b600081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146113785760405162461bcd60e51b81526004016109d9906143bd565b60006113848a8d6126ba565b61ffff8b166000908152601060205260409020549091508c908c908c906113bd5760405162461bcd60e51b81526004016109d9906140c7565b6000808560a001516001600160a01b0316630b4d51078488606001516040518363ffffffff1660e01b81526004016113f692919061471d565b60206040518083038186803b15801561140e57600080fd5b505afa158015611422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114469190613c59565b60a08701516001600160a01b0316600090815260046020526040902054909150611470908261306e565b60a08701516001600160a01b031660009081526004602052604090819020919091558601518b90886116435761ffff8581166000908152600a6020908152604080832060608d015190941683529281528282208054845160026001831615610100026000190190921691909104601f8101849004840282018401909552848152929390918301828280156115455780601f1061151a57610100808354040283529160200191611545565b820191906000526020600020905b81548152906001019060200180831161152857829003601f168201915b5050505060608b015160405163e54a221560e01b81529293506001600160a01b0385169263e54a22159250611584918a918d908990889060040161477b565b60206040518083038186803b15801561159c57600080fd5b505afa1580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613c59565b60608a0151604051631d2fdc1560e11b81529196506001600160a01b03841691633a5fb82a9161160b918a919086906004016147df565b600060405180830381600087803b15801561162557600080fd5b505af1158015611639573d6000803e3d6000fd5b5050505050611739565b806001600160a01b031663e54a2215868a606001518a868f8f6040518763ffffffff1660e01b815260040161167d96959493929190614732565b60206040518083038186803b15801561169557600080fd5b505afa1580156116a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cd9190613c59565b6060890151604051631d2fdc1560e11b81529195506001600160a01b03831691633a5fb82a91611706918991908f908f906004016147b7565b600060405180830381600087803b15801561172057600080fd5b505af1158015611734573d6000803e3d6000fd5b505050505b6040808901516001600160a01b031660009081526005602052205461175e908561306e565b6040808a01516001600160a01b03166000908152600560205281902091909155606089015190517fb8a7262132db1f61626604a31c3de81dc1a5bb0f1511dfa70d626ab1b88b52c2916117b89188918a918f908f906148cd565b60405180910390a150600090506001600160a01b038a1615806117e457506002546001600160a01b0316155b600354604051635cbbbd7560e01b81529192506000916001600160a01b0390911690635cbbbd759061181f9085159088908890600401613e17565b60206040518083038186803b15801561183757600080fd5b505afa15801561184b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186f9190613c59565b9050801561190b57811561189e5760065461188a908261306e565b600655611897848261306e565b935061190b565b866001600160a01b03168b6001600160a01b031614806118c657506001600160a01b038b1632145b6118e25760405162461bcd60e51b81526004016109d99061407c565b6002546118fa906001600160a01b03168c30846130c8565b600754611907908261306e565b6007555b506119189050828261306e565b915050600083858f8f8f8f60405160200161193896959493929190613d3b565b60405160208183030381529060405290507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f6838260405161197a9291906146a0565b60405180910390a160a086015160608701516080880151604051636653057960e01b81526001600160a01b03909316926366530579926119be92889260040161480f565b600060405180830381600087803b1580156119d857600080fd5b505af11580156119ec573d6000803e3d6000fd5b505050505034811115611a115760405162461bcd60e51b81526004016109d990613f61565b6000611a1d3483613011565b90508015611aa35760008a6001600160a01b031682604051611a3e90613d38565b60006040518083038185875af1925050503d8060008114611a7b576040519150601f19603f3d011682016040523d82523d6000602084013e611a80565b606091505b5050905080611aa15760405162461bcd60e51b81526004016109d990614045565b505b5050505050505050505050505050505050565b6001600160a01b038216600090815260086020908152604080832061ffff8716845290915290206060906001831415611b4a57805461ffff16611b345761ffff808616600090815260096020908152604091829020549151611b1d93929092169101614636565b604051602081830303815290604052915050611d9c565b8054604051611b1d9161ffff1690602001614636565b6002831415611bbd5780546201000090046001600160401b0316611b9c5761ffff8516600090815260096020908152604091829020549151611b1d926201000090046001600160401b03169101614912565b8054604051611b1d916201000090046001600160401b031690602001614912565b6003831415611c33578054600160501b90046001600160a01b0316611c115761ffff8516600090815260096020908152604091829020549151611b1d92600160501b90046001600160a01b03169101613da1565b8054604051611b1d91600160501b90046001600160a01b031690602001613da1565b6004831415611c9b578054600160f01b900461ffff16611c7e5761ffff808616600090815260096020908152604091829020549151611b1d93600160f01b9093049092169101614636565b8054604051611b1d91600160f01b900461ffff1690602001614636565b6005831415611d055760018101546001600160401b0316611ce75761ffff8516600090815260096020908152604091829020600101549151611b1d926001600160401b03169101614912565b6001810154604051611b1d916001600160401b031690602001614912565b6006831415611d84576001810154600160401b90046001600160a01b0316611d5f5761ffff8516600090815260096020908152604091829020600101549151611b1d92600160401b90046001600160a01b03169101613da1565b6001810154604051611b1d91600160401b90046001600160a01b031690602001613da1565b60405162461bcd60e51b81526004016109d990613ef3565b9392505050565b611dab61300d565b6001600160a01b0316611dbc612682565b6001600160a01b031614611e05576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b6001600160a01b038116611e2b5760405162461bcd60e51b81526004016109d990613fa6565b600280546001600160a01b0319166001600160a01b0383161790556040517f33d644987381deff4408951d55afa136f124e22a7810b163b2aaa3ebef770f6490611e76908390613da1565b60405180910390a150565b60065481565b6000611e9387876126ba565b60408101519091506001600160a01b03163314611ec25760405162461bcd60e51b81526004016109d990614180565b611eca61344c565b61ffff8089166000818152600b60209081526040808320875190951683529381528382205460a08701516001600160a01b039081168452600f83528584209484529382528483208a8452825293909120908501518154929093169290916001600160401b039091161115611f505760405162461bcd60e51b81526004016109d99061456b565b61ffff8a166000908152600e602052604090819020546001830154915163b71e0f7160e01b815290916001600160a01b0385169163b71e0f7191611f9c918b908b908790600401613e38565b600060405180830381600087803b158015611fb657600080fd5b505af1158015611fca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ff29190810190613808565b60a081015161ffff8d166000908152601060205260409020549195501492506120309150505760405162461bcd60e51b81526004016109d990614486565b866001600160a01b031681606001516001600160a01b0316146120655760405162461bcd60e51b81526004016109d990614149565b80516080820151606083015160408085015160c0860151915163c2fa481360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169563c2fa4813956120ce959194909391928e91906004016146bd565b600060405180830381600087803b1580156120e857600080fd5b505af11580156120fc573d6000803e3d6000fd5b505050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166000908152600460205260409020545b919050565b336000908152600f6020908152604080832061ffff8816845282528083208684529091529020805483116121935760405162461bcd60e51b81526004016109d990614200565b828155600181018290556040517fc5e97f049604c4d8626704341240f021a22cee0d8b66ec306a45344be67733a0906121d3908790339087908990614662565b60405180910390a15050505050565b6121ea61300d565b6001600160a01b03166121fb612682565b6001600160a01b031614612244576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b600481565b61229b61300d565b6001600160a01b03166122ac612682565b6001600160a01b0316146122f5576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b6001600160a01b03811661231b5760405162461bcd60e51b81526004016109d9906141b7565b61ffff8281166000908152600c602052604090205481161061234f5760405162461bcd60e51b81526004016109d99061437b565b61ffff8083166000908152600c602090815260408083208054808616600101861661ffff199091161790819055600b83528184209416835292905281902080546001600160a01b0384166001600160a01b0319909116179055517f802d55279d51813cb7a9a98e8fd2d7bec5346cb830901c11b85d1650cb857e9a906123d89084908490614645565b60405180910390a15050565b6123ec61300d565b6001600160a01b03166123fd612682565b6001600160a01b031614612446576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b61ffff8085166000908152600a6020908152604080832093871683529290522061247190838361348a565b507f4a5695eee2a74d548d5f5c485a3de99ace99e3b664c8e30a90f49be6ebb54932848484846040516124a794939291906147b7565b60405180910390a150505050565b6002600054141561250d576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556003546001600160a01b0316331461253c5760405162461bcd60e51b81526004016109d990613ebc565b6007546125499082613011565b600755600254612563906001600160a01b03168383613128565b7f3a20c8c3cd1848485ae8261a52398bb9b26f195b717306b3cf7f058e62c095d533838360405161259693929190613db5565b60405180910390a150506001600055565b6125af61300d565b6001600160a01b03166125c0612682565b6001600160a01b031614612609576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b61ffff82166000908152600e60205260409020541561263a5760405162461bcd60e51b81526004016109d9906144ce565b61ffff82166000908152600e602052604090819020829055517f0611bb2107e385b79ec826fff8ecc1c1248a7aae3c875c96668f8cfbf1734220906123d8908490849061468c565b6001546001600160a01b031690565b600581565b600e6020526000908152604090205481565b60046020526000908152604090205481565b6126c2613516565b6001600160a01b03808316600090815260086020908152604080832061ffff808916808652918452828520835160c081018552815480841682526001600160401b03620100008204811683890152600160501b82048a1683880152600160f01b909104841660608301526001909201549182166080820152600160401b90910490961660a08701529084526009909252909120825190911661276757805461ffff1682525b60208201516001600160401b03166127905780546201000090046001600160401b031660208301525b60408201516001600160a01b03166127ba578054600160501b90046001600160a01b031660408301525b606082015161ffff166127da578054600160f01b900461ffff1660608301525b60808201516001600160401b03166128005760018101546001600160401b031660808301525b60a08201516001600160a01b031661282d576001810154600160401b90046001600160a01b031660a08301525b509392505050565b61271081565b600c6020526000908152604090205461ffff1681565b600d60209081526000928352604080842090915290825290205460ff1681565b600f6020908152600093845260408085208252928452828420905282529020805460019091015482565b600b6020908152600092835260408084209091529082529020546001600160a01b031681565b60086020908152600092835260408084209091529082529020805460019091015461ffff808316926001600160401b036201000082048116936001600160a01b03600160501b8404811694600160f01b9094049093169291811691600160401b9091041686565b6001600160a01b031660009081526005602052604090205490565b60106020526000908152604090205481565b61295d61300d565b6001600160a01b031661296e612682565b6001600160a01b0316146129b7576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b61ffff8083166000908152600d602090815260408083209385168352929052819020805460ff19166001179055517fec23bee6f88cfecebb09d6aaaed66f0ce110debc1f61117c8270a7116597df9a906123d8908490849061471d565b612a1c61354b565b506001600160a01b0383166000908152600f6020908152604080832061ffff86168452825280832084845282529182902082518084019093528054835260010154908201529392505050565b612a7061300d565b6001600160a01b0316612a81612682565b6001600160a01b031614612aca576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b61ffff821660009081526010602052604090205415612afb5760405162461bcd60e51b81526004016109d99061433a565b61ffff821660009081526010602052604090819020829055517f0dad975e1d2fbe771c95cdcc7be9a1e61181de7173abe0a32b8f8f83140873e5906123d8908490849061468c565b612b4b61300d565b6001600160a01b0316612b5c612682565b6001600160a01b031614612ba5576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b6001600160a01b038116612bcb5760405162461bcd60e51b81526004016109d9906142f0565b600380546001600160a01b0319166001600160a01b0383161790556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390611e76908390613da1565b612c1e61300d565b6001600160a01b0316612c2f612682565b6001600160a01b031614612c78576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b6001600160a01b038116612cbd5760405162461bcd60e51b81526004018080602001828103825260268152602001806149f46026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60075481565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314612d675760405162461bcd60e51b81526004016109d9906143bd565b6001600160a01b038416600090815260086020908152604080832061ffff8916845290915290206001841415612df7576000612da5838501856138e3565b61ffff8089166000908152600c60205260409020549192509081169082161115612de15760405162461bcd60e51b81526004016109d9906142a0565b815461ffff191661ffff91909116178155612fc8565b6002841415612e38576000612e0e83850185613c71565b82546001600160401b03909116620100000269ffffffffffffffff00001990911617825550612fc8565b6003841415612e8f576000612e4f8385018561365a565b82546001600160a01b03909116600160501b027fffff0000000000000000000000000000000000000000ffffffffffffffffffff90911617825550612fc8565b6004841415612f2e576000612ea6838501856138e3565b61ffff8089166000908152600d602090815260408083209385168352929052205490915060ff1680612eda575061ffff8116155b612ef65760405162461bcd60e51b81526004016109d990613e76565b815461ffff909116600160f01b027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909116178155612fc8565b6005841415612f6e576000612f4583850185613c71565b60018301805467ffffffffffffffff19166001600160401b039290921691909117905550612fc8565b6006841415611d84576000612f858385018561365a565b6001830180546001600160a01b03909216600160401b027fffffffff0000000000000000000000000000000000000000ffffffffffffffff909216919091179055505b7ffc01bf86212a14151d51d1be5c2ac64d67d5ec823dfc6f53298d7ce3f3d3d25285858585604051612ffd9493929190613dd9565b60405180910390a1505050505050565b3390565b600082821115613068576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015611d9c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261312290859061317f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261317a90849061317f565b505050565b60006131d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166132309092919063ffffffff16565b80519091501561317a578080602001905160208110156131f357600080fd5b505161317a5760405162461bcd60e51b815260040180806020018281038252602a815260200180614a60602a913960400191505060405180910390fd5b606061323f8484600085613247565b949350505050565b6060824710156132885760405162461bcd60e51b8152600401808060200182810382526026815260200180614a1a6026913960400191505060405180910390fd5b613291856133a2565b6132e2576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106133205780518252601f199092019160209182019101613301565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613382576040519150601f19603f3d011682016040523d82523d6000602084013e613387565b606091505b50915091506133978282866133a8565b979650505050505050565b3b151590565b606083156133b7575081611d9c565b8251156133c75782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156134115781810151838201526020016133f9565b50505050905090810190601f16801561343e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826134c05760008555613506565b82601f106134d95782800160ff19823516178555613506565b82800160010185558215613506579182015b828111156135065782358255916020019190600101906134eb565b50613512929150613562565b5090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b604080518082019091526000808252602082015290565b5b808211156135125760008155600101613563565b8035612148816149b6565b8051612148816149b6565b60008083601f84011261359e578182fd5b5081356001600160401b038111156135b4578182fd5b6020830191508360208285010111156135cc57600080fd5b9250929050565b600082601f8301126135e3578081fd5b81516001600160401b038111156135f657fe5b613609601f8201601f1916602001614967565b81815284602083860101111561361d578283fd5b61323f82602083016020870161498a565b8035612148816149ce565b8051612148816149ce565b8035612148816149de565b8051612148816149de565b60006020828403121561366b578081fd5b8135611d9c816149b6565b60008060408385031215613688578081fd5b8235613693816149b6565b915060208301356136a3816149ce565b809150509250929050565b6000806000606084860312156136c2578081fd5b83356136cd816149b6565b925060208401356136dd816149ce565b929592945050506040919091013590565b60008060408385031215613700578182fd5b823561370b816149b6565b946020939093013593505050565b60008060008060008060008060008060006101008c8e03121561373a578687fd5b6137438c613577565b9a5061375160208d01613644565b995061375f60408d0161362e565b98506001600160401b038060608e01351115613779578788fd5b6137898e60608f01358f0161358d565b909950975060808d013581101561379e578687fd5b6137ae8e60808f01358f0161358d565b90975095506137bf60a08e01613577565b94506137cd60c08e01613577565b93508060e08e013511156137df578283fd5b506137f08d60e08e01358e0161358d565b81935080925050509295989b509295989b9093969950565b600060208284031215613819578081fd5b81516001600160401b038082111561382f578283fd5b9083019060e08286031215613842578283fd5b61384c60e0614967565b61385583613639565b815261386360208401613639565b60208201526138746040840161364f565b604082015261388560608401613582565b606082015260808301518281111561389b578485fd5b6138a7878286016135d3565b60808301525060a083015160a082015260c0830151828111156138c8578485fd5b6138d4878286016135d3565b60c08301525095945050505050565b6000602082840312156138f4578081fd5b8135611d9c816149ce565b60008060408385031215613911578182fd5b823561391c816149ce565b915060208301356136a3816149b6565b600080600080600080600060a0888a031215613946578081fd5b8735613951816149ce565b96506020880135613961816149b6565b955060408801356001600160401b038082111561397c578283fd5b6139888b838c0161358d565b909750955060608a0135915081151582146139a1578283fd5b909350608089013590808211156139b6578283fd5b506139c38a828b0161358d565b989b979a50959850939692959293505050565b6000806000606084860312156139ea578081fd5b83356139f5816149ce565b925060208401356136dd816149b6565b60008060008060008060a08789031215613a1d578384fd5b8635613a28816149ce565b95506020870135613a38816149b6565b9450604087013593506060870135925060808701356001600160401b03811115613a60578283fd5b613a6c89828a0161358d565b979a9699509497509295939492505050565b600080600080600060808688031215613a95578283fd5b8535613aa0816149ce565b94506020860135613ab0816149b6565b93506040860135925060608601356001600160401b03811115613ad1578182fd5b613add8882890161358d565b969995985093965092949392505050565b60008060408385031215613b00578182fd5b823561370b816149ce565b60008060008060808587031215613b20578182fd5b8435613b2b816149ce565b966020860135965060408601359560600135945092505050565b60008060408385031215613b57578182fd5b8235613693816149ce565b60008060008060608587031215613b77578182fd5b8435613b82816149ce565b93506020850135613b92816149ce565b925060408501356001600160401b03811115613bac578283fd5b613bb88782880161358d565b95989497509550505050565b600080600080600080600060e0888a031215613bde578081fd5b8735613be9816149ce565b96506020880135613bf9816149ce565b95506040880135613c09816149de565b94506060880135613c19816149b6565b93506080880135613c29816149ce565b925060a0880135613c39816149ce565b915060c0880135613c49816149b6565b8091505092959891949750929550565b600060208284031215613c6a578081fd5b5051919050565b600060208284031215613c82578081fd5b8135611d9c816149de565b60008060008060808587031215613ca2578182fd5b843560ff81168114613cb2578283fd5b93506020850135613cc2816149b6565b92506040850135613cd2816149b6565b9396929550929360600135925050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452613d2481602086016020860161498a565b601f01601f19169290920160200192915050565b90565b60c087901b77ffffffffffffffffffffffffffffffffffffffffffffffff19168152606086901b6bffffffffffffffffffffffff1916600882015260008486601c840137848201601c81018281528486823750909201601c019182525095945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b038616825284602083015260606040830152613e02606083018486613ce2565b9695505050505050565b901515815260200190565b92151583526020830191909152604082015260600190565b90815260200190565b600085825260606020830152613e52606083018587613ce2565b905082604083015295945050505050565b600060208252611d9c6020830184613d0c565b60208082526026908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e642070726f6f60408201526566207479706560d01b606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c792074726561737572790000000000000000604082015260600190565b6020808252601e908201527f4c617965725a65726f3a20496e76616c696420636f6e66696720747970650000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a207769746864726177206661696c6564000000000000604082015260600190565b60208082526025908201527f4c617965725a65726f3a206e6f7420656e6f756768206e617469766520666f72604082015264206665657360d81b606082015260800190565b60208082526031908201527f4c617965725a65726f3a205f6c617965725a65726f546f6b656e2063616e6e6f60408201527f74206265207a65726f2061646472657373000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c69642072656c61796572206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f4c617965725a65726f3a206661696c656420746f20726566756e640000000000604082015260600190565b6020808252602b908201527f4c617965725a65726f3a206d75737420626520706169642062792073656e646560408201526a391037b91037b934b3b4b760a91b606082015260800190565b60208082526021908201527f4c617965725a65726f3a20636861696e496420646f6573206e6f7420657869736040820152601d60fa1b606082015260800190565b60208082526021908201527f4c617965725a65726f3a20696e76616c6964206f7261636c65206164647265736040820152607360f81b606082015260800190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c69642064737420616464726573730000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a20696e76616c69642072656c61796572000000000000604082015260600190565b60208082526029908201527f4c617965725a65726f3a206c6962726172792063616e6e6f74206265207a65726040820152686f206164647265737360b81b606082015260800190565b60208082526043908201527f4c617965725a65726f3a206f7261636c6520646174612063616e206f6e6c792060408201527f75706461746520696620697420686173206d6f726520636f6e6669726d6174696060820152626f6e7360e81b608082015260a00190565b60208082526017908201527f4c617965725a65726f3a6f6e6c79207472656173757279000000000000000000604082015260600190565b60208082526030908201527f4c617965725a65726f3a20696e76616c696420696e626f756e642070726f6f6660408201526f103634b13930b93c903b32b939b4b7b760811b606082015260800190565b6020808252602a908201527f4c617965725a65726f3a2074726561737572792063616e6e6f74206265207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526021908201527f4c617965725a65726f3a2072656d6f746520756c6e20616c72656164792073656040820152601d60fa1b606082015260800190565b60208082526022908201527f4c617965725a65726f3a2063616e206e6f7420616464206e6577206c69627261604082015261727960f01b606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c7920656e64706f696e740000000000000000604082015260600190565b6020808252602e908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e6420626c6f6360408201526d359031b7b73334b936b0ba34b7b760911b606082015260800190565b60208082526024908201527f4c617965725a65726f3a20756e737570706f72746564207769746864726177206040820152637479706560e01b606082015260800190565b60208082526028908201527f4c617965725a65726f3a205f7061636b65742e756c6e41646472657373206973604082015267081a5b9d985b1a5960c21b606082015260800190565b60208082526030908201527f4c617965725a65726f3a2072656d6f746520636861696e20616464726573732060408201526f1cda5e9948185b1c9958591e481cd95d60821b606082015260800190565b6020808252602d908201527f4c617965725a65726f3a20696e76616c696420696e626f756e6420626c6f636b60408201526c1031b7b73334b936b0ba34b7b760991b606082015260800190565b60208082526029908201527f4c617965725a65726f3a206e6f7420656e6f75676820626c6f636b20636f6e6660408201526869726d6174696f6e7360b81b606082015260800190565b600060c08201905061ffff80845116835260208401516001600160401b038082166020860152604086015191506001600160a01b0380831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505092915050565b815181526020918201519181019190915260400190565b61ffff91909116815260200190565b61ffff9290921682526001600160a01b0316602082015260400190565b61ffff9490941684526001600160a01b039290921660208401526040830152606082015260800190565b61ffff929092168252602082015260400190565b600061ffff841682526040602083015261323f6040830184613d0c565b600061ffff8816825260c060208301526146da60c0830188613d0c565b6001600160a01b03871660408401526001600160401b038616606084015284608084015282810360a08401526147108185613d0c565b9998505050505050505050565b61ffff92831681529116602082015260400190565b600061ffff80891683528088166020840152506001600160a01b038616604083015284606083015260a0608083015261476f60a083018486613ce2565b98975050505050505050565b600061ffff80881683528087166020840152506001600160a01b038516604083015283606083015260a0608083015261339760a0830184613d0c565b600061ffff808716835280861660208401525060606040830152613e02606083018486613ce2565b600061ffff8086168352808516602084015250606060408301526148066060830184613d0c565b95945050505050565b61ffff93841681529190921660208201526001600160401b03909116604082015260600190565b61ffff978816815295871660208701526001600160401b039490941660408601526001600160a01b039283166060860152908516608085015290931660a083015290911660c082015260e00190565b61ffff96871681526001600160401b0395861660208201526001600160a01b03948516604082015292909516606083015290921660808301529190911660a082015260c00190565b600061ffff80881683526001600160401b038716602084015280861660408401525060806060830152613397608083018486613ce2565b918252602082015260400190565b6001600160401b0391909116815260200190565b60ff91909116815260200190565b60ff9590951685526001600160a01b03938416602086015291831660408501529091166060830152608082015260a00190565b6040518181016001600160401b038111828210171561498257fe5b604052919050565b60005b838110156149a557818101518382015260200161498d565b838111156131225750506000910152565b6001600160a01b03811681146149cb57600080fd5b50565b61ffff811681146149cb57600080fd5b6001600160401b03811681146149cb57600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212206e47e937e282686bbeb4423dd8ee5743753332d3b64b7a1b98386e46a4577dbc64736f6c63430007060033",
1472
- "deployedBytecode": "0x60806040526004361061031e5760003560e01c80638317814a116101a5578063d56bc64b116100ec578063ebfa08e911610095578063f2fde38b1161006f578063f2fde38b146108a4578063f47a5feb146108c4578063f8e1734c146108d9578063f9dd8e0f146108f95761031e565b8063ebfa08e914610837578063ed28580a14610864578063f0f44260146108845761031e565b8063e6108a82116100c6578063e6108a82146107d7578063ea216c21146107f7578063eb0d4c31146108175761031e565b8063d56bc64b14610777578063db00719b14610797578063ddfdef5a146107b75761031e565b8063a183608c1161014e578063b77d22ad11610128578063b77d22ad14610708578063b8e7e3e01461071d578063d543c7741461074a5761031e565b8063a183608c146106a6578063a4662222146106c6578063abe685cd146106f35761031e565b80638da5cb5b1161017f5780638da5cb5b1461065c578063904d3b8d14610671578063959f5943146106865761031e565b80638317814a146105fc5780638525b7111461061c57806387078f9f1461063c5761031e565b80634d0ca1b4116102695780635e280f1111610212578063715018a6116101ec578063715018a6146105b25780638140666e146105c75780638207f79d146105dc5761031e565b80635e280f111461055d57806361aa19da14610572578063704316e5146105925761031e565b806352d3b5001161024357806352d3b500146105085780635b5a2678146105285780635c0115311461053d5761031e565b80634d0ca1b4146104c05780634d3a0f7c146104d557806352d2871f146104e85761031e565b80632cfacb06116102cb57806331bd2430116102a557806331bd24301461046857806340a7bb101461047d57806349148c37146104ab5761031e565b80632cfacb06146103ff5780632e9959ec146104145780632f813464146104365761031e565b806318da0011116102fc57806318da00111461039d57806322c10776146103b25780632a819bbf146103d25761031e565b806302e72c631461032357806307b9ca7c14610359578063096607f81461037b575b600080fd5b34801561032f57600080fd5b5061034361033e36600461365a565b61090e565b6040516103509190613e2f565b60405180910390f35b34801561036557600080fd5b5061036e610920565b6040516103509190613da1565b34801561038757600080fd5b5061039b610396366004613bc4565b61092f565b005b3480156103a957600080fd5b5061036e610c7c565b3480156103be57600080fd5b5061039b6103cd366004613c8d565b610c8b565b3480156103de57600080fd5b506103f26103ed366004613b45565b610e84565b6040516103509190613e63565b34801561040b57600080fd5b50610343610f28565b34801561042057600080fd5b50610429610f2d565b6040516103509190614926565b34801561044257600080fd5b506104566104513660046138e3565b610f32565b60405161035096959493929190614885565b34801561047457600080fd5b50610343610f8e565b34801561048957600080fd5b5061049d61049836600461392c565b610f93565b604051610350929190614904565b3480156104b757600080fd5b50610343611326565b3480156104cc57600080fd5b5061042961132b565b61039b6104e3366004613719565b611330565b3480156104f457600080fd5b506103f26105033660046139d6565b611ab6565b34801561051457600080fd5b5061039b61052336600461365a565b611da3565b34801561053457600080fd5b50610343611e81565b34801561054957600080fd5b5061039b610558366004613a05565b611e87565b34801561056957600080fd5b5061036e61210a565b34801561057e57600080fd5b5061034361058d36600461365a565b61212e565b34801561059e57600080fd5b5061039b6105ad366004613b0b565b61214d565b3480156105be57600080fd5b5061039b6121e2565b3480156105d357600080fd5b5061034361228e565b3480156105e857600080fd5b5061039b6105f73660046138ff565b612293565b34801561060857600080fd5b5061039b610617366004613b62565b6123e4565b34801561062857600080fd5b5061039b6106373660046136ee565b6124b5565b34801561064857600080fd5b5061039b610657366004613aee565b6125a7565b34801561066857600080fd5b5061036e612682565b34801561067d57600080fd5b50610343612691565b34801561069257600080fd5b506103436106a13660046138e3565b612696565b3480156106b257600080fd5b506103436106c136600461365a565b6126a8565b3480156106d257600080fd5b506106e66106e13660046138ff565b6126ba565b60405161035091906145b4565b3480156106ff57600080fd5b50610343612835565b34801561071457600080fd5b50610343610f2d565b34801561072957600080fd5b5061073d6107383660046138e3565b61283b565b6040516103509190614636565b34801561075657600080fd5b5061076a610765366004613b45565b612851565b6040516103509190613e0c565b34801561078357600080fd5b5061049d6107923660046136ae565b612871565b3480156107a357600080fd5b5061036e6107b2366004613b45565b61289b565b3480156107c357600080fd5b506104566107d2366004613676565b6128c1565b3480156107e357600080fd5b506103436107f236600461365a565b612928565b34801561080357600080fd5b506103436108123660046138e3565b612943565b34801561082357600080fd5b5061039b610832366004613b45565b612955565b34801561084357600080fd5b506108576108523660046136ae565b612a14565b604051610350919061461f565b34801561087057600080fd5b5061039b61087f366004613aee565b612a68565b34801561089057600080fd5b5061039b61089f36600461365a565b612b43565b3480156108b057600080fd5b5061039b6108bf36600461365a565b612c16565b3480156108d057600080fd5b50610343612d19565b3480156108e557600080fd5b5061039b6108f4366004613a7e565b612d1f565b34801561090557600080fd5b50610429611326565b60056020526000908152604090205481565b6002546001600160a01b031681565b61093761300d565b6001600160a01b0316610948612682565b6001600160a01b031614610991576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b61ffff8088166000908152600c60205260409020548116908716118015906109bd575060008661ffff16115b6109e25760405162461bcd60e51b81526004016109d9906142a0565b60405180910390fd5b6000856001600160401b031611610a0b5760405162461bcd60e51b81526004016109d99061451e565b6001600160a01b038416610a315760405162461bcd60e51b81526004016109d990614003565b61ffff8088166000908152600d602090815260408083209387168352929052205460ff16610a715760405162461bcd60e51b81526004016109d990613e76565b60008261ffff1611610a955760405162461bcd60e51b81526004016109d9906143f4565b6001600160a01b038116610abb5760405162461bcd60e51b81526004016109d990614108565b6040518060c001604052808761ffff168152602001866001600160401b03168152602001856001600160a01b031681526020018461ffff1681526020018361ffff166001600160401b03168152602001826001600160a01b0316815250600960008961ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548161ffff021916908361ffff16021790555060208201518160000160026101000a8154816001600160401b0302191690836001600160401b03160217905550604082015181600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600001601e6101000a81548161ffff021916908361ffff16021790555060808201518160010160006101000a8154816001600160401b0302191690836001600160401b0316021790555060a08201518160010160086101000a8154816001600160a01b0302191690836001600160a01b031602179055509050507f45bb8a2b6b05457ff80b84be5bf06f2d05069fa8099fcb9d8e34149654b4d5c287878787878787604051610c6b9796959493929190614836565b60405180910390a150505050505050565b6003546001600160a01b031681565b60026000541415610ce3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005560ff8416610d2f576003546001600160a01b03163314610d1a5760405162461bcd60e51b81526004016109d990614269565b600654610d279082613011565b600655610dbd565b60ff841660011415610d6a5733600090815260046020526040902054610d559082613011565b33600090815260046020526040902055610dbd565b60ff841660021415610da55733600090815260056020526040902054610d909082613011565b33600090815260056020526040902055610dbd565b60405162461bcd60e51b81526004016109d990614442565b6000826001600160a01b031682604051610dd690613d38565b60006040518083038185875af1925050503d8060008114610e13576040519150601f19603f3d011682016040523d82523d6000602084013e610e18565b606091505b5050905080610e395760405162461bcd60e51b81526004016109d990613f2a565b7f163adce0473e267e1db8ecb524c0fcdceda62c3e6f231966bbb252e0104325378585338686604051610e70959493929190614934565b60405180910390a150506001600055505050565b600a6020908152600092835260408084208252918352918190208054825160026001831615610100026000190190921691909104601f810185900485028201850190935282815292909190830182828015610f205780601f10610ef557610100808354040283529160200191610f20565b820191906000526020600020905b815481529060010190602001808311610f0357829003601f168201915b505050505081565b600381565b600181565b6009602052600090815260409020805460019091015461ffff808316926001600160401b036201000082048116936001600160a01b03600160501b8404811694600160f01b9094049093169291811691600160401b9091041686565b600681565b604080516020601f840181900481028201810190925282815260009182918a918a91899185919089908990819084018382808284376000920182905250939450610fe392508791508690506126ba565b905060008251600014156111355761ffff8681166000908152600a60209081526040808320606087015190941683529281528282208054845160026001831615610100026000190190921691909104601f81018490048402820184019095528481529293909183018282801561109a5780601f1061106f5761010080835404028352916020019161109a565b820191906000526020600020905b81548152906001019060200180831161107d57829003601f168201915b5050505050905082604001516001600160a01b031663e54a22158885606001518989866040518663ffffffff1660e01b81526004016110dd95949392919061477b565b60206040518083038186803b1580156110f557600080fd5b505afa158015611109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112d9190613c59565b9150506111c4565b81604001516001600160a01b031663e54a22158784606001518888886040518663ffffffff1660e01b815260040161117195949392919061477b565b60206040518083038186803b15801561118957600080fd5b505afa15801561119d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c19190613c59565b90505b60a08201516060830151604051630b4d510760e01b81526000926001600160a01b031691630b4d5107916111fc918b9160040161471d565b60206040518083038186803b15801561121457600080fd5b505afa158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613c59565b90506000600360009054906101000a90046001600160a01b03166001600160a01b0316635cbbbd758e85856040518463ffffffff1660e01b815260040161129593929190613e17565b60206040518083038186803b1580156112ad57600080fd5b505afa1580156112c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e59190613c59565b90508c6112f557809950896112fa565b809850885b5061131190508161130b8b8561306e565b9061306e565b98505050505050505097509795505050505050565b600281565b600081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146113785760405162461bcd60e51b81526004016109d9906143bd565b60006113848a8d6126ba565b61ffff8b166000908152601060205260409020549091508c908c908c906113bd5760405162461bcd60e51b81526004016109d9906140c7565b6000808560a001516001600160a01b0316630b4d51078488606001516040518363ffffffff1660e01b81526004016113f692919061471d565b60206040518083038186803b15801561140e57600080fd5b505afa158015611422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114469190613c59565b60a08701516001600160a01b0316600090815260046020526040902054909150611470908261306e565b60a08701516001600160a01b031660009081526004602052604090819020919091558601518b90886116435761ffff8581166000908152600a6020908152604080832060608d015190941683529281528282208054845160026001831615610100026000190190921691909104601f8101849004840282018401909552848152929390918301828280156115455780601f1061151a57610100808354040283529160200191611545565b820191906000526020600020905b81548152906001019060200180831161152857829003601f168201915b5050505060608b015160405163e54a221560e01b81529293506001600160a01b0385169263e54a22159250611584918a918d908990889060040161477b565b60206040518083038186803b15801561159c57600080fd5b505afa1580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613c59565b60608a0151604051631d2fdc1560e11b81529196506001600160a01b03841691633a5fb82a9161160b918a919086906004016147df565b600060405180830381600087803b15801561162557600080fd5b505af1158015611639573d6000803e3d6000fd5b5050505050611739565b806001600160a01b031663e54a2215868a606001518a868f8f6040518763ffffffff1660e01b815260040161167d96959493929190614732565b60206040518083038186803b15801561169557600080fd5b505afa1580156116a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cd9190613c59565b6060890151604051631d2fdc1560e11b81529195506001600160a01b03831691633a5fb82a91611706918991908f908f906004016147b7565b600060405180830381600087803b15801561172057600080fd5b505af1158015611734573d6000803e3d6000fd5b505050505b6040808901516001600160a01b031660009081526005602052205461175e908561306e565b6040808a01516001600160a01b03166000908152600560205281902091909155606089015190517fb8a7262132db1f61626604a31c3de81dc1a5bb0f1511dfa70d626ab1b88b52c2916117b89188918a918f908f906148cd565b60405180910390a150600090506001600160a01b038a1615806117e457506002546001600160a01b0316155b600354604051635cbbbd7560e01b81529192506000916001600160a01b0390911690635cbbbd759061181f9085159088908890600401613e17565b60206040518083038186803b15801561183757600080fd5b505afa15801561184b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186f9190613c59565b9050801561190b57811561189e5760065461188a908261306e565b600655611897848261306e565b935061190b565b866001600160a01b03168b6001600160a01b031614806118c657506001600160a01b038b1632145b6118e25760405162461bcd60e51b81526004016109d99061407c565b6002546118fa906001600160a01b03168c30846130c8565b600754611907908261306e565b6007555b506119189050828261306e565b915050600083858f8f8f8f60405160200161193896959493929190613d3b565b60405160208183030381529060405290507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f6838260405161197a9291906146a0565b60405180910390a160a086015160608701516080880151604051636653057960e01b81526001600160a01b03909316926366530579926119be92889260040161480f565b600060405180830381600087803b1580156119d857600080fd5b505af11580156119ec573d6000803e3d6000fd5b505050505034811115611a115760405162461bcd60e51b81526004016109d990613f61565b6000611a1d3483613011565b90508015611aa35760008a6001600160a01b031682604051611a3e90613d38565b60006040518083038185875af1925050503d8060008114611a7b576040519150601f19603f3d011682016040523d82523d6000602084013e611a80565b606091505b5050905080611aa15760405162461bcd60e51b81526004016109d990614045565b505b5050505050505050505050505050505050565b6001600160a01b038216600090815260086020908152604080832061ffff8716845290915290206060906001831415611b4a57805461ffff16611b345761ffff808616600090815260096020908152604091829020549151611b1d93929092169101614636565b604051602081830303815290604052915050611d9c565b8054604051611b1d9161ffff1690602001614636565b6002831415611bbd5780546201000090046001600160401b0316611b9c5761ffff8516600090815260096020908152604091829020549151611b1d926201000090046001600160401b03169101614912565b8054604051611b1d916201000090046001600160401b031690602001614912565b6003831415611c33578054600160501b90046001600160a01b0316611c115761ffff8516600090815260096020908152604091829020549151611b1d92600160501b90046001600160a01b03169101613da1565b8054604051611b1d91600160501b90046001600160a01b031690602001613da1565b6004831415611c9b578054600160f01b900461ffff16611c7e5761ffff808616600090815260096020908152604091829020549151611b1d93600160f01b9093049092169101614636565b8054604051611b1d91600160f01b900461ffff1690602001614636565b6005831415611d055760018101546001600160401b0316611ce75761ffff8516600090815260096020908152604091829020600101549151611b1d926001600160401b03169101614912565b6001810154604051611b1d916001600160401b031690602001614912565b6006831415611d84576001810154600160401b90046001600160a01b0316611d5f5761ffff8516600090815260096020908152604091829020600101549151611b1d92600160401b90046001600160a01b03169101613da1565b6001810154604051611b1d91600160401b90046001600160a01b031690602001613da1565b60405162461bcd60e51b81526004016109d990613ef3565b9392505050565b611dab61300d565b6001600160a01b0316611dbc612682565b6001600160a01b031614611e05576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b6001600160a01b038116611e2b5760405162461bcd60e51b81526004016109d990613fa6565b600280546001600160a01b0319166001600160a01b0383161790556040517f33d644987381deff4408951d55afa136f124e22a7810b163b2aaa3ebef770f6490611e76908390613da1565b60405180910390a150565b60065481565b6000611e9387876126ba565b60408101519091506001600160a01b03163314611ec25760405162461bcd60e51b81526004016109d990614180565b611eca61344c565b61ffff8089166000818152600b60209081526040808320875190951683529381528382205460a08701516001600160a01b039081168452600f83528584209484529382528483208a8452825293909120908501518154929093169290916001600160401b039091161115611f505760405162461bcd60e51b81526004016109d99061456b565b61ffff8a166000908152600e602052604090819020546001830154915163b71e0f7160e01b815290916001600160a01b0385169163b71e0f7191611f9c918b908b908790600401613e38565b600060405180830381600087803b158015611fb657600080fd5b505af1158015611fca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ff29190810190613808565b60a081015161ffff8d166000908152601060205260409020549195501492506120309150505760405162461bcd60e51b81526004016109d990614486565b866001600160a01b031681606001516001600160a01b0316146120655760405162461bcd60e51b81526004016109d990614149565b80516080820151606083015160408085015160c0860151915163c2fa481360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169563c2fa4813956120ce959194909391928e91906004016146bd565b600060405180830381600087803b1580156120e857600080fd5b505af11580156120fc573d6000803e3d6000fd5b505050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166000908152600460205260409020545b919050565b336000908152600f6020908152604080832061ffff8816845282528083208684529091529020805483116121935760405162461bcd60e51b81526004016109d990614200565b828155600181018290556040517fc5e97f049604c4d8626704341240f021a22cee0d8b66ec306a45344be67733a0906121d3908790339087908990614662565b60405180910390a15050505050565b6121ea61300d565b6001600160a01b03166121fb612682565b6001600160a01b031614612244576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b600481565b61229b61300d565b6001600160a01b03166122ac612682565b6001600160a01b0316146122f5576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b6001600160a01b03811661231b5760405162461bcd60e51b81526004016109d9906141b7565b61ffff8281166000908152600c602052604090205481161061234f5760405162461bcd60e51b81526004016109d99061437b565b61ffff8083166000908152600c602090815260408083208054808616600101861661ffff199091161790819055600b83528184209416835292905281902080546001600160a01b0384166001600160a01b0319909116179055517f802d55279d51813cb7a9a98e8fd2d7bec5346cb830901c11b85d1650cb857e9a906123d89084908490614645565b60405180910390a15050565b6123ec61300d565b6001600160a01b03166123fd612682565b6001600160a01b031614612446576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b61ffff8085166000908152600a6020908152604080832093871683529290522061247190838361348a565b507f4a5695eee2a74d548d5f5c485a3de99ace99e3b664c8e30a90f49be6ebb54932848484846040516124a794939291906147b7565b60405180910390a150505050565b6002600054141561250d576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556003546001600160a01b0316331461253c5760405162461bcd60e51b81526004016109d990613ebc565b6007546125499082613011565b600755600254612563906001600160a01b03168383613128565b7f3a20c8c3cd1848485ae8261a52398bb9b26f195b717306b3cf7f058e62c095d533838360405161259693929190613db5565b60405180910390a150506001600055565b6125af61300d565b6001600160a01b03166125c0612682565b6001600160a01b031614612609576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b61ffff82166000908152600e60205260409020541561263a5760405162461bcd60e51b81526004016109d9906144ce565b61ffff82166000908152600e602052604090819020829055517f0611bb2107e385b79ec826fff8ecc1c1248a7aae3c875c96668f8cfbf1734220906123d8908490849061468c565b6001546001600160a01b031690565b600581565b600e6020526000908152604090205481565b60046020526000908152604090205481565b6126c2613516565b6001600160a01b03808316600090815260086020908152604080832061ffff808916808652918452828520835160c081018552815480841682526001600160401b03620100008204811683890152600160501b82048a1683880152600160f01b909104841660608301526001909201549182166080820152600160401b90910490961660a08701529084526009909252909120825190911661276757805461ffff1682525b60208201516001600160401b03166127905780546201000090046001600160401b031660208301525b60408201516001600160a01b03166127ba578054600160501b90046001600160a01b031660408301525b606082015161ffff166127da578054600160f01b900461ffff1660608301525b60808201516001600160401b03166128005760018101546001600160401b031660808301525b60a08201516001600160a01b031661282d576001810154600160401b90046001600160a01b031660a08301525b509392505050565b61271081565b600c6020526000908152604090205461ffff1681565b600d60209081526000928352604080842090915290825290205460ff1681565b600f6020908152600093845260408085208252928452828420905282529020805460019091015482565b600b6020908152600092835260408084209091529082529020546001600160a01b031681565b60086020908152600092835260408084209091529082529020805460019091015461ffff808316926001600160401b036201000082048116936001600160a01b03600160501b8404811694600160f01b9094049093169291811691600160401b9091041686565b6001600160a01b031660009081526005602052604090205490565b60106020526000908152604090205481565b61295d61300d565b6001600160a01b031661296e612682565b6001600160a01b0316146129b7576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b61ffff8083166000908152600d602090815260408083209385168352929052819020805460ff19166001179055517fec23bee6f88cfecebb09d6aaaed66f0ce110debc1f61117c8270a7116597df9a906123d8908490849061471d565b612a1c61354b565b506001600160a01b0383166000908152600f6020908152604080832061ffff86168452825280832084845282529182902082518084019093528054835260010154908201529392505050565b612a7061300d565b6001600160a01b0316612a81612682565b6001600160a01b031614612aca576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b61ffff821660009081526010602052604090205415612afb5760405162461bcd60e51b81526004016109d99061433a565b61ffff821660009081526010602052604090819020829055517f0dad975e1d2fbe771c95cdcc7be9a1e61181de7173abe0a32b8f8f83140873e5906123d8908490849061468c565b612b4b61300d565b6001600160a01b0316612b5c612682565b6001600160a01b031614612ba5576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b6001600160a01b038116612bcb5760405162461bcd60e51b81526004016109d9906142f0565b600380546001600160a01b0319166001600160a01b0383161790556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef390611e76908390613da1565b612c1e61300d565b6001600160a01b0316612c2f612682565b6001600160a01b031614612c78576040805162461bcd60e51b81526020600482018190526024820152600080516020614a40833981519152604482015290519081900360640190fd5b6001600160a01b038116612cbd5760405162461bcd60e51b81526004018080602001828103825260268152602001806149f46026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60075481565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314612d675760405162461bcd60e51b81526004016109d9906143bd565b6001600160a01b038416600090815260086020908152604080832061ffff8916845290915290206001841415612df7576000612da5838501856138e3565b61ffff8089166000908152600c60205260409020549192509081169082161115612de15760405162461bcd60e51b81526004016109d9906142a0565b815461ffff191661ffff91909116178155612fc8565b6002841415612e38576000612e0e83850185613c71565b82546001600160401b03909116620100000269ffffffffffffffff00001990911617825550612fc8565b6003841415612e8f576000612e4f8385018561365a565b82546001600160a01b03909116600160501b027fffff0000000000000000000000000000000000000000ffffffffffffffffffff90911617825550612fc8565b6004841415612f2e576000612ea6838501856138e3565b61ffff8089166000908152600d602090815260408083209385168352929052205490915060ff1680612eda575061ffff8116155b612ef65760405162461bcd60e51b81526004016109d990613e76565b815461ffff909116600160f01b027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909116178155612fc8565b6005841415612f6e576000612f4583850185613c71565b60018301805467ffffffffffffffff19166001600160401b039290921691909117905550612fc8565b6006841415611d84576000612f858385018561365a565b6001830180546001600160a01b03909216600160401b027fffffffff0000000000000000000000000000000000000000ffffffffffffffff909216919091179055505b7ffc01bf86212a14151d51d1be5c2ac64d67d5ec823dfc6f53298d7ce3f3d3d25285858585604051612ffd9493929190613dd9565b60405180910390a1505050505050565b3390565b600082821115613068576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015611d9c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261312290859061317f565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261317a90849061317f565b505050565b60006131d4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166132309092919063ffffffff16565b80519091501561317a578080602001905160208110156131f357600080fd5b505161317a5760405162461bcd60e51b815260040180806020018281038252602a815260200180614a60602a913960400191505060405180910390fd5b606061323f8484600085613247565b949350505050565b6060824710156132885760405162461bcd60e51b8152600401808060200182810382526026815260200180614a1a6026913960400191505060405180910390fd5b613291856133a2565b6132e2576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106133205780518252601f199092019160209182019101613301565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613382576040519150601f19603f3d011682016040523d82523d6000602084013e613387565b606091505b50915091506133978282866133a8565b979650505050505050565b3b151590565b606083156133b7575081611d9c565b8251156133c75782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156134115781810151838201526020016133f9565b50505050905090810190601f16801561343e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826134c05760008555613506565b82601f106134d95782800160ff19823516178555613506565b82800160010185558215613506579182015b828111156135065782358255916020019190600101906134eb565b50613512929150613562565b5090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b604080518082019091526000808252602082015290565b5b808211156135125760008155600101613563565b8035612148816149b6565b8051612148816149b6565b60008083601f84011261359e578182fd5b5081356001600160401b038111156135b4578182fd5b6020830191508360208285010111156135cc57600080fd5b9250929050565b600082601f8301126135e3578081fd5b81516001600160401b038111156135f657fe5b613609601f8201601f1916602001614967565b81815284602083860101111561361d578283fd5b61323f82602083016020870161498a565b8035612148816149ce565b8051612148816149ce565b8035612148816149de565b8051612148816149de565b60006020828403121561366b578081fd5b8135611d9c816149b6565b60008060408385031215613688578081fd5b8235613693816149b6565b915060208301356136a3816149ce565b809150509250929050565b6000806000606084860312156136c2578081fd5b83356136cd816149b6565b925060208401356136dd816149ce565b929592945050506040919091013590565b60008060408385031215613700578182fd5b823561370b816149b6565b946020939093013593505050565b60008060008060008060008060008060006101008c8e03121561373a578687fd5b6137438c613577565b9a5061375160208d01613644565b995061375f60408d0161362e565b98506001600160401b038060608e01351115613779578788fd5b6137898e60608f01358f0161358d565b909950975060808d013581101561379e578687fd5b6137ae8e60808f01358f0161358d565b90975095506137bf60a08e01613577565b94506137cd60c08e01613577565b93508060e08e013511156137df578283fd5b506137f08d60e08e01358e0161358d565b81935080925050509295989b509295989b9093969950565b600060208284031215613819578081fd5b81516001600160401b038082111561382f578283fd5b9083019060e08286031215613842578283fd5b61384c60e0614967565b61385583613639565b815261386360208401613639565b60208201526138746040840161364f565b604082015261388560608401613582565b606082015260808301518281111561389b578485fd5b6138a7878286016135d3565b60808301525060a083015160a082015260c0830151828111156138c8578485fd5b6138d4878286016135d3565b60c08301525095945050505050565b6000602082840312156138f4578081fd5b8135611d9c816149ce565b60008060408385031215613911578182fd5b823561391c816149ce565b915060208301356136a3816149b6565b600080600080600080600060a0888a031215613946578081fd5b8735613951816149ce565b96506020880135613961816149b6565b955060408801356001600160401b038082111561397c578283fd5b6139888b838c0161358d565b909750955060608a0135915081151582146139a1578283fd5b909350608089013590808211156139b6578283fd5b506139c38a828b0161358d565b989b979a50959850939692959293505050565b6000806000606084860312156139ea578081fd5b83356139f5816149ce565b925060208401356136dd816149b6565b60008060008060008060a08789031215613a1d578384fd5b8635613a28816149ce565b95506020870135613a38816149b6565b9450604087013593506060870135925060808701356001600160401b03811115613a60578283fd5b613a6c89828a0161358d565b979a9699509497509295939492505050565b600080600080600060808688031215613a95578283fd5b8535613aa0816149ce565b94506020860135613ab0816149b6565b93506040860135925060608601356001600160401b03811115613ad1578182fd5b613add8882890161358d565b969995985093965092949392505050565b60008060408385031215613b00578182fd5b823561370b816149ce565b60008060008060808587031215613b20578182fd5b8435613b2b816149ce565b966020860135965060408601359560600135945092505050565b60008060408385031215613b57578182fd5b8235613693816149ce565b60008060008060608587031215613b77578182fd5b8435613b82816149ce565b93506020850135613b92816149ce565b925060408501356001600160401b03811115613bac578283fd5b613bb88782880161358d565b95989497509550505050565b600080600080600080600060e0888a031215613bde578081fd5b8735613be9816149ce565b96506020880135613bf9816149ce565b95506040880135613c09816149de565b94506060880135613c19816149b6565b93506080880135613c29816149ce565b925060a0880135613c39816149ce565b915060c0880135613c49816149b6565b8091505092959891949750929550565b600060208284031215613c6a578081fd5b5051919050565b600060208284031215613c82578081fd5b8135611d9c816149de565b60008060008060808587031215613ca2578182fd5b843560ff81168114613cb2578283fd5b93506020850135613cc2816149b6565b92506040850135613cd2816149b6565b9396929550929360600135925050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452613d2481602086016020860161498a565b601f01601f19169290920160200192915050565b90565b60c087901b77ffffffffffffffffffffffffffffffffffffffffffffffff19168152606086901b6bffffffffffffffffffffffff1916600882015260008486601c840137848201601c81018281528486823750909201601c019182525095945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b038616825284602083015260606040830152613e02606083018486613ce2565b9695505050505050565b901515815260200190565b92151583526020830191909152604082015260600190565b90815260200190565b600085825260606020830152613e52606083018587613ce2565b905082604083015295945050505050565b600060208252611d9c6020830184613d0c565b60208082526026908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e642070726f6f60408201526566207479706560d01b606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c792074726561737572790000000000000000604082015260600190565b6020808252601e908201527f4c617965725a65726f3a20496e76616c696420636f6e66696720747970650000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a207769746864726177206661696c6564000000000000604082015260600190565b60208082526025908201527f4c617965725a65726f3a206e6f7420656e6f756768206e617469766520666f72604082015264206665657360d81b606082015260800190565b60208082526031908201527f4c617965725a65726f3a205f6c617965725a65726f546f6b656e2063616e6e6f60408201527f74206265207a65726f2061646472657373000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c69642072656c61796572206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f4c617965725a65726f3a206661696c656420746f20726566756e640000000000604082015260600190565b6020808252602b908201527f4c617965725a65726f3a206d75737420626520706169642062792073656e646560408201526a391037b91037b934b3b4b760a91b606082015260800190565b60208082526021908201527f4c617965725a65726f3a20636861696e496420646f6573206e6f7420657869736040820152601d60fa1b606082015260800190565b60208082526021908201527f4c617965725a65726f3a20696e76616c6964206f7261636c65206164647265736040820152607360f81b606082015260800190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c69642064737420616464726573730000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a20696e76616c69642072656c61796572000000000000604082015260600190565b60208082526029908201527f4c617965725a65726f3a206c6962726172792063616e6e6f74206265207a65726040820152686f206164647265737360b81b606082015260800190565b60208082526043908201527f4c617965725a65726f3a206f7261636c6520646174612063616e206f6e6c792060408201527f75706461746520696620697420686173206d6f726520636f6e6669726d6174696060820152626f6e7360e81b608082015260a00190565b60208082526017908201527f4c617965725a65726f3a6f6e6c79207472656173757279000000000000000000604082015260600190565b60208082526030908201527f4c617965725a65726f3a20696e76616c696420696e626f756e642070726f6f6660408201526f103634b13930b93c903b32b939b4b7b760811b606082015260800190565b6020808252602a908201527f4c617965725a65726f3a2074726561737572792063616e6e6f74206265207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526021908201527f4c617965725a65726f3a2072656d6f746520756c6e20616c72656164792073656040820152601d60fa1b606082015260800190565b60208082526022908201527f4c617965725a65726f3a2063616e206e6f7420616464206e6577206c69627261604082015261727960f01b606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c7920656e64706f696e740000000000000000604082015260600190565b6020808252602e908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e6420626c6f6360408201526d359031b7b73334b936b0ba34b7b760911b606082015260800190565b60208082526024908201527f4c617965725a65726f3a20756e737570706f72746564207769746864726177206040820152637479706560e01b606082015260800190565b60208082526028908201527f4c617965725a65726f3a205f7061636b65742e756c6e41646472657373206973604082015267081a5b9d985b1a5960c21b606082015260800190565b60208082526030908201527f4c617965725a65726f3a2072656d6f746520636861696e20616464726573732060408201526f1cda5e9948185b1c9958591e481cd95d60821b606082015260800190565b6020808252602d908201527f4c617965725a65726f3a20696e76616c696420696e626f756e6420626c6f636b60408201526c1031b7b73334b936b0ba34b7b760991b606082015260800190565b60208082526029908201527f4c617965725a65726f3a206e6f7420656e6f75676820626c6f636b20636f6e6660408201526869726d6174696f6e7360b81b606082015260800190565b600060c08201905061ffff80845116835260208401516001600160401b038082166020860152604086015191506001600160a01b0380831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505092915050565b815181526020918201519181019190915260400190565b61ffff91909116815260200190565b61ffff9290921682526001600160a01b0316602082015260400190565b61ffff9490941684526001600160a01b039290921660208401526040830152606082015260800190565b61ffff929092168252602082015260400190565b600061ffff841682526040602083015261323f6040830184613d0c565b600061ffff8816825260c060208301526146da60c0830188613d0c565b6001600160a01b03871660408401526001600160401b038616606084015284608084015282810360a08401526147108185613d0c565b9998505050505050505050565b61ffff92831681529116602082015260400190565b600061ffff80891683528088166020840152506001600160a01b038616604083015284606083015260a0608083015261476f60a083018486613ce2565b98975050505050505050565b600061ffff80881683528087166020840152506001600160a01b038516604083015283606083015260a0608083015261339760a0830184613d0c565b600061ffff808716835280861660208401525060606040830152613e02606083018486613ce2565b600061ffff8086168352808516602084015250606060408301526148066060830184613d0c565b95945050505050565b61ffff93841681529190921660208201526001600160401b03909116604082015260600190565b61ffff978816815295871660208701526001600160401b039490941660408601526001600160a01b039283166060860152908516608085015290931660a083015290911660c082015260e00190565b61ffff96871681526001600160401b0395861660208201526001600160a01b03948516604082015292909516606083015290921660808301529190911660a082015260c00190565b600061ffff80881683526001600160401b038716602084015280861660408401525060806060830152613397608083018486613ce2565b918252602082015260400190565b6001600160401b0391909116815260200190565b60ff91909116815260200190565b60ff9590951685526001600160a01b03938416602086015291831660408501529091166060830152608082015260a00190565b6040518181016001600160401b038111828210171561498257fe5b604052919050565b60005b838110156149a557818101518382015260200161498d565b838111156131225750506000910152565b6001600160a01b03811681146149cb57600080fd5b50565b61ffff811681146149cb57600080fd5b6001600160401b03811681146149cb57600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212206e47e937e282686bbeb4423dd8ee5743753332d3b64b7a1b98386e46a4577dbc64736f6c63430007060033",
1471
+ "bytecode": "0x60a06040523480156200001157600080fd5b5060405162005306380380620053068339810160408190526200003491620000df565b6001600090815562000045620000db565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b038116620000c55760405162461bcd60e51b8152600401620000bc906200010f565b60405180910390fd5b60601b6001600160601b03191660805262000159565b3390565b600060208284031215620000f1578081fd5b81516001600160a01b038116811462000108578182fd5b9392505050565b6020808252602a908201527f4c617965725a65726f3a20656e64706f696e742063616e6e6f74206265207a65604082015269726f206164647265737360b01b606082015260800190565b60805160601c61518062000186600039806113c852806122b9528061233352806130ee52506151806000f3fe60806040526004361061031e5760003560e01c80638317814a116101a5578063d56bc64b116100ec578063ebfa08e911610095578063f2fde38b1161006f578063f2fde38b146108a4578063f47a5feb146108c4578063f8e1734c146108d9578063f9dd8e0f146108f95761031e565b8063ebfa08e914610837578063ed28580a14610864578063f0f44260146108845761031e565b8063e6108a82116100c6578063e6108a82146107d7578063ea216c21146107f7578063eb0d4c31146108175761031e565b8063d56bc64b14610777578063db00719b14610797578063ddfdef5a146107b75761031e565b8063a183608c1161014e578063b77d22ad11610128578063b77d22ad14610708578063b8e7e3e01461071d578063d543c7741461074a5761031e565b8063a183608c146106a6578063a4662222146106c6578063abe685cd146106f35761031e565b80638da5cb5b1161017f5780638da5cb5b1461065c578063904d3b8d14610671578063959f5943146106865761031e565b80638317814a146105fc5780638525b7111461061c57806387078f9f1461063c5761031e565b80634d0ca1b4116102695780635e280f1111610212578063715018a6116101ec578063715018a6146105b25780638140666e146105c75780638207f79d146105dc5761031e565b80635e280f111461055d57806361aa19da14610572578063704316e5146105925761031e565b806352d3b5001161024357806352d3b500146105085780635b5a2678146105285780635c0115311461053d5761031e565b80634d0ca1b4146104c05780634d3a0f7c146104d557806352d2871f146104e85761031e565b80632cfacb06116102cb57806331bd2430116102a557806331bd24301461046857806340a7bb101461047d57806349148c37146104ab5761031e565b80632cfacb06146103ff5780632e9959ec146104145780632f813464146104365761031e565b806318da0011116102fc57806318da00111461039d57806322c10776146103b25780632a819bbf146103d25761031e565b806302e72c631461032357806307b9ca7c14610359578063096607f81461037b575b600080fd5b34801561032f57600080fd5b5061034361033e366004613b51565b61090e565b6040516103509190614380565b60405180910390f35b34801561036557600080fd5b5061036e610920565b60405161035091906142f2565b34801561038757600080fd5b5061039b6103963660046140c1565b61092f565b005b3480156103a957600080fd5b5061036e610c95565b3480156103be57600080fd5b5061039b6103cd36600461418a565b610ca4565b3480156103de57600080fd5b506103f26103ed366004614041565b610e9d565b60405161035091906143b4565b34801561040b57600080fd5b50610343610f5f565b34801561042057600080fd5b50610429610f64565b6040516103509190615005565b34801561044257600080fd5b50610456610451366004613ddc565b610f69565b60405161035096959493929190614f61565b34801561047457600080fd5b50610343610fed565b34801561048957600080fd5b5061049d610498366004613e25565b610ff2565b604051610350929190614fe2565b3480156104b757600080fd5b506103436113bc565b3480156104cc57600080fd5b506104296113c1565b61039b6104e3366004613c10565b6113c6565b3480156104f457600080fd5b506103f2610503366004613ed0565b611be7565b34801561051457600080fd5b5061039b610523366004613b51565b611f4f565b34801561053457600080fd5b50610343612057565b34801561054957600080fd5b5061039b610558366004613eff565b61205d565b34801561056957600080fd5b5061036e612331565b34801561057e57600080fd5b5061034361058d366004613b51565b612355565b34801561059e57600080fd5b5061039b6105ad366004614007565b612374565b3480156105be57600080fd5b5061039b612409565b3480156105d357600080fd5b506103436124df565b3480156105e857600080fd5b5061039b6105f7366004613df8565b6124e4565b34801561060857600080fd5b5061039b61061736600461405e565b61267c565b34801561062857600080fd5b5061039b610637366004613be5565b61275f565b34801561064857600080fd5b5061039b610657366004613fea565b612851565b34801561066857600080fd5b5061036e61293e565b34801561067d57600080fd5b5061034361294d565b34801561069257600080fd5b506103436106a1366004613ddc565b612952565b3480156106b257600080fd5b506103436106c1366004613b51565b612964565b3480156106d257600080fd5b506106e66106e1366004613df8565b612976565b6040516103509190614c8c565b3480156106ff57600080fd5b50610343612b44565b34801561071457600080fd5b50610343610f64565b34801561072957600080fd5b5061073d610738366004613ddc565b612b4a565b6040516103509190614d0f565b34801561075657600080fd5b5061076a610765366004614041565b612b60565b604051610350919061435d565b34801561078357600080fd5b5061049d610792366004613ba5565b612b80565b3480156107a357600080fd5b5061036e6107b2366004614041565b612baa565b3480156107c357600080fd5b506104566107d2366004613b6d565b612bd0565b3480156107e357600080fd5b506103436107f2366004613b51565b612c5f565b34801561080357600080fd5b50610343610812366004613ddc565b612c7a565b34801561082357600080fd5b5061039b610832366004614041565b612c8c565b34801561084357600080fd5b50610857610852366004613ba5565b612d7b565b6040516103509190614cf8565b34801561087057600080fd5b5061039b61087f366004613fea565b612dcf565b34801561089057600080fd5b5061039b61089f366004613b51565b612ebc565b3480156108b057600080fd5b5061039b6108bf366004613b51565b612fb9565b3480156108d057600080fd5b506103436130e6565b3480156108e557600080fd5b5061039b6108f4366004613f79565b6130ec565b34801561090557600080fd5b506104296113bc565b60056020526000908152604090205481565b6002546001600160a01b031681565b61093761344c565b6001600160a01b031661094861293e565b6001600160a01b0316146109a3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8088166000908152600c60205260409020548116908716118015906109cf575060008661ffff16115b6109f45760405162461bcd60e51b81526004016109eb906148b3565b60405180910390fd5b60008567ffffffffffffffff1611610a1e5760405162461bcd60e51b81526004016109eb90614bd2565b6001600160a01b038416610a445760405162461bcd60e51b81526004016109eb90614583565b61ffff8088166000908152600d602090815260408083209387168352929052205460ff16610a845760405162461bcd60e51b81526004016109eb906143c7565b60008261ffff1611610aa85760405162461bcd60e51b81526004016109eb90614a5e565b6001600160a01b038116610ace5760405162461bcd60e51b81526004016109eb906146d1565b6040518060c001604052808761ffff1681526020018667ffffffffffffffff168152602001856001600160a01b031681526020018461ffff1681526020018361ffff1667ffffffffffffffff168152602001826001600160a01b0316815250600960008961ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548161ffff021916908361ffff16021790555060208201518160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550604082015181600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600001601e6101000a81548161ffff021916908361ffff16021790555060808201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a08201518160010160086101000a8154816001600160a01b0302191690836001600160a01b031602179055509050507f45bb8a2b6b05457ff80b84be5bf06f2d05069fa8099fcb9d8e34149654b4d5c287878787878787604051610c849796959493929190614f11565b60405180910390a150505050505050565b6003546001600160a01b031681565b60026000541415610cfc576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005560ff8416610d48576003546001600160a01b03163314610d335760405162461bcd60e51b81526004016109eb9061487c565b600654610d409082613450565b600655610dd6565b60ff841660011415610d835733600090815260046020526040902054610d6e9082613450565b33600090815260046020526040902055610dd6565b60ff841660021415610dbe5733600090815260056020526040902054610da99082613450565b33600090815260056020526040902055610dd6565b60405162461bcd60e51b81526004016109eb90614abb565b6000826001600160a01b031682604051610def90614271565b60006040518083038185875af1925050503d8060008114610e2c576040519150601f19603f3d011682016040523d82523d6000602084013e610e31565b606091505b5050905080610e525760405162461bcd60e51b81526004016109eb90614492565b7f163adce0473e267e1db8ecb524c0fcdceda62c3e6f231966bbb252e0104325378585338686604051610e89959493929190615013565b60405180910390a150506001600055505050565b600a6020908152600092835260408084208252918352918190208054825160026001831615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190921691909104601f810185900485028201850190935282815292909190830182828015610f575780601f10610f2c57610100808354040283529160200191610f57565b820191906000526020600020905b815481529060010190602001808311610f3a57829003601f168201915b505050505081565b600381565b600181565b6009602052600090815260409020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600681565b604080516020601f840181900481028201810190925282815260009182918a918a918991859190899089908190840183828082843760009201829052509394506110429250879150869050612976565b905060008251600014156111b25761ffff8681166000908152600a60209081526040808320606087015190941683529281528282208054845160026001831615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190921691909104601f8101849004840282018401909552848152929390918301828280156111175780601f106110ec57610100808354040283529160200191611117565b820191906000526020600020905b8154815290600101906020018083116110fa57829003601f168201915b5050505050905082604001516001600160a01b031663e54a22158885606001518989866040518663ffffffff1660e01b815260040161115a959493929190614e55565b60206040518083038186803b15801561117257600080fd5b505afa158015611186573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111aa9190614156565b915050611241565b81604001516001600160a01b031663e54a22158784606001518888886040518663ffffffff1660e01b81526004016111ee959493929190614e55565b60206040518083038186803b15801561120657600080fd5b505afa15801561121a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123e9190614156565b90505b60a082015160608301516040517f0b4d51070000000000000000000000000000000000000000000000000000000081526000926001600160a01b031691630b4d510791611292918b91600401614df7565b60206040518083038186803b1580156112aa57600080fd5b505afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e29190614156565b90506000600360009054906101000a90046001600160a01b03166001600160a01b0316635cbbbd758e85856040518463ffffffff1660e01b815260040161132b93929190614368565b60206040518083038186803b15801561134357600080fd5b505afa158015611357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137b9190614156565b90508c61138b5780995089611390565b809850885b506113a79050816113a18b856134ad565b906134ad565b98505050505050505097509795505050505050565b600281565b600081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461140e5760405162461bcd60e51b81526004016109eb90614a27565b600061141a8a8d612976565b61ffff8b166000908152601060205260409020549091508c908c908c906114535760405162461bcd60e51b81526004016109eb90614674565b6000808560a001516001600160a01b0316630b4d51078488606001516040518363ffffffff1660e01b815260040161148c929190614df7565b60206040518083038186803b1580156114a457600080fd5b505afa1580156114b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dc9190614156565b60a08701516001600160a01b031660009081526004602052604090205490915061150690826134ad565b60a08701516001600160a01b031660009081526004602052604090819020919091558601518b90886117295761ffff8581166000908152600a6020908152604080832060608d015190941683529281528282208054845160026001831615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190921691909104601f8101849004840282018401909552848152929390918301828280156115f95780601f106115ce576101008083540402835291602001916115f9565b820191906000526020600020905b8154815290600101906020018083116115dc57829003601f168201915b5050505060608b01516040517fe54a22150000000000000000000000000000000000000000000000000000000081529293506001600160a01b0385169263e54a22159250611651918a918d9089908890600401614e55565b60206040518083038186803b15801561166957600080fd5b505afa15801561167d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a19190614156565b60608a01516040517f3a5fb82a0000000000000000000000000000000000000000000000000000000081529196506001600160a01b03841691633a5fb82a916116f1918a91908690600401614eb9565b600060405180830381600087803b15801561170b57600080fd5b505af115801561171f573d6000803e3d6000fd5b5050505050611838565b806001600160a01b031663e54a2215868a606001518a868f8f6040518763ffffffff1660e01b815260040161176396959493929190614e0c565b60206040518083038186803b15801561177b57600080fd5b505afa15801561178f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b39190614156565b60608901516040517f3a5fb82a0000000000000000000000000000000000000000000000000000000081529195506001600160a01b03831691633a5fb82a91611805918991908f908f90600401614e91565b600060405180830381600087803b15801561181f57600080fd5b505af1158015611833573d6000803e3d6000fd5b505050505b6040808901516001600160a01b031660009081526005602052205461185d90856134ad565b6040808a01516001600160a01b03166000908152600560205281902091909155606089015190517fb8a7262132db1f61626604a31c3de81dc1a5bb0f1511dfa70d626ab1b88b52c2916118b79188918a918f908f90614faa565b60405180910390a150600090506001600160a01b038a1615806118e357506002546001600160a01b0316155b6003546040517f5cbbbd750000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b0390911690635cbbbd75906119379085159088908890600401614368565b60206040518083038186803b15801561194f57600080fd5b505afa158015611963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119879190614156565b90508015611a235781156119b6576006546119a290826134ad565b6006556119af84826134ad565b9350611a23565b866001600160a01b03168b6001600160a01b031614806119de57506001600160a01b038b1632145b6119fa5760405162461bcd60e51b81526004016109eb90614617565b600254611a12906001600160a01b03168c3084613507565b600754611a1f90826134ad565b6007555b50611a30905082826134ad565b915050600083858f8f8f8f604051602001611a5096959493929190614274565b60405160208183030381529060405290507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f68382604051611a92929190614d79565b60405180910390a160a0860151606087015160808801516040517f665305790000000000000000000000000000000000000000000000000000000081526001600160a01b0390931692636653057992611aef928892600401614ee9565b600060405180830381600087803b158015611b0957600080fd5b505af1158015611b1d573d6000803e3d6000fd5b505050505034811115611b425760405162461bcd60e51b81526004016109eb906144c9565b6000611b4e3483613450565b90508015611bd45760008a6001600160a01b031682604051611b6f90614271565b60006040518083038185875af1925050503d8060008114611bac576040519150601f19603f3d011682016040523d82523d6000602084013e611bb1565b606091505b5050905080611bd25760405162461bcd60e51b81526004016109eb906145e0565b505b5050505050505050505050505050505050565b6001600160a01b038216600090815260086020908152604080832061ffff8716845290915290206060906001831415611c7b57805461ffff16611c655761ffff808616600090815260096020908152604091829020549151611c4e93929092169101614d0f565b604051602081830303815290604052915050611f48565b8054604051611c4e9161ffff1690602001614d0f565b6002831415611cf157805462010000900467ffffffffffffffff16611ccf5761ffff8516600090815260096020908152604091829020549151611c4e9262010000900467ffffffffffffffff169101614ff0565b8054604051611c4e9162010000900467ffffffffffffffff1690602001614ff0565b6003831415611d7c5780546a010000000000000000000090046001600160a01b0316611d535761ffff8516600090815260096020908152604091829020549151611c4e926a010000000000000000000090046001600160a01b031691016142f2565b8054604051611c4e916a010000000000000000000090046001600160a01b0316906020016142f2565b6004831415611e355780547e01000000000000000000000000000000000000000000000000000000000000900461ffff16611dfd5761ffff808616600090815260096020908152604091829020549151611c4e937e010000000000000000000000000000000000000000000000000000000000009093049092169101614d0f565b8054604051611c4e917e01000000000000000000000000000000000000000000000000000000000000900461ffff1690602001614d0f565b6005831415611ea257600181015467ffffffffffffffff16611e835761ffff8516600090815260096020908152604091829020600101549151611c4e9267ffffffffffffffff169101614ff0565b6001810154604051611c4e9167ffffffffffffffff1690602001614ff0565b6006831415611f305760018101546801000000000000000090046001600160a01b0316611f065761ffff8516600090815260096020908152604091829020600101549151611c4e926801000000000000000090046001600160a01b031691016142f2565b6001810154604051611c4e916801000000000000000090046001600160a01b0316906020016142f2565b60405162461bcd60e51b81526004016109eb9061445b565b9392505050565b611f5761344c565b6001600160a01b0316611f6861293e565b6001600160a01b031614611fc3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116611fe95760405162461bcd60e51b81526004016109eb90614526565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383161790556040517f33d644987381deff4408951d55afa136f124e22a7810b163b2aaa3ebef770f649061204c9083906142f2565b60405180910390a150565b60065481565b60006120698787612976565b60408101519091506001600160a01b031633146120985760405162461bcd60e51b81526004016109eb90614765565b6120a0613905565b61ffff8089166000818152600b60209081526040808320875190951683529381528382205460a08701516001600160a01b039081168452600f83528584209484529382528483208a84528252939091209085015181549290931692909167ffffffffffffffff90911611156121275760405162461bcd60e51b81526004016109eb90614c2f565b61ffff8a166000908152600e60205260409081902054600183015491517fb71e0f7100000000000000000000000000000000000000000000000000000000815290916001600160a01b0385169163b71e0f719161218c918b908b908790600401614389565b600060405180830381600087803b1580156121a657600080fd5b505af11580156121ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122009190810190613d00565b60a081015161ffff8d1660009081526010602052604090205491955014925061223e9150505760405162461bcd60e51b81526004016109eb90614b18565b866001600160a01b031681606001516001600160a01b0316146122735760405162461bcd60e51b81526004016109eb9061472e565b80516080820151606083015160408085015160c086015191517fc2fa48130000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169563c2fa4813956122f5959194909391928e9190600401614d96565b600060405180830381600087803b15801561230f57600080fd5b505af1158015612323573d6000803e3d6000fd5b505050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166000908152600460205260409020545b919050565b336000908152600f6020908152604080832061ffff8816845282528083208684529091529020805483116123ba5760405162461bcd60e51b81526004016109eb906147f9565b828155600181018290556040517fc5e97f049604c4d8626704341240f021a22cee0d8b66ec306a45344be67733a0906123fa908790339087908990614d3b565b60405180910390a15050505050565b61241161344c565b6001600160a01b031661242261293e565b6001600160a01b03161461247d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600481565b6124ec61344c565b6001600160a01b03166124fd61293e565b6001600160a01b031614612558576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661257e5760405162461bcd60e51b81526004016109eb9061479c565b61ffff8281166000908152600c60205260409020548116106125b25760405162461bcd60e51b81526004016109eb906149ca565b61ffff8083166000908152600c60209081526040808320805480861660010186167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009091161790819055600b83528184209416835292905281902080546001600160a01b0384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055517f802d55279d51813cb7a9a98e8fd2d7bec5346cb830901c11b85d1650cb857e9a906126709084908490614d1e565b60405180910390a15050565b61268461344c565b6001600160a01b031661269561293e565b6001600160a01b0316146126f0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8085166000908152600a6020908152604080832093871683529290522061271b908383613943565b507f4a5695eee2a74d548d5f5c485a3de99ace99e3b664c8e30a90f49be6ebb54932848484846040516127519493929190614e91565b60405180910390a150505050565b600260005414156127b7576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556003546001600160a01b031633146127e65760405162461bcd60e51b81526004016109eb90614424565b6007546127f39082613450565b60075560025461280d906001600160a01b03168383613595565b7f3a20c8c3cd1848485ae8261a52398bb9b26f195b717306b3cf7f058e62c095d533838360405161284093929190614306565b60405180910390a150506001600055565b61285961344c565b6001600160a01b031661286a61293e565b6001600160a01b0316146128c5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600e6020526040902054156128f65760405162461bcd60e51b81526004016109eb90614b75565b61ffff82166000908152600e602052604090819020829055517f0611bb2107e385b79ec826fff8ecc1c1248a7aae3c875c96668f8cfbf1734220906126709084908490614d65565b6001546001600160a01b031690565b600581565b600e6020526000908152604090205481565b60046020526000908152604090205481565b61297e6139ed565b6001600160a01b03808316600090815260086020908152604080832061ffff808916808652918452828520835160c0810185528154808416825267ffffffffffffffff6201000082048116838901526a010000000000000000000082048a16838801527e010000000000000000000000000000000000000000000000000000000000009091048416606083015260019092015491821660808201526801000000000000000090910490961660a087015290845260099092529091208251909116612a4b57805461ffff1682525b602082015167ffffffffffffffff16612a7657805462010000900467ffffffffffffffff1660208301525b60408201516001600160a01b0316612aa75780546a010000000000000000000090046001600160a01b031660408301525b606082015161ffff16612ae25780547e01000000000000000000000000000000000000000000000000000000000000900461ffff1660608301525b608082015167ffffffffffffffff16612b0a57600181015467ffffffffffffffff1660808301525b60a08201516001600160a01b0316612b3c5760018101546801000000000000000090046001600160a01b031660a08301525b509392505050565b61271081565b600c6020526000908152604090205461ffff1681565b600d60209081526000928352604080842090915290825290205460ff1681565b600f6020908152600093845260408085208252928452828420905282529020805460019091015482565b600b6020908152600092835260408084209091529082529020546001600160a01b031681565b60086020908152600092835260408084209091529082529020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b6001600160a01b031660009081526005602052604090205490565b60106020526000908152604090205481565b612c9461344c565b6001600160a01b0316612ca561293e565b6001600160a01b031614612d00576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8083166000908152600d60209081526040808320938516835292905281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517fec23bee6f88cfecebb09d6aaaed66f0ce110debc1f61117c8270a7116597df9a906126709084908490614df7565b612d83613a22565b506001600160a01b0383166000908152600f6020908152604080832061ffff86168452825280832084845282529182902082518084019093528054835260010154908201529392505050565b612dd761344c565b6001600160a01b0316612de861293e565b6001600160a01b031614612e43576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff821660009081526010602052604090205415612e745760405162461bcd60e51b81526004016109eb9061496d565b61ffff821660009081526010602052604090819020829055517f0dad975e1d2fbe771c95cdcc7be9a1e61181de7173abe0a32b8f8f83140873e5906126709084908490614d65565b612ec461344c565b6001600160a01b0316612ed561293e565b6001600160a01b031614612f30576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612f565760405162461bcd60e51b81526004016109eb90614910565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383161790556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef39061204c9083906142f2565b612fc161344c565b6001600160a01b0316612fd261293e565b6001600160a01b03161461302d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166130725760405162461bcd60e51b81526004018080602001828103825260268152602001806150d56026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60075481565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146131345760405162461bcd60e51b81526004016109eb90614a27565b6001600160a01b038416600090815260086020908152604080832061ffff89168452909152902060018414156131e157600061317283850185613ddc565b61ffff8089166000908152600c602052604090205491925090811690821611156131ae5760405162461bcd60e51b81526004016109eb906148b3565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff91909116178155613407565b60028414156132385760006131f88385018561416e565b825467ffffffffffffffff90911662010000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff90911617825550613407565b600384141561329657600061324f83850185613b51565b82546001600160a01b039091166a0100000000000000000000027fffff0000000000000000000000000000000000000000ffffffffffffffffffff90911617825550613407565b60048414156133505760006132ad83850185613ddc565b61ffff8089166000908152600d602090815260408083209385168352929052205490915060ff16806132e1575061ffff8116155b6132fd5760405162461bcd60e51b81526004016109eb906143c7565b815461ffff9091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909116178155613407565b60058414156133a85760006133678385018561416e565b6001830180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905550613407565b6006841415611f305760006133bf83850185613b51565b6001830180546001600160a01b0390921668010000000000000000027fffffffff0000000000000000000000000000000000000000ffffffffffffffff909216919091179055505b7ffc01bf86212a14151d51d1be5c2ac64d67d5ec823dfc6f53298d7ce3f3d3d2528585858560405161343c949392919061432a565b60405180910390a1505050505050565b3390565b6000828211156134a7576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015611f48576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261358f90859061361a565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261361590849061361a565b505050565b600061366f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166136cb9092919063ffffffff16565b8051909150156136155780806020019051602081101561368e57600080fd5b50516136155760405162461bcd60e51b815260040180806020018281038252602a815260200180615121602a913960400191505060405180910390fd5b60606136da84846000856136e2565b949350505050565b6060824710156137235760405162461bcd60e51b81526004018080602001828103825260268152602001806150fb6026913960400191505060405180910390fd5b61372c8561385b565b61377d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106137d957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161379c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461383b576040519150601f19603f3d011682016040523d82523d6000602084013e613840565b606091505b5091509150613850828286613861565b979650505050505050565b3b151590565b60608315613870575081611f48565b8251156138805782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156138ca5781810151838201526020016138b2565b50505050905090810190601f1680156138f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261397957600085556139dd565b82601f106139b0578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008235161785556139dd565b828001600101855582156139dd579182015b828111156139dd5782358255916020019190600101906139c2565b506139e9929150613a39565b5090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b604080518082019091526000808252602082015290565b5b808211156139e95760008155600101613a3a565b803561236f81615096565b805161236f81615096565b60008083601f840112613a75578182fd5b50813567ffffffffffffffff811115613a8c578182fd5b602083019150836020828501011115613aa457600080fd5b9250929050565b600082601f830112613abb578081fd5b815167ffffffffffffffff811115613acf57fe5b613b0060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615046565b818152846020838601011115613b14578283fd5b6136da82602083016020870161506a565b803561236f816150ae565b805161236f816150ae565b803561236f816150be565b805161236f816150be565b600060208284031215613b62578081fd5b8135611f4881615096565b60008060408385031215613b7f578081fd5b8235613b8a81615096565b91506020830135613b9a816150ae565b809150509250929050565b600080600060608486031215613bb9578081fd5b8335613bc481615096565b92506020840135613bd4816150ae565b929592945050506040919091013590565b60008060408385031215613bf7578182fd5b8235613c0281615096565b946020939093013593505050565b60008060008060008060008060008060006101008c8e031215613c31578687fd5b613c3a8c613a4e565b9a50613c4860208d01613b3b565b9950613c5660408d01613b25565b985067ffffffffffffffff8060608e01351115613c71578788fd5b613c818e60608f01358f01613a64565b909950975060808d0135811015613c96578687fd5b613ca68e60808f01358f01613a64565b9097509550613cb760a08e01613a4e565b9450613cc560c08e01613a4e565b93508060e08e01351115613cd7578283fd5b50613ce88d60e08e01358e01613a64565b81935080925050509295989b509295989b9093969950565b600060208284031215613d11578081fd5b815167ffffffffffffffff80821115613d28578283fd5b9083019060e08286031215613d3b578283fd5b613d4560e0615046565b613d4e83613b30565b8152613d5c60208401613b30565b6020820152613d6d60408401613b46565b6040820152613d7e60608401613a59565b6060820152608083015182811115613d94578485fd5b613da087828601613aab565b60808301525060a083015160a082015260c083015182811115613dc1578485fd5b613dcd87828601613aab565b60c08301525095945050505050565b600060208284031215613ded578081fd5b8135611f48816150ae565b60008060408385031215613e0a578182fd5b8235613e15816150ae565b91506020830135613b9a81615096565b600080600080600080600060a0888a031215613e3f578081fd5b8735613e4a816150ae565b96506020880135613e5a81615096565b9550604088013567ffffffffffffffff80821115613e76578283fd5b613e828b838c01613a64565b909750955060608a013591508115158214613e9b578283fd5b90935060808901359080821115613eb0578283fd5b50613ebd8a828b01613a64565b989b979a50959850939692959293505050565b600080600060608486031215613ee4578081fd5b8335613eef816150ae565b92506020840135613bd481615096565b60008060008060008060a08789031215613f17578384fd5b8635613f22816150ae565b95506020870135613f3281615096565b94506040870135935060608701359250608087013567ffffffffffffffff811115613f5b578283fd5b613f6789828a01613a64565b979a9699509497509295939492505050565b600080600080600060808688031215613f90578283fd5b8535613f9b816150ae565b94506020860135613fab81615096565b935060408601359250606086013567ffffffffffffffff811115613fcd578182fd5b613fd988828901613a64565b969995985093965092949392505050565b60008060408385031215613ffc578182fd5b8235613c02816150ae565b6000806000806080858703121561401c578182fd5b8435614027816150ae565b966020860135965060408601359560600135945092505050565b60008060408385031215614053578182fd5b8235613b8a816150ae565b60008060008060608587031215614073578182fd5b843561407e816150ae565b9350602085013561408e816150ae565b9250604085013567ffffffffffffffff8111156140a9578283fd5b6140b587828801613a64565b95989497509550505050565b600080600080600080600060e0888a0312156140db578081fd5b87356140e6816150ae565b965060208801356140f6816150ae565b95506040880135614106816150be565b9450606088013561411681615096565b93506080880135614126816150ae565b925060a0880135614136816150ae565b915060c088013561414681615096565b8091505092959891949750929550565b600060208284031215614167578081fd5b5051919050565b60006020828403121561417f578081fd5b8135611f48816150be565b6000806000806080858703121561419f578182fd5b843560ff811681146141af578283fd5b935060208501356141bf81615096565b925060408501356141cf81615096565b9396929550929360600135925050565b600082845282826020860137806020848601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011685010190509392505050565b6000815180845261423f81602086016020860161506a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b90565b60007fffffffffffffffff0000000000000000000000000000000000000000000000008860c01b1682527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008760601b1660088301528486601c840137848201601c81018281528486823750909201601c019182525095945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b0386168252846020830152606060408301526143536060830184866141df565b9695505050505050565b901515815260200190565b92151583526020830191909152604082015260600190565b90815260200190565b6000858252606060208301526143a36060830185876141df565b905082604083015295945050505050565b600060208252611f486020830184614227565b60208082526026908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e642070726f6f60408201527f6620747970650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c792074726561737572790000000000000000604082015260600190565b6020808252601e908201527f4c617965725a65726f3a20496e76616c696420636f6e66696720747970650000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a207769746864726177206661696c6564000000000000604082015260600190565b60208082526025908201527f4c617965725a65726f3a206e6f7420656e6f756768206e617469766520666f7260408201527f2066656573000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f4c617965725a65726f3a205f6c617965725a65726f546f6b656e2063616e6e6f60408201527f74206265207a65726f2061646472657373000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c69642072656c6179657220616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f4c617965725a65726f3a206661696c656420746f20726566756e640000000000604082015260600190565b6020808252602b908201527f4c617965725a65726f3a206d75737420626520706169642062792073656e646560408201527f72206f72206f726967696e000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4c617965725a65726f3a20636861696e496420646f6573206e6f74206578697360408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4c617965725a65726f3a20696e76616c6964206f7261636c652061646472657360408201527f7300000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c69642064737420616464726573730000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a20696e76616c69642072656c61796572000000000000604082015260600190565b60208082526029908201527f4c617965725a65726f3a206c6962726172792063616e6e6f74206265207a657260408201527f6f20616464726573730000000000000000000000000000000000000000000000606082015260800190565b60208082526043908201527f4c617965725a65726f3a206f7261636c6520646174612063616e206f6e6c792060408201527f75706461746520696620697420686173206d6f726520636f6e6669726d61746960608201527f6f6e730000000000000000000000000000000000000000000000000000000000608082015260a00190565b60208082526017908201527f4c617965725a65726f3a6f6e6c79207472656173757279000000000000000000604082015260600190565b60208082526030908201527f4c617965725a65726f3a20696e76616c696420696e626f756e642070726f6f6660408201527f206c6962726172792076657273696f6e00000000000000000000000000000000606082015260800190565b6020808252602a908201527f4c617965725a65726f3a2074726561737572792063616e6e6f74206265207a6560408201527f726f206164647265737300000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4c617965725a65726f3a2072656d6f746520756c6e20616c726561647920736560408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a2063616e206e6f7420616464206e6577206c6962726160408201527f7279000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c7920656e64706f696e740000000000000000604082015260600190565b6020808252602e908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e6420626c6f6360408201527f6b20636f6e6669726d6174696f6e000000000000000000000000000000000000606082015260800190565b60208082526024908201527f4c617965725a65726f3a20756e737570706f727465642077697468647261772060408201527f7479706500000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4c617965725a65726f3a205f7061636b65742e756c6e4164647265737320697360408201527f20696e76616c6964000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f4c617965725a65726f3a2072656d6f746520636861696e20616464726573732060408201527f73697a6520616c72656164792073657400000000000000000000000000000000606082015260800190565b6020808252602d908201527f4c617965725a65726f3a20696e76616c696420696e626f756e6420626c6f636b60408201527f20636f6e6669726d6174696f6e00000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4c617965725a65726f3a206e6f7420656e6f75676820626c6f636b20636f6e6660408201527f69726d6174696f6e730000000000000000000000000000000000000000000000606082015260800190565b600060c08201905061ffff808451168352602084015167ffffffffffffffff8082166020860152604086015191506001600160a01b0380831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505092915050565b815181526020918201519181019190915260400190565b61ffff91909116815260200190565b61ffff9290921682526001600160a01b0316602082015260400190565b61ffff9490941684526001600160a01b039290921660208401526040830152606082015260800190565b61ffff929092168252602082015260400190565b600061ffff84168252604060208301526136da6040830184614227565b600061ffff8816825260c06020830152614db360c0830188614227565b6001600160a01b038716604084015267ffffffffffffffff8616606084015284608084015282810360a0840152614dea8185614227565b9998505050505050505050565b61ffff92831681529116602082015260400190565b600061ffff80891683528088166020840152506001600160a01b038616604083015284606083015260a06080830152614e4960a0830184866141df565b98975050505050505050565b600061ffff80881683528087166020840152506001600160a01b038516604083015283606083015260a0608083015261385060a0830184614227565b600061ffff8087168352808616602084015250606060408301526143536060830184866141df565b600061ffff808616835280851660208401525060606040830152614ee06060830184614227565b95945050505050565b61ffff938416815291909216602082015267ffffffffffffffff909116604082015260600190565b61ffff9788168152958716602087015267ffffffffffffffff9490941660408601526001600160a01b039283166060860152908516608085015290931660a083015290911660c082015260e00190565b61ffff968716815267ffffffffffffffff95861660208201526001600160a01b03948516604082015292909516606083015290921660808301529190911660a082015260c00190565b600061ffff808816835267ffffffffffffffff87166020840152808616604084015250608060608301526138506080830184866141df565b918252602082015260400190565b67ffffffffffffffff91909116815260200190565b60ff91909116815260200190565b60ff9590951685526001600160a01b03938416602086015291831660408501529091166060830152608082015260a00190565b60405181810167ffffffffffffffff8111828210171561506257fe5b604052919050565b60005b8381101561508557818101518382015260200161506d565b8381111561358f5750506000910152565b6001600160a01b03811681146150ab57600080fd5b50565b61ffff811681146150ab57600080fd5b67ffffffffffffffff811681146150ab57600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220e17d259a389652c35621600dfb3202de3541da2766e0ab74bef94fe8b06a386b64736f6c63430007060033",
1472
+ "deployedBytecode": "0x60806040526004361061031e5760003560e01c80638317814a116101a5578063d56bc64b116100ec578063ebfa08e911610095578063f2fde38b1161006f578063f2fde38b146108a4578063f47a5feb146108c4578063f8e1734c146108d9578063f9dd8e0f146108f95761031e565b8063ebfa08e914610837578063ed28580a14610864578063f0f44260146108845761031e565b8063e6108a82116100c6578063e6108a82146107d7578063ea216c21146107f7578063eb0d4c31146108175761031e565b8063d56bc64b14610777578063db00719b14610797578063ddfdef5a146107b75761031e565b8063a183608c1161014e578063b77d22ad11610128578063b77d22ad14610708578063b8e7e3e01461071d578063d543c7741461074a5761031e565b8063a183608c146106a6578063a4662222146106c6578063abe685cd146106f35761031e565b80638da5cb5b1161017f5780638da5cb5b1461065c578063904d3b8d14610671578063959f5943146106865761031e565b80638317814a146105fc5780638525b7111461061c57806387078f9f1461063c5761031e565b80634d0ca1b4116102695780635e280f1111610212578063715018a6116101ec578063715018a6146105b25780638140666e146105c75780638207f79d146105dc5761031e565b80635e280f111461055d57806361aa19da14610572578063704316e5146105925761031e565b806352d3b5001161024357806352d3b500146105085780635b5a2678146105285780635c0115311461053d5761031e565b80634d0ca1b4146104c05780634d3a0f7c146104d557806352d2871f146104e85761031e565b80632cfacb06116102cb57806331bd2430116102a557806331bd24301461046857806340a7bb101461047d57806349148c37146104ab5761031e565b80632cfacb06146103ff5780632e9959ec146104145780632f813464146104365761031e565b806318da0011116102fc57806318da00111461039d57806322c10776146103b25780632a819bbf146103d25761031e565b806302e72c631461032357806307b9ca7c14610359578063096607f81461037b575b600080fd5b34801561032f57600080fd5b5061034361033e366004613b51565b61090e565b6040516103509190614380565b60405180910390f35b34801561036557600080fd5b5061036e610920565b60405161035091906142f2565b34801561038757600080fd5b5061039b6103963660046140c1565b61092f565b005b3480156103a957600080fd5b5061036e610c95565b3480156103be57600080fd5b5061039b6103cd36600461418a565b610ca4565b3480156103de57600080fd5b506103f26103ed366004614041565b610e9d565b60405161035091906143b4565b34801561040b57600080fd5b50610343610f5f565b34801561042057600080fd5b50610429610f64565b6040516103509190615005565b34801561044257600080fd5b50610456610451366004613ddc565b610f69565b60405161035096959493929190614f61565b34801561047457600080fd5b50610343610fed565b34801561048957600080fd5b5061049d610498366004613e25565b610ff2565b604051610350929190614fe2565b3480156104b757600080fd5b506103436113bc565b3480156104cc57600080fd5b506104296113c1565b61039b6104e3366004613c10565b6113c6565b3480156104f457600080fd5b506103f2610503366004613ed0565b611be7565b34801561051457600080fd5b5061039b610523366004613b51565b611f4f565b34801561053457600080fd5b50610343612057565b34801561054957600080fd5b5061039b610558366004613eff565b61205d565b34801561056957600080fd5b5061036e612331565b34801561057e57600080fd5b5061034361058d366004613b51565b612355565b34801561059e57600080fd5b5061039b6105ad366004614007565b612374565b3480156105be57600080fd5b5061039b612409565b3480156105d357600080fd5b506103436124df565b3480156105e857600080fd5b5061039b6105f7366004613df8565b6124e4565b34801561060857600080fd5b5061039b61061736600461405e565b61267c565b34801561062857600080fd5b5061039b610637366004613be5565b61275f565b34801561064857600080fd5b5061039b610657366004613fea565b612851565b34801561066857600080fd5b5061036e61293e565b34801561067d57600080fd5b5061034361294d565b34801561069257600080fd5b506103436106a1366004613ddc565b612952565b3480156106b257600080fd5b506103436106c1366004613b51565b612964565b3480156106d257600080fd5b506106e66106e1366004613df8565b612976565b6040516103509190614c8c565b3480156106ff57600080fd5b50610343612b44565b34801561071457600080fd5b50610343610f64565b34801561072957600080fd5b5061073d610738366004613ddc565b612b4a565b6040516103509190614d0f565b34801561075657600080fd5b5061076a610765366004614041565b612b60565b604051610350919061435d565b34801561078357600080fd5b5061049d610792366004613ba5565b612b80565b3480156107a357600080fd5b5061036e6107b2366004614041565b612baa565b3480156107c357600080fd5b506104566107d2366004613b6d565b612bd0565b3480156107e357600080fd5b506103436107f2366004613b51565b612c5f565b34801561080357600080fd5b50610343610812366004613ddc565b612c7a565b34801561082357600080fd5b5061039b610832366004614041565b612c8c565b34801561084357600080fd5b50610857610852366004613ba5565b612d7b565b6040516103509190614cf8565b34801561087057600080fd5b5061039b61087f366004613fea565b612dcf565b34801561089057600080fd5b5061039b61089f366004613b51565b612ebc565b3480156108b057600080fd5b5061039b6108bf366004613b51565b612fb9565b3480156108d057600080fd5b506103436130e6565b3480156108e557600080fd5b5061039b6108f4366004613f79565b6130ec565b34801561090557600080fd5b506104296113bc565b60056020526000908152604090205481565b6002546001600160a01b031681565b61093761344c565b6001600160a01b031661094861293e565b6001600160a01b0316146109a3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8088166000908152600c60205260409020548116908716118015906109cf575060008661ffff16115b6109f45760405162461bcd60e51b81526004016109eb906148b3565b60405180910390fd5b60008567ffffffffffffffff1611610a1e5760405162461bcd60e51b81526004016109eb90614bd2565b6001600160a01b038416610a445760405162461bcd60e51b81526004016109eb90614583565b61ffff8088166000908152600d602090815260408083209387168352929052205460ff16610a845760405162461bcd60e51b81526004016109eb906143c7565b60008261ffff1611610aa85760405162461bcd60e51b81526004016109eb90614a5e565b6001600160a01b038116610ace5760405162461bcd60e51b81526004016109eb906146d1565b6040518060c001604052808761ffff1681526020018667ffffffffffffffff168152602001856001600160a01b031681526020018461ffff1681526020018361ffff1667ffffffffffffffff168152602001826001600160a01b0316815250600960008961ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548161ffff021916908361ffff16021790555060208201518160000160026101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550604082015181600001600a6101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600001601e6101000a81548161ffff021916908361ffff16021790555060808201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a08201518160010160086101000a8154816001600160a01b0302191690836001600160a01b031602179055509050507f45bb8a2b6b05457ff80b84be5bf06f2d05069fa8099fcb9d8e34149654b4d5c287878787878787604051610c849796959493929190614f11565b60405180910390a150505050505050565b6003546001600160a01b031681565b60026000541415610cfc576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005560ff8416610d48576003546001600160a01b03163314610d335760405162461bcd60e51b81526004016109eb9061487c565b600654610d409082613450565b600655610dd6565b60ff841660011415610d835733600090815260046020526040902054610d6e9082613450565b33600090815260046020526040902055610dd6565b60ff841660021415610dbe5733600090815260056020526040902054610da99082613450565b33600090815260056020526040902055610dd6565b60405162461bcd60e51b81526004016109eb90614abb565b6000826001600160a01b031682604051610def90614271565b60006040518083038185875af1925050503d8060008114610e2c576040519150601f19603f3d011682016040523d82523d6000602084013e610e31565b606091505b5050905080610e525760405162461bcd60e51b81526004016109eb90614492565b7f163adce0473e267e1db8ecb524c0fcdceda62c3e6f231966bbb252e0104325378585338686604051610e89959493929190615013565b60405180910390a150506001600055505050565b600a6020908152600092835260408084208252918352918190208054825160026001831615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190921691909104601f810185900485028201850190935282815292909190830182828015610f575780601f10610f2c57610100808354040283529160200191610f57565b820191906000526020600020905b815481529060010190602001808311610f3a57829003601f168201915b505050505081565b600381565b600181565b6009602052600090815260409020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b600681565b604080516020601f840181900481028201810190925282815260009182918a918a918991859190899089908190840183828082843760009201829052509394506110429250879150869050612976565b905060008251600014156111b25761ffff8681166000908152600a60209081526040808320606087015190941683529281528282208054845160026001831615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190921691909104601f8101849004840282018401909552848152929390918301828280156111175780601f106110ec57610100808354040283529160200191611117565b820191906000526020600020905b8154815290600101906020018083116110fa57829003601f168201915b5050505050905082604001516001600160a01b031663e54a22158885606001518989866040518663ffffffff1660e01b815260040161115a959493929190614e55565b60206040518083038186803b15801561117257600080fd5b505afa158015611186573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111aa9190614156565b915050611241565b81604001516001600160a01b031663e54a22158784606001518888886040518663ffffffff1660e01b81526004016111ee959493929190614e55565b60206040518083038186803b15801561120657600080fd5b505afa15801561121a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123e9190614156565b90505b60a082015160608301516040517f0b4d51070000000000000000000000000000000000000000000000000000000081526000926001600160a01b031691630b4d510791611292918b91600401614df7565b60206040518083038186803b1580156112aa57600080fd5b505afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e29190614156565b90506000600360009054906101000a90046001600160a01b03166001600160a01b0316635cbbbd758e85856040518463ffffffff1660e01b815260040161132b93929190614368565b60206040518083038186803b15801561134357600080fd5b505afa158015611357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137b9190614156565b90508c61138b5780995089611390565b809850885b506113a79050816113a18b856134ad565b906134ad565b98505050505050505097509795505050505050565b600281565b600081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461140e5760405162461bcd60e51b81526004016109eb90614a27565b600061141a8a8d612976565b61ffff8b166000908152601060205260409020549091508c908c908c906114535760405162461bcd60e51b81526004016109eb90614674565b6000808560a001516001600160a01b0316630b4d51078488606001516040518363ffffffff1660e01b815260040161148c929190614df7565b60206040518083038186803b1580156114a457600080fd5b505afa1580156114b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dc9190614156565b60a08701516001600160a01b031660009081526004602052604090205490915061150690826134ad565b60a08701516001600160a01b031660009081526004602052604090819020919091558601518b90886117295761ffff8581166000908152600a6020908152604080832060608d015190941683529281528282208054845160026001831615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190921691909104601f8101849004840282018401909552848152929390918301828280156115f95780601f106115ce576101008083540402835291602001916115f9565b820191906000526020600020905b8154815290600101906020018083116115dc57829003601f168201915b5050505060608b01516040517fe54a22150000000000000000000000000000000000000000000000000000000081529293506001600160a01b0385169263e54a22159250611651918a918d9089908890600401614e55565b60206040518083038186803b15801561166957600080fd5b505afa15801561167d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a19190614156565b60608a01516040517f3a5fb82a0000000000000000000000000000000000000000000000000000000081529196506001600160a01b03841691633a5fb82a916116f1918a91908690600401614eb9565b600060405180830381600087803b15801561170b57600080fd5b505af115801561171f573d6000803e3d6000fd5b5050505050611838565b806001600160a01b031663e54a2215868a606001518a868f8f6040518763ffffffff1660e01b815260040161176396959493929190614e0c565b60206040518083038186803b15801561177b57600080fd5b505afa15801561178f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b39190614156565b60608901516040517f3a5fb82a0000000000000000000000000000000000000000000000000000000081529195506001600160a01b03831691633a5fb82a91611805918991908f908f90600401614e91565b600060405180830381600087803b15801561181f57600080fd5b505af1158015611833573d6000803e3d6000fd5b505050505b6040808901516001600160a01b031660009081526005602052205461185d90856134ad565b6040808a01516001600160a01b03166000908152600560205281902091909155606089015190517fb8a7262132db1f61626604a31c3de81dc1a5bb0f1511dfa70d626ab1b88b52c2916118b79188918a918f908f90614faa565b60405180910390a150600090506001600160a01b038a1615806118e357506002546001600160a01b0316155b6003546040517f5cbbbd750000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b0390911690635cbbbd75906119379085159088908890600401614368565b60206040518083038186803b15801561194f57600080fd5b505afa158015611963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119879190614156565b90508015611a235781156119b6576006546119a290826134ad565b6006556119af84826134ad565b9350611a23565b866001600160a01b03168b6001600160a01b031614806119de57506001600160a01b038b1632145b6119fa5760405162461bcd60e51b81526004016109eb90614617565b600254611a12906001600160a01b03168c3084613507565b600754611a1f90826134ad565b6007555b50611a30905082826134ad565b915050600083858f8f8f8f604051602001611a5096959493929190614274565b60405160208183030381529060405290507fe8d23d927749ec8e512eb885679c2977d57068839d8cca1a85685dbbea0648f68382604051611a92929190614d79565b60405180910390a160a0860151606087015160808801516040517f665305790000000000000000000000000000000000000000000000000000000081526001600160a01b0390931692636653057992611aef928892600401614ee9565b600060405180830381600087803b158015611b0957600080fd5b505af1158015611b1d573d6000803e3d6000fd5b505050505034811115611b425760405162461bcd60e51b81526004016109eb906144c9565b6000611b4e3483613450565b90508015611bd45760008a6001600160a01b031682604051611b6f90614271565b60006040518083038185875af1925050503d8060008114611bac576040519150601f19603f3d011682016040523d82523d6000602084013e611bb1565b606091505b5050905080611bd25760405162461bcd60e51b81526004016109eb906145e0565b505b5050505050505050505050505050505050565b6001600160a01b038216600090815260086020908152604080832061ffff8716845290915290206060906001831415611c7b57805461ffff16611c655761ffff808616600090815260096020908152604091829020549151611c4e93929092169101614d0f565b604051602081830303815290604052915050611f48565b8054604051611c4e9161ffff1690602001614d0f565b6002831415611cf157805462010000900467ffffffffffffffff16611ccf5761ffff8516600090815260096020908152604091829020549151611c4e9262010000900467ffffffffffffffff169101614ff0565b8054604051611c4e9162010000900467ffffffffffffffff1690602001614ff0565b6003831415611d7c5780546a010000000000000000000090046001600160a01b0316611d535761ffff8516600090815260096020908152604091829020549151611c4e926a010000000000000000000090046001600160a01b031691016142f2565b8054604051611c4e916a010000000000000000000090046001600160a01b0316906020016142f2565b6004831415611e355780547e01000000000000000000000000000000000000000000000000000000000000900461ffff16611dfd5761ffff808616600090815260096020908152604091829020549151611c4e937e010000000000000000000000000000000000000000000000000000000000009093049092169101614d0f565b8054604051611c4e917e01000000000000000000000000000000000000000000000000000000000000900461ffff1690602001614d0f565b6005831415611ea257600181015467ffffffffffffffff16611e835761ffff8516600090815260096020908152604091829020600101549151611c4e9267ffffffffffffffff169101614ff0565b6001810154604051611c4e9167ffffffffffffffff1690602001614ff0565b6006831415611f305760018101546801000000000000000090046001600160a01b0316611f065761ffff8516600090815260096020908152604091829020600101549151611c4e926801000000000000000090046001600160a01b031691016142f2565b6001810154604051611c4e916801000000000000000090046001600160a01b0316906020016142f2565b60405162461bcd60e51b81526004016109eb9061445b565b9392505050565b611f5761344c565b6001600160a01b0316611f6861293e565b6001600160a01b031614611fc3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116611fe95760405162461bcd60e51b81526004016109eb90614526565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383161790556040517f33d644987381deff4408951d55afa136f124e22a7810b163b2aaa3ebef770f649061204c9083906142f2565b60405180910390a150565b60065481565b60006120698787612976565b60408101519091506001600160a01b031633146120985760405162461bcd60e51b81526004016109eb90614765565b6120a0613905565b61ffff8089166000818152600b60209081526040808320875190951683529381528382205460a08701516001600160a01b039081168452600f83528584209484529382528483208a84528252939091209085015181549290931692909167ffffffffffffffff90911611156121275760405162461bcd60e51b81526004016109eb90614c2f565b61ffff8a166000908152600e60205260409081902054600183015491517fb71e0f7100000000000000000000000000000000000000000000000000000000815290916001600160a01b0385169163b71e0f719161218c918b908b908790600401614389565b600060405180830381600087803b1580156121a657600080fd5b505af11580156121ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526122009190810190613d00565b60a081015161ffff8d1660009081526010602052604090205491955014925061223e9150505760405162461bcd60e51b81526004016109eb90614b18565b866001600160a01b031681606001516001600160a01b0316146122735760405162461bcd60e51b81526004016109eb9061472e565b80516080820151606083015160408085015160c086015191517fc2fa48130000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169563c2fa4813956122f5959194909391928e9190600401614d96565b600060405180830381600087803b15801561230f57600080fd5b505af1158015612323573d6000803e3d6000fd5b505050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b0381166000908152600460205260409020545b919050565b336000908152600f6020908152604080832061ffff8816845282528083208684529091529020805483116123ba5760405162461bcd60e51b81526004016109eb906147f9565b828155600181018290556040517fc5e97f049604c4d8626704341240f021a22cee0d8b66ec306a45344be67733a0906123fa908790339087908990614d3b565b60405180910390a15050505050565b61241161344c565b6001600160a01b031661242261293e565b6001600160a01b03161461247d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600481565b6124ec61344c565b6001600160a01b03166124fd61293e565b6001600160a01b031614612558576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811661257e5760405162461bcd60e51b81526004016109eb9061479c565b61ffff8281166000908152600c60205260409020548116106125b25760405162461bcd60e51b81526004016109eb906149ca565b61ffff8083166000908152600c60209081526040808320805480861660010186167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009091161790819055600b83528184209416835292905281902080546001600160a01b0384167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055517f802d55279d51813cb7a9a98e8fd2d7bec5346cb830901c11b85d1650cb857e9a906126709084908490614d1e565b60405180910390a15050565b61268461344c565b6001600160a01b031661269561293e565b6001600160a01b0316146126f0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8085166000908152600a6020908152604080832093871683529290522061271b908383613943565b507f4a5695eee2a74d548d5f5c485a3de99ace99e3b664c8e30a90f49be6ebb54932848484846040516127519493929190614e91565b60405180910390a150505050565b600260005414156127b7576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556003546001600160a01b031633146127e65760405162461bcd60e51b81526004016109eb90614424565b6007546127f39082613450565b60075560025461280d906001600160a01b03168383613595565b7f3a20c8c3cd1848485ae8261a52398bb9b26f195b717306b3cf7f058e62c095d533838360405161284093929190614306565b60405180910390a150506001600055565b61285961344c565b6001600160a01b031661286a61293e565b6001600160a01b0316146128c5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff82166000908152600e6020526040902054156128f65760405162461bcd60e51b81526004016109eb90614b75565b61ffff82166000908152600e602052604090819020829055517f0611bb2107e385b79ec826fff8ecc1c1248a7aae3c875c96668f8cfbf1734220906126709084908490614d65565b6001546001600160a01b031690565b600581565b600e6020526000908152604090205481565b60046020526000908152604090205481565b61297e6139ed565b6001600160a01b03808316600090815260086020908152604080832061ffff808916808652918452828520835160c0810185528154808416825267ffffffffffffffff6201000082048116838901526a010000000000000000000082048a16838801527e010000000000000000000000000000000000000000000000000000000000009091048416606083015260019092015491821660808201526801000000000000000090910490961660a087015290845260099092529091208251909116612a4b57805461ffff1682525b602082015167ffffffffffffffff16612a7657805462010000900467ffffffffffffffff1660208301525b60408201516001600160a01b0316612aa75780546a010000000000000000000090046001600160a01b031660408301525b606082015161ffff16612ae25780547e01000000000000000000000000000000000000000000000000000000000000900461ffff1660608301525b608082015167ffffffffffffffff16612b0a57600181015467ffffffffffffffff1660808301525b60a08201516001600160a01b0316612b3c5760018101546801000000000000000090046001600160a01b031660a08301525b509392505050565b61271081565b600c6020526000908152604090205461ffff1681565b600d60209081526000928352604080842090915290825290205460ff1681565b600f6020908152600093845260408085208252928452828420905282529020805460019091015482565b600b6020908152600092835260408084209091529082529020546001600160a01b031681565b60086020908152600092835260408084209091529082529020805460019091015461ffff8083169267ffffffffffffffff6201000082048116936001600160a01b036a010000000000000000000084048116947e010000000000000000000000000000000000000000000000000000000000009094049093169291811691680100000000000000009091041686565b6001600160a01b031660009081526005602052604090205490565b60106020526000908152604090205481565b612c9461344c565b6001600160a01b0316612ca561293e565b6001600160a01b031614612d00576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff8083166000908152600d60209081526040808320938516835292905281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517fec23bee6f88cfecebb09d6aaaed66f0ce110debc1f61117c8270a7116597df9a906126709084908490614df7565b612d83613a22565b506001600160a01b0383166000908152600f6020908152604080832061ffff86168452825280832084845282529182902082518084019093528054835260010154908201529392505050565b612dd761344c565b6001600160a01b0316612de861293e565b6001600160a01b031614612e43576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61ffff821660009081526010602052604090205415612e745760405162461bcd60e51b81526004016109eb9061496d565b61ffff821660009081526010602052604090819020829055517f0dad975e1d2fbe771c95cdcc7be9a1e61181de7173abe0a32b8f8f83140873e5906126709084908490614d65565b612ec461344c565b6001600160a01b0316612ed561293e565b6001600160a01b031614612f30576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116612f565760405162461bcd60e51b81526004016109eb90614910565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383161790556040517fcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef39061204c9083906142f2565b612fc161344c565b6001600160a01b0316612fd261293e565b6001600160a01b03161461302d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166130725760405162461bcd60e51b81526004018080602001828103825260268152602001806150d56026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60075481565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146131345760405162461bcd60e51b81526004016109eb90614a27565b6001600160a01b038416600090815260086020908152604080832061ffff89168452909152902060018414156131e157600061317283850185613ddc565b61ffff8089166000908152600c602052604090205491925090811690821611156131ae5760405162461bcd60e51b81526004016109eb906148b3565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff91909116178155613407565b60028414156132385760006131f88385018561416e565b825467ffffffffffffffff90911662010000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff90911617825550613407565b600384141561329657600061324f83850185613b51565b82546001600160a01b039091166a0100000000000000000000027fffff0000000000000000000000000000000000000000ffffffffffffffffffff90911617825550613407565b60048414156133505760006132ad83850185613ddc565b61ffff8089166000908152600d602090815260408083209385168352929052205490915060ff16806132e1575061ffff8116155b6132fd5760405162461bcd60e51b81526004016109eb906143c7565b815461ffff9091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909116178155613407565b60058414156133a85760006133678385018561416e565b6001830180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905550613407565b6006841415611f305760006133bf83850185613b51565b6001830180546001600160a01b0390921668010000000000000000027fffffffff0000000000000000000000000000000000000000ffffffffffffffff909216919091179055505b7ffc01bf86212a14151d51d1be5c2ac64d67d5ec823dfc6f53298d7ce3f3d3d2528585858560405161343c949392919061432a565b60405180910390a1505050505050565b3390565b6000828211156134a7576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015611f48576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261358f90859061361a565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261361590849061361a565b505050565b600061366f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166136cb9092919063ffffffff16565b8051909150156136155780806020019051602081101561368e57600080fd5b50516136155760405162461bcd60e51b815260040180806020018281038252602a815260200180615121602a913960400191505060405180910390fd5b60606136da84846000856136e2565b949350505050565b6060824710156137235760405162461bcd60e51b81526004018080602001828103825260268152602001806150fb6026913960400191505060405180910390fd5b61372c8561385b565b61377d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106137d957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161379c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461383b576040519150601f19603f3d011682016040523d82523d6000602084013e613840565b606091505b5091509150613850828286613861565b979650505050505050565b3b151590565b60608315613870575081611f48565b8251156138805782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156138ca5781810151838201526020016138b2565b50505050905090810190601f1680156138f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040805160e08101825260008082526020820181905291810182905260608082018390526080820181905260a082019290925260c081019190915290565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261397957600085556139dd565b82601f106139b0578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008235161785556139dd565b828001600101855582156139dd579182015b828111156139dd5782358255916020019190600101906139c2565b506139e9929150613a39565b5090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b604080518082019091526000808252602082015290565b5b808211156139e95760008155600101613a3a565b803561236f81615096565b805161236f81615096565b60008083601f840112613a75578182fd5b50813567ffffffffffffffff811115613a8c578182fd5b602083019150836020828501011115613aa457600080fd5b9250929050565b600082601f830112613abb578081fd5b815167ffffffffffffffff811115613acf57fe5b613b0060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601615046565b818152846020838601011115613b14578283fd5b6136da82602083016020870161506a565b803561236f816150ae565b805161236f816150ae565b803561236f816150be565b805161236f816150be565b600060208284031215613b62578081fd5b8135611f4881615096565b60008060408385031215613b7f578081fd5b8235613b8a81615096565b91506020830135613b9a816150ae565b809150509250929050565b600080600060608486031215613bb9578081fd5b8335613bc481615096565b92506020840135613bd4816150ae565b929592945050506040919091013590565b60008060408385031215613bf7578182fd5b8235613c0281615096565b946020939093013593505050565b60008060008060008060008060008060006101008c8e031215613c31578687fd5b613c3a8c613a4e565b9a50613c4860208d01613b3b565b9950613c5660408d01613b25565b985067ffffffffffffffff8060608e01351115613c71578788fd5b613c818e60608f01358f01613a64565b909950975060808d0135811015613c96578687fd5b613ca68e60808f01358f01613a64565b9097509550613cb760a08e01613a4e565b9450613cc560c08e01613a4e565b93508060e08e01351115613cd7578283fd5b50613ce88d60e08e01358e01613a64565b81935080925050509295989b509295989b9093969950565b600060208284031215613d11578081fd5b815167ffffffffffffffff80821115613d28578283fd5b9083019060e08286031215613d3b578283fd5b613d4560e0615046565b613d4e83613b30565b8152613d5c60208401613b30565b6020820152613d6d60408401613b46565b6040820152613d7e60608401613a59565b6060820152608083015182811115613d94578485fd5b613da087828601613aab565b60808301525060a083015160a082015260c083015182811115613dc1578485fd5b613dcd87828601613aab565b60c08301525095945050505050565b600060208284031215613ded578081fd5b8135611f48816150ae565b60008060408385031215613e0a578182fd5b8235613e15816150ae565b91506020830135613b9a81615096565b600080600080600080600060a0888a031215613e3f578081fd5b8735613e4a816150ae565b96506020880135613e5a81615096565b9550604088013567ffffffffffffffff80821115613e76578283fd5b613e828b838c01613a64565b909750955060608a013591508115158214613e9b578283fd5b90935060808901359080821115613eb0578283fd5b50613ebd8a828b01613a64565b989b979a50959850939692959293505050565b600080600060608486031215613ee4578081fd5b8335613eef816150ae565b92506020840135613bd481615096565b60008060008060008060a08789031215613f17578384fd5b8635613f22816150ae565b95506020870135613f3281615096565b94506040870135935060608701359250608087013567ffffffffffffffff811115613f5b578283fd5b613f6789828a01613a64565b979a9699509497509295939492505050565b600080600080600060808688031215613f90578283fd5b8535613f9b816150ae565b94506020860135613fab81615096565b935060408601359250606086013567ffffffffffffffff811115613fcd578182fd5b613fd988828901613a64565b969995985093965092949392505050565b60008060408385031215613ffc578182fd5b8235613c02816150ae565b6000806000806080858703121561401c578182fd5b8435614027816150ae565b966020860135965060408601359560600135945092505050565b60008060408385031215614053578182fd5b8235613b8a816150ae565b60008060008060608587031215614073578182fd5b843561407e816150ae565b9350602085013561408e816150ae565b9250604085013567ffffffffffffffff8111156140a9578283fd5b6140b587828801613a64565b95989497509550505050565b600080600080600080600060e0888a0312156140db578081fd5b87356140e6816150ae565b965060208801356140f6816150ae565b95506040880135614106816150be565b9450606088013561411681615096565b93506080880135614126816150ae565b925060a0880135614136816150ae565b915060c088013561414681615096565b8091505092959891949750929550565b600060208284031215614167578081fd5b5051919050565b60006020828403121561417f578081fd5b8135611f48816150be565b6000806000806080858703121561419f578182fd5b843560ff811681146141af578283fd5b935060208501356141bf81615096565b925060408501356141cf81615096565b9396929550929360600135925050565b600082845282826020860137806020848601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011685010190509392505050565b6000815180845261423f81602086016020860161506a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b90565b60007fffffffffffffffff0000000000000000000000000000000000000000000000008860c01b1682527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008760601b1660088301528486601c840137848201601c81018281528486823750909201601c019182525095945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b0386168252846020830152606060408301526143536060830184866141df565b9695505050505050565b901515815260200190565b92151583526020830191909152604082015260600190565b90815260200190565b6000858252606060208301526143a36060830185876141df565b905082604083015295945050505050565b600060208252611f486020830184614227565b60208082526026908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e642070726f6f60408201527f6620747970650000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c792074726561737572790000000000000000604082015260600190565b6020808252601e908201527f4c617965725a65726f3a20496e76616c696420636f6e66696720747970650000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a207769746864726177206661696c6564000000000000604082015260600190565b60208082526025908201527f4c617965725a65726f3a206e6f7420656e6f756768206e617469766520666f7260408201527f2066656573000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526031908201527f4c617965725a65726f3a205f6c617965725a65726f546f6b656e2063616e6e6f60408201527f74206265207a65726f2061646472657373000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a20696e76616c69642072656c6179657220616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f4c617965725a65726f3a206661696c656420746f20726566756e640000000000604082015260600190565b6020808252602b908201527f4c617965725a65726f3a206d75737420626520706169642062792073656e646560408201527f72206f72206f726967696e000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4c617965725a65726f3a20636861696e496420646f6573206e6f74206578697360408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4c617965725a65726f3a20696e76616c6964206f7261636c652061646472657360408201527f7300000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f4c617965725a65726f3a20696e76616c69642064737420616464726573730000604082015260600190565b6020808252601a908201527f4c617965725a65726f3a20696e76616c69642072656c61796572000000000000604082015260600190565b60208082526029908201527f4c617965725a65726f3a206c6962726172792063616e6e6f74206265207a657260408201527f6f20616464726573730000000000000000000000000000000000000000000000606082015260800190565b60208082526043908201527f4c617965725a65726f3a206f7261636c6520646174612063616e206f6e6c792060408201527f75706461746520696620697420686173206d6f726520636f6e6669726d61746960608201527f6f6e730000000000000000000000000000000000000000000000000000000000608082015260a00190565b60208082526017908201527f4c617965725a65726f3a6f6e6c79207472656173757279000000000000000000604082015260600190565b60208082526030908201527f4c617965725a65726f3a20696e76616c696420696e626f756e642070726f6f6660408201527f206c6962726172792076657273696f6e00000000000000000000000000000000606082015260800190565b6020808252602a908201527f4c617965725a65726f3a2074726561737572792063616e6e6f74206265207a6560408201527f726f206164647265737300000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4c617965725a65726f3a2072656d6f746520756c6e20616c726561647920736560408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f4c617965725a65726f3a2063616e206e6f7420616464206e6577206c6962726160408201527f7279000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4c617965725a65726f3a206f6e6c7920656e64706f696e740000000000000000604082015260600190565b6020808252602e908201527f4c617965725a65726f3a20696e76616c6964206f7574626f756e6420626c6f6360408201527f6b20636f6e6669726d6174696f6e000000000000000000000000000000000000606082015260800190565b60208082526024908201527f4c617965725a65726f3a20756e737570706f727465642077697468647261772060408201527f7479706500000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4c617965725a65726f3a205f7061636b65742e756c6e4164647265737320697360408201527f20696e76616c6964000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f4c617965725a65726f3a2072656d6f746520636861696e20616464726573732060408201527f73697a6520616c72656164792073657400000000000000000000000000000000606082015260800190565b6020808252602d908201527f4c617965725a65726f3a20696e76616c696420696e626f756e6420626c6f636b60408201527f20636f6e6669726d6174696f6e00000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4c617965725a65726f3a206e6f7420656e6f75676820626c6f636b20636f6e6660408201527f69726d6174696f6e730000000000000000000000000000000000000000000000606082015260800190565b600060c08201905061ffff808451168352602084015167ffffffffffffffff8082166020860152604086015191506001600160a01b0380831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505092915050565b815181526020918201519181019190915260400190565b61ffff91909116815260200190565b61ffff9290921682526001600160a01b0316602082015260400190565b61ffff9490941684526001600160a01b039290921660208401526040830152606082015260800190565b61ffff929092168252602082015260400190565b600061ffff84168252604060208301526136da6040830184614227565b600061ffff8816825260c06020830152614db360c0830188614227565b6001600160a01b038716604084015267ffffffffffffffff8616606084015284608084015282810360a0840152614dea8185614227565b9998505050505050505050565b61ffff92831681529116602082015260400190565b600061ffff80891683528088166020840152506001600160a01b038616604083015284606083015260a06080830152614e4960a0830184866141df565b98975050505050505050565b600061ffff80881683528087166020840152506001600160a01b038516604083015283606083015260a0608083015261385060a0830184614227565b600061ffff8087168352808616602084015250606060408301526143536060830184866141df565b600061ffff808616835280851660208401525060606040830152614ee06060830184614227565b95945050505050565b61ffff938416815291909216602082015267ffffffffffffffff909116604082015260600190565b61ffff9788168152958716602087015267ffffffffffffffff9490941660408601526001600160a01b039283166060860152908516608085015290931660a083015290911660c082015260e00190565b61ffff968716815267ffffffffffffffff95861660208201526001600160a01b03948516604082015292909516606083015290921660808301529190911660a082015260c00190565b600061ffff808816835267ffffffffffffffff87166020840152808616604084015250608060608301526138506080830184866141df565b918252602082015260400190565b67ffffffffffffffff91909116815260200190565b60ff91909116815260200190565b60ff9590951685526001600160a01b03938416602086015291831660408501529091166060830152608082015260a00190565b60405181810167ffffffffffffffff8111828210171561506257fe5b604052919050565b60005b8381101561508557818101518382015260200161506d565b8381111561358f5750506000910152565b6001600160a01b03811681146150ab57600080fd5b50565b61ffff811681146150ab57600080fd5b67ffffffffffffffff811681146150ab57600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220e17d259a389652c35621600dfb3202de3541da2766e0ab74bef94fe8b06a386b64736f6c63430007060033",
1473
1473
  "linkReferences": {},
1474
1474
  "deployedLinkReferences": {}
1475
1475
  }