@layerzerolabs/lz-evm-sdk-v2 2.0.24 → 2.0.25

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 (67) hide show
  1. package/deployments/ethereum-sandbox-local/DVN.json +39 -39
  2. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +22 -11
  3. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +2 -2
  4. package/deployments/ethereum-sandbox-local/EndpointV2.json +36 -36
  5. package/deployments/ethereum-sandbox-local/EndpointV2View.json +4 -4
  6. package/deployments/ethereum-sandbox-local/EndpointV2View_Implementation.json +12 -12
  7. package/deployments/ethereum-sandbox-local/EndpointV2View_Proxy.json +4 -4
  8. package/deployments/ethereum-sandbox-local/Executor.json +29 -29
  9. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +22 -11
  10. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +11 -11
  11. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +40 -40
  12. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +29 -29
  13. package/deployments/ethereum-sandbox-local/LzExecutor.json +11 -11
  14. package/deployments/ethereum-sandbox-local/LzExecutor_Implementation.json +19 -19
  15. package/deployments/ethereum-sandbox-local/LzExecutor_Proxy.json +11 -11
  16. package/deployments/ethereum-sandbox-local/NonceContractMock.json +5 -5
  17. package/deployments/ethereum-sandbox-local/PriceFeed.json +5 -5
  18. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +11 -11
  19. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +31 -31
  20. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +5 -5
  21. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +36 -36
  22. package/deployments/ethereum-sandbox-local/ReceiveUln301View.json +9 -9
  23. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Implementation.json +15 -15
  24. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Proxy.json +9 -9
  25. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +33 -33
  26. package/deployments/ethereum-sandbox-local/ReceiveUln302View.json +9 -9
  27. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Implementation.json +17 -17
  28. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Proxy.json +9 -9
  29. package/deployments/ethereum-sandbox-local/SendUln301.json +38 -38
  30. package/deployments/ethereum-sandbox-local/SendUln302.json +34 -34
  31. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +12 -12
  32. package/deployments/ethereum-sandbox-local/Treasury.json +12 -12
  33. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +8 -8
  34. package/deployments/polygon-sandbox-local/DVN.json +39 -39
  35. package/deployments/polygon-sandbox-local/DVNFeeLib.json +22 -11
  36. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +2 -2
  37. package/deployments/polygon-sandbox-local/EndpointV2.json +36 -36
  38. package/deployments/polygon-sandbox-local/EndpointV2View.json +4 -4
  39. package/deployments/polygon-sandbox-local/EndpointV2View_Implementation.json +12 -12
  40. package/deployments/polygon-sandbox-local/EndpointV2View_Proxy.json +4 -4
  41. package/deployments/polygon-sandbox-local/Executor.json +29 -29
  42. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +22 -11
  43. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +11 -11
  44. package/deployments/polygon-sandbox-local/Executor_Implementation.json +40 -40
  45. package/deployments/polygon-sandbox-local/Executor_Proxy.json +29 -29
  46. package/deployments/polygon-sandbox-local/LzExecutor.json +11 -11
  47. package/deployments/polygon-sandbox-local/LzExecutor_Implementation.json +19 -19
  48. package/deployments/polygon-sandbox-local/LzExecutor_Proxy.json +11 -11
  49. package/deployments/polygon-sandbox-local/NonceContractMock.json +5 -5
  50. package/deployments/polygon-sandbox-local/PriceFeed.json +5 -5
  51. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +11 -11
  52. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +31 -31
  53. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +5 -5
  54. package/deployments/polygon-sandbox-local/ReceiveUln301.json +36 -36
  55. package/deployments/polygon-sandbox-local/ReceiveUln301View.json +9 -9
  56. package/deployments/polygon-sandbox-local/ReceiveUln301View_Implementation.json +15 -15
  57. package/deployments/polygon-sandbox-local/ReceiveUln301View_Proxy.json +9 -9
  58. package/deployments/polygon-sandbox-local/ReceiveUln302.json +33 -33
  59. package/deployments/polygon-sandbox-local/ReceiveUln302View.json +9 -9
  60. package/deployments/polygon-sandbox-local/ReceiveUln302View_Implementation.json +17 -17
  61. package/deployments/polygon-sandbox-local/ReceiveUln302View_Proxy.json +9 -9
  62. package/deployments/polygon-sandbox-local/SendUln301.json +38 -38
  63. package/deployments/polygon-sandbox-local/SendUln302.json +34 -34
  64. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +12 -12
  65. package/deployments/polygon-sandbox-local/Treasury.json +12 -12
  66. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +8 -8
  67. package/package.json +8 -8
@@ -748,7 +748,7 @@
748
748
  "type": "function"
749
749
  }
750
750
  ],
751
- "transactionHash": "0xa52e7a46cb5fe109e186411e92a4dd2472e12a5cf1af18b1e1951fe99fbd1311",
751
+ "transactionHash": "0xc4108e24cb6f6c36ea4e1d38b591a169259c52c5d8d89c5d7c97c7dc17766bf9",
752
752
  "receipt": {
753
753
  "to": null,
754
754
  "from": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
@@ -756,13 +756,13 @@
756
756
  "transactionIndex": 0,
757
757
  "gasUsed": "2448542",
758
758
  "logsBloom": "0x00000000000000000002000000000000000000000000000080800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000800020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000001400000000000000000000000000000",
759
- "blockHash": "0x35f971ac5979205fbe9ec2d185bf4020c54875b4eafd776e42fad0796b2fecbc",
760
- "transactionHash": "0xa52e7a46cb5fe109e186411e92a4dd2472e12a5cf1af18b1e1951fe99fbd1311",
759
+ "blockHash": "0x525b1858ff2157b7bb24070ecefaa336c7955ce600188bb52cf5b31722051371",
760
+ "transactionHash": "0xc4108e24cb6f6c36ea4e1d38b591a169259c52c5d8d89c5d7c97c7dc17766bf9",
761
761
  "logs": [
762
762
  {
763
763
  "transactionIndex": 0,
764
764
  "blockNumber": 51,
765
- "transactionHash": "0xa52e7a46cb5fe109e186411e92a4dd2472e12a5cf1af18b1e1951fe99fbd1311",
765
+ "transactionHash": "0xc4108e24cb6f6c36ea4e1d38b591a169259c52c5d8d89c5d7c97c7dc17766bf9",
766
766
  "address": "0x5C7c905B505f0Cf40Ab6600d05e677F717916F6B",
767
767
  "topics": [
768
768
  "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
@@ -771,7 +771,7 @@
771
771
  ],
772
772
  "data": "0x",
773
773
  "logIndex": 0,
774
- "blockHash": "0x35f971ac5979205fbe9ec2d185bf4020c54875b4eafd776e42fad0796b2fecbc"
774
+ "blockHash": "0x525b1858ff2157b7bb24070ecefaa336c7955ce600188bb52cf5b31722051371"
775
775
  }
776
776
  ],
777
777
  "blockNumber": 51,
@@ -783,9 +783,9 @@
783
783
  "0x0b48aF34f4c854F5ae1A3D587da471FeA45bAD52"
784
784
  ],
785
785
  "numDeployments": 1,
