{
  "schemaVersion": "openbell-xlayer-mainnet-observations-v1",
  "providers": [
    {
      "provider": "official-xlayer",
      "chainId": "0xc4",
      "headBefore": {
        "number": "0x40a14ad",
        "block": {
          "number": "0x40a14ad",
          "hash": "0x2729d7185d62349c5bcde9f350ed666c119b0947e6166e45a2bdc38d2ae631c8"
        }
      },
      "headAfter": {
        "number": "0x40a14b8",
        "block": {
          "number": "0x40a14b8",
          "hash": "0x4b4145ec1d32e0005f9c986ee89fd6190b56ca8592da193efcd94939d0d777ee"
        }
      },
      "transaction": {
        "hash": "0x328c80d5c4e5a7a13c3143f1f3c5667f83823c3ebdfbd3ca1d9c07b7f3af413e",
        "from": "0x950d3a417dbba923b775f2bfd146163961842bd4",
        "to": null,
        "nonce": "0x0",
        "value": "0x0",
        "input": "0x610220604052348015610010575f5ffd5b5060405161383f38038061383f83398101604081905261002f9161039c565b866040518060400160405280601481526020017f4f70656e42656c6c2052656365697661626c6573000000000000000000000000815250604051806040016040528060018152602001603160f81b81525061008f826102b060201b60201c565b6101205261009c816102b0565b61014052815160208084019190912060e052815190820120610100524660a05261012860e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b03811661015f57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610168816102ed565b5060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03881615806101aa57506001600160a01b038716155b806101bc57506001600160a01b038616155b156101da5760405163d92e233d60e01b815260040160405180910390fd5b61ffff851615806101f0575061271061ffff8616115b80610200575061271061ffff8516115b8061021257506001600160401b038316155b8061022457506001600160401b038216155b8061023657506001600160401b038116155b1561025457604051637c946ed760e01b815260040160405180910390fd5b6001600160a01b0397881661016052600480546001600160a01b031916969098169590951790965561ffff9283166101805291166101a0526001600160401b039081166101c0529283166101e052919091166102005250610489565b5f5f829050601f815111156102da578260405163305a27a960e01b8152600401610156919061042e565b80516102e582610463565b179392505050565b600380546001600160a01b031916905561030681610309565b50565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b80516001600160a01b0381168114610370575f5ffd5b919050565b805161ffff81168114610370575f5ffd5b80516001600160401b0381168114610370575f5ffd5b5f5f5f5f5f5f5f5f610100898b0312156103b4575f5ffd5b6103bd8961035a565b97506103cb60208a0161035a565b96506103d960408a0161035a565b95506103e760608a01610375565b94506103f560808a01610375565b935061040360a08a01610386565b925061041160c08a01610386565b915061041f60e08a01610386565b90509295985092959890939650565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80516020808301519190811015610483575f198160200360031b1b821691505b50919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516132e361055c5f395f81816102ef0152610b6f01525f818161067b0152610ae801525f818161051701526125b001525f81816104c90152611a0701525f81816104f0015261193201525f8181610425015281816121f70152818161229f0152818161231701528181612379015261242101525f61213a01525f61210a01525f61284301525f61281b01525f61277601525f6127a001525f6127ca01526132e35ff3fe608060405234801561000f575f5ffd5b506004361061021b575f3560e01c80637b9e618d11610123578063c4371fe8116100b8578063e30c397811610088578063f2fde38b1161006e578063f2fde38b146105a5578063f8a8a076146105b8578063fa87140414610676575f5ffd5b8063e30c397814610581578063f00db26014610592575f5ffd5b8063c4371fe814610512578063c79dc7c114610539578063d53bff091461055b578063da7e7cc41461056e575f5ffd5b8063987757dd116100f3578063987757dd1461049e578063a8f83a42146104b1578063bf769a3f146104c4578063c42c7e15146104eb575f5ffd5b80637b9e618d146104205780637de212191461045f57806384b0196e146104725780638da5cb5b1461048d575f5ffd5b8063491420da116101b35780636320238311610183578063715018a611610169578063715018a6146104085780637555a4d11461041057806379ba509714610418575f5ffd5b806363202383146103ce57806365a72497146103e1575f5ffd5b8063491420da1461032a5780634fe1681a146103575780635261ccfb1461037e5780635c975abb146103ab575f5ffd5b80633446533a116101ee5780633446533a146102bc57806334d085e0146102cf5780633c9a7ece146102d7578063461d3d0c146102ea575f5ffd5b806302a8b45a1461021f57806308bb5f7b14610256578063146afeb01461026b578063249d39e9146102a0575b5f5ffd5b61024161022d366004612d23565b60076020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610269610264366004612d55565b61069d565b005b6102927fc37ca47ab045a2d5cbd3c6754a2261ef43266e00880b7d707bc3daef81dd9a6581565b60405190815260200161024d565b6102a961271081565b60405161ffff909116815260200161024d565b6102926102ca366004612d85565b61074e565b61026961085e565b6102926102e5366004612de5565b610870565b6103117f000000000000000000000000000000000000000000000000000000000000000081565b60405167ffffffffffffffff909116815260200161024d565b610241610338366004612e69565b600960209081525f928352604080842090915290825290205460ff1681565b6102927f3fa7362141ca2043801d61b9efee211fcbc943d3c40221f3ef30e1c50e93368681565b61024161038c366004612e69565b600860209081525f928352604080842090915290825290205460ff1681565b60035474010000000000000000000000000000000000000000900460ff16610241565b6102926103dc366004612ea1565b611124565b6102927f0237a21cd055f0c6cd3ddb0b019ef5b9df26dcd8f5ddeaa837de0477b1d7be2f81565b6102696111d2565b6102696111e3565b6102696111f3565b6104477f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161024d565b61029261046d366004612ecc565b611255565b61047a611365565b60405161024d9796959493929190612f33565b6002546001600160a01b0316610447565b6102696104ac366004612d23565b6113c3565b6102926104bf366004612fe5565b6114f6565b6102a97f000000000000000000000000000000000000000000000000000000000000000081565b6102a97f000000000000000000000000000000000000000000000000000000000000000081565b6103117f000000000000000000000000000000000000000000000000000000000000000081565b610241610547366004612d23565b60066020525f908152604090205460ff1681565b610269610569366004612d23565b6116c9565b61029261057c366004613036565b611769565b6003546001600160a01b0316610447565b600454610447906001600160a01b031681565b6102696105b3366004612d55565b611d90565b61065f6105c6366004612d23565b600560208190525f91825260409091208054600182015460028301546003840154600485015495850154600686015460079096015460ff8616976101009096046001600160a01b0390811697958116969416946fffffffffffffffffffffffffffffffff80851695700100000000000000000000000000000000958690048216959181169491900467ffffffffffffffff16929091908b565b60405161024d9b9a999897969594939291906130d5565b6103117f000000000000000000000000000000000000000000000000000000000000000081565b6106a5611e19565b6001600160a01b0381166106e5576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f2124859fc626cc4550f8e4f8d37b703c33e25332e00f0f53b042a7e342bb3658905f90a35050565b5f6108587f3fa7362141ca2043801d61b9efee211fcbc943d3c40221f3ef30e1c50e9336868335602085013561078a6060870160408801612d55565b61079a6080880160608901612d55565b6107aa60a0890160808a0161315c565b6107ba60c08a0160a08b0161318b565b6107ca60e08b0160c08c0161318b565b60408051602081019990995288019690965260608701949094526001600160a01b039283166080870152911660a08501526fffffffffffffffffffffffffffffffff1660c084015267ffffffffffffffff90811660e0848101919091529116610100830152840135610120820152610140015b60405160208183030381529060405280519060200120611e5f565b92915050565b610866611e19565b61086e611ea6565b565b5f610879611f32565b610881611f60565b6108916060870160408801612d55565b6001600160a01b0316336001600160a01b0316146108db576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108ec6060880160408901612d55565b6001600160a01b0316148061091857505f61090d6080880160608901612d55565b6001600160a01b0316145b1561094f576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095f6080870160608801612d55565b6001600160a01b03166109786060880160408901612d55565b6001600160a01b0316036109b8576040517f0309d3fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b853515806109c857506020860135155b806109f257506109de60a087016080880161315c565b6fffffffffffffffffffffffffffffffff16155b15610a29576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42610a3a60c0880160a0890161318b565b67ffffffffffffffff161180610a69575042610a5c60e0880160c0890161318b565b67ffffffffffffffff1611155b80610aa65750610a7f60c0870160a0880161318b565b67ffffffffffffffff16610a9960e0880160c0890161318b565b67ffffffffffffffff1611155b15610add576040517f1a8ef0dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016610b1860c0880160a0890161318b565b610b2c9067ffffffffffffffff16426131df565b1115610b64576040517f9e2e10e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016610b9f60c0880160a0890161318b565b610baf60e0890160c08a0161318b565b610bb991906131f2565b67ffffffffffffffff161115610bfb576040517f5442190b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c048661074e565b90505f86355f9081526005602081905260409091205460ff1690811115610c2d57610c2d61306f565b141580610c4757505f8181526006602052604090205460ff165b15610c7e576040517f3c002dc100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020808701355f9081526007909152604090205460ff1615610ccc576040517fff011b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ce9610cdf6060880160408901612d55565b8760e00135611fb5565b610cfc610cdf6080880160608901612d55565b610d17610d0f6060880160408901612d55565b828787612028565b610d32610d2a6080880160608901612d55565b828585612028565b600160085f610d4760608a0160408b01612d55565b6001600160a01b0316815260208082019290925260409081015f90812060e08b013582529092528120805460ff191692151592909217909155600190600890610d9660808a0160608b01612d55565b6001600160a01b0316815260208082019290925260409081015f90812060e08b013582528352818120805494151560ff19958616179055848152600683528181208054851660019081179091558a84013582526007909352819020805490931682179092558151610160810190925281908152602001610e1c6060890160408a01612d55565b6001600160a01b03168152602001610e3a6080890160608a01612d55565b6001600160a01b031681525f6020820152604001610e5e60a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff1681525f602082018190526040820152606001610e9260e0890160c08a0161318b565b67ffffffffffffffff1681526020888101358183015260408083018590525f6060909301839052893583526005918290529091208251815491929091839160ff19909116906001908490811115610eeb57610eeb61306f565b0217905550602082015181547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0392831681029190911783556040808501516001850180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169286169290921790556060808701516002870180549093169516949094179055608085015160a08601516fffffffffffffffffffffffffffffffff918216700100000000000000000000000000000000918316820217600387015560c087015160048701805460e08a0151929094167fffffffffffffffff0000000000000000000000000000000000000000000000009094169390931767ffffffffffffffff90911690910217905590840151600584015561012084015160068401556101409093015160079092019190915561103b91908801908801612d55565b6001600160a01b03168187357f33f58edc6b7c0fcdd3372efb3dab357e45efb12cee5428cd06f5a797f1df1fec61107860808b0160608c01612d55565b61108860a08c0160808d0161315c565b61109860e08d0160c08e0161318b565b8c602001356040516110ea94939291906001600160a01b039490941684526fffffffffffffffffffffffffffffffff92909216602084015267ffffffffffffffff166040830152606082015260800190565b60405180910390a461111b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b95945050505050565b5f6108587fc37ca47ab045a2d5cbd3c6754a2261ef43266e00880b7d707bc3daef81dd9a6583356020850135611160606087016040880161318b565b611170608088016060890161318b565b87608001358860a001358960c0013560405160200161083d9897969594939291909788526020880196909652604087019490945267ffffffffffffffff92831660608701529116608085015260a084015260c083015260e08201526101000190565b6111da611e19565b61086e5f61207b565b6111eb611e19565b61086e6120ac565b60035433906001600160a01b03168114611249576040517f118cdaa70000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024015b60405180910390fd5b6112528161207b565b50565b5f6108587f0237a21cd055f0c6cd3ddb0b019ef5b9df26dcd8f5ddeaa837de0477b1d7be2f833560208501356112916060870160408801612d55565b6112a1608088016060890161315c565b6112b160a0890160808a0161315c565b6112c160c08a0160a08b0161318b565b6112d160e08b0160c08c0161318b565b60408051602081019990995288019690965260608701949094526001600160a01b0390921660808601526fffffffffffffffffffffffffffffffff90811660a08601521660c084015267ffffffffffffffff90811660e0848101919091529116610100838101919091529085013561012083810191909152908501356101408301528401356101608201526101800161083d565b5f6060805f5f5f6060611376612103565b61137e612133565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6113cb611f32565b5f81815260056020526040902080546113e89060ff16600261215e565b60018101546001600160a01b0316331461142e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff191660031781556002810154600482015461146c9133916001600160a01b03909116906fffffffffffffffffffffffffffffffff166121bd565b600281015460048201546040516fffffffffffffffffffffffffffffffff90911681526001600160a01b0390911690339084907f85dd6ffce8b37876e65ead753c9b88321835e64be1271f51a85a80d5c909613c9060200160405180910390a45061125260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5f6114ff611f32565b611507611f60565b83355f90815260056020526040902080546115269060ff16600161215e565b805461010090046001600160a01b0316331461156e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600681015460048201546115cf91602088013591700100000000000000000000000000000000900467ffffffffffffffff166115b060608a0160408b0161318b565b6115c060808b0160608c0161318b565b8a608001358b60a00135612531565b6004546115e9906001600160a01b031660c08701356126fb565b6115f285611124565b60045490925061160d906001600160a01b0316838686612028565b6004546001600160a01b03165f90815260096020908152604080832060c08901358452825291829020805460ff1990811660011790915583541660051783556007830184905581516080880135815260a08801359181019190915283918735917fc23e18bf352194739a19ea8473d3a82213dc9f5d1285aa0a0b33e081cf6f580b910160405180910390a3506116c260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b9392505050565b5f81815260056020526040902080546116e69060ff16600161215e565b805461010090046001600160a01b0316331461172e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff19166004178155604051339083907f881d07924d83735d00c06370239f77e65622c5033b00ccd03a9358be68de819d905f90a35050565b5f611772611f32565b61177a611f60565b83355f90815260056020526040902080546117999060ff16600161215e565b5f6117aa6060870160408801612d55565b6001600160a01b0316036117ea576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117fa6060860160408701612d55565b6001600160a01b0316336001600160a01b031614611844576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805461010090046001600160a01b031633148061186d575060018101546001600160a01b031633145b156118a4576040517f0309d3fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006810154600482015461190691602088013591700100000000000000000000000000000000900467ffffffffffffffff166118e660c08a0160a08b0161318b565b6118f660e08b0160c08c0161318b565b8a60e001358b6101000135612531565b600454611921906001600160a01b03166101208701356126fb565b60038101545f906127109061196d907f000000000000000000000000000000000000000000000000000000000000000061ffff16906fffffffffffffffffffffffffffffffff16613212565b6119779190613229565b9050611989608087016060880161315c565b6fffffffffffffffffffffffffffffffff1615806119c75750806119b3608088016060890161315c565b6fffffffffffffffffffffffffffffffff16115b156119fe576040517f8706583900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612710611a2c7f000000000000000000000000000000000000000000000000000000000000000082613261565b61ffff16611a4060808a0160608b0161315c565b6fffffffffffffffffffffffffffffffff16611a5c9190613212565b611a669190613229565b9050611a78608088016060890161315c565b6fffffffffffffffffffffffffffffffff16611a9a60a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff161080611ad8575080611ac460a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff16115b80611b19575060038301546fffffffffffffffffffffffffffffffff16611b0560a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff16115b15611b50576040517f59a1dea400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b5987611255565b600454909450611b74906001600160a01b0316858888612028565b6004546001600160a01b03165f9081526009602090815260408083206101208b0135845290915290208054600160ff199182161790915583546002911681178455830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055611bef608088016060890161315c565b6003840180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055611c3460a088016080890161315c565b6004840180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055600783018490558254611cbb90339061010090046001600160a01b0316611ca460808b0160608c0161315c565b6fffffffffffffffffffffffffffffffff166121bd565b8254339085908935907f12c175f842183d3c9c327e78c1403ebac39363b7db051c3efd4b2956cf7d33ca9061010090046001600160a01b0316611d0460808d0160608e0161315c565b611d1460a08e0160808f0161315c565b604080516001600160a01b0390941684526fffffffffffffffffffffffffffffffff928316602085015291169082015260e08c013560608201526101008c0135608082015260a00160405180910390a45050506116c260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b611d98611e19565b600380546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155611de16002546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6002546001600160a01b0316331461086e576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401611240565b5f610858611e6b61276a565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b611eae611f60565b600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f153390565b6040516001600160a01b03909116815260200160405180910390a1565b611f3a612893565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60035474010000000000000000000000000000000000000000900460ff161561086e576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f90815260086020908152604080832084845290915290205460ff1615612024576040517f2af71f100000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401611240565b5050565b612034848484846128ee565b612075576040517fd855c4f40000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401611240565b50505050565b600380547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561125281612964565b6120b46129cd565b600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611f15565b606061212e7f0000000000000000000000000000000000000000000000000000000000000000612a21565b905090565b606061212e7f0000000000000000000000000000000000000000000000000000000000000000612a21565b8060058111156121705761217061306f565b8260058111156121825761218261306f565b146120245780826040517ff924664d00000000000000000000000000000000000000000000000000000000815260040161124092919061327b565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301525f917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa15801561223e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122629190613296565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301529192505f917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156122e4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123089190613296565b905061233f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016868686612a5e565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301525f917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa1580156123c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123e49190613296565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529192505f917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612466573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248a9190613296565b90508184108061249957508281105b156124d0576040517f45cb11b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846124db83866131df565b1415806124f15750846124ee84836131df565b14155b15612528576040517f45cb11b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b85871461256a576040517fc8dedc5800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428467ffffffffffffffff1611156125ae576040517f6a1dfe7800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff168467ffffffffffffffff16426125ef91906131df565b1115612627576040517f6a08a89400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428367ffffffffffffffff16101561266b576040517fb89a740a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8467ffffffffffffffff168367ffffffffffffffff1611156126b9576040517f292791ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8115806126c4575080155b15612528576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f90815260096020908152604080832084845290915290205460ff1615612024576040517f2af71f100000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401611240565b5f306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156127c257507f000000000000000000000000000000000000000000000000000000000000000046145b156127ec57507f000000000000000000000000000000000000000000000000000000000000000090565b61212e604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005460020361086e576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f846001600160a01b03163b5f0361294d575f5f61290d868686612aad565b5090925090505f8160038111156129265761292661306f565b1480156129445750866001600160a01b0316826001600160a01b0316145b9250505061295c565b61295985858585612af4565b90505b949350505050565b600280546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b60035474010000000000000000000000000000000000000000900460ff1661086e576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60605f612a2d83612b77565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b612a6c848484846001612bb7565b612075576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401611240565b5f80806041849003612ae1578435602086013560408701355f1a612ad389828585612c3d565b955095509550505050612aeb565b505f915060029050825b93509350939050565b604080517f1626ba7e00000000000000000000000000000000000000000000000000000000808252600482018690526024820192909252604481018390525f91908390818660648301375f82606483010152601f820160051c60051b915060205f60648401838b5afa9050825f5114601f3d111681169350505050949350505050565b5f60ff8216601f811115610858576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f23b872dd000000000000000000000000000000000000000000000000000000005f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f51148316612c2c578383151615612c20573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612c7657505f91506003905082612d19565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612cc7573d5f5f3e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116612d1057505f925060019150829050612d19565b92505f91508190505b9450945094915050565b5f60208284031215612d33575f5ffd5b5035919050565b80356001600160a01b0381168114612d50575f5ffd5b919050565b5f60208284031215612d65575f5ffd5b6116c282612d3a565b5f6101008284031215612d7f575f5ffd5b50919050565b5f6101008284031215612d96575f5ffd5b6116c28383612d6e565b5f5f83601f840112612db0575f5ffd5b50813567ffffffffffffffff811115612dc7575f5ffd5b602083019150836020828501011115612dde575f5ffd5b9250929050565b5f5f5f5f5f6101408688031215612dfa575f5ffd5b612e048787612d6e565b945061010086013567ffffffffffffffff811115612e20575f5ffd5b612e2c88828901612da0565b90955093505061012086013567ffffffffffffffff811115612e4c575f5ffd5b612e5888828901612da0565b969995985093965092949392505050565b5f5f60408385031215612e7a575f5ffd5b612e8383612d3a565b946020939093013593505050565b5f60e08284031215612d7f575f5ffd5b5f60e08284031215612eb1575f5ffd5b6116c28383612e91565b5f6101408284031215612d7f575f5ffd5b5f6101408284031215612edd575f5ffd5b6116c28383612ebb565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f612f6d60e0830189612ee7565b8281036040840152612f7f8189612ee7565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015612fd4578351835260209384019390920191600101612fb6565b50909b9a5050505050505050505050565b5f5f5f6101008486031215612ff8575f5ffd5b6130028585612e91565b925060e084013567ffffffffffffffff81111561301d575f5ffd5b61302986828701612da0565b9497909650939450505050565b5f5f5f6101608486031215613049575f5ffd5b6130538585612ebb565b925061014084013567ffffffffffffffff81111561301d575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600681106130d1577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b61016081016130e4828e61309c565b6001600160a01b039b8c166020830152998b1660408201529790991660608801526fffffffffffffffffffffffffffffffff958616608088015293851660a08701529190931660c085015267ffffffffffffffff90921660e08401526101008301919091526101208201526101400191909152919050565b5f6020828403121561316c575f5ffd5b81356fffffffffffffffffffffffffffffffff811681146116c2575f5ffd5b5f6020828403121561319b575f5ffd5b813567ffffffffffffffff811681146116c2575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610858576108586131b2565b67ffffffffffffffff8281168282160390811115610858576108586131b2565b8082028115828204841417610858576108586131b2565b5f8261325c577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b61ffff8181168382160190811115610858576108586131b2565b60408101613289828561309c565b6116c2602083018461309c565b5f602082840312156132a6575f5ffd5b505191905056fea2646970667358221220a51045fc4bd66c22e7e5642f367e2d7bfc2aaffab9f93ae55f81e21d7e11404964736f6c634300081e00330000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc8000000000000000000000000fc2426cdbe672b0d92ac8399a16e88422ac5b7370000000000000000000000000eec6255e87c3a8a1e251d94ae3394fdd118cee50000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000007d00000000000000000000000000000000000000000000000000000000000000e100000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000000000000000000000000000000000000076a700",
        "blockNumber": "0x40a0117",
        "blockHash": "0x67cf875f763a6916059440eda93ad0fe93e9d173299c48df6b490e33c344ce8a",
        "transactionIndex": "0x14"
      },
      "receipt": {
        "transactionHash": "0x328c80d5c4e5a7a13c3143f1f3c5667f83823c3ebdfbd3ca1d9c07b7f3af413e",
        "contractAddress": "0xc4ef249b80a6a034198c226278c51b0a903840dd",
        "from": "0x950d3a417dbba923b775f2bfd146163961842bd4",
        "to": null,
        "status": "0x1",
        "blockNumber": "0x40a0117",
        "blockHash": "0x67cf875f763a6916059440eda93ad0fe93e9d173299c48df6b490e33c344ce8a",
        "transactionIndex": "0x14",
        "gasUsed": "0x2ccf56",
        "effectiveGasPrice": "0x1312d00"
      },
      "deploymentBlock": {
        "number": "0x40a0117",
        "hash": "0x67cf875f763a6916059440eda93ad0fe93e9d173299c48df6b490e33c344ce8a",
        "transactions": [
          "0x5b8a10e18eed24c4f425906972b07b3fd4b4e14d5ffe304a27af841fba9df15e",
          "0xbf409bd3f8291bfce14f7d2e67b2b91d047c250dfd6e9afdc27f4517c63a739b",
          "0x999be05dda20ca8188a153b775b0a2b0c5f15cbba19a4a43d74ec6cfe3f7fc27",
          "0x2756305e898413754979e043b451384ba0378b897a2f89cec8a918de85a3dbc3",
          "0x6221b8749dc4b0473eccfce865ce3eba8324916c5c738bc65dd3af3be5d140af",
          "0xebac150e96d5c64a9db409679b6f29721a5255e9d4b1b9b662a44f8f40a4704a",
          "0x41f7a19c15fec6ec79cc56926dbbe902df77b02c37577a76c81c1c0d6f9ef5fd",
          "0x33de764bdd31ba8026693e554cff4b3b43fb8e49e30c5187a7177101dae41fd1",
          "0x22ef9f9d8a379e4f02f711519e5a2507ba76e09506ee11d04d1d00489b318b3a",
          "0x708b5ddb491edf372873178b6533bb00bf0e689e14e6041320b6cc0b669a2eeb",
          "0x0c28b0af7f502ceb9b137a0204ca8230580f2eb3ed060f762d0abf11896c862d",
          "0xbd5358c7369451332c7b46b5d4235a8dd483b65e81813e324786b2ce37397235",
          "0x7554bf4d5ecbf5fa4f722fcaa401730740ba263870c2fc894ecd0ceff8f475df",
          "0xc25f15dccd8406a19156bee0b15da42eb665d64dde2ea505bc06605cb2d47639",
          "0x6d1a8fdf9ec0469eff679fa402c209a0ced06941b790db14bb2b7de090d980a1",
          "0x648ad2a2d65958c60cd9119ad2df57c2a554dd8f2bf25b5c326b17890ed158b6",
          "0x2bf764089770b3d022957d9188f6a603a29780b0c8bc08ec96691ba9eb9605e5",
          "0x2aff007fda913f54917899878371ed1310f7f39e6909297d46b1edbb479daae9",
          "0x6fdb9d5e1b01bc1579e40fc5894dea1dbd7d2310f9412ac1d291ea9ec370d5ba",
          "0xae3dab09688597caf6f0ee07661c335187a55f6e5c43262951dd236e0bb49f90",
          "0x328c80d5c4e5a7a13c3143f1f3c5667f83823c3ebdfbd3ca1d9c07b7f3af413e"
        ]
      },
      "deploymentBlockByHash": {
        "number": "0x40a0117",
        "hash": "0x67cf875f763a6916059440eda93ad0fe93e9d173299c48df6b490e33c344ce8a",
        "transactions": [
          "0x5b8a10e18eed24c4f425906972b07b3fd4b4e14d5ffe304a27af841fba9df15e",
          "0xbf409bd3f8291bfce14f7d2e67b2b91d047c250dfd6e9afdc27f4517c63a739b",
          "0x999be05dda20ca8188a153b775b0a2b0c5f15cbba19a4a43d74ec6cfe3f7fc27",
          "0x2756305e898413754979e043b451384ba0378b897a2f89cec8a918de85a3dbc3",
          "0x6221b8749dc4b0473eccfce865ce3eba8324916c5c738bc65dd3af3be5d140af",
          "0xebac150e96d5c64a9db409679b6f29721a5255e9d4b1b9b662a44f8f40a4704a",
          "0x41f7a19c15fec6ec79cc56926dbbe902df77b02c37577a76c81c1c0d6f9ef5fd",
          "0x33de764bdd31ba8026693e554cff4b3b43fb8e49e30c5187a7177101dae41fd1",
          "0x22ef9f9d8a379e4f02f711519e5a2507ba76e09506ee11d04d1d00489b318b3a",
          "0x708b5ddb491edf372873178b6533bb00bf0e689e14e6041320b6cc0b669a2eeb",
          "0x0c28b0af7f502ceb9b137a0204ca8230580f2eb3ed060f762d0abf11896c862d",
          "0xbd5358c7369451332c7b46b5d4235a8dd483b65e81813e324786b2ce37397235",
          "0x7554bf4d5ecbf5fa4f722fcaa401730740ba263870c2fc894ecd0ceff8f475df",
          "0xc25f15dccd8406a19156bee0b15da42eb665d64dde2ea505bc06605cb2d47639",
          "0x6d1a8fdf9ec0469eff679fa402c209a0ced06941b790db14bb2b7de090d980a1",
          "0x648ad2a2d65958c60cd9119ad2df57c2a554dd8f2bf25b5c326b17890ed158b6",
          "0x2bf764089770b3d022957d9188f6a603a29780b0c8bc08ec96691ba9eb9605e5",
          "0x2aff007fda913f54917899878371ed1310f7f39e6909297d46b1edbb479daae9",
          "0x6fdb9d5e1b01bc1579e40fc5894dea1dbd7d2310f9412ac1d291ea9ec370d5ba",
          "0xae3dab09688597caf6f0ee07661c335187a55f6e5c43262951dd236e0bb49f90",
          "0x328c80d5c4e5a7a13c3143f1f3c5667f83823c3ebdfbd3ca1d9c07b7f3af413e"
        ]
      },
      "runtimeCode": "0x608060405234801561000f575f5ffd5b506004361061021b575f3560e01c80637b9e618d11610123578063c4371fe8116100b8578063e30c397811610088578063f2fde38b1161006e578063f2fde38b146105a5578063f8a8a076146105b8578063fa87140414610676575f5ffd5b8063e30c397814610581578063f00db26014610592575f5ffd5b8063c4371fe814610512578063c79dc7c114610539578063d53bff091461055b578063da7e7cc41461056e575f5ffd5b8063987757dd116100f3578063987757dd1461049e578063a8f83a42146104b1578063bf769a3f146104c4578063c42c7e15146104eb575f5ffd5b80637b9e618d146104205780637de212191461045f57806384b0196e146104725780638da5cb5b1461048d575f5ffd5b8063491420da116101b35780636320238311610183578063715018a611610169578063715018a6146104085780637555a4d11461041057806379ba509714610418575f5ffd5b806363202383146103ce57806365a72497146103e1575f5ffd5b8063491420da1461032a5780634fe1681a146103575780635261ccfb1461037e5780635c975abb146103ab575f5ffd5b80633446533a116101ee5780633446533a146102bc57806334d085e0146102cf5780633c9a7ece146102d7578063461d3d0c146102ea575f5ffd5b806302a8b45a1461021f57806308bb5f7b14610256578063146afeb01461026b578063249d39e9146102a0575b5f5ffd5b61024161022d366004612d23565b60076020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610269610264366004612d55565b61069d565b005b6102927fc37ca47ab045a2d5cbd3c6754a2261ef43266e00880b7d707bc3daef81dd9a6581565b60405190815260200161024d565b6102a961271081565b60405161ffff909116815260200161024d565b6102926102ca366004612d85565b61074e565b61026961085e565b6102926102e5366004612de5565b610870565b6103117f000000000000000000000000000000000000000000000000000000000076a70081565b60405167ffffffffffffffff909116815260200161024d565b610241610338366004612e69565b600960209081525f928352604080842090915290825290205460ff1681565b6102927f3fa7362141ca2043801d61b9efee211fcbc943d3c40221f3ef30e1c50e93368681565b61024161038c366004612e69565b600860209081525f928352604080842090915290825290205460ff1681565b60035474010000000000000000000000000000000000000000900460ff16610241565b6102926103dc366004612ea1565b611124565b6102927f0237a21cd055f0c6cd3ddb0b019ef5b9df26dcd8f5ddeaa837de0477b1d7be2f81565b6102696111d2565b6102696111e3565b6102696111f3565b6104477f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc881565b6040516001600160a01b03909116815260200161024d565b61029261046d366004612ecc565b611255565b61047a611365565b60405161024d9796959493929190612f33565b6002546001600160a01b0316610447565b6102696104ac366004612d23565b6113c3565b6102926104bf366004612fe5565b6114f6565b6102a97f00000000000000000000000000000000000000000000000000000000000007d081565b6102a97f0000000000000000000000000000000000000000000000000000000000001f4081565b6103117f0000000000000000000000000000000000000000000000000000000000000e1081565b610241610547366004612d23565b60066020525f908152604090205460ff1681565b610269610569366004612d23565b6116c9565b61029261057c366004613036565b611769565b6003546001600160a01b0316610447565b600454610447906001600160a01b031681565b6102696105b3366004612d55565b611d90565b61065f6105c6366004612d23565b600560208190525f91825260409091208054600182015460028301546003840154600485015495850154600686015460079096015460ff8616976101009096046001600160a01b0390811697958116969416946fffffffffffffffffffffffffffffffff80851695700100000000000000000000000000000000958690048216959181169491900467ffffffffffffffff16929091908b565b60405161024d9b9a999897969594939291906130d5565b6103117f0000000000000000000000000000000000000000000000000000000000093a8081565b6106a5611e19565b6001600160a01b0381166106e5576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f2124859fc626cc4550f8e4f8d37b703c33e25332e00f0f53b042a7e342bb3658905f90a35050565b5f6108587f3fa7362141ca2043801d61b9efee211fcbc943d3c40221f3ef30e1c50e9336868335602085013561078a6060870160408801612d55565b61079a6080880160608901612d55565b6107aa60a0890160808a0161315c565b6107ba60c08a0160a08b0161318b565b6107ca60e08b0160c08c0161318b565b60408051602081019990995288019690965260608701949094526001600160a01b039283166080870152911660a08501526fffffffffffffffffffffffffffffffff1660c084015267ffffffffffffffff90811660e0848101919091529116610100830152840135610120820152610140015b60405160208183030381529060405280519060200120611e5f565b92915050565b610866611e19565b61086e611ea6565b565b5f610879611f32565b610881611f60565b6108916060870160408801612d55565b6001600160a01b0316336001600160a01b0316146108db576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108ec6060880160408901612d55565b6001600160a01b0316148061091857505f61090d6080880160608901612d55565b6001600160a01b0316145b1561094f576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095f6080870160608801612d55565b6001600160a01b03166109786060880160408901612d55565b6001600160a01b0316036109b8576040517f0309d3fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b853515806109c857506020860135155b806109f257506109de60a087016080880161315c565b6fffffffffffffffffffffffffffffffff16155b15610a29576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42610a3a60c0880160a0890161318b565b67ffffffffffffffff161180610a69575042610a5c60e0880160c0890161318b565b67ffffffffffffffff1611155b80610aa65750610a7f60c0870160a0880161318b565b67ffffffffffffffff16610a9960e0880160c0890161318b565b67ffffffffffffffff1611155b15610add576040517f1a8ef0dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000093a8016610b1860c0880160a0890161318b565b610b2c9067ffffffffffffffff16426131df565b1115610b64576040517f9e2e10e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000076a70016610b9f60c0880160a0890161318b565b610baf60e0890160c08a0161318b565b610bb991906131f2565b67ffffffffffffffff161115610bfb576040517f5442190b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c048661074e565b90505f86355f9081526005602081905260409091205460ff1690811115610c2d57610c2d61306f565b141580610c4757505f8181526006602052604090205460ff165b15610c7e576040517f3c002dc100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020808701355f9081526007909152604090205460ff1615610ccc576040517fff011b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ce9610cdf6060880160408901612d55565b8760e00135611fb5565b610cfc610cdf6080880160608901612d55565b610d17610d0f6060880160408901612d55565b828787612028565b610d32610d2a6080880160608901612d55565b828585612028565b600160085f610d4760608a0160408b01612d55565b6001600160a01b0316815260208082019290925260409081015f90812060e08b013582529092528120805460ff191692151592909217909155600190600890610d9660808a0160608b01612d55565b6001600160a01b0316815260208082019290925260409081015f90812060e08b013582528352818120805494151560ff19958616179055848152600683528181208054851660019081179091558a84013582526007909352819020805490931682179092558151610160810190925281908152602001610e1c6060890160408a01612d55565b6001600160a01b03168152602001610e3a6080890160608a01612d55565b6001600160a01b031681525f6020820152604001610e5e60a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff1681525f602082018190526040820152606001610e9260e0890160c08a0161318b565b67ffffffffffffffff1681526020888101358183015260408083018590525f6060909301839052893583526005918290529091208251815491929091839160ff19909116906001908490811115610eeb57610eeb61306f565b0217905550602082015181547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0392831681029190911783556040808501516001850180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169286169290921790556060808701516002870180549093169516949094179055608085015160a08601516fffffffffffffffffffffffffffffffff918216700100000000000000000000000000000000918316820217600387015560c087015160048701805460e08a0151929094167fffffffffffffffff0000000000000000000000000000000000000000000000009094169390931767ffffffffffffffff90911690910217905590840151600584015561012084015160068401556101409093015160079092019190915561103b91908801908801612d55565b6001600160a01b03168187357f33f58edc6b7c0fcdd3372efb3dab357e45efb12cee5428cd06f5a797f1df1fec61107860808b0160608c01612d55565b61108860a08c0160808d0161315c565b61109860e08d0160c08e0161318b565b8c602001356040516110ea94939291906001600160a01b039490941684526fffffffffffffffffffffffffffffffff92909216602084015267ffffffffffffffff166040830152606082015260800190565b60405180910390a461111b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b95945050505050565b5f6108587fc37ca47ab045a2d5cbd3c6754a2261ef43266e00880b7d707bc3daef81dd9a6583356020850135611160606087016040880161318b565b611170608088016060890161318b565b87608001358860a001358960c0013560405160200161083d9897969594939291909788526020880196909652604087019490945267ffffffffffffffff92831660608701529116608085015260a084015260c083015260e08201526101000190565b6111da611e19565b61086e5f61207b565b6111eb611e19565b61086e6120ac565b60035433906001600160a01b03168114611249576040517f118cdaa70000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024015b60405180910390fd5b6112528161207b565b50565b5f6108587f0237a21cd055f0c6cd3ddb0b019ef5b9df26dcd8f5ddeaa837de0477b1d7be2f833560208501356112916060870160408801612d55565b6112a1608088016060890161315c565b6112b160a0890160808a0161315c565b6112c160c08a0160a08b0161318b565b6112d160e08b0160c08c0161318b565b60408051602081019990995288019690965260608701949094526001600160a01b0390921660808601526fffffffffffffffffffffffffffffffff90811660a08601521660c084015267ffffffffffffffff90811660e0848101919091529116610100838101919091529085013561012083810191909152908501356101408301528401356101608201526101800161083d565b5f6060805f5f5f6060611376612103565b61137e612133565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6113cb611f32565b5f81815260056020526040902080546113e89060ff16600261215e565b60018101546001600160a01b0316331461142e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff191660031781556002810154600482015461146c9133916001600160a01b03909116906fffffffffffffffffffffffffffffffff166121bd565b600281015460048201546040516fffffffffffffffffffffffffffffffff90911681526001600160a01b0390911690339084907f85dd6ffce8b37876e65ead753c9b88321835e64be1271f51a85a80d5c909613c9060200160405180910390a45061125260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5f6114ff611f32565b611507611f60565b83355f90815260056020526040902080546115269060ff16600161215e565b805461010090046001600160a01b0316331461156e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600681015460048201546115cf91602088013591700100000000000000000000000000000000900467ffffffffffffffff166115b060608a0160408b0161318b565b6115c060808b0160608c0161318b565b8a608001358b60a00135612531565b6004546115e9906001600160a01b031660c08701356126fb565b6115f285611124565b60045490925061160d906001600160a01b0316838686612028565b6004546001600160a01b03165f90815260096020908152604080832060c08901358452825291829020805460ff1990811660011790915583541660051783556007830184905581516080880135815260a08801359181019190915283918735917fc23e18bf352194739a19ea8473d3a82213dc9f5d1285aa0a0b33e081cf6f580b910160405180910390a3506116c260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b9392505050565b5f81815260056020526040902080546116e69060ff16600161215e565b805461010090046001600160a01b0316331461172e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff19166004178155604051339083907f881d07924d83735d00c06370239f77e65622c5033b00ccd03a9358be68de819d905f90a35050565b5f611772611f32565b61177a611f60565b83355f90815260056020526040902080546117999060ff16600161215e565b5f6117aa6060870160408801612d55565b6001600160a01b0316036117ea576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117fa6060860160408701612d55565b6001600160a01b0316336001600160a01b031614611844576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805461010090046001600160a01b031633148061186d575060018101546001600160a01b031633145b156118a4576040517f0309d3fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006810154600482015461190691602088013591700100000000000000000000000000000000900467ffffffffffffffff166118e660c08a0160a08b0161318b565b6118f660e08b0160c08c0161318b565b8a60e001358b6101000135612531565b600454611921906001600160a01b03166101208701356126fb565b60038101545f906127109061196d907f0000000000000000000000000000000000000000000000000000000000001f4061ffff16906fffffffffffffffffffffffffffffffff16613212565b6119779190613229565b9050611989608087016060880161315c565b6fffffffffffffffffffffffffffffffff1615806119c75750806119b3608088016060890161315c565b6fffffffffffffffffffffffffffffffff16115b156119fe576040517f8706583900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612710611a2c7f00000000000000000000000000000000000000000000000000000000000007d082613261565b61ffff16611a4060808a0160608b0161315c565b6fffffffffffffffffffffffffffffffff16611a5c9190613212565b611a669190613229565b9050611a78608088016060890161315c565b6fffffffffffffffffffffffffffffffff16611a9a60a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff161080611ad8575080611ac460a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff16115b80611b19575060038301546fffffffffffffffffffffffffffffffff16611b0560a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff16115b15611b50576040517f59a1dea400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b5987611255565b600454909450611b74906001600160a01b0316858888612028565b6004546001600160a01b03165f9081526009602090815260408083206101208b0135845290915290208054600160ff199182161790915583546002911681178455830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055611bef608088016060890161315c565b6003840180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055611c3460a088016080890161315c565b6004840180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055600783018490558254611cbb90339061010090046001600160a01b0316611ca460808b0160608c0161315c565b6fffffffffffffffffffffffffffffffff166121bd565b8254339085908935907f12c175f842183d3c9c327e78c1403ebac39363b7db051c3efd4b2956cf7d33ca9061010090046001600160a01b0316611d0460808d0160608e0161315c565b611d1460a08e0160808f0161315c565b604080516001600160a01b0390941684526fffffffffffffffffffffffffffffffff928316602085015291169082015260e08c013560608201526101008c0135608082015260a00160405180910390a45050506116c260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b611d98611e19565b600380546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155611de16002546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6002546001600160a01b0316331461086e576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401611240565b5f610858611e6b61276a565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b611eae611f60565b600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f153390565b6040516001600160a01b03909116815260200160405180910390a1565b611f3a612893565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60035474010000000000000000000000000000000000000000900460ff161561086e576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f90815260086020908152604080832084845290915290205460ff1615612024576040517f2af71f100000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401611240565b5050565b612034848484846128ee565b612075576040517fd855c4f40000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401611240565b50505050565b600380547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561125281612964565b6120b46129cd565b600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611f15565b606061212e7f4f70656e42656c6c2052656365697661626c6573000000000000000000000014612a21565b905090565b606061212e7f3100000000000000000000000000000000000000000000000000000000000001612a21565b8060058111156121705761217061306f565b8260058111156121825761218261306f565b146120245780826040517ff924664d00000000000000000000000000000000000000000000000000000000815260040161124092919061327b565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301525f917f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc8909116906370a0823190602401602060405180830381865afa15801561223e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122629190613296565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301529192505f917f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc816906370a0823190602401602060405180830381865afa1580156122e4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123089190613296565b905061233f6001600160a01b037f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc816868686612a5e565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301525f917f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc8909116906370a0823190602401602060405180830381865afa1580156123c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123e49190613296565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529192505f917f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc816906370a0823190602401602060405180830381865afa158015612466573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248a9190613296565b90508184108061249957508281105b156124d0576040517f45cb11b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846124db83866131df565b1415806124f15750846124ee84836131df565b14155b15612528576040517f45cb11b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b85871461256a576040517fc8dedc5800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428467ffffffffffffffff1611156125ae576040517f6a1dfe7800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000e1067ffffffffffffffff168467ffffffffffffffff16426125ef91906131df565b1115612627576040517f6a08a89400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428367ffffffffffffffff16101561266b576040517fb89a740a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8467ffffffffffffffff168367ffffffffffffffff1611156126b9576040517f292791ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8115806126c4575080155b15612528576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f90815260096020908152604080832084845290915290205460ff1615612024576040517f2af71f100000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401611240565b5f306001600160a01b037f000000000000000000000000c4ef249b80a6a034198c226278c51b0a903840dd161480156127c257507f00000000000000000000000000000000000000000000000000000000000000c446145b156127ec57507f50b483ed6453c46a1887204b602887aba5f5ae4bf63bc97db5136a06bc54bf6890565b61212e604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f77e162af5776591b49b0cc5b9780f078f8c66f829784688b1cad7c4b900362c1918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005460020361086e576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f846001600160a01b03163b5f0361294d575f5f61290d868686612aad565b5090925090505f8160038111156129265761292661306f565b1480156129445750866001600160a01b0316826001600160a01b0316145b9250505061295c565b61295985858585612af4565b90505b949350505050565b600280546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b60035474010000000000000000000000000000000000000000900460ff1661086e576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60605f612a2d83612b77565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b612a6c848484846001612bb7565b612075576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401611240565b5f80806041849003612ae1578435602086013560408701355f1a612ad389828585612c3d565b955095509550505050612aeb565b505f915060029050825b93509350939050565b604080517f1626ba7e00000000000000000000000000000000000000000000000000000000808252600482018690526024820192909252604481018390525f91908390818660648301375f82606483010152601f820160051c60051b915060205f60648401838b5afa9050825f5114601f3d111681169350505050949350505050565b5f60ff8216601f811115610858576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f23b872dd000000000000000000000000000000000000000000000000000000005f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f51148316612c2c578383151615612c20573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612c7657505f91506003905082612d19565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612cc7573d5f5f3e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116612d1057505f925060019150829050612d19565b92505f91508190505b9450945094915050565b5f60208284031215612d33575f5ffd5b5035919050565b80356001600160a01b0381168114612d50575f5ffd5b919050565b5f60208284031215612d65575f5ffd5b6116c282612d3a565b5f6101008284031215612d7f575f5ffd5b50919050565b5f6101008284031215612d96575f5ffd5b6116c28383612d6e565b5f5f83601f840112612db0575f5ffd5b50813567ffffffffffffffff811115612dc7575f5ffd5b602083019150836020828501011115612dde575f5ffd5b9250929050565b5f5f5f5f5f6101408688031215612dfa575f5ffd5b612e048787612d6e565b945061010086013567ffffffffffffffff811115612e20575f5ffd5b612e2c88828901612da0565b90955093505061012086013567ffffffffffffffff811115612e4c575f5ffd5b612e5888828901612da0565b969995985093965092949392505050565b5f5f60408385031215612e7a575f5ffd5b612e8383612d3a565b946020939093013593505050565b5f60e08284031215612d7f575f5ffd5b5f60e08284031215612eb1575f5ffd5b6116c28383612e91565b5f6101408284031215612d7f575f5ffd5b5f6101408284031215612edd575f5ffd5b6116c28383612ebb565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f612f6d60e0830189612ee7565b8281036040840152612f7f8189612ee7565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015612fd4578351835260209384019390920191600101612fb6565b50909b9a5050505050505050505050565b5f5f5f6101008486031215612ff8575f5ffd5b6130028585612e91565b925060e084013567ffffffffffffffff81111561301d575f5ffd5b61302986828701612da0565b9497909650939450505050565b5f5f5f6101608486031215613049575f5ffd5b6130538585612ebb565b925061014084013567ffffffffffffffff81111561301d575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600681106130d1577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b61016081016130e4828e61309c565b6001600160a01b039b8c166020830152998b1660408201529790991660608801526fffffffffffffffffffffffffffffffff958616608088015293851660a08701529190931660c085015267ffffffffffffffff90921660e08401526101008301919091526101208201526101400191909152919050565b5f6020828403121561316c575f5ffd5b81356fffffffffffffffffffffffffffffffff811681146116c2575f5ffd5b5f6020828403121561319b575f5ffd5b813567ffffffffffffffff811681146116c2575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610858576108586131b2565b67ffffffffffffffff8281168282160390811115610858576108586131b2565b8082028115828204841417610858576108586131b2565b5f8261325c577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b61ffff8181168382160190811115610858576108586131b2565b60408101613289828561309c565b6116c2602083018461309c565b5f602082840312156132a6575f5ffd5b505191905056fea2646970667358221220a51045fc4bd66c22e7e5642f367e2d7bfc2aaffab9f93ae55f81e21d7e11404964736f6c634300081e0033",
      "calls": {
        "settlementToken": {
          "data": "0x7b9e618d",
          "result": "0x0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc8"
        },
        "owner": {
          "data": "0x8da5cb5b",
          "result": "0x000000000000000000000000fc2426cdbe672b0d92ac8399a16e88422ac5b737"
        },
        "pendingOwner": {
          "data": "0xe30c3978",
          "result": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "underwriter": {
          "data": "0xf00db260",
          "result": "0x0000000000000000000000000eec6255e87c3a8a1e251d94ae3394fdd118cee5"
        },
        "paused": {
          "data": "0x5c975abb",
          "result": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "BPS": {
          "data": "0x249d39e9",
          "result": "0x0000000000000000000000000000000000000000000000000000000000002710"
        },
        "maxAdvanceBps": {
          "data": "0xc42c7e15",
          "result": "0x0000000000000000000000000000000000000000000000000000000000001f40"
        },
        "maxFeeBps": {
          "data": "0xbf769a3f",
          "result": "0x00000000000000000000000000000000000000000000000000000000000007d0"
        },
        "maxRiskAge": {
          "data": "0xc4371fe8",
          "result": "0x0000000000000000000000000000000000000000000000000000000000000e10"
        },
        "maxInvoiceAge": {
          "data": "0xfa871404",
          "result": "0x0000000000000000000000000000000000000000000000000000000000093a80"
        },
        "maxInvoiceTenor": {
          "data": "0x461d3d0c",
          "result": "0x000000000000000000000000000000000000000000000000000000000076a700"
        },
        "INVOICE_TYPEHASH": {
          "data": "0x4fe1681a",
          "result": "0x3fa7362141ca2043801d61b9efee211fcbc943d3c40221f3ef30e1c50e933686"
        },
        "APPROVAL_TYPEHASH": {
          "data": "0x65a72497",
          "result": "0x0237a21cd055f0c6cd3ddb0b019ef5b9df26dcd8f5ddeaa837de0477b1d7be2f"
        },
        "REJECTION_TYPEHASH": {
          "data": "0x146afeb0",
          "result": "0xc37ca47ab045a2d5cbd3c6754a2261ef43266e00880b7d707bc3daef81dd9a65"
        },
        "eip712Domain": {
          "data": "0x84b0196e",
          "result": "0x0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000c4000000000000000000000000c4ef249b80a6a034198c226278c51b0a903840dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000144f70656e42656c6c2052656365697661626c6573000000000000000000000000000000000000000000000000000000000000000000000000000000000000000131000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        }
      },
      "endpointCommitment": "0x6dc6837936cfafdb8db23141dc98177dbd4f1c79c1557d49210b9323920fb950"
    },
    {
      "provider": "official-okx",
      "chainId": "0xc4",
      "headBefore": {
        "number": "0x40a14bb",
        "block": {
          "number": "0x40a14bb",
          "hash": "0xf75a380ca92cf0774ef57ecc7ce708cb5b7cd9f175caa233f534f2a1890324c4"
        }
      },
      "headAfter": {
        "number": "0x40a14c2",
        "block": {
          "number": "0x40a14c2",
          "hash": "0xad98c61748d252ab17cdb934236e25a9e566907926cc9b4f090bbf2f6f821962"
        }
      },
      "transaction": {
        "hash": "0x328c80d5c4e5a7a13c3143f1f3c5667f83823c3ebdfbd3ca1d9c07b7f3af413e",
        "from": "0x950d3a417dbba923b775f2bfd146163961842bd4",
        "to": null,
        "nonce": "0x0",
        "value": "0x0",
        "input": "0x610220604052348015610010575f5ffd5b5060405161383f38038061383f83398101604081905261002f9161039c565b866040518060400160405280601481526020017f4f70656e42656c6c2052656365697661626c6573000000000000000000000000815250604051806040016040528060018152602001603160f81b81525061008f826102b060201b60201c565b6101205261009c816102b0565b61014052815160208084019190912060e052815190820120610100524660a05261012860e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b03811661015f57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610168816102ed565b5060017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03881615806101aa57506001600160a01b038716155b806101bc57506001600160a01b038616155b156101da5760405163d92e233d60e01b815260040160405180910390fd5b61ffff851615806101f0575061271061ffff8616115b80610200575061271061ffff8516115b8061021257506001600160401b038316155b8061022457506001600160401b038216155b8061023657506001600160401b038116155b1561025457604051637c946ed760e01b815260040160405180910390fd5b6001600160a01b0397881661016052600480546001600160a01b031916969098169590951790965561ffff9283166101805291166101a0526001600160401b039081166101c0529283166101e052919091166102005250610489565b5f5f829050601f815111156102da578260405163305a27a960e01b8152600401610156919061042e565b80516102e582610463565b179392505050565b600380546001600160a01b031916905561030681610309565b50565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b80516001600160a01b0381168114610370575f5ffd5b919050565b805161ffff81168114610370575f5ffd5b80516001600160401b0381168114610370575f5ffd5b5f5f5f5f5f5f5f5f610100898b0312156103b4575f5ffd5b6103bd8961035a565b97506103cb60208a0161035a565b96506103d960408a0161035a565b95506103e760608a01610375565b94506103f560808a01610375565b935061040360a08a01610386565b925061041160c08a01610386565b915061041f60e08a01610386565b90509295985092959890939650565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80516020808301519190811015610483575f198160200360031b1b821691505b50919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516132e361055c5f395f81816102ef0152610b6f01525f818161067b0152610ae801525f818161051701526125b001525f81816104c90152611a0701525f81816104f0015261193201525f8181610425015281816121f70152818161229f0152818161231701528181612379015261242101525f61213a01525f61210a01525f61284301525f61281b01525f61277601525f6127a001525f6127ca01526132e35ff3fe608060405234801561000f575f5ffd5b506004361061021b575f3560e01c80637b9e618d11610123578063c4371fe8116100b8578063e30c397811610088578063f2fde38b1161006e578063f2fde38b146105a5578063f8a8a076146105b8578063fa87140414610676575f5ffd5b8063e30c397814610581578063f00db26014610592575f5ffd5b8063c4371fe814610512578063c79dc7c114610539578063d53bff091461055b578063da7e7cc41461056e575f5ffd5b8063987757dd116100f3578063987757dd1461049e578063a8f83a42146104b1578063bf769a3f146104c4578063c42c7e15146104eb575f5ffd5b80637b9e618d146104205780637de212191461045f57806384b0196e146104725780638da5cb5b1461048d575f5ffd5b8063491420da116101b35780636320238311610183578063715018a611610169578063715018a6146104085780637555a4d11461041057806379ba509714610418575f5ffd5b806363202383146103ce57806365a72497146103e1575f5ffd5b8063491420da1461032a5780634fe1681a146103575780635261ccfb1461037e5780635c975abb146103ab575f5ffd5b80633446533a116101ee5780633446533a146102bc57806334d085e0146102cf5780633c9a7ece146102d7578063461d3d0c146102ea575f5ffd5b806302a8b45a1461021f57806308bb5f7b14610256578063146afeb01461026b578063249d39e9146102a0575b5f5ffd5b61024161022d366004612d23565b60076020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610269610264366004612d55565b61069d565b005b6102927fc37ca47ab045a2d5cbd3c6754a2261ef43266e00880b7d707bc3daef81dd9a6581565b60405190815260200161024d565b6102a961271081565b60405161ffff909116815260200161024d565b6102926102ca366004612d85565b61074e565b61026961085e565b6102926102e5366004612de5565b610870565b6103117f000000000000000000000000000000000000000000000000000000000000000081565b60405167ffffffffffffffff909116815260200161024d565b610241610338366004612e69565b600960209081525f928352604080842090915290825290205460ff1681565b6102927f3fa7362141ca2043801d61b9efee211fcbc943d3c40221f3ef30e1c50e93368681565b61024161038c366004612e69565b600860209081525f928352604080842090915290825290205460ff1681565b60035474010000000000000000000000000000000000000000900460ff16610241565b6102926103dc366004612ea1565b611124565b6102927f0237a21cd055f0c6cd3ddb0b019ef5b9df26dcd8f5ddeaa837de0477b1d7be2f81565b6102696111d2565b6102696111e3565b6102696111f3565b6104477f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161024d565b61029261046d366004612ecc565b611255565b61047a611365565b60405161024d9796959493929190612f33565b6002546001600160a01b0316610447565b6102696104ac366004612d23565b6113c3565b6102926104bf366004612fe5565b6114f6565b6102a97f000000000000000000000000000000000000000000000000000000000000000081565b6102a97f000000000000000000000000000000000000000000000000000000000000000081565b6103117f000000000000000000000000000000000000000000000000000000000000000081565b610241610547366004612d23565b60066020525f908152604090205460ff1681565b610269610569366004612d23565b6116c9565b61029261057c366004613036565b611769565b6003546001600160a01b0316610447565b600454610447906001600160a01b031681565b6102696105b3366004612d55565b611d90565b61065f6105c6366004612d23565b600560208190525f91825260409091208054600182015460028301546003840154600485015495850154600686015460079096015460ff8616976101009096046001600160a01b0390811697958116969416946fffffffffffffffffffffffffffffffff80851695700100000000000000000000000000000000958690048216959181169491900467ffffffffffffffff16929091908b565b60405161024d9b9a999897969594939291906130d5565b6103117f000000000000000000000000000000000000000000000000000000000000000081565b6106a5611e19565b6001600160a01b0381166106e5576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f2124859fc626cc4550f8e4f8d37b703c33e25332e00f0f53b042a7e342bb3658905f90a35050565b5f6108587f3fa7362141ca2043801d61b9efee211fcbc943d3c40221f3ef30e1c50e9336868335602085013561078a6060870160408801612d55565b61079a6080880160608901612d55565b6107aa60a0890160808a0161315c565b6107ba60c08a0160a08b0161318b565b6107ca60e08b0160c08c0161318b565b60408051602081019990995288019690965260608701949094526001600160a01b039283166080870152911660a08501526fffffffffffffffffffffffffffffffff1660c084015267ffffffffffffffff90811660e0848101919091529116610100830152840135610120820152610140015b60405160208183030381529060405280519060200120611e5f565b92915050565b610866611e19565b61086e611ea6565b565b5f610879611f32565b610881611f60565b6108916060870160408801612d55565b6001600160a01b0316336001600160a01b0316146108db576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108ec6060880160408901612d55565b6001600160a01b0316148061091857505f61090d6080880160608901612d55565b6001600160a01b0316145b1561094f576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095f6080870160608801612d55565b6001600160a01b03166109786060880160408901612d55565b6001600160a01b0316036109b8576040517f0309d3fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b853515806109c857506020860135155b806109f257506109de60a087016080880161315c565b6fffffffffffffffffffffffffffffffff16155b15610a29576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42610a3a60c0880160a0890161318b565b67ffffffffffffffff161180610a69575042610a5c60e0880160c0890161318b565b67ffffffffffffffff1611155b80610aa65750610a7f60c0870160a0880161318b565b67ffffffffffffffff16610a9960e0880160c0890161318b565b67ffffffffffffffff1611155b15610add576040517f1a8ef0dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016610b1860c0880160a0890161318b565b610b2c9067ffffffffffffffff16426131df565b1115610b64576040517f9e2e10e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016610b9f60c0880160a0890161318b565b610baf60e0890160c08a0161318b565b610bb991906131f2565b67ffffffffffffffff161115610bfb576040517f5442190b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c048661074e565b90505f86355f9081526005602081905260409091205460ff1690811115610c2d57610c2d61306f565b141580610c4757505f8181526006602052604090205460ff165b15610c7e576040517f3c002dc100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020808701355f9081526007909152604090205460ff1615610ccc576040517fff011b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ce9610cdf6060880160408901612d55565b8760e00135611fb5565b610cfc610cdf6080880160608901612d55565b610d17610d0f6060880160408901612d55565b828787612028565b610d32610d2a6080880160608901612d55565b828585612028565b600160085f610d4760608a0160408b01612d55565b6001600160a01b0316815260208082019290925260409081015f90812060e08b013582529092528120805460ff191692151592909217909155600190600890610d9660808a0160608b01612d55565b6001600160a01b0316815260208082019290925260409081015f90812060e08b013582528352818120805494151560ff19958616179055848152600683528181208054851660019081179091558a84013582526007909352819020805490931682179092558151610160810190925281908152602001610e1c6060890160408a01612d55565b6001600160a01b03168152602001610e3a6080890160608a01612d55565b6001600160a01b031681525f6020820152604001610e5e60a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff1681525f602082018190526040820152606001610e9260e0890160c08a0161318b565b67ffffffffffffffff1681526020888101358183015260408083018590525f6060909301839052893583526005918290529091208251815491929091839160ff19909116906001908490811115610eeb57610eeb61306f565b0217905550602082015181547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0392831681029190911783556040808501516001850180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169286169290921790556060808701516002870180549093169516949094179055608085015160a08601516fffffffffffffffffffffffffffffffff918216700100000000000000000000000000000000918316820217600387015560c087015160048701805460e08a0151929094167fffffffffffffffff0000000000000000000000000000000000000000000000009094169390931767ffffffffffffffff90911690910217905590840151600584015561012084015160068401556101409093015160079092019190915561103b91908801908801612d55565b6001600160a01b03168187357f33f58edc6b7c0fcdd3372efb3dab357e45efb12cee5428cd06f5a797f1df1fec61107860808b0160608c01612d55565b61108860a08c0160808d0161315c565b61109860e08d0160c08e0161318b565b8c602001356040516110ea94939291906001600160a01b039490941684526fffffffffffffffffffffffffffffffff92909216602084015267ffffffffffffffff166040830152606082015260800190565b60405180910390a461111b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b95945050505050565b5f6108587fc37ca47ab045a2d5cbd3c6754a2261ef43266e00880b7d707bc3daef81dd9a6583356020850135611160606087016040880161318b565b611170608088016060890161318b565b87608001358860a001358960c0013560405160200161083d9897969594939291909788526020880196909652604087019490945267ffffffffffffffff92831660608701529116608085015260a084015260c083015260e08201526101000190565b6111da611e19565b61086e5f61207b565b6111eb611e19565b61086e6120ac565b60035433906001600160a01b03168114611249576040517f118cdaa70000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024015b60405180910390fd5b6112528161207b565b50565b5f6108587f0237a21cd055f0c6cd3ddb0b019ef5b9df26dcd8f5ddeaa837de0477b1d7be2f833560208501356112916060870160408801612d55565b6112a1608088016060890161315c565b6112b160a0890160808a0161315c565b6112c160c08a0160a08b0161318b565b6112d160e08b0160c08c0161318b565b60408051602081019990995288019690965260608701949094526001600160a01b0390921660808601526fffffffffffffffffffffffffffffffff90811660a08601521660c084015267ffffffffffffffff90811660e0848101919091529116610100838101919091529085013561012083810191909152908501356101408301528401356101608201526101800161083d565b5f6060805f5f5f6060611376612103565b61137e612133565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6113cb611f32565b5f81815260056020526040902080546113e89060ff16600261215e565b60018101546001600160a01b0316331461142e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff191660031781556002810154600482015461146c9133916001600160a01b03909116906fffffffffffffffffffffffffffffffff166121bd565b600281015460048201546040516fffffffffffffffffffffffffffffffff90911681526001600160a01b0390911690339084907f85dd6ffce8b37876e65ead753c9b88321835e64be1271f51a85a80d5c909613c9060200160405180910390a45061125260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5f6114ff611f32565b611507611f60565b83355f90815260056020526040902080546115269060ff16600161215e565b805461010090046001600160a01b0316331461156e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600681015460048201546115cf91602088013591700100000000000000000000000000000000900467ffffffffffffffff166115b060608a0160408b0161318b565b6115c060808b0160608c0161318b565b8a608001358b60a00135612531565b6004546115e9906001600160a01b031660c08701356126fb565b6115f285611124565b60045490925061160d906001600160a01b0316838686612028565b6004546001600160a01b03165f90815260096020908152604080832060c08901358452825291829020805460ff1990811660011790915583541660051783556007830184905581516080880135815260a08801359181019190915283918735917fc23e18bf352194739a19ea8473d3a82213dc9f5d1285aa0a0b33e081cf6f580b910160405180910390a3506116c260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b9392505050565b5f81815260056020526040902080546116e69060ff16600161215e565b805461010090046001600160a01b0316331461172e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff19166004178155604051339083907f881d07924d83735d00c06370239f77e65622c5033b00ccd03a9358be68de819d905f90a35050565b5f611772611f32565b61177a611f60565b83355f90815260056020526040902080546117999060ff16600161215e565b5f6117aa6060870160408801612d55565b6001600160a01b0316036117ea576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117fa6060860160408701612d55565b6001600160a01b0316336001600160a01b031614611844576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805461010090046001600160a01b031633148061186d575060018101546001600160a01b031633145b156118a4576040517f0309d3fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006810154600482015461190691602088013591700100000000000000000000000000000000900467ffffffffffffffff166118e660c08a0160a08b0161318b565b6118f660e08b0160c08c0161318b565b8a60e001358b6101000135612531565b600454611921906001600160a01b03166101208701356126fb565b60038101545f906127109061196d907f000000000000000000000000000000000000000000000000000000000000000061ffff16906fffffffffffffffffffffffffffffffff16613212565b6119779190613229565b9050611989608087016060880161315c565b6fffffffffffffffffffffffffffffffff1615806119c75750806119b3608088016060890161315c565b6fffffffffffffffffffffffffffffffff16115b156119fe576040517f8706583900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612710611a2c7f000000000000000000000000000000000000000000000000000000000000000082613261565b61ffff16611a4060808a0160608b0161315c565b6fffffffffffffffffffffffffffffffff16611a5c9190613212565b611a669190613229565b9050611a78608088016060890161315c565b6fffffffffffffffffffffffffffffffff16611a9a60a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff161080611ad8575080611ac460a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff16115b80611b19575060038301546fffffffffffffffffffffffffffffffff16611b0560a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff16115b15611b50576040517f59a1dea400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b5987611255565b600454909450611b74906001600160a01b0316858888612028565b6004546001600160a01b03165f9081526009602090815260408083206101208b0135845290915290208054600160ff199182161790915583546002911681178455830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055611bef608088016060890161315c565b6003840180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055611c3460a088016080890161315c565b6004840180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055600783018490558254611cbb90339061010090046001600160a01b0316611ca460808b0160608c0161315c565b6fffffffffffffffffffffffffffffffff166121bd565b8254339085908935907f12c175f842183d3c9c327e78c1403ebac39363b7db051c3efd4b2956cf7d33ca9061010090046001600160a01b0316611d0460808d0160608e0161315c565b611d1460a08e0160808f0161315c565b604080516001600160a01b0390941684526fffffffffffffffffffffffffffffffff928316602085015291169082015260e08c013560608201526101008c0135608082015260a00160405180910390a45050506116c260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b611d98611e19565b600380546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155611de16002546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6002546001600160a01b0316331461086e576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401611240565b5f610858611e6b61276a565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b611eae611f60565b600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f153390565b6040516001600160a01b03909116815260200160405180910390a1565b611f3a612893565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60035474010000000000000000000000000000000000000000900460ff161561086e576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f90815260086020908152604080832084845290915290205460ff1615612024576040517f2af71f100000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401611240565b5050565b612034848484846128ee565b612075576040517fd855c4f40000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401611240565b50505050565b600380547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561125281612964565b6120b46129cd565b600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611f15565b606061212e7f0000000000000000000000000000000000000000000000000000000000000000612a21565b905090565b606061212e7f0000000000000000000000000000000000000000000000000000000000000000612a21565b8060058111156121705761217061306f565b8260058111156121825761218261306f565b146120245780826040517ff924664d00000000000000000000000000000000000000000000000000000000815260040161124092919061327b565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301525f917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa15801561223e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122629190613296565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301529192505f917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156122e4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123089190613296565b905061233f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016868686612a5e565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301525f917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa1580156123c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123e49190613296565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529192505f917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015612466573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248a9190613296565b90508184108061249957508281105b156124d0576040517f45cb11b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846124db83866131df565b1415806124f15750846124ee84836131df565b14155b15612528576040517f45cb11b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b85871461256a576040517fc8dedc5800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428467ffffffffffffffff1611156125ae576040517f6a1dfe7800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff168467ffffffffffffffff16426125ef91906131df565b1115612627576040517f6a08a89400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428367ffffffffffffffff16101561266b576040517fb89a740a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8467ffffffffffffffff168367ffffffffffffffff1611156126b9576040517f292791ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8115806126c4575080155b15612528576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f90815260096020908152604080832084845290915290205460ff1615612024576040517f2af71f100000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401611240565b5f306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156127c257507f000000000000000000000000000000000000000000000000000000000000000046145b156127ec57507f000000000000000000000000000000000000000000000000000000000000000090565b61212e604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005460020361086e576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f846001600160a01b03163b5f0361294d575f5f61290d868686612aad565b5090925090505f8160038111156129265761292661306f565b1480156129445750866001600160a01b0316826001600160a01b0316145b9250505061295c565b61295985858585612af4565b90505b949350505050565b600280546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b60035474010000000000000000000000000000000000000000900460ff1661086e576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60605f612a2d83612b77565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b612a6c848484846001612bb7565b612075576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401611240565b5f80806041849003612ae1578435602086013560408701355f1a612ad389828585612c3d565b955095509550505050612aeb565b505f915060029050825b93509350939050565b604080517f1626ba7e00000000000000000000000000000000000000000000000000000000808252600482018690526024820192909252604481018390525f91908390818660648301375f82606483010152601f820160051c60051b915060205f60648401838b5afa9050825f5114601f3d111681169350505050949350505050565b5f60ff8216601f811115610858576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f23b872dd000000000000000000000000000000000000000000000000000000005f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f51148316612c2c578383151615612c20573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612c7657505f91506003905082612d19565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612cc7573d5f5f3e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116612d1057505f925060019150829050612d19565b92505f91508190505b9450945094915050565b5f60208284031215612d33575f5ffd5b5035919050565b80356001600160a01b0381168114612d50575f5ffd5b919050565b5f60208284031215612d65575f5ffd5b6116c282612d3a565b5f6101008284031215612d7f575f5ffd5b50919050565b5f6101008284031215612d96575f5ffd5b6116c28383612d6e565b5f5f83601f840112612db0575f5ffd5b50813567ffffffffffffffff811115612dc7575f5ffd5b602083019150836020828501011115612dde575f5ffd5b9250929050565b5f5f5f5f5f6101408688031215612dfa575f5ffd5b612e048787612d6e565b945061010086013567ffffffffffffffff811115612e20575f5ffd5b612e2c88828901612da0565b90955093505061012086013567ffffffffffffffff811115612e4c575f5ffd5b612e5888828901612da0565b969995985093965092949392505050565b5f5f60408385031215612e7a575f5ffd5b612e8383612d3a565b946020939093013593505050565b5f60e08284031215612d7f575f5ffd5b5f60e08284031215612eb1575f5ffd5b6116c28383612e91565b5f6101408284031215612d7f575f5ffd5b5f6101408284031215612edd575f5ffd5b6116c28383612ebb565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f612f6d60e0830189612ee7565b8281036040840152612f7f8189612ee7565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015612fd4578351835260209384019390920191600101612fb6565b50909b9a5050505050505050505050565b5f5f5f6101008486031215612ff8575f5ffd5b6130028585612e91565b925060e084013567ffffffffffffffff81111561301d575f5ffd5b61302986828701612da0565b9497909650939450505050565b5f5f5f6101608486031215613049575f5ffd5b6130538585612ebb565b925061014084013567ffffffffffffffff81111561301d575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600681106130d1577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b61016081016130e4828e61309c565b6001600160a01b039b8c166020830152998b1660408201529790991660608801526fffffffffffffffffffffffffffffffff958616608088015293851660a08701529190931660c085015267ffffffffffffffff90921660e08401526101008301919091526101208201526101400191909152919050565b5f6020828403121561316c575f5ffd5b81356fffffffffffffffffffffffffffffffff811681146116c2575f5ffd5b5f6020828403121561319b575f5ffd5b813567ffffffffffffffff811681146116c2575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610858576108586131b2565b67ffffffffffffffff8281168282160390811115610858576108586131b2565b8082028115828204841417610858576108586131b2565b5f8261325c577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b61ffff8181168382160190811115610858576108586131b2565b60408101613289828561309c565b6116c2602083018461309c565b5f602082840312156132a6575f5ffd5b505191905056fea2646970667358221220a51045fc4bd66c22e7e5642f367e2d7bfc2aaffab9f93ae55f81e21d7e11404964736f6c634300081e00330000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc8000000000000000000000000fc2426cdbe672b0d92ac8399a16e88422ac5b7370000000000000000000000000eec6255e87c3a8a1e251d94ae3394fdd118cee50000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000007d00000000000000000000000000000000000000000000000000000000000000e100000000000000000000000000000000000000000000000000000000000093a80000000000000000000000000000000000000000000000000000000000076a700",
        "blockNumber": "0x40a0117",
        "blockHash": "0x67cf875f763a6916059440eda93ad0fe93e9d173299c48df6b490e33c344ce8a",
        "transactionIndex": "0x14"
      },
      "receipt": {
        "transactionHash": "0x328c80d5c4e5a7a13c3143f1f3c5667f83823c3ebdfbd3ca1d9c07b7f3af413e",
        "contractAddress": "0xc4ef249b80a6a034198c226278c51b0a903840dd",
        "from": "0x950d3a417dbba923b775f2bfd146163961842bd4",
        "to": null,
        "status": "0x1",
        "blockNumber": "0x40a0117",
        "blockHash": "0x67cf875f763a6916059440eda93ad0fe93e9d173299c48df6b490e33c344ce8a",
        "transactionIndex": "0x14",
        "gasUsed": "0x2ccf56",
        "effectiveGasPrice": "0x1312d00"
      },
      "deploymentBlock": {
        "number": "0x40a0117",
        "hash": "0x67cf875f763a6916059440eda93ad0fe93e9d173299c48df6b490e33c344ce8a",
        "transactions": [
          "0x5b8a10e18eed24c4f425906972b07b3fd4b4e14d5ffe304a27af841fba9df15e",
          "0xbf409bd3f8291bfce14f7d2e67b2b91d047c250dfd6e9afdc27f4517c63a739b",
          "0x999be05dda20ca8188a153b775b0a2b0c5f15cbba19a4a43d74ec6cfe3f7fc27",
          "0x2756305e898413754979e043b451384ba0378b897a2f89cec8a918de85a3dbc3",
          "0x6221b8749dc4b0473eccfce865ce3eba8324916c5c738bc65dd3af3be5d140af",
          "0xebac150e96d5c64a9db409679b6f29721a5255e9d4b1b9b662a44f8f40a4704a",
          "0x41f7a19c15fec6ec79cc56926dbbe902df77b02c37577a76c81c1c0d6f9ef5fd",
          "0x33de764bdd31ba8026693e554cff4b3b43fb8e49e30c5187a7177101dae41fd1",
          "0x22ef9f9d8a379e4f02f711519e5a2507ba76e09506ee11d04d1d00489b318b3a",
          "0x708b5ddb491edf372873178b6533bb00bf0e689e14e6041320b6cc0b669a2eeb",
          "0x0c28b0af7f502ceb9b137a0204ca8230580f2eb3ed060f762d0abf11896c862d",
          "0xbd5358c7369451332c7b46b5d4235a8dd483b65e81813e324786b2ce37397235",
          "0x7554bf4d5ecbf5fa4f722fcaa401730740ba263870c2fc894ecd0ceff8f475df",
          "0xc25f15dccd8406a19156bee0b15da42eb665d64dde2ea505bc06605cb2d47639",
          "0x6d1a8fdf9ec0469eff679fa402c209a0ced06941b790db14bb2b7de090d980a1",
          "0x648ad2a2d65958c60cd9119ad2df57c2a554dd8f2bf25b5c326b17890ed158b6",
          "0x2bf764089770b3d022957d9188f6a603a29780b0c8bc08ec96691ba9eb9605e5",
          "0x2aff007fda913f54917899878371ed1310f7f39e6909297d46b1edbb479daae9",
          "0x6fdb9d5e1b01bc1579e40fc5894dea1dbd7d2310f9412ac1d291ea9ec370d5ba",
          "0xae3dab09688597caf6f0ee07661c335187a55f6e5c43262951dd236e0bb49f90",
          "0x328c80d5c4e5a7a13c3143f1f3c5667f83823c3ebdfbd3ca1d9c07b7f3af413e"
        ]
      },
      "deploymentBlockByHash": {
        "number": "0x40a0117",
        "hash": "0x67cf875f763a6916059440eda93ad0fe93e9d173299c48df6b490e33c344ce8a",
        "transactions": [
          "0x5b8a10e18eed24c4f425906972b07b3fd4b4e14d5ffe304a27af841fba9df15e",
          "0xbf409bd3f8291bfce14f7d2e67b2b91d047c250dfd6e9afdc27f4517c63a739b",
          "0x999be05dda20ca8188a153b775b0a2b0c5f15cbba19a4a43d74ec6cfe3f7fc27",
          "0x2756305e898413754979e043b451384ba0378b897a2f89cec8a918de85a3dbc3",
          "0x6221b8749dc4b0473eccfce865ce3eba8324916c5c738bc65dd3af3be5d140af",
          "0xebac150e96d5c64a9db409679b6f29721a5255e9d4b1b9b662a44f8f40a4704a",
          "0x41f7a19c15fec6ec79cc56926dbbe902df77b02c37577a76c81c1c0d6f9ef5fd",
          "0x33de764bdd31ba8026693e554cff4b3b43fb8e49e30c5187a7177101dae41fd1",
          "0x22ef9f9d8a379e4f02f711519e5a2507ba76e09506ee11d04d1d00489b318b3a",
          "0x708b5ddb491edf372873178b6533bb00bf0e689e14e6041320b6cc0b669a2eeb",
          "0x0c28b0af7f502ceb9b137a0204ca8230580f2eb3ed060f762d0abf11896c862d",
          "0xbd5358c7369451332c7b46b5d4235a8dd483b65e81813e324786b2ce37397235",
          "0x7554bf4d5ecbf5fa4f722fcaa401730740ba263870c2fc894ecd0ceff8f475df",
          "0xc25f15dccd8406a19156bee0b15da42eb665d64dde2ea505bc06605cb2d47639",
          "0x6d1a8fdf9ec0469eff679fa402c209a0ced06941b790db14bb2b7de090d980a1",
          "0x648ad2a2d65958c60cd9119ad2df57c2a554dd8f2bf25b5c326b17890ed158b6",
          "0x2bf764089770b3d022957d9188f6a603a29780b0c8bc08ec96691ba9eb9605e5",
          "0x2aff007fda913f54917899878371ed1310f7f39e6909297d46b1edbb479daae9",
          "0x6fdb9d5e1b01bc1579e40fc5894dea1dbd7d2310f9412ac1d291ea9ec370d5ba",
          "0xae3dab09688597caf6f0ee07661c335187a55f6e5c43262951dd236e0bb49f90",
          "0x328c80d5c4e5a7a13c3143f1f3c5667f83823c3ebdfbd3ca1d9c07b7f3af413e"
        ]
      },
      "runtimeCode": "0x608060405234801561000f575f5ffd5b506004361061021b575f3560e01c80637b9e618d11610123578063c4371fe8116100b8578063e30c397811610088578063f2fde38b1161006e578063f2fde38b146105a5578063f8a8a076146105b8578063fa87140414610676575f5ffd5b8063e30c397814610581578063f00db26014610592575f5ffd5b8063c4371fe814610512578063c79dc7c114610539578063d53bff091461055b578063da7e7cc41461056e575f5ffd5b8063987757dd116100f3578063987757dd1461049e578063a8f83a42146104b1578063bf769a3f146104c4578063c42c7e15146104eb575f5ffd5b80637b9e618d146104205780637de212191461045f57806384b0196e146104725780638da5cb5b1461048d575f5ffd5b8063491420da116101b35780636320238311610183578063715018a611610169578063715018a6146104085780637555a4d11461041057806379ba509714610418575f5ffd5b806363202383146103ce57806365a72497146103e1575f5ffd5b8063491420da1461032a5780634fe1681a146103575780635261ccfb1461037e5780635c975abb146103ab575f5ffd5b80633446533a116101ee5780633446533a146102bc57806334d085e0146102cf5780633c9a7ece146102d7578063461d3d0c146102ea575f5ffd5b806302a8b45a1461021f57806308bb5f7b14610256578063146afeb01461026b578063249d39e9146102a0575b5f5ffd5b61024161022d366004612d23565b60076020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610269610264366004612d55565b61069d565b005b6102927fc37ca47ab045a2d5cbd3c6754a2261ef43266e00880b7d707bc3daef81dd9a6581565b60405190815260200161024d565b6102a961271081565b60405161ffff909116815260200161024d565b6102926102ca366004612d85565b61074e565b61026961085e565b6102926102e5366004612de5565b610870565b6103117f000000000000000000000000000000000000000000000000000000000076a70081565b60405167ffffffffffffffff909116815260200161024d565b610241610338366004612e69565b600960209081525f928352604080842090915290825290205460ff1681565b6102927f3fa7362141ca2043801d61b9efee211fcbc943d3c40221f3ef30e1c50e93368681565b61024161038c366004612e69565b600860209081525f928352604080842090915290825290205460ff1681565b60035474010000000000000000000000000000000000000000900460ff16610241565b6102926103dc366004612ea1565b611124565b6102927f0237a21cd055f0c6cd3ddb0b019ef5b9df26dcd8f5ddeaa837de0477b1d7be2f81565b6102696111d2565b6102696111e3565b6102696111f3565b6104477f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc881565b6040516001600160a01b03909116815260200161024d565b61029261046d366004612ecc565b611255565b61047a611365565b60405161024d9796959493929190612f33565b6002546001600160a01b0316610447565b6102696104ac366004612d23565b6113c3565b6102926104bf366004612fe5565b6114f6565b6102a97f00000000000000000000000000000000000000000000000000000000000007d081565b6102a97f0000000000000000000000000000000000000000000000000000000000001f4081565b6103117f0000000000000000000000000000000000000000000000000000000000000e1081565b610241610547366004612d23565b60066020525f908152604090205460ff1681565b610269610569366004612d23565b6116c9565b61029261057c366004613036565b611769565b6003546001600160a01b0316610447565b600454610447906001600160a01b031681565b6102696105b3366004612d55565b611d90565b61065f6105c6366004612d23565b600560208190525f91825260409091208054600182015460028301546003840154600485015495850154600686015460079096015460ff8616976101009096046001600160a01b0390811697958116969416946fffffffffffffffffffffffffffffffff80851695700100000000000000000000000000000000958690048216959181169491900467ffffffffffffffff16929091908b565b60405161024d9b9a999897969594939291906130d5565b6103117f0000000000000000000000000000000000000000000000000000000000093a8081565b6106a5611e19565b6001600160a01b0381166106e5576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600480546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f2124859fc626cc4550f8e4f8d37b703c33e25332e00f0f53b042a7e342bb3658905f90a35050565b5f6108587f3fa7362141ca2043801d61b9efee211fcbc943d3c40221f3ef30e1c50e9336868335602085013561078a6060870160408801612d55565b61079a6080880160608901612d55565b6107aa60a0890160808a0161315c565b6107ba60c08a0160a08b0161318b565b6107ca60e08b0160c08c0161318b565b60408051602081019990995288019690965260608701949094526001600160a01b039283166080870152911660a08501526fffffffffffffffffffffffffffffffff1660c084015267ffffffffffffffff90811660e0848101919091529116610100830152840135610120820152610140015b60405160208183030381529060405280519060200120611e5f565b92915050565b610866611e19565b61086e611ea6565b565b5f610879611f32565b610881611f60565b6108916060870160408801612d55565b6001600160a01b0316336001600160a01b0316146108db576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6108ec6060880160408901612d55565b6001600160a01b0316148061091857505f61090d6080880160608901612d55565b6001600160a01b0316145b1561094f576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095f6080870160608801612d55565b6001600160a01b03166109786060880160408901612d55565b6001600160a01b0316036109b8576040517f0309d3fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b853515806109c857506020860135155b806109f257506109de60a087016080880161315c565b6fffffffffffffffffffffffffffffffff16155b15610a29576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42610a3a60c0880160a0890161318b565b67ffffffffffffffff161180610a69575042610a5c60e0880160c0890161318b565b67ffffffffffffffff1611155b80610aa65750610a7f60c0870160a0880161318b565b67ffffffffffffffff16610a9960e0880160c0890161318b565b67ffffffffffffffff1611155b15610add576040517f1a8ef0dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000093a8016610b1860c0880160a0890161318b565b610b2c9067ffffffffffffffff16426131df565b1115610b64576040517f9e2e10e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff7f000000000000000000000000000000000000000000000000000000000076a70016610b9f60c0880160a0890161318b565b610baf60e0890160c08a0161318b565b610bb991906131f2565b67ffffffffffffffff161115610bfb576040517f5442190b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c048661074e565b90505f86355f9081526005602081905260409091205460ff1690811115610c2d57610c2d61306f565b141580610c4757505f8181526006602052604090205460ff165b15610c7e576040517f3c002dc100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020808701355f9081526007909152604090205460ff1615610ccc576040517fff011b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ce9610cdf6060880160408901612d55565b8760e00135611fb5565b610cfc610cdf6080880160608901612d55565b610d17610d0f6060880160408901612d55565b828787612028565b610d32610d2a6080880160608901612d55565b828585612028565b600160085f610d4760608a0160408b01612d55565b6001600160a01b0316815260208082019290925260409081015f90812060e08b013582529092528120805460ff191692151592909217909155600190600890610d9660808a0160608b01612d55565b6001600160a01b0316815260208082019290925260409081015f90812060e08b013582528352818120805494151560ff19958616179055848152600683528181208054851660019081179091558a84013582526007909352819020805490931682179092558151610160810190925281908152602001610e1c6060890160408a01612d55565b6001600160a01b03168152602001610e3a6080890160608a01612d55565b6001600160a01b031681525f6020820152604001610e5e60a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff1681525f602082018190526040820152606001610e9260e0890160c08a0161318b565b67ffffffffffffffff1681526020888101358183015260408083018590525f6060909301839052893583526005918290529091208251815491929091839160ff19909116906001908490811115610eeb57610eeb61306f565b0217905550602082015181547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0392831681029190911783556040808501516001850180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169286169290921790556060808701516002870180549093169516949094179055608085015160a08601516fffffffffffffffffffffffffffffffff918216700100000000000000000000000000000000918316820217600387015560c087015160048701805460e08a0151929094167fffffffffffffffff0000000000000000000000000000000000000000000000009094169390931767ffffffffffffffff90911690910217905590840151600584015561012084015160068401556101409093015160079092019190915561103b91908801908801612d55565b6001600160a01b03168187357f33f58edc6b7c0fcdd3372efb3dab357e45efb12cee5428cd06f5a797f1df1fec61107860808b0160608c01612d55565b61108860a08c0160808d0161315c565b61109860e08d0160c08e0161318b565b8c602001356040516110ea94939291906001600160a01b039490941684526fffffffffffffffffffffffffffffffff92909216602084015267ffffffffffffffff166040830152606082015260800190565b60405180910390a461111b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b95945050505050565b5f6108587fc37ca47ab045a2d5cbd3c6754a2261ef43266e00880b7d707bc3daef81dd9a6583356020850135611160606087016040880161318b565b611170608088016060890161318b565b87608001358860a001358960c0013560405160200161083d9897969594939291909788526020880196909652604087019490945267ffffffffffffffff92831660608701529116608085015260a084015260c083015260e08201526101000190565b6111da611e19565b61086e5f61207b565b6111eb611e19565b61086e6120ac565b60035433906001600160a01b03168114611249576040517f118cdaa70000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024015b60405180910390fd5b6112528161207b565b50565b5f6108587f0237a21cd055f0c6cd3ddb0b019ef5b9df26dcd8f5ddeaa837de0477b1d7be2f833560208501356112916060870160408801612d55565b6112a1608088016060890161315c565b6112b160a0890160808a0161315c565b6112c160c08a0160a08b0161318b565b6112d160e08b0160c08c0161318b565b60408051602081019990995288019690965260608701949094526001600160a01b0390921660808601526fffffffffffffffffffffffffffffffff90811660a08601521660c084015267ffffffffffffffff90811660e0848101919091529116610100838101919091529085013561012083810191909152908501356101408301528401356101608201526101800161083d565b5f6060805f5f5f6060611376612103565b61137e612133565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6113cb611f32565b5f81815260056020526040902080546113e89060ff16600261215e565b60018101546001600160a01b0316331461142e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff191660031781556002810154600482015461146c9133916001600160a01b03909116906fffffffffffffffffffffffffffffffff166121bd565b600281015460048201546040516fffffffffffffffffffffffffffffffff90911681526001600160a01b0390911690339084907f85dd6ffce8b37876e65ead753c9b88321835e64be1271f51a85a80d5c909613c9060200160405180910390a45061125260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5f6114ff611f32565b611507611f60565b83355f90815260056020526040902080546115269060ff16600161215e565b805461010090046001600160a01b0316331461156e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600681015460048201546115cf91602088013591700100000000000000000000000000000000900467ffffffffffffffff166115b060608a0160408b0161318b565b6115c060808b0160608c0161318b565b8a608001358b60a00135612531565b6004546115e9906001600160a01b031660c08701356126fb565b6115f285611124565b60045490925061160d906001600160a01b0316838686612028565b6004546001600160a01b03165f90815260096020908152604080832060c08901358452825291829020805460ff1990811660011790915583541660051783556007830184905581516080880135815260a08801359181019190915283918735917fc23e18bf352194739a19ea8473d3a82213dc9f5d1285aa0a0b33e081cf6f580b910160405180910390a3506116c260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b9392505050565b5f81815260056020526040902080546116e69060ff16600161215e565b805461010090046001600160a01b0316331461172e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff19166004178155604051339083907f881d07924d83735d00c06370239f77e65622c5033b00ccd03a9358be68de819d905f90a35050565b5f611772611f32565b61177a611f60565b83355f90815260056020526040902080546117999060ff16600161215e565b5f6117aa6060870160408801612d55565b6001600160a01b0316036117ea576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117fa6060860160408701612d55565b6001600160a01b0316336001600160a01b031614611844576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805461010090046001600160a01b031633148061186d575060018101546001600160a01b031633145b156118a4576040517f0309d3fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006810154600482015461190691602088013591700100000000000000000000000000000000900467ffffffffffffffff166118e660c08a0160a08b0161318b565b6118f660e08b0160c08c0161318b565b8a60e001358b6101000135612531565b600454611921906001600160a01b03166101208701356126fb565b60038101545f906127109061196d907f0000000000000000000000000000000000000000000000000000000000001f4061ffff16906fffffffffffffffffffffffffffffffff16613212565b6119779190613229565b9050611989608087016060880161315c565b6fffffffffffffffffffffffffffffffff1615806119c75750806119b3608088016060890161315c565b6fffffffffffffffffffffffffffffffff16115b156119fe576040517f8706583900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612710611a2c7f00000000000000000000000000000000000000000000000000000000000007d082613261565b61ffff16611a4060808a0160608b0161315c565b6fffffffffffffffffffffffffffffffff16611a5c9190613212565b611a669190613229565b9050611a78608088016060890161315c565b6fffffffffffffffffffffffffffffffff16611a9a60a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff161080611ad8575080611ac460a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff16115b80611b19575060038301546fffffffffffffffffffffffffffffffff16611b0560a0890160808a0161315c565b6fffffffffffffffffffffffffffffffff16115b15611b50576040517f59a1dea400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b5987611255565b600454909450611b74906001600160a01b0316858888612028565b6004546001600160a01b03165f9081526009602090815260408083206101208b0135845290915290208054600160ff199182161790915583546002911681178455830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055611bef608088016060890161315c565b6003840180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055611c3460a088016080890161315c565b6004840180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055600783018490558254611cbb90339061010090046001600160a01b0316611ca460808b0160608c0161315c565b6fffffffffffffffffffffffffffffffff166121bd565b8254339085908935907f12c175f842183d3c9c327e78c1403ebac39363b7db051c3efd4b2956cf7d33ca9061010090046001600160a01b0316611d0460808d0160608e0161315c565b611d1460a08e0160808f0161315c565b604080516001600160a01b0390941684526fffffffffffffffffffffffffffffffff928316602085015291169082015260e08c013560608201526101008c0135608082015260a00160405180910390a45050506116c260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b611d98611e19565b600380546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155611de16002546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6002546001600160a01b0316331461086e576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401611240565b5f610858611e6b61276a565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b611eae611f60565b600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f153390565b6040516001600160a01b03909116815260200160405180910390a1565b611f3a612893565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60035474010000000000000000000000000000000000000000900460ff161561086e576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f90815260086020908152604080832084845290915290205460ff1615612024576040517f2af71f100000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401611240565b5050565b612034848484846128ee565b612075576040517fd855c4f40000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401611240565b50505050565b600380547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561125281612964565b6120b46129cd565b600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611f15565b606061212e7f4f70656e42656c6c2052656365697661626c6573000000000000000000000014612a21565b905090565b606061212e7f3100000000000000000000000000000000000000000000000000000000000001612a21565b8060058111156121705761217061306f565b8260058111156121825761218261306f565b146120245780826040517ff924664d00000000000000000000000000000000000000000000000000000000815260040161124092919061327b565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301525f917f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc8909116906370a0823190602401602060405180830381865afa15801561223e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122629190613296565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301529192505f917f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc816906370a0823190602401602060405180830381865afa1580156122e4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123089190613296565b905061233f6001600160a01b037f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc816868686612a5e565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301525f917f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc8909116906370a0823190602401602060405180830381865afa1580156123c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123e49190613296565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529192505f917f0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc816906370a0823190602401602060405180830381865afa158015612466573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061248a9190613296565b90508184108061249957508281105b156124d0576040517f45cb11b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846124db83866131df565b1415806124f15750846124ee84836131df565b14155b15612528576040517f45cb11b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b85871461256a576040517fc8dedc5800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428467ffffffffffffffff1611156125ae576040517f6a1dfe7800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000e1067ffffffffffffffff168467ffffffffffffffff16426125ef91906131df565b1115612627576040517f6a08a89400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428367ffffffffffffffff16101561266b576040517fb89a740a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8467ffffffffffffffff168367ffffffffffffffff1611156126b9576040517f292791ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8115806126c4575080155b15612528576040517f7c946ed700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f90815260096020908152604080832084845290915290205460ff1615612024576040517f2af71f100000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401611240565b5f306001600160a01b037f000000000000000000000000c4ef249b80a6a034198c226278c51b0a903840dd161480156127c257507f00000000000000000000000000000000000000000000000000000000000000c446145b156127ec57507f50b483ed6453c46a1887204b602887aba5f5ae4bf63bc97db5136a06bc54bf6890565b61212e604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f77e162af5776591b49b0cc5b9780f078f8c66f829784688b1cad7c4b900362c1918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005460020361086e576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f846001600160a01b03163b5f0361294d575f5f61290d868686612aad565b5090925090505f8160038111156129265761292661306f565b1480156129445750866001600160a01b0316826001600160a01b0316145b9250505061295c565b61295985858585612af4565b90505b949350505050565b600280546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b60035474010000000000000000000000000000000000000000900460ff1661086e576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60605f612a2d83612b77565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b612a6c848484846001612bb7565b612075576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401611240565b5f80806041849003612ae1578435602086013560408701355f1a612ad389828585612c3d565b955095509550505050612aeb565b505f915060029050825b93509350939050565b604080517f1626ba7e00000000000000000000000000000000000000000000000000000000808252600482018690526024820192909252604481018390525f91908390818660648301375f82606483010152601f820160051c60051b915060205f60648401838b5afa9050825f5114601f3d111681169350505050949350505050565b5f60ff8216601f811115610858576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f23b872dd000000000000000000000000000000000000000000000000000000005f8181526001600160a01b038781166004528616602452604485905291602083606481808c5af1925060015f51148316612c2c578383151615612c20573d5f823e3d81fd5b5f883b113d1516831692505b604052505f60605295945050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612c7657505f91506003905082612d19565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612cc7573d5f5f3e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116612d1057505f925060019150829050612d19565b92505f91508190505b9450945094915050565b5f60208284031215612d33575f5ffd5b5035919050565b80356001600160a01b0381168114612d50575f5ffd5b919050565b5f60208284031215612d65575f5ffd5b6116c282612d3a565b5f6101008284031215612d7f575f5ffd5b50919050565b5f6101008284031215612d96575f5ffd5b6116c28383612d6e565b5f5f83601f840112612db0575f5ffd5b50813567ffffffffffffffff811115612dc7575f5ffd5b602083019150836020828501011115612dde575f5ffd5b9250929050565b5f5f5f5f5f6101408688031215612dfa575f5ffd5b612e048787612d6e565b945061010086013567ffffffffffffffff811115612e20575f5ffd5b612e2c88828901612da0565b90955093505061012086013567ffffffffffffffff811115612e4c575f5ffd5b612e5888828901612da0565b969995985093965092949392505050565b5f5f60408385031215612e7a575f5ffd5b612e8383612d3a565b946020939093013593505050565b5f60e08284031215612d7f575f5ffd5b5f60e08284031215612eb1575f5ffd5b6116c28383612e91565b5f6101408284031215612d7f575f5ffd5b5f6101408284031215612edd575f5ffd5b6116c28383612ebb565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f612f6d60e0830189612ee7565b8281036040840152612f7f8189612ee7565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015612fd4578351835260209384019390920191600101612fb6565b50909b9a5050505050505050505050565b5f5f5f6101008486031215612ff8575f5ffd5b6130028585612e91565b925060e084013567ffffffffffffffff81111561301d575f5ffd5b61302986828701612da0565b9497909650939450505050565b5f5f5f6101608486031215613049575f5ffd5b6130538585612ebb565b925061014084013567ffffffffffffffff81111561301d575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600681106130d1577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b61016081016130e4828e61309c565b6001600160a01b039b8c166020830152998b1660408201529790991660608801526fffffffffffffffffffffffffffffffff958616608088015293851660a08701529190931660c085015267ffffffffffffffff90921660e08401526101008301919091526101208201526101400191909152919050565b5f6020828403121561316c575f5ffd5b81356fffffffffffffffffffffffffffffffff811681146116c2575f5ffd5b5f6020828403121561319b575f5ffd5b813567ffffffffffffffff811681146116c2575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610858576108586131b2565b67ffffffffffffffff8281168282160390811115610858576108586131b2565b8082028115828204841417610858576108586131b2565b5f8261325c577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b61ffff8181168382160190811115610858576108586131b2565b60408101613289828561309c565b6116c2602083018461309c565b5f602082840312156132a6575f5ffd5b505191905056fea2646970667358221220a51045fc4bd66c22e7e5642f367e2d7bfc2aaffab9f93ae55f81e21d7e11404964736f6c634300081e0033",
      "calls": {
        "settlementToken": {
          "data": "0x7b9e618d",
          "result": "0x0000000000000000000000004ae46a509f6b1d9056937ba4500cb143933d2dc8"
        },
        "owner": {
          "data": "0x8da5cb5b",
          "result": "0x000000000000000000000000fc2426cdbe672b0d92ac8399a16e88422ac5b737"
        },
        "pendingOwner": {
          "data": "0xe30c3978",
          "result": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "underwriter": {
          "data": "0xf00db260",
          "result": "0x0000000000000000000000000eec6255e87c3a8a1e251d94ae3394fdd118cee5"
        },
        "paused": {
          "data": "0x5c975abb",
          "result": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        "BPS": {
          "data": "0x249d39e9",
          "result": "0x0000000000000000000000000000000000000000000000000000000000002710"
        },
        "maxAdvanceBps": {
          "data": "0xc42c7e15",
          "result": "0x0000000000000000000000000000000000000000000000000000000000001f40"
        },
        "maxFeeBps": {
          "data": "0xbf769a3f",
          "result": "0x00000000000000000000000000000000000000000000000000000000000007d0"
        },
        "maxRiskAge": {
          "data": "0xc4371fe8",
          "result": "0x0000000000000000000000000000000000000000000000000000000000000e10"
        },
        "maxInvoiceAge": {
          "data": "0xfa871404",
          "result": "0x0000000000000000000000000000000000000000000000000000000000093a80"
        },
        "maxInvoiceTenor": {
          "data": "0x461d3d0c",
          "result": "0x000000000000000000000000000000000000000000000000000000000076a700"
        },
        "INVOICE_TYPEHASH": {
          "data": "0x4fe1681a",
          "result": "0x3fa7362141ca2043801d61b9efee211fcbc943d3c40221f3ef30e1c50e933686"
        },
        "APPROVAL_TYPEHASH": {
          "data": "0x65a72497",
          "result": "0x0237a21cd055f0c6cd3ddb0b019ef5b9df26dcd8f5ddeaa837de0477b1d7be2f"
        },
        "REJECTION_TYPEHASH": {
          "data": "0x146afeb0",
          "result": "0xc37ca47ab045a2d5cbd3c6754a2261ef43266e00880b7d707bc3daef81dd9a65"
        },
        "eip712Domain": {
          "data": "0x84b0196e",
          "result": "0x0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000c4000000000000000000000000c4ef249b80a6a034198c226278c51b0a903840dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000144f70656e42656c6c2052656365697661626c6573000000000000000000000000000000000000000000000000000000000000000000000000000000000000000131000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        }
      },
      "endpointCommitment": "0xfa5659df3a429653458dace179429da5792e84e14097e98fc8e5afe67fa1148c"
    }
  ]
}