786
- "solcInputHash": "206c0dde26401fe2fb94e875b1b843ad",
787
- "bytecode": "0x60c06040523480156200001157600080fd5b5060405162002c9f38038062002c9f833981016040819052620000349162000116565b8080816001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009b919062000148565b620000a633620000c6565b6001600160a01b0390911660805263ffffffff1660a05250620001709050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200012957600080fd5b81516001600160a01b03811681146200014157600080fd5b9392505050565b6000602082840312156200015b57600080fd5b815163ffffffff811681146200014157600080fd5b60805160a051612b026200019d600039600061036e01526000818161049201526104fb0152612b026000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c806343ea4fa9116100b25780638da5cb5b11610081578063c40ff83511610066578063c40ff835146102c0578063e084d952146102d3578063f2fde38b146102e657600080fd5b80638da5cb5b146102785780639c33abf7146102a057600080fd5b806343ea4fa91461022a57806354fd4d501461023d5780636750cd4c1461025d578063715018a61461027057600080fd5b806320efd722116100ee57806320efd7221461017f57806329460b0b1461019257806339e3f938146101a55780633c782a52146101c557600080fd5b806301ffc9a7146101205780630223536e146101485780630894edf11461015d5780631881d94d14610170575b600080fd5b61013361012e366004611cc0565b6102f9565b60405190151581526020015b60405180910390f35b61015b610156366004611d68565b610355565b005b61015b61016b366004611dc5565b610367565b600160405161013f9190611e11565b61015b61018d366004611ebb565b6104f9565b61015b6101a0366004611f0e565b61065a565b6101b86101b3366004611f64565b61083f565b60405161013f919061205b565b61020a6101d336600461206e565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff90911660208301520161013f565b6101b8610238366004611f64565b6109e0565b60408051600381526000602082015260029181019190915260600161013f565b61013361026b3660046120a3565b610d9a565b61015b610da5565b60005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013f565b6102b36102ae3660046120be565b610db9565b60405161013f91906120f8565b61015b6102ce366004612165565b610e59565b6101336102e136600461238f565b610e69565b61015b6102f43660046123dd565b610e7e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0ab7be9f00000000000000000000000000000000000000000000000000000000148061034f575061034f82610f35565b92915050565b61036184848484610fcc565b50505050565b61039283837f00000000000000000000000000000000000000000000000000000000000000006110e0565b600061039e84846111ae565b905060006103ac85856111c0565b905060006103ba83836109e0565b90506103de8187876040516103d09291906123f8565b6040518091039020866111e3565b600060405180606001604052808463ffffffff1681526020016104018989611392565b815260200161041089896113ab565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104d857600080fd5b505af11580156104ec573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610568576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610361573683838381811061058657610586612408565b90506020028101906105989190612437565b90506105af6105aa60208301836120a3565b6113ce565b60026105c160408301602084016120a3565b63ffffffff1603610601576105fc6105dc60208301836120a3565b866105ea6040850185612475565b8101906105f791906124da565b611415565b610651565b61061160408201602083016120a3565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161056b565b61066261146b565b60005b81811015610801573683838381811061068057610680612408565b9050602002810190610692919061250f565b905060ff6106a36020830183612543565b6106b4906040810190602001612577565b60ff16036106ee576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6106fd6020830183612543565b61070e906060810190604001612577565b60ff1603610748576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff61075e6020830183612543565b61076c906020810190612592565b67ffffffffffffffff16036107ad576040517f503667ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107cb6107bd6020830183612543565b6107c6906125ad565b6114ec565b6107f860006107dd60208401846120a3565b6107ea6020850185612543565b6107f3906125ad565b61153d565b50600101610665565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b5608282604051610833929190612669565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a0100000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561096057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610935575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156109cf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109a4575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610a9057825467ffffffffffffffff168452610aaf565b67ffffffffffffffff81811614610aaf5767ffffffffffffffff811684525b815468010000000000000000900460ff16610b6557825468010000000000000000900460ff1615610b605782600101805480602002602001604051908101604052809291908181526020018280548015610b3f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b14575b50505050506080850152825468010000000000000000900460ff1660208501525b610c03565b815468010000000000000000900460ff90811614610c035781600101805480602002602001604051908101604052809291908181526020018280548015610be257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bb7575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610cd25782546901000000000000000000900460ff1615610ccd5782600201805480602002602001604051908101604052809291908181526020018280548015610c9557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c6a575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d88565b81546901000000000000000000900460ff90811614610d885781600201805480602002602001604051908101604052809291908181526020018280548015610d5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d25575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d91846114ec565b50505092915050565b600061034f826118d1565b610dad61146b565b610db76000611938565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e1857610df283856109e0565b604051602001610e02919061205b565b6040516020818303038152906040529050610e52565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff83166004820152602401610648565b9392505050565b610e648383836110e0565b505050565b6000610e768484846119ad565b949350505050565b610e8661146b565b73ffffffffffffffffffffffffffffffffffffffff8116610f29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610648565b610f3281611938565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461034f565b6040805180820182526001815267ffffffffffffffff831660208201529051600290600090610ffe90889088906123f8565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56916110d2918790879086908890612806565b60405180910390a150505050565b6051821461111a576040517fc9bf37b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016111268484611ab6565b60ff1614611160576040517f3a9ae7b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111718484611ad8565b63ffffffff1614610e64576040517f42d2c97e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e526111bd8484611ae8565b90565b60006111d0600d6009848661288b565b6111d9916128b5565b60e01c9392505050565b6111ee8383836119ad565b611224576040517f4c3118d400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156112dc5760005b836020015160ff168160ff1610156112da57600083815260026020908152604080832085845290915281206080860151805191929160ff851690811061127c5761127c612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611234565b505b604083015160ff1615610e645760005b836040015160ff168160ff161015610361576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061133457611334612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001690556001016112ec565b60006113a2602d600d848661288b565b610e52916128fd565b60006113bb60096001848661288b565b6113c491612939565b60c01c9392505050565b6113d7816118d1565b610f32576040517ff0c10d0400000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610648565b61142082848361153d565b61142a82846109e0565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f508182848360405161145e9392919061297f565b60405180910390a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610db7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610648565b602081015160ff161580156115065750606081015160ff16155b15610f32576040517fce2c375100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806115585750602081015160ff16155b1561159f576080810151511561159a576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e565b806020015160ff168160800151511415806115da575060026115c3600160ff6129e9565b6115cd9190612a02565b60ff16816020015160ff16115b15611611576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e8160800151611af8565b604081015160ff90811614806116395750604081015160ff16155b156116bf5760a0810151511561167b576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff16156116ba576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611796565b806040015160ff168160a00151511415806116fa575060026116e3600160ff6129e9565b6116ed9190612a02565b60ff16816040015160ff16115b15611731576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806117525750806040015160ff16816060015160ff16115b15611789576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117968160a00151611af8565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a01000000000000000000009590911694909402939093178355608084015180518594936118ad93908501920190611c21565b5060a082015180516118c9916002840191602090910190611c21565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff16151580610e525750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b602083015160009060ff1615611a305760005b846020015160ff168160ff161015611a1857611a0285608001518260ff16815181106119ee576119ee612408565b602002602001015185858860000151611b92565b611a10576000915050610e52565b6001016119c0565b50836040015160ff16600003611a3057506001610e52565b606084015160005b856040015160ff168160ff161015611aaa57611a7a8660a001518260ff1681518110611a6657611a66612408565b602002602001015186868960000151611b92565b15611aa25781611a8981612a4b565b9250508160ff16600003611aa257600192505050610e52565b600101611a38565b50600095945050505050565b6000611ac5600182848661288b565b611ace91612a86565b60f81c9392505050565b60006111d06031602d848661288b565b60006113a260516031848661288b565b6000805b8251811015610e64576000838281518110611b1957611b19612408565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611b88576040517f447516e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611afc565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611c1757508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b828054828255906000526020600020908101928215611c9b579160200282015b82811115611c9b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611c41565b50611ca7929150611cab565b5090565b5b80821115611ca75760008155600101611cac565b600060208284031215611cd257600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e5257600080fd5b60008083601f840112611d1457600080fd5b50813567ffffffffffffffff811115611d2c57600080fd5b602083019150836020828501011115611d4457600080fd5b9250929050565b803567ffffffffffffffff81168114611d6357600080fd5b919050565b60008060008060608587031215611d7e57600080fd5b843567ffffffffffffffff811115611d9557600080fd5b611da187828801611d02565b90955093505060208501359150611dba60408601611d4b565b905092959194509250565b600080600060408486031215611dda57600080fd5b833567ffffffffffffffff811115611df157600080fd5b611dfd86828701611d02565b909790965060209590950135949350505050565b6020810160038310611e4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611d6357600080fd5b60008083601f840112611e8857600080fd5b50813567ffffffffffffffff811115611ea057600080fd5b6020830191508360208260051b8501011115611d4457600080fd5b600080600060408486031215611ed057600080fd5b611ed984611e52565b9250602084013567ffffffffffffffff811115611ef557600080fd5b611f0186828701611e76565b9497909650939450505050565b60008060208385031215611f2157600080fd5b823567ffffffffffffffff811115611f3857600080fd5b611f4485828601611e76565b90969095509350505050565b803563ffffffff81168114611d6357600080fd5b60008060408385031215611f7757600080fd5b611f8083611e52565b9150611f8e60208401611f50565b90509250929050565b60008151808452602080850194506020840160005b83811015611fde57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101611fac565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261203960c0850182611f97565b905060a083015184820360a08601526120528282611f97565b95945050505050565b602081526000610e526020830184611fe9565b60008060006060848603121561208357600080fd5b833592506020840135915061209a60408501611e52565b90509250925092565b6000602082840312156120b557600080fd5b610e5282611f50565b6000806000606084860312156120d357600080fd5b6120dc84611f50565b92506120ea60208501611e52565b915061209a60408501611f50565b60006020808352835180602085015260005b818110156121265785810183015185820160400152820161210a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60008060006040848603121561217a57600080fd5b833567ffffffffffffffff81111561219157600080fd5b61219d86828701611d02565b909450925061209a905060208501611f50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612202576122026121b0565b60405290565b803560ff81168114611d6357600080fd5b600082601f83011261222a57600080fd5b8135602067ffffffffffffffff80831115612247576122476121b0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561228a5761228a6121b0565b60405293845260208187018101949081019250878511156122aa57600080fd5b6020870191505b848210156122d1576122c282611e52565b835291830191908301906122b1565b979650505050505050565b600060c082840312156122ee57600080fd5b6122f66121df565b905061230182611d4b565b815261230f60208301612208565b602082015261232060408301612208565b604082015261233160608301612208565b6060820152608082013567ffffffffffffffff8082111561235157600080fd5b61235d85838601612219565b608084015260a084013591508082111561237657600080fd5b5061238384828501612219565b60a08301525092915050565b6000806000606084860312156123a457600080fd5b833567ffffffffffffffff8111156123bb57600080fd5b6123c7868287016122dc565b9660208601359650604090950135949350505050565b6000602082840312156123ef57600080fd5b610e5282611e52565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261246b57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124aa57600080fd5b83018035915067ffffffffffffffff8211156124c557600080fd5b602001915036819003821315611d4457600080fd5b6000602082840312156124ec57600080fd5b813567ffffffffffffffff81111561250357600080fd5b610e76848285016122dc565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261246b57600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261246b57600080fd5b60006020828403121561258957600080fd5b610e5282612208565b6000602082840312156125a457600080fd5b610e5282611d4b565b600061034f36836122dc565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125ee57600080fd5b830160208101925035905067ffffffffffffffff81111561260e57600080fd5b8060051b3603821315611d4457600080fd5b8183526000602080850194508260005b85811015611fde5773ffffffffffffffffffffffffffffffffffffffff61265683611e52565b1687529582019590820190600101612630565b60208082528181018390526000906040808401600586901b8501820187855b888110156127f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126126ea57600080fd5b8b0163ffffffff6126fa82611f50565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261273157600080fd5b8589018890520167ffffffffffffffff61274a82611d4b565b168786015261275a888201612208565b606060ff808316828901526127708a8501612208565b92506080818416818a0152612786838601612208565b935060a09250818416838a015261279f818601866125b9565b60c08b810152945091506127ba905061010089018483612620565b9250506127c9818401846125b9565b93509050838783030160e08801526127e2828483612620565b978a019796505050928701925050600101612688565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b6000808585111561289b57600080fd5b838611156128a857600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156128f55780818660040360031b1b83161692505b505092915050565b8035602083101561034f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156128f55760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006120526060830184611fe9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff828116828216039081111561034f5761034f6129ba565b600060ff831680612a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b600060ff821680612a5e57612a5e6129ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156128f55760019490940360031b84901b169092169291505056fea2646970667358221220941c7705913512169d9d3ac1bbd42adaf2f50b153395cc6c500efc210d412f0164736f6c63430008160033",
788
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c806343ea4fa9116100b25780638da5cb5b11610081578063c40ff83511610066578063c40ff835146102c0578063e084d952146102d3578063f2fde38b146102e657600080fd5b80638da5cb5b146102785780639c33abf7146102a057600080fd5b806343ea4fa91461022a57806354fd4d501461023d5780636750cd4c1461025d578063715018a61461027057600080fd5b806320efd722116100ee57806320efd7221461017f57806329460b0b1461019257806339e3f938146101a55780633c782a52146101c557600080fd5b806301ffc9a7146101205780630223536e146101485780630894edf11461015d5780631881d94d14610170575b600080fd5b61013361012e366004611cc0565b6102f9565b60405190151581526020015b60405180910390f35b61015b610156366004611d68565b610355565b005b61015b61016b366004611dc5565b610367565b600160405161013f9190611e11565b61015b61018d366004611ebb565b6104f9565b61015b6101a0366004611f0e565b61065a565b6101b86101b3366004611f64565b61083f565b60405161013f919061205b565b61020a6101d336600461206e565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff90911660208301520161013f565b6101b8610238366004611f64565b6109e0565b60408051600381526000602082015260029181019190915260600161013f565b61013361026b3660046120a3565b610d9a565b61015b610da5565b60005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013f565b6102b36102ae3660046120be565b610db9565b60405161013f91906120f8565b61015b6102ce366004612165565b610e59565b6101336102e136600461238f565b610e69565b61015b6102f43660046123dd565b610e7e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0ab7be9f00000000000000000000000000000000000000000000000000000000148061034f575061034f82610f35565b92915050565b61036184848484610fcc565b50505050565b61039283837f00000000000000000000000000000000000000000000000000000000000000006110e0565b600061039e84846111ae565b905060006103ac85856111c0565b905060006103ba83836109e0565b90506103de8187876040516103d09291906123f8565b6040518091039020866111e3565b600060405180606001604052808463ffffffff1681526020016104018989611392565b815260200161041089896113ab565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104d857600080fd5b505af11580156104ec573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610568576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610361573683838381811061058657610586612408565b90506020028101906105989190612437565b90506105af6105aa60208301836120a3565b6113ce565b60026105c160408301602084016120a3565b63ffffffff1603610601576105fc6105dc60208301836120a3565b866105ea6040850185612475565b8101906105f791906124da565b611415565b610651565b61061160408201602083016120a3565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161056b565b61066261146b565b60005b81811015610801573683838381811061068057610680612408565b9050602002810190610692919061250f565b905060ff6106a36020830183612543565b6106b4906040810190602001612577565b60ff16036106ee576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6106fd6020830183612543565b61070e906060810190604001612577565b60ff1603610748576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff61075e6020830183612543565b61076c906020810190612592565b67ffffffffffffffff16036107ad576040517f503667ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107cb6107bd6020830183612543565b6107c6906125ad565b6114ec565b6107f860006107dd60208401846120a3565b6107ea6020850185612543565b6107f3906125ad565b61153d565b50600101610665565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b5608282604051610833929190612669565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a0100000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561096057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610935575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156109cf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109a4575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610a9057825467ffffffffffffffff168452610aaf565b67ffffffffffffffff81811614610aaf5767ffffffffffffffff811684525b815468010000000000000000900460ff16610b6557825468010000000000000000900460ff1615610b605782600101805480602002602001604051908101604052809291908181526020018280548015610b3f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b14575b50505050506080850152825468010000000000000000900460ff1660208501525b610c03565b815468010000000000000000900460ff90811614610c035781600101805480602002602001604051908101604052809291908181526020018280548015610be257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bb7575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610cd25782546901000000000000000000900460ff1615610ccd5782600201805480602002602001604051908101604052809291908181526020018280548015610c9557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c6a575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d88565b81546901000000000000000000900460ff90811614610d885781600201805480602002602001604051908101604052809291908181526020018280548015610d5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d25575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d91846114ec565b50505092915050565b600061034f826118d1565b610dad61146b565b610db76000611938565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e1857610df283856109e0565b604051602001610e02919061205b565b6040516020818303038152906040529050610e52565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff83166004820152602401610648565b9392505050565b610e648383836110e0565b505050565b6000610e768484846119ad565b949350505050565b610e8661146b565b73ffffffffffffffffffffffffffffffffffffffff8116610f29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610648565b610f3281611938565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461034f565b6040805180820182526001815267ffffffffffffffff831660208201529051600290600090610ffe90889088906123f8565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56916110d2918790879086908890612806565b60405180910390a150505050565b6051821461111a576040517fc9bf37b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016111268484611ab6565b60ff1614611160576040517f3a9ae7b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111718484611ad8565b63ffffffff1614610e64576040517f42d2c97e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e526111bd8484611ae8565b90565b60006111d0600d6009848661288b565b6111d9916128b5565b60e01c9392505050565b6111ee8383836119ad565b611224576040517f4c3118d400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156112dc5760005b836020015160ff168160ff1610156112da57600083815260026020908152604080832085845290915281206080860151805191929160ff851690811061127c5761127c612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611234565b505b604083015160ff1615610e645760005b836040015160ff168160ff161015610361576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061133457611334612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001690556001016112ec565b60006113a2602d600d848661288b565b610e52916128fd565b60006113bb60096001848661288b565b6113c491612939565b60c01c9392505050565b6113d7816118d1565b610f32576040517ff0c10d0400000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610648565b61142082848361153d565b61142a82846109e0565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f508182848360405161145e9392919061297f565b60405180910390a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610db7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610648565b602081015160ff161580156115065750606081015160ff16155b15610f32576040517fce2c375100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806115585750602081015160ff16155b1561159f576080810151511561159a576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e565b806020015160ff168160800151511415806115da575060026115c3600160ff6129e9565b6115cd9190612a02565b60ff16816020015160ff16115b15611611576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e8160800151611af8565b604081015160ff90811614806116395750604081015160ff16155b156116bf5760a0810151511561167b576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff16156116ba576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611796565b806040015160ff168160a00151511415806116fa575060026116e3600160ff6129e9565b6116ed9190612a02565b60ff16816040015160ff16115b15611731576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806117525750806040015160ff16816060015160ff16115b15611789576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117968160a00151611af8565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a01000000000000000000009590911694909402939093178355608084015180518594936118ad93908501920190611c21565b5060a082015180516118c9916002840191602090910190611c21565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff16151580610e525750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b602083015160009060ff1615611a305760005b846020015160ff168160ff161015611a1857611a0285608001518260ff16815181106119ee576119ee612408565b602002602001015185858860000151611b92565b611a10576000915050610e52565b6001016119c0565b50836040015160ff16600003611a3057506001610e52565b606084015160005b856040015160ff168160ff161015611aaa57611a7a8660a001518260ff1681518110611a6657611a66612408565b602002602001015186868960000151611b92565b15611aa25781611a8981612a4b565b9250508160ff16600003611aa257600192505050610e52565b600101611a38565b50600095945050505050565b6000611ac5600182848661288b565b611ace91612a86565b60f81c9392505050565b60006111d06031602d848661288b565b60006113a260516031848661288b565b6000805b8251811015610e64576000838281518110611b1957611b19612408565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611b88576040517f447516e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611afc565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611c1757508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b828054828255906000526020600020908101928215611c9b579160200282015b82811115611c9b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611c41565b50611ca7929150611cab565b5090565b5b80821115611ca75760008155600101611cac565b600060208284031215611cd257600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e5257600080fd5b60008083601f840112611d1457600080fd5b50813567ffffffffffffffff811115611d2c57600080fd5b602083019150836020828501011115611d4457600080fd5b9250929050565b803567ffffffffffffffff81168114611d6357600080fd5b919050565b60008060008060608587031215611d7e57600080fd5b843567ffffffffffffffff811115611d9557600080fd5b611da187828801611d02565b90955093505060208501359150611dba60408601611d4b565b905092959194509250565b600080600060408486031215611dda57600080fd5b833567ffffffffffffffff811115611df157600080fd5b611dfd86828701611d02565b909790965060209590950135949350505050565b6020810160038310611e4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611d6357600080fd5b60008083601f840112611e8857600080fd5b50813567ffffffffffffffff811115611ea057600080fd5b6020830191508360208260051b8501011115611d4457600080fd5b600080600060408486031215611ed057600080fd5b611ed984611e52565b9250602084013567ffffffffffffffff811115611ef557600080fd5b611f0186828701611e76565b9497909650939450505050565b60008060208385031215611f2157600080fd5b823567ffffffffffffffff811115611f3857600080fd5b611f4485828601611e76565b90969095509350505050565b803563ffffffff81168114611d6357600080fd5b60008060408385031215611f7757600080fd5b611f8083611e52565b9150611f8e60208401611f50565b90509250929050565b60008151808452602080850194506020840160005b83811015611fde57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101611fac565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261203960c0850182611f97565b905060a083015184820360a08601526120528282611f97565b95945050505050565b602081526000610e526020830184611fe9565b60008060006060848603121561208357600080fd5b833592506020840135915061209a60408501611e52565b90509250925092565b6000602082840312156120b557600080fd5b610e5282611f50565b6000806000606084860312156120d357600080fd5b6120dc84611f50565b92506120ea60208501611e52565b915061209a60408501611f50565b60006020808352835180602085015260005b818110156121265785810183015185820160400152820161210a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60008060006040848603121561217a57600080fd5b833567ffffffffffffffff81111561219157600080fd5b61219d86828701611d02565b909450925061209a905060208501611f50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612202576122026121b0565b60405290565b803560ff81168114611d6357600080fd5b600082601f83011261222a57600080fd5b8135602067ffffffffffffffff80831115612247576122476121b0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561228a5761228a6121b0565b60405293845260208187018101949081019250878511156122aa57600080fd5b6020870191505b848210156122d1576122c282611e52565b835291830191908301906122b1565b979650505050505050565b600060c082840312156122ee57600080fd5b6122f66121df565b905061230182611d4b565b815261230f60208301612208565b602082015261232060408301612208565b604082015261233160608301612208565b6060820152608082013567ffffffffffffffff8082111561235157600080fd5b61235d85838601612219565b608084015260a084013591508082111561237657600080fd5b5061238384828501612219565b60a08301525092915050565b6000806000606084860312156123a457600080fd5b833567ffffffffffffffff8111156123bb57600080fd5b6123c7868287016122dc565b9660208601359650604090950135949350505050565b6000602082840312156123ef57600080fd5b610e5282611e52565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261246b57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124aa57600080fd5b83018035915067ffffffffffffffff8211156124c557600080fd5b602001915036819003821315611d4457600080fd5b6000602082840312156124ec57600080fd5b813567ffffffffffffffff81111561250357600080fd5b610e76848285016122dc565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261246b57600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261246b57600080fd5b60006020828403121561258957600080fd5b610e5282612208565b6000602082840312156125a457600080fd5b610e5282611d4b565b600061034f36836122dc565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125ee57600080fd5b830160208101925035905067ffffffffffffffff81111561260e57600080fd5b8060051b3603821315611d4457600080fd5b8183526000602080850194508260005b85811015611fde5773ffffffffffffffffffffffffffffffffffffffff61265683611e52565b1687529582019590820190600101612630565b60208082528181018390526000906040808401600586901b8501820187855b888110156127f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126126ea57600080fd5b8b0163ffffffff6126fa82611f50565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261273157600080fd5b8589018890520167ffffffffffffffff61274a82611d4b565b168786015261275a888201612208565b606060ff808316828901526127708a8501612208565b92506080818416818a0152612786838601612208565b935060a09250818416838a015261279f818601866125b9565b60c08b810152945091506127ba905061010089018483612620565b9250506127c9818401846125b9565b93509050838783030160e08801526127e2828483612620565b978a019796505050928701925050600101612688565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b6000808585111561289b57600080fd5b838611156128a857600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156128f55780818660040360031b1b83161692505b505092915050565b8035602083101561034f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156128f55760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006120526060830184611fe9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff828116828216039081111561034f5761034f6129ba565b600060ff831680612a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b600060ff821680612a5e57612a5e6129ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156128f55760019490940360031b84901b169092169291505056fea2646970667358221220941c7705913512169d9d3ac1bbd42adaf2f50b153395cc6c500efc210d412f0164736f6c63430008160033",
786
+ "solcInputHash": "ade53835615c312c80a1fb3fe043db8d",
787
+ "bytecode": "0x60c06040523480156200001157600080fd5b5060405162002c9f38038062002c9f833981016040819052620000349162000116565b8080816001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009b919062000148565b620000a633620000c6565b6001600160a01b0390911660805263ffffffff1660a05250620001709050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200012957600080fd5b81516001600160a01b03811681146200014157600080fd5b9392505050565b6000602082840312156200015b57600080fd5b815163ffffffff811681146200014157600080fd5b60805160a051612b026200019d600039600061036e01526000818161049201526104fb0152612b026000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c806343ea4fa9116100b25780638da5cb5b11610081578063c40ff83511610066578063c40ff835146102c0578063e084d952146102d3578063f2fde38b146102e657600080fd5b80638da5cb5b146102785780639c33abf7146102a057600080fd5b806343ea4fa91461022a57806354fd4d501461023d5780636750cd4c1461025d578063715018a61461027057600080fd5b806320efd722116100ee57806320efd7221461017f57806329460b0b1461019257806339e3f938146101a55780633c782a52146101c557600080fd5b806301ffc9a7146101205780630223536e146101485780630894edf11461015d5780631881d94d14610170575b600080fd5b61013361012e366004611cc0565b6102f9565b60405190151581526020015b60405180910390f35b61015b610156366004611d68565b610355565b005b61015b61016b366004611dc5565b610367565b600160405161013f9190611e11565b61015b61018d366004611ebb565b6104f9565b61015b6101a0366004611f0e565b61065a565b6101b86101b3366004611f64565b61083f565b60405161013f919061205b565b61020a6101d336600461206e565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff90911660208301520161013f565b6101b8610238366004611f64565b6109e0565b60408051600381526000602082015260029181019190915260600161013f565b61013361026b3660046120a3565b610d9a565b61015b610da5565b60005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013f565b6102b36102ae3660046120be565b610db9565b60405161013f91906120f8565b61015b6102ce366004612165565b610e59565b6101336102e136600461238f565b610e69565b61015b6102f43660046123dd565b610e7e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0ab7be9f00000000000000000000000000000000000000000000000000000000148061034f575061034f82610f35565b92915050565b61036184848484610fcc565b50505050565b61039283837f00000000000000000000000000000000000000000000000000000000000000006110e0565b600061039e84846111ae565b905060006103ac85856111c0565b905060006103ba83836109e0565b90506103de8187876040516103d09291906123f8565b6040518091039020866111e3565b600060405180606001604052808463ffffffff1681526020016104018989611392565b815260200161041089896113ab565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104d857600080fd5b505af11580156104ec573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610568576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610361573683838381811061058657610586612408565b90506020028101906105989190612437565b90506105af6105aa60208301836120a3565b6113ce565b60026105c160408301602084016120a3565b63ffffffff1603610601576105fc6105dc60208301836120a3565b866105ea6040850185612475565b8101906105f791906124da565b611415565b610651565b61061160408201602083016120a3565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161056b565b61066261146b565b60005b81811015610801573683838381811061068057610680612408565b9050602002810190610692919061250f565b905060ff6106a36020830183612543565b6106b4906040810190602001612577565b60ff16036106ee576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6106fd6020830183612543565b61070e906060810190604001612577565b60ff1603610748576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff61075e6020830183612543565b61076c906020810190612592565b67ffffffffffffffff16036107ad576040517f503667ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107cb6107bd6020830183612543565b6107c6906125ad565b6114ec565b6107f860006107dd60208401846120a3565b6107ea6020850185612543565b6107f3906125ad565b61153d565b50600101610665565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b5608282604051610833929190612669565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a0100000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561096057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610935575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156109cf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109a4575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610a9057825467ffffffffffffffff168452610aaf565b67ffffffffffffffff81811614610aaf5767ffffffffffffffff811684525b815468010000000000000000900460ff16610b6557825468010000000000000000900460ff1615610b605782600101805480602002602001604051908101604052809291908181526020018280548015610b3f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b14575b50505050506080850152825468010000000000000000900460ff1660208501525b610c03565b815468010000000000000000900460ff90811614610c035781600101805480602002602001604051908101604052809291908181526020018280548015610be257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bb7575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610cd25782546901000000000000000000900460ff1615610ccd5782600201805480602002602001604051908101604052809291908181526020018280548015610c9557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c6a575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d88565b81546901000000000000000000900460ff90811614610d885781600201805480602002602001604051908101604052809291908181526020018280548015610d5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d25575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d91846114ec565b50505092915050565b600061034f826118d1565b610dad61146b565b610db76000611938565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e1857610df283856109e0565b604051602001610e02919061205b565b6040516020818303038152906040529050610e52565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff83166004820152602401610648565b9392505050565b610e648383836110e0565b505050565b6000610e768484846119ad565b949350505050565b610e8661146b565b73ffffffffffffffffffffffffffffffffffffffff8116610f29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610648565b610f3281611938565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461034f565b6040805180820182526001815267ffffffffffffffff831660208201529051600290600090610ffe90889088906123f8565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56916110d2918790879086908890612806565b60405180910390a150505050565b6051821461111a576040517fc9bf37b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016111268484611ab6565b60ff1614611160576040517f3a9ae7b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111718484611ad8565b63ffffffff1614610e64576040517f42d2c97e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e526111bd8484611ae8565b90565b60006111d0600d6009848661288b565b6111d9916128b5565b60e01c9392505050565b6111ee8383836119ad565b611224576040517f4c3118d400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156112dc5760005b836020015160ff168160ff1610156112da57600083815260026020908152604080832085845290915281206080860151805191929160ff851690811061127c5761127c612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611234565b505b604083015160ff1615610e645760005b836040015160ff168160ff161015610361576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061133457611334612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001690556001016112ec565b60006113a2602d600d848661288b565b610e52916128fd565b60006113bb60096001848661288b565b6113c491612939565b60c01c9392505050565b6113d7816118d1565b610f32576040517ff0c10d0400000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610648565b61142082848361153d565b61142a82846109e0565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f508182848360405161145e9392919061297f565b60405180910390a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610db7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610648565b602081015160ff161580156115065750606081015160ff16155b15610f32576040517fce2c375100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806115585750602081015160ff16155b1561159f576080810151511561159a576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e565b806020015160ff168160800151511415806115da575060026115c3600160ff6129e9565b6115cd9190612a02565b60ff16816020015160ff16115b15611611576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e8160800151611af8565b604081015160ff90811614806116395750604081015160ff16155b156116bf5760a0810151511561167b576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff16156116ba576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611796565b806040015160ff168160a00151511415806116fa575060026116e3600160ff6129e9565b6116ed9190612a02565b60ff16816040015160ff16115b15611731576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806117525750806040015160ff16816060015160ff16115b15611789576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117968160a00151611af8565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a01000000000000000000009590911694909402939093178355608084015180518594936118ad93908501920190611c21565b5060a082015180516118c9916002840191602090910190611c21565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff16151580610e525750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b602083015160009060ff1615611a305760005b846020015160ff168160ff161015611a1857611a0285608001518260ff16815181106119ee576119ee612408565b602002602001015185858860000151611b92565b611a10576000915050610e52565b6001016119c0565b50836040015160ff16600003611a3057506001610e52565b606084015160005b856040015160ff168160ff161015611aaa57611a7a8660a001518260ff1681518110611a6657611a66612408565b602002602001015186868960000151611b92565b15611aa25781611a8981612a4b565b9250508160ff16600003611aa257600192505050610e52565b600101611a38565b50600095945050505050565b6000611ac5600182848661288b565b611ace91612a86565b60f81c9392505050565b60006111d06031602d848661288b565b60006113a260516031848661288b565b6000805b8251811015610e64576000838281518110611b1957611b19612408565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611b88576040517f447516e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611afc565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611c1757508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b828054828255906000526020600020908101928215611c9b579160200282015b82811115611c9b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611c41565b50611ca7929150611cab565b5090565b5b80821115611ca75760008155600101611cac565b600060208284031215611cd257600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e5257600080fd5b60008083601f840112611d1457600080fd5b50813567ffffffffffffffff811115611d2c57600080fd5b602083019150836020828501011115611d4457600080fd5b9250929050565b803567ffffffffffffffff81168114611d6357600080fd5b919050565b60008060008060608587031215611d7e57600080fd5b843567ffffffffffffffff811115611d9557600080fd5b611da187828801611d02565b90955093505060208501359150611dba60408601611d4b565b905092959194509250565b600080600060408486031215611dda57600080fd5b833567ffffffffffffffff811115611df157600080fd5b611dfd86828701611d02565b909790965060209590950135949350505050565b6020810160038310611e4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611d6357600080fd5b60008083601f840112611e8857600080fd5b50813567ffffffffffffffff811115611ea057600080fd5b6020830191508360208260051b8501011115611d4457600080fd5b600080600060408486031215611ed057600080fd5b611ed984611e52565b9250602084013567ffffffffffffffff811115611ef557600080fd5b611f0186828701611e76565b9497909650939450505050565b60008060208385031215611f2157600080fd5b823567ffffffffffffffff811115611f3857600080fd5b611f4485828601611e76565b90969095509350505050565b803563ffffffff81168114611d6357600080fd5b60008060408385031215611f7757600080fd5b611f8083611e52565b9150611f8e60208401611f50565b90509250929050565b60008151808452602080850194506020840160005b83811015611fde57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101611fac565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261203960c0850182611f97565b905060a083015184820360a08601526120528282611f97565b95945050505050565b602081526000610e526020830184611fe9565b60008060006060848603121561208357600080fd5b833592506020840135915061209a60408501611e52565b90509250925092565b6000602082840312156120b557600080fd5b610e5282611f50565b6000806000606084860312156120d357600080fd5b6120dc84611f50565b92506120ea60208501611e52565b915061209a60408501611f50565b60006020808352835180602085015260005b818110156121265785810183015185820160400152820161210a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60008060006040848603121561217a57600080fd5b833567ffffffffffffffff81111561219157600080fd5b61219d86828701611d02565b909450925061209a905060208501611f50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612202576122026121b0565b60405290565b803560ff81168114611d6357600080fd5b600082601f83011261222a57600080fd5b8135602067ffffffffffffffff80831115612247576122476121b0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561228a5761228a6121b0565b60405293845260208187018101949081019250878511156122aa57600080fd5b6020870191505b848210156122d1576122c282611e52565b835291830191908301906122b1565b979650505050505050565b600060c082840312156122ee57600080fd5b6122f66121df565b905061230182611d4b565b815261230f60208301612208565b602082015261232060408301612208565b604082015261233160608301612208565b6060820152608082013567ffffffffffffffff8082111561235157600080fd5b61235d85838601612219565b608084015260a084013591508082111561237657600080fd5b5061238384828501612219565b60a08301525092915050565b6000806000606084860312156123a457600080fd5b833567ffffffffffffffff8111156123bb57600080fd5b6123c7868287016122dc565b9660208601359650604090950135949350505050565b6000602082840312156123ef57600080fd5b610e5282611e52565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261246b57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124aa57600080fd5b83018035915067ffffffffffffffff8211156124c557600080fd5b602001915036819003821315611d4457600080fd5b6000602082840312156124ec57600080fd5b813567ffffffffffffffff81111561250357600080fd5b610e76848285016122dc565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261246b57600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261246b57600080fd5b60006020828403121561258957600080fd5b610e5282612208565b6000602082840312156125a457600080fd5b610e5282611d4b565b600061034f36836122dc565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125ee57600080fd5b830160208101925035905067ffffffffffffffff81111561260e57600080fd5b8060051b3603821315611d4457600080fd5b8183526000602080850194508260005b85811015611fde5773ffffffffffffffffffffffffffffffffffffffff61265683611e52565b1687529582019590820190600101612630565b60208082528181018390526000906040808401600586901b8501820187855b888110156127f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126126ea57600080fd5b8b0163ffffffff6126fa82611f50565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261273157600080fd5b8589018890520167ffffffffffffffff61274a82611d4b565b168786015261275a888201612208565b606060ff808316828901526127708a8501612208565b92506080818416818a0152612786838601612208565b935060a09250818416838a015261279f818601866125b9565b60c08b810152945091506127ba905061010089018483612620565b9250506127c9818401846125b9565b93509050838783030160e08801526127e2828483612620565b978a019796505050928701925050600101612688565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b6000808585111561289b57600080fd5b838611156128a857600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156128f55780818660040360031b1b83161692505b505092915050565b8035602083101561034f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156128f55760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006120526060830184611fe9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff828116828216039081111561034f5761034f6129ba565b600060ff831680612a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b600060ff821680612a5e57612a5e6129ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156128f55760019490940360031b84901b169092169291505056fea264697066735822122089779ddf355286c32eeb3fc47b72cbbd5c19a6abb67086e252341f8d077313bc64736f6c63430008160033",
788
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c806343ea4fa9116100b25780638da5cb5b11610081578063c40ff83511610066578063c40ff835146102c0578063e084d952146102d3578063f2fde38b146102e657600080fd5b80638da5cb5b146102785780639c33abf7146102a057600080fd5b806343ea4fa91461022a57806354fd4d501461023d5780636750cd4c1461025d578063715018a61461027057600080fd5b806320efd722116100ee57806320efd7221461017f57806329460b0b1461019257806339e3f938146101a55780633c782a52146101c557600080fd5b806301ffc9a7146101205780630223536e146101485780630894edf11461015d5780631881d94d14610170575b600080fd5b61013361012e366004611cc0565b6102f9565b60405190151581526020015b60405180910390f35b61015b610156366004611d68565b610355565b005b61015b61016b366004611dc5565b610367565b600160405161013f9190611e11565b61015b61018d366004611ebb565b6104f9565b61015b6101a0366004611f0e565b61065a565b6101b86101b3366004611f64565b61083f565b60405161013f919061205b565b61020a6101d336600461206e565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff90911660208301520161013f565b6101b8610238366004611f64565b6109e0565b60408051600381526000602082015260029181019190915260600161013f565b61013361026b3660046120a3565b610d9a565b61015b610da5565b60005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013f565b6102b36102ae3660046120be565b610db9565b60405161013f91906120f8565b61015b6102ce366004612165565b610e59565b6101336102e136600461238f565b610e69565b61015b6102f43660046123dd565b610e7e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0ab7be9f00000000000000000000000000000000000000000000000000000000148061034f575061034f82610f35565b92915050565b61036184848484610fcc565b50505050565b61039283837f00000000000000000000000000000000000000000000000000000000000000006110e0565b600061039e84846111ae565b905060006103ac85856111c0565b905060006103ba83836109e0565b90506103de8187876040516103d09291906123f8565b6040518091039020866111e3565b600060405180606001604052808463ffffffff1681526020016104018989611392565b815260200161041089896113ab565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104d857600080fd5b505af11580156104ec573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610568576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610361573683838381811061058657610586612408565b90506020028101906105989190612437565b90506105af6105aa60208301836120a3565b6113ce565b60026105c160408301602084016120a3565b63ffffffff1603610601576105fc6105dc60208301836120a3565b866105ea6040850185612475565b8101906105f791906124da565b611415565b610651565b61061160408201602083016120a3565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161056b565b61066261146b565b60005b81811015610801573683838381811061068057610680612408565b9050602002810190610692919061250f565b905060ff6106a36020830183612543565b6106b4906040810190602001612577565b60ff16036106ee576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6106fd6020830183612543565b61070e906060810190604001612577565b60ff1603610748576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff61075e6020830183612543565b61076c906020810190612592565b67ffffffffffffffff16036107ad576040517f503667ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107cb6107bd6020830183612543565b6107c6906125ad565b6114ec565b6107f860006107dd60208401846120a3565b6107ea6020850185612543565b6107f3906125ad565b61153d565b50600101610665565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b5608282604051610833929190612669565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a0100000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561096057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610935575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156109cf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109a4575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610a9057825467ffffffffffffffff168452610aaf565b67ffffffffffffffff81811614610aaf5767ffffffffffffffff811684525b815468010000000000000000900460ff16610b6557825468010000000000000000900460ff1615610b605782600101805480602002602001604051908101604052809291908181526020018280548015610b3f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b14575b50505050506080850152825468010000000000000000900460ff1660208501525b610c03565b815468010000000000000000900460ff90811614610c035781600101805480602002602001604051908101604052809291908181526020018280548015610be257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bb7575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610cd25782546901000000000000000000900460ff1615610ccd5782600201805480602002602001604051908101604052809291908181526020018280548015610c9557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c6a575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d88565b81546901000000000000000000900460ff90811614610d885781600201805480602002602001604051908101604052809291908181526020018280548015610d5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d25575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d91846114ec565b50505092915050565b600061034f826118d1565b610dad61146b565b610db76000611938565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e1857610df283856109e0565b604051602001610e02919061205b565b6040516020818303038152906040529050610e52565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff83166004820152602401610648565b9392505050565b610e648383836110e0565b505050565b6000610e768484846119ad565b949350505050565b610e8661146b565b73ffffffffffffffffffffffffffffffffffffffff8116610f29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610648565b610f3281611938565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461034f565b6040805180820182526001815267ffffffffffffffff831660208201529051600290600090610ffe90889088906123f8565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56916110d2918790879086908890612806565b60405180910390a150505050565b6051821461111a576040517fc9bf37b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016111268484611ab6565b60ff1614611160576040517f3a9ae7b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111718484611ad8565b63ffffffff1614610e64576040517f42d2c97e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e526111bd8484611ae8565b90565b60006111d0600d6009848661288b565b6111d9916128b5565b60e01c9392505050565b6111ee8383836119ad565b611224576040517f4c3118d400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156112dc5760005b836020015160ff168160ff1610156112da57600083815260026020908152604080832085845290915281206080860151805191929160ff851690811061127c5761127c612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611234565b505b604083015160ff1615610e645760005b836040015160ff168160ff161015610361576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061133457611334612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001690556001016112ec565b60006113a2602d600d848661288b565b610e52916128fd565b60006113bb60096001848661288b565b6113c491612939565b60c01c9392505050565b6113d7816118d1565b610f32576040517ff0c10d0400000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610648565b61142082848361153d565b61142a82846109e0565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f508182848360405161145e9392919061297f565b60405180910390a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610db7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610648565b602081015160ff161580156115065750606081015160ff16155b15610f32576040517fce2c375100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806115585750602081015160ff16155b1561159f576080810151511561159a576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e565b806020015160ff168160800151511415806115da575060026115c3600160ff6129e9565b6115cd9190612a02565b60ff16816020015160ff16115b15611611576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e8160800151611af8565b604081015160ff90811614806116395750604081015160ff16155b156116bf5760a0810151511561167b576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff16156116ba576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611796565b806040015160ff168160a00151511415806116fa575060026116e3600160ff6129e9565b6116ed9190612a02565b60ff16816040015160ff16115b15611731576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806117525750806040015160ff16816060015160ff16115b15611789576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117968160a00151611af8565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a01000000000000000000009590911694909402939093178355608084015180518594936118ad93908501920190611c21565b5060a082015180516118c9916002840191602090910190611c21565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff16151580610e525750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b602083015160009060ff1615611a305760005b846020015160ff168160ff161015611a1857611a0285608001518260ff16815181106119ee576119ee612408565b602002602001015185858860000151611b92565b611a10576000915050610e52565b6001016119c0565b50836040015160ff16600003611a3057506001610e52565b606084015160005b856040015160ff168160ff161015611aaa57611a7a8660a001518260ff1681518110611a6657611a66612408565b602002602001015186868960000151611b92565b15611aa25781611a8981612a4b565b9250508160ff16600003611aa257600192505050610e52565b600101611a38565b50600095945050505050565b6000611ac5600182848661288b565b611ace91612a86565b60f81c9392505050565b60006111d06031602d848661288b565b60006113a260516031848661288b565b6000805b8251811015610e64576000838281518110611b1957611b19612408565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611b88576040517f447516e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611afc565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611c1757508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b828054828255906000526020600020908101928215611c9b579160200282015b82811115611c9b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611c41565b50611ca7929150611cab565b5090565b5b80821115611ca75760008155600101611cac565b600060208284031215611cd257600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e5257600080fd5b60008083601f840112611d1457600080fd5b50813567ffffffffffffffff811115611d2c57600080fd5b602083019150836020828501011115611d4457600080fd5b9250929050565b803567ffffffffffffffff81168114611d6357600080fd5b919050565b60008060008060608587031215611d7e57600080fd5b843567ffffffffffffffff811115611d9557600080fd5b611da187828801611d02565b90955093505060208501359150611dba60408601611d4b565b905092959194509250565b600080600060408486031215611dda57600080fd5b833567ffffffffffffffff811115611df157600080fd5b611dfd86828701611d02565b909790965060209590950135949350505050565b6020810160038310611e4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611d6357600080fd5b60008083601f840112611e8857600080fd5b50813567ffffffffffffffff811115611ea057600080fd5b6020830191508360208260051b8501011115611d4457600080fd5b600080600060408486031215611ed057600080fd5b611ed984611e52565b9250602084013567ffffffffffffffff811115611ef557600080fd5b611f0186828701611e76565b9497909650939450505050565b60008060208385031215611f2157600080fd5b823567ffffffffffffffff811115611f3857600080fd5b611f4485828601611e76565b90969095509350505050565b803563ffffffff81168114611d6357600080fd5b60008060408385031215611f7757600080fd5b611f8083611e52565b9150611f8e60208401611f50565b90509250929050565b60008151808452602080850194506020840160005b83811015611fde57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101611fac565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261203960c0850182611f97565b905060a083015184820360a08601526120528282611f97565b95945050505050565b602081526000610e526020830184611fe9565b60008060006060848603121561208357600080fd5b833592506020840135915061209a60408501611e52565b90509250925092565b6000602082840312156120b557600080fd5b610e5282611f50565b6000806000606084860312156120d357600080fd5b6120dc84611f50565b92506120ea60208501611e52565b915061209a60408501611f50565b60006020808352835180602085015260005b818110156121265785810183015185820160400152820161210a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60008060006040848603121561217a57600080fd5b833567ffffffffffffffff81111561219157600080fd5b61219d86828701611d02565b909450925061209a905060208501611f50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612202576122026121b0565b60405290565b803560ff81168114611d6357600080fd5b600082601f83011261222a57600080fd5b8135602067ffffffffffffffff80831115612247576122476121b0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561228a5761228a6121b0565b60405293845260208187018101949081019250878511156122aa57600080fd5b6020870191505b848210156122d1576122c282611e52565b835291830191908301906122b1565b979650505050505050565b600060c082840312156122ee57600080fd5b6122f66121df565b905061230182611d4b565b815261230f60208301612208565b602082015261232060408301612208565b604082015261233160608301612208565b6060820152608082013567ffffffffffffffff8082111561235157600080fd5b61235d85838601612219565b608084015260a084013591508082111561237657600080fd5b5061238384828501612219565b60a08301525092915050565b6000806000606084860312156123a457600080fd5b833567ffffffffffffffff8111156123bb57600080fd5b6123c7868287016122dc565b9660208601359650604090950135949350505050565b6000602082840312156123ef57600080fd5b610e5282611e52565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261246b57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124aa57600080fd5b83018035915067ffffffffffffffff8211156124c557600080fd5b602001915036819003821315611d4457600080fd5b6000602082840312156124ec57600080fd5b813567ffffffffffffffff81111561250357600080fd5b610e76848285016122dc565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261246b57600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261246b57600080fd5b60006020828403121561258957600080fd5b610e5282612208565b6000602082840312156125a457600080fd5b610e5282611d4b565b600061034f36836122dc565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125ee57600080fd5b830160208101925035905067ffffffffffffffff81111561260e57600080fd5b8060051b3603821315611d4457600080fd5b8183526000602080850194508260005b85811015611fde5773ffffffffffffffffffffffffffffffffffffffff61265683611e52565b1687529582019590820190600101612630565b60208082528181018390526000906040808401600586901b8501820187855b888110156127f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126126ea57600080fd5b8b0163ffffffff6126fa82611f50565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261273157600080fd5b8589018890520167ffffffffffffffff61274a82611d4b565b168786015261275a888201612208565b606060ff808316828901526127708a8501612208565b92506080818416818a0152612786838601612208565b935060a09250818416838a015261279f818601866125b9565b60c08b810152945091506127ba905061010089018483612620565b9250506127c9818401846125b9565b93509050838783030160e08801526127e2828483612620565b978a019796505050928701925050600101612688565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b6000808585111561289b57600080fd5b838611156128a857600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156128f55780818660040360031b1b83161692505b505092915050565b8035602083101561034f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156128f55760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006120526060830184611fe9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff828116828216039081111561034f5761034f6129ba565b600060ff831680612a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b600060ff821680612a5e57612a5e6129ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156128f55760019490940360031b84901b169092169291505056fea264697066735822122089779ddf355286c32eeb3fc47b72cbbd5c19a6abb67086e252341f8d077313bc64736f6c63430008160033",
789
789
  "devdoc": {
790
790
  "details": "This is a gluing contract. It simply parses the requests and forward to the super.impl() accordingly.In this case, it combines the logic of ReceiveUlnBase and ReceiveLibBaseE2",
791
791
  "kind": "dev",
@@ -827,7 +827,7 @@
827
827
  "storageLayout": {
828
828
  "storage": [
829
829
  {
830
- "astId": 7779,
830
+ "astId": 7797,
831
831
  "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
832
832
  "label": "_owner",
833
833
  "offset": 0,
@@ -835,20 +835,20 @@
835
835
  "type": "t_address"
836
836
  },
837
837
  {
838
- "astId": 17969,
838
+ "astId": 18019,
839
839
  "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
840
840
  "label": "ulnConfigs",
841
841
  "offset": 0,
842
842
  "slot": "1",
843
- "type": "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)17918_storage))"
843
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)17968_storage))"
844
844
  },
845
845
  {
846
- "astId": 17043,
846
+ "astId": 17093,
847
847
  "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
848
848
  "label": "hashLookup",
849
849
  "offset": 0,
850
850
  "slot": "2",
851
- "type": "t_mapping(t_bytes32,t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17028_storage)))"
851
+ "type": "t_mapping(t_bytes32,t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17078_storage)))"
852
852
  }
853
853
  ],
854
854
  "types": {
@@ -873,47 +873,47 @@
873
873
  "label": "bytes32",
874
874
  "numberOfBytes": "32"
875
875
  },
876
- "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)17918_storage))": {
876
+ "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)17968_storage))": {
877
877
  "encoding": "mapping",
878
878
  "key": "t_address",
879
879
  "label": "mapping(address => mapping(uint32 => struct UlnConfig))",
880
880
  "numberOfBytes": "32",
881
- "value": "t_mapping(t_uint32,t_struct(UlnConfig)17918_storage)"
881
+ "value": "t_mapping(t_uint32,t_struct(UlnConfig)17968_storage)"
882
882
  },
883
- "t_mapping(t_address,t_struct(Verification)17028_storage)": {
883
+ "t_mapping(t_address,t_struct(Verification)17078_storage)": {
884
884
  "encoding": "mapping",
885
885
  "key": "t_address",
886
886
  "label": "mapping(address => struct Verification)",
887
887
  "numberOfBytes": "32",
888
- "value": "t_struct(Verification)17028_storage"
888
+ "value": "t_struct(Verification)17078_storage"
889
889
  },
890
- "t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17028_storage))": {
890
+ "t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17078_storage))": {
891
891
  "encoding": "mapping",
892
892
  "key": "t_bytes32",
893
893
  "label": "mapping(bytes32 => mapping(address => struct Verification))",
894
894
  "numberOfBytes": "32",
895
- "value": "t_mapping(t_address,t_struct(Verification)17028_storage)"
895
+ "value": "t_mapping(t_address,t_struct(Verification)17078_storage)"
896
896
  },
897
- "t_mapping(t_bytes32,t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17028_storage)))": {
897
+ "t_mapping(t_bytes32,t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17078_storage)))": {
898
898
  "encoding": "mapping",
899
899
  "key": "t_bytes32",
900
900
  "label": "mapping(bytes32 => mapping(bytes32 => mapping(address => struct Verification)))",
901
901
  "numberOfBytes": "32",
902
- "value": "t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17028_storage))"
902
+ "value": "t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17078_storage))"
903
903
  },
904
- "t_mapping(t_uint32,t_struct(UlnConfig)17918_storage)": {
904
+ "t_mapping(t_uint32,t_struct(UlnConfig)17968_storage)": {
905
905
  "encoding": "mapping",
906
906
  "key": "t_uint32",
907
907
  "label": "mapping(uint32 => struct UlnConfig)",
908
908
  "numberOfBytes": "32",
909
- "value": "t_struct(UlnConfig)17918_storage"
909
+ "value": "t_struct(UlnConfig)17968_storage"
910
910
  },
911
- "t_struct(UlnConfig)17918_storage": {
911
+ "t_struct(UlnConfig)17968_storage": {
912
912
  "encoding": "inplace",
913
913
  "label": "struct UlnConfig",
914
914
  "members": [
915
915
  {
916
- "astId": 17905,
916
+ "astId": 17955,
917
917
  "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
918
918
  "label": "confirmations",
919
919
  "offset": 0,
@@ -921,7 +921,7 @@
921
921
  "type": "t_uint64"
922
922
  },
923
923
  {
924
- "astId": 17907,
924
+ "astId": 17957,
925
925
  "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
926
926
  "label": "requiredDVNCount",
927
927
  "offset": 8,
@@ -929,7 +929,7 @@
929
929
  "type": "t_uint8"
930
930
  },
931
931
  {
932
- "astId": 17909,
932
+ "astId": 17959,
933
933
  "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
934
934
  "label": "optionalDVNCount",
935
935
  "offset": 9,
@@ -937,7 +937,7 @@
937
937
  "type": "t_uint8"
938
938
  },
939
939
  {
940
- "astId": 17911,
940
+ "astId": 17961,
941
941
  "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
942
942
  "label": "optionalDVNThreshold",
943
943
  "offset": 10,
@@ -945,7 +945,7 @@
945
945
  "type": "t_uint8"
946
946
  },
947
947
  {
948
- "astId": 17914,
948
+ "astId": 17964,
949
949
  "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
950
950
  "label": "requiredDVNs",
951
951
  "offset": 0,
@@ -953,7 +953,7 @@
953
953
  "type": "t_array(t_address)dyn_storage"
954
954
  },
955
955
  {
956
- "astId": 17917,
956
+ "astId": 17967,
957
957
  "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
958
958
  "label": "optionalDVNs",
959
959
  "offset": 0,
@@ -963,12 +963,12 @@
963
963
  ],
964
964
  "numberOfBytes": "96"
965
965
  },
966
- "t_struct(Verification)17028_storage": {
966
+ "t_struct(Verification)17078_storage": {
967
967
  "encoding": "inplace",
968
968
  "label": "struct Verification",
969
969
  "members": [
970
970
  {
971
- "astId": 17025,
971
+ "astId": 17075,
972
972
  "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
973
973
  "label": "submitted",
974
974
  "offset": 0,
@@ -976,7 +976,7 @@
976
976
  "type": "t_bool"
977
977
  },
978
978
  {
979
- "astId": 17027,
979
+ "astId": 17077,
980
980
  "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
981
981
  "label": "confirmations",
982
982
  "offset": 1,
@@ -373,7 +373,7 @@
373
373
  "type": "constructor"
374
374
  }
375
375
  ],
376
- "transactionHash": "0x6bfc610f82be08a913cbf2f6f23f9b33335b7c3d81ab853ac992a706e54e0de3",
376
+ "transactionHash": "0xbef38cf7907c0a949e0e5db37925935187cc1eeec1f63d7ec055a85e6b8e5065",
377
377
  "receipt": {
378
378
  "to": null,
379
379
  "from": "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC",
@@ -381,13 +381,13 @@
381
381
  "transactionIndex": 0,
382
382
  "gasUsed": "675287",
383
383
  "logsBloom": "0x00000000000000000000000000000000400000000000000000000080000010000000000000000000000008000000000000000000000000000000000000000000000000000000000001000000000002000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000080000000000000800000000000000000000000000000000400000000000000000000000000000000000000200020000000000008000000040000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
384
- "blockHash": "0x901151f79e741eacf6caada3e79ef155b6d9ad5b06d65ba8b46b1169aa45997b",
385
- "transactionHash": "0x6bfc610f82be08a913cbf2f6f23f9b33335b7c3d81ab853ac992a706e54e0de3",
384
+ "blockHash": "0x5143b90ad516bb7f98f49eafacfe380f5d6dc5d2f052adf5dfaad225a4368a04",
385
+ "transactionHash": "0xbef38cf7907c0a949e0e5db37925935187cc1eeec1f63d7ec055a85e6b8e5065",
386
386
  "logs": [
387
387
  {
388
388
  "transactionIndex": 0,
389
389
  "blockNumber": 53,
390
- "transactionHash": "0x6bfc610f82be08a913cbf2f6f23f9b33335b7c3d81ab853ac992a706e54e0de3",
390
+ "transactionHash": "0xbef38cf7907c0a949e0e5db37925935187cc1eeec1f63d7ec055a85e6b8e5065",
391
391
  "address": "0x544eAe853EA3774A8857573C6423E6Db95b79258",
392
392
  "topics": [
393
393
  "0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b",
@@ -395,31 +395,31 @@
395
395
  ],
396
396
  "data": "0x",
397
397
  "logIndex": 0,
398
- "blockHash": "0x901151f79e741eacf6caada3e79ef155b6d9ad5b06d65ba8b46b1169aa45997b"
398
+ "blockHash": "0x5143b90ad516bb7f98f49eafacfe380f5d6dc5d2f052adf5dfaad225a4368a04"
399
399
  },
400
400
  {
401
401
  "transactionIndex": 0,
402
402
  "blockNumber": 53,
403
- "transactionHash": "0x6bfc610f82be08a913cbf2f6f23f9b33335b7c3d81ab853ac992a706e54e0de3",
403
+ "transactionHash": "0xbef38cf7907c0a949e0e5db37925935187cc1eeec1f63d7ec055a85e6b8e5065",
404
404
  "address": "0x544eAe853EA3774A8857573C6423E6Db95b79258",
405
405
  "topics": [
406
406
  "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498"
407
407
  ],
408
408
  "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
409
409
  "logIndex": 1,
410
- "blockHash": "0x901151f79e741eacf6caada3e79ef155b6d9ad5b06d65ba8b46b1169aa45997b"
410
+ "blockHash": "0x5143b90ad516bb7f98f49eafacfe380f5d6dc5d2f052adf5dfaad225a4368a04"
411
411
  },
412
412
  {
413
413
  "transactionIndex": 0,
414
414
  "blockNumber": 53,
415
- "transactionHash": "0x6bfc610f82be08a913cbf2f6f23f9b33335b7c3d81ab853ac992a706e54e0de3",
415
+ "transactionHash": "0xbef38cf7907c0a949e0e5db37925935187cc1eeec1f63d7ec055a85e6b8e5065",
416
416
  "address": "0x544eAe853EA3774A8857573C6423E6Db95b79258",
417
417
  "topics": [
418
418
  "0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f"
419
419
  ],
420
420
  "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e7c2a73131dd48d8ac46dcd7ab80c8cbee5b410a",
421
421
  "logIndex": 2,
422
- "blockHash": "0x901151f79e741eacf6caada3e79ef155b6d9ad5b06d65ba8b46b1169aa45997b"
422
+ "blockHash": "0x5143b90ad516bb7f98f49eafacfe380f5d6dc5d2f052adf5dfaad225a4368a04"
423
423
  }
424
424
  ],
425
425
  "blockNumber": 53,