From 15232a0ea6865581469f4b980fe4f84997f24607 Mon Sep 17 00:00:00 2001 From: noel Date: Tue, 18 Jun 2024 11:53:58 +0900 Subject: [PATCH] docs: upgrade service manager on mainnet --- .../1/run-1718678416.json | 64 +++++++++++++++++++ .../1/run-latest.json | 64 +++++++++++++++++++ docs/Deployments.md | 20 +++--- 3 files changed, 138 insertions(+), 10 deletions(-) create mode 100644 contracts/broadcast/MachServiceManagerImplDeployer.s.sol/1/run-1718678416.json create mode 100644 contracts/broadcast/MachServiceManagerImplDeployer.s.sol/1/run-latest.json diff --git a/contracts/broadcast/MachServiceManagerImplDeployer.s.sol/1/run-1718678416.json b/contracts/broadcast/MachServiceManagerImplDeployer.s.sol/1/run-1718678416.json new file mode 100644 index 0000000..aba810c --- /dev/null +++ b/contracts/broadcast/MachServiceManagerImplDeployer.s.sol/1/run-1718678416.json @@ -0,0 +1,64 @@ +{ + "transactions": [ + { + "hash": "0x9e384d2dfe86d243add5fc67b75b2d012bd34d27c2b600f379a320efd63eaccd", + "transactionType": "CREATE", + "contractName": "MachServiceManager", + "contractAddress": "0x00f6dd9a3abe4b64988c007f9eaa188e3971ad7b", + "function": null, + "arguments": [ + "0x135DDa560e946695d6f155dACaFC6f1F25C1F5AF", + "0x561be1AB42170a19f31645F774e6e3862B2139AA", + "0x49296A7D4a76888370CB377CD909Cc73a2f71289" + ], + "transaction": { + "from": "0xc1c240a72af6a09869e0b4bcd3954272fcc32d7d", + "gas": "0x603f12", + "value": "0x0", + "input": "0x6101606040523480156200001257600080fd5b50604051620059b4380380620059b48339810160408190526200003591620002da565b6001600160a01b0380841660c052808316608052811660a052818381836200005c620001ff565b5050506001600160a01b03811660e081905260408051636830483560e01b815290516368304835916004808201926020929091908290030181865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d091906200032e565b6001600160a01b0316610100816001600160a01b031681525050806001600160a01b0316635df459466040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200032e565b6001600160a01b0316610120816001600160a01b031681525050610100516001600160a01b031663df5cf7236040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d191906200032e565b6001600160a01b0316610140525060cc805460ff19166001179055620001f6620001ff565b50505062000355565b603554610100900460ff16156200026c5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60355460ff9081161015620002bf576035805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b0381168114620002d757600080fd5b50565b600080600060608486031215620002f057600080fd5b8351620002fd81620002c1565b60208501519093506200031081620002c1565b60408501519092506200032381620002c1565b809150509250925092565b6000602082840312156200034157600080fd5b81516200034e81620002c1565b9392505050565b60805160a05160c05160e05161010051610120516101405161556a6200044a600039600081816105fe0152611eb9015260008181610456015261209b01526000818161047d0152818161227101526124330152600081816104ca0152818161125a01528181611b8401528181611d1c0152611f560152600081816104a1015281816127d701528181612a130152612ac5015260008181610f6d015281816110c80152818161115f01528181612d0d01528181612e900152612f2f015260008181610d9801528181610e2701528181610ea701528181612727015281816129ab01528181612c4b0152612deb015261556a6000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c80636efb46361161015c578063b98d0908116100ce578063edaa410e11610087578063edaa410e1461063b578063ef0244581461064e578063f2fde38b14610656578063f90e470714610669578063f98f5b921461067c578063fabc1cbc1461068f57600080fd5b8063b98d0908146105dc578063c6a2aac8146105e9578063cf8e629a146105f1578063df5cf723146105f9578063e0e387ab14610620578063e481af9d1461063357600080fd5b80639926ee7d116101205780639926ee7d1461054d5780639d81ceba14610560578063a364f4da14610580578063a7cd52cb14610593578063a98fb355146105b6578063b733cc77146105c957600080fd5b80636efb4636146104ec578063715018a61461050d578063886f1195146105155780638da5cb5b1461052857806394c8e4ff1461053957600080fd5b8063432de9c8116101f55780635ac86ab7116101b95780635ac86ab71461041f5780635c975abb1461043f5780635df459461461045157806368304835146104785780636b3aa72e1461049f5780636d14a987146104c557600080fd5b8063432de9c8146103985780634ab39dcd146103ab5780634c6b05d9146103be5780634deabc21146103f1578063595c6a671461041757600080fd5b80632f640a09116102475780632f640a091461031957806333cfb7b71461032c57806339bc68e71461034c5780633deebb691461035f578063416c7e5e14610372578063429d5bf01461038557600080fd5b80630898f07f1461028457806310d67a2f14610299578063136439dd146102ac578063171f1d5b146102bf57806322758a4a146102ee575b600080fd5b6102976102923660046149d3565b6106a2565b005b6102976102a7366004614a53565b6109e6565b6102976102ba366004614a70565b610a99565b6102d26102cd366004614a89565b610bd8565b6040805192151583529015156020830152015b60405180910390f35b600854610301906001600160a01b031681565b6040516001600160a01b0390911681526020016102e5565b610297610327366004614a53565b610d62565b61033f61033a366004614a53565b610d73565b6040516102e59190614ada565b600554610301906001600160a01b031681565b61029761036d366004614b35565b611242565b610297610380366004614b65565b611258565b610297610393366004614b91565b6113ce565b6102976103a6366004614bf9565b611449565b6102976103b9366004614c3a565b611581565b6103e16103cc366004614a70565b60006020819052908152604090205460ff1681565b60405190151581526020016102e5565b60055461040590600160a81b900460ff1681565b60405160ff90911681526020016102e5565b61029761170a565b6103e161042d366004614b91565b60ff80546001919092161b9081161490565b60ff545b6040519081526020016102e5565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6104ff6104fa366004614cd1565b6117d1565b6040516102e5929190614dc4565b6102976126e8565b60fe54610301906001600160a01b031681565b6068546001600160a01b0316610301565b6005546103e190600160a01b900460ff1681565b61029761055b366004614e64565b6126fc565b61057361056e366004614f0e565b612878565b6040516102e59190614f3a565b61029761058e366004614a53565b612980565b6103e16105a1366004614a53565b60046020526000908152604090205460ff1681565b6102976105c4366004614f72565b612aa6565b6104436105d7366004614a70565b612b2f565b60cc546103e19060ff1681565b610297612b4c565b610297612bbd565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6103e161062e366004614fc2565b612c26565b61033f612c45565b610297610649366004614fc2565b61300e565b610443606481565b610297610664366004614a53565b6130c1565b610297610677366004614bf9565b613137565b61029761068a366004614a53565b613240565b61029761069d366004614a70565b613251565b60ff54156106cb5760405162461bcd60e51b81526004016106c290614fe4565b60405180910390fd5b6005546001600160a01b0316336001600160a01b0316146106ff5760405163fc4a01bd60e01b815260040160405180910390fd5b608082013560008181526020819052604090205460ff166107335760405163daf4a8a360e01b815260040160405180910390fd5b32331461075357604051636edaef2f60e11b815260040160405180910390fd5b608083013560009081526006602052604090206107719084356133ad565b1561078f5760405163939bc9df60e01b815260040160405180910390fd5b436107a0608085016060860161501b565b63ffffffff16106107c45760405163c15ef5b560e01b815260040160405180910390fd5b60006107cf846133c5565b90506107de6040850185615036565b90506107ed6020860186615036565b90501461080d5760405163c9df75a560e01b815260040160405180910390fd5b6000610836826108206020880188615036565b61083060808a0160608b0161501b565b886117d1565b50905060005b6108496040870187615036565b90508110156109695760006108616040880188615036565b838181106108715761087161507c565b919091013560f81c915050606481111561089e5760405163048278b760e41b815260040160405180910390fd5b60055460ff600160a81b909104811690821610156108cf5760405163bbf727c160e01b815260040160405180910390fd5b8060ff16836020015183815181106108e9576108e961507c565b60200260200101516108fb91906150a8565b6001600160601b031660648460000151848151811061091c5761091c61507c565b60200260200101516001600160601b031661093791906150d7565b101561095657604051633916714960e21b815260040160405180910390fd5b5080610961816150f6565b91505061083c565b5060808501356000908152600160205260408120610988908735613414565b9050806109a85760405163f411c32760e01b815260040160405180910390fd5b6040518635815283907ffdda6f7d4825a4f1e4e97b50a26a69a8bcc3f4fcb1113cc14ce8e7098ca636659060200160405180910390a2505050505050565b60fe60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190615111565b6001600160a01b0316336001600160a01b031614610a8d5760405162461bcd60e51b81526004016106c29061512e565b610a9681613420565b50565b60fe5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b059190615178565b610b215760405162461bcd60e51b81526004016106c290615195565b60ff5481811614610b9a5760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c697479000000000000000060648201526084016106c2565b60ff81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000187876000015188602001518860000151600060028110610c2057610c2061507c565b60200201518951600160200201518a60200151600060028110610c4557610c4561507c565b60200201518b60200151600160028110610c6157610c6161507c565b602090810291909101518c518d830151604051610cbe9a99989796959401988952602089019790975260408801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200190565b6040516020818303038152906040528051906020012060001c610ce191906151dd565b9050610d54610cfa610cf38884613517565b86906135ae565b610d02613642565b610d4a610d3b85610d35604080518082018252600080825260209182015281518083019092526001825260029082015290565b90613517565b610d448c613702565b906135ae565b886201d4c0613792565b909890975095505050505050565b610d6a6139b6565b610a9681613a10565b6040516309aa152760e11b81526001600160a01b0382811660048301526060916000917f000000000000000000000000000000000000000000000000000000000000000016906313542a4e90602401602060405180830381865afa158015610ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0391906151ff565b60405163871ef04960e01b8152600481018290529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063871ef04990602401602060405180830381865afa158015610e6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e929190615218565b90506001600160c01b0381161580610f2c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f279190615241565b60ff16155b15610f4857505060408051600081526020810190915292915050565b6000610f5c826001600160c01b0316613a72565b90506000805b8251811015611032577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633ca5a5f5848381518110610fac57610fac61507c565b01602001516040516001600160e01b031960e084901b16815260f89190911c6004820152602401602060405180830381865afa158015610ff0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101491906151ff565b61101e908361525e565b91508061102a816150f6565b915050610f62565b506000816001600160401b0381111561104d5761104d6145b5565b604051908082528060200260200182016040528015611076578160200160208202803683370190505b5090506000805b845181101561123557600085828151811061109a5761109a61507c565b0160200151604051633ca5a5f560e01b815260f89190911c6004820181905291506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633ca5a5f590602401602060405180830381865afa15801561110f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113391906151ff565b905060005b8181101561121f576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa1580156111ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d1919061528d565b600001518686815181106111e7576111e761507c565b6001600160a01b039092166020928302919091019091015284611209816150f6565b9550508080611217906150f6565b915050611138565b505050808061122d906150f6565b91505061107d565b5090979650505050505050565b61124a6139b6565b6112548282613b34565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112da9190615111565b6001600160a01b0316336001600160a01b0316146113865760405162461bcd60e51b815260206004820152605c60248201527f424c535369676e6174757265436865636b65722e6f6e6c79436f6f7264696e6160448201527f746f724f776e65723a2063616c6c6572206973206e6f7420746865206f776e6560648201527f72206f6620746865207265676973747279436f6f7264696e61746f7200000000608482015260a4016106c2565b60cc805460ff19168215159081179091556040519081527f40e4ed880a29e0f6ddce307457fb75cddf4feef7d3ecb0301bfdf4976a0e2dfc906020015b60405180910390a150565b6113d66139b6565b60648160ff1611156113fb5760405163048278b760e41b815260040160405180910390fd5b6005805460ff60a81b1916600160a81b60ff8416908102919091179091556040519081527fc3acdc4f4bc283baa27c4207eb2c32954fbb26960847c9e15c2f7c8970134244906020016113c3565b6008546001600160a01b0316336001600160a01b03161461147d5760405163b8088f8760e01b815260040160405180910390fd5b60005b8181101561157c57600083838381811061149c5761149c61507c565b90506020020160208101906114b19190614a53565b90506001600160a01b0381166114da5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526004602052604090205460ff1615611514576040516302eeeca960e41b815260040160405180910390fd5b6001600160a01b038116600081815260046020908152604091829020805460ff1916600117905590519182527fdde65206cdee4ea27ef1b170724ba50b41ad09a3bf2dda12935fc40c4dbf6e75910160405180910390a150611575816150f6565b9050611480565b505050565b603554610100900460ff16158080156115a15750603554600160ff909116105b806115bb5750303b1580156115bb575060355460ff166001145b61161e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106c2565b6035805460ff191660011790558015611641576035805461ff0019166101001790555b61164b8888613bdc565b61165486613cc2565b61165d85613a10565b61166684613d2d565b60005b828110156116a4576116948484838181106116865761168661507c565b905060200201356001613b34565b61169d816150f6565b9050611669565b506005805461ffff60a01b191661420160a01b1790558015611700576035805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60fe5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015611752573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117769190615178565b6117925760405162461bcd60e51b81526004016106c290615195565b60001960ff81905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b60408051808201909152606080825260208201526000846118485760405162461bcd60e51b8152602060048201526037602482015260008051602061551583398151915260448201527f7265733a20656d7074792071756f72756d20696e70757400000000000000000060648201526084016106c2565b60408301515185148015611860575060a08301515185145b8015611870575060c08301515185145b8015611880575060e08301515185145b6118ea5760405162461bcd60e51b8152602060048201526041602482015260008051602061551583398151915260448201527f7265733a20696e7075742071756f72756d206c656e677468206d69736d6174636064820152600d60fb1b608482015260a4016106c2565b825151602084015151146119625760405162461bcd60e51b815260206004820152604460248201819052600080516020615515833981519152908201527f7265733a20696e707574206e6f6e7369676e6572206c656e677468206d69736d6064820152630c2e8c6d60e31b608482015260a4016106c2565b4363ffffffff168463ffffffff16106119d15760405162461bcd60e51b815260206004820152603c602482015260008051602061551583398151915260448201527f7265733a20696e76616c6964207265666572656e636520626c6f636b0000000060648201526084016106c2565b6040805180820182526000808252602080830191909152825180840190935260608084529083015290866001600160401b03811115611a1257611a126145b5565b604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b506020820152866001600160401b03811115611a5957611a596145b5565b604051908082528060200260200182016040528015611a82578160200160208202803683370190505b50815260408051808201909152606080825260208201528560200151516001600160401b03811115611ab657611ab66145b5565b604051908082528060200260200182016040528015611adf578160200160208202803683370190505b5081526020860151516001600160401b03811115611aff57611aff6145b5565b604051908082528060200260200182016040528015611b28578160200160208202803683370190505b5081602001819052506000611bfa8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051639aa1653d60e01b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169350639aa1653d925060048083019260209291908290030181865afa158015611bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf59190615241565b613d87565b905060005b876020015151811015611e9557611c4488602001518281518110611c2557611c2561507c565b6020026020010151805160009081526020918201519091526040902090565b83602001518281518110611c5a57611c5a61507c565b60209081029190910101528015611d1a576020830151611c7b6001836152cc565b81518110611c8b57611c8b61507c565b602002602001015160001c83602001518281518110611cac57611cac61507c565b602002602001015160001c11611d1a576040805162461bcd60e51b815260206004820152602481019190915260008051602061551583398151915260448201527f7265733a206e6f6e5369676e65725075626b657973206e6f7420736f7274656460648201526084016106c2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304ec635184602001518381518110611d5f57611d5f61507c565b60200260200101518b8b600001518581518110611d7e57611d7e61507c565b60200260200101516040518463ffffffff1660e01b8152600401611dbb9392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa158015611dd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfc9190615218565b6001600160c01b031683600001518281518110611e1b57611e1b61507c565b602002602001018181525050611e81610cf3611e558486600001518581518110611e4757611e4761507c565b602002602001015116613e11565b8a602001518481518110611e6b57611e6b61507c565b6020026020010151613e3c90919063ffffffff16565b945080611e8d816150f6565b915050611bff565b5050611ea083613f20565b60cc5490935060ff16600081611eb7576000611f39565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c448feb86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3991906151ff565b905060005b8a8110156125b7578215612099578963ffffffff16827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663249a0c428f8f86818110611f9557611f9561507c565b60405160e085901b6001600160e01b031916815292013560f81c600483015250602401602060405180830381865afa158015611fd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff991906151ff565b612003919061525e565b116120995760405162461bcd60e51b8152602060048201526066602482015260008051602061551583398151915260448201527f7265733a205374616b6552656769737472792075706461746573206d7573742060648201527f62652077697468696e207769746864726177616c44656c6179426c6f636b732060848201526577696e646f7760d01b60a482015260c4016106c2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368bccaac8d8d848181106120da576120da61507c565b9050013560f81c60f81b60f81c8c8c60a0015185815181106120fe576120fe61507c565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa15801561215a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061217e91906152e3565b6001600160401b0319166121a18a604001518381518110611c2557611c2561507c565b67ffffffffffffffff19161461223d5760405162461bcd60e51b8152602060048201526061602482015260008051602061551583398151915260448201527f7265733a2071756f72756d41706b206861736820696e2073746f72616765206460648201527f6f6573206e6f74206d617463682070726f76696465642071756f72756d2061706084820152606b60f81b60a482015260c4016106c2565b61226d896040015182815181106122565761225661507c565b6020026020010151876135ae90919063ffffffff16565b95507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c8294c568d8d848181106122b0576122b061507c565b9050013560f81c60f81b60f81c8c8c60c0015185815181106122d4576122d461507c565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015612330573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612354919061530e565b8560200151828151811061236a5761236a61507c565b6001600160601b039092166020928302919091018201528501518051829081106123965761239661507c565b6020026020010151856000015182815181106123b4576123b461507c565b60200260200101906001600160601b031690816001600160601b0316815250506000805b8a60200151518110156125a25761242c866000015182815181106123fe576123fe61507c565b60200260200101518f8f868181106124185761241861507c565b600192013560f81c9290921c811614919050565b15612590577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f2be94ae8f8f868181106124725761247261507c565b9050013560f81c60f81b60f81c8e896020015185815181106124965761249661507c565b60200260200101518f60e0015188815181106124b4576124b461507c565b602002602001015187815181106124cd576124cd61507c565b60209081029190910101516040516001600160e01b031960e087901b16815260ff909416600485015263ffffffff92831660248501526044840191909152166064820152608401602060405180830381865afa158015612531573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612555919061530e565b87518051859081106125695761256961507c565b6020026020010181815161257d9190615329565b6001600160601b03169052506001909101905b8061259a816150f6565b9150506123d8565b505080806125af906150f6565b915050611f3e565b5050506000806125d18c868a606001518b60800151610bd8565b91509150816126425760405162461bcd60e51b8152602060048201526043602482015260008051602061551583398151915260448201527f7265733a2070616972696e6720707265636f6d70696c652063616c6c206661696064820152621b195960ea1b608482015260a4016106c2565b806126a35760405162461bcd60e51b8152602060048201526039602482015260008051602061551583398151915260448201527f7265733a207369676e617475726520697320696e76616c69640000000000000060648201526084016106c2565b505060008782602001516040516020016126be929190615351565b60408051808303601f190181529190528051602090910120929b929a509198505050505050505050565b6126f06139b6565b6126fa6000613fbb565b565b60ff541561271c5760405162461bcd60e51b81526004016106c290614fe4565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146127645760405162461bcd60e51b81526004016106c290615399565b600554600160a01b900460ff16801561279657506001600160a01b03821660009081526004602052604090205460ff16155b156127b457604051634414c63360e01b815260040160405180910390fd5b6127bf60028361400d565b50604051639926ee7d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639926ee7d9061280e908590859060040161545e565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b50506040516001600160a01b03851692507fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d9150600090a25050565b60008381526001602052604081206060919061289390614022565b90508084106128b5576040516392c4425960e01b815260040160405180910390fd5b60006128c1848661525e565b9050818111156128ce5750805b60006128da86836152cc565b6001600160401b038111156128f1576128f16145b5565b60405190808252806020026020018201604052801561291a578160200160208202803683370190505b509050855b8281101561297557600088815260016020526040902061293f908261402c565b8261294a89846152cc565b8151811061295a5761295a61507c565b602090810291909101015261296e816150f6565b905061291f565b509695505050505050565b60ff54156129a05760405162461bcd60e51b81526004016106c290614fe4565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146129e85760405162461bcd60e51b81526004016106c290615399565b6129f3600282614038565b506040516351b27a6d60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a364f4da90602401600060405180830381600087803b158015612a5757600080fd5b505af1158015612a6b573d6000803e3d6000fd5b50506040516001600160a01b03841692507f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d9150600090a250565b612aae6139b6565b60405163a98fb35560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a98fb35590612afa9084906004016154a9565b600060405180830381600087803b158015612b1457600080fd5b505af1158015612b28573d6000803e3d6000fd5b5050505050565b6000818152600160205260408120612b4690614022565b92915050565b612b546139b6565b600554600160a01b900460ff1615612b7f57604051637952fbad60e11b815260040160405180910390fd5b6005805460ff60a01b1916600160a01b1790556040517f8a943acd5f4e6d3df7565a4a08a93f6b04cc31bb6c01ca4aef7abd6baf455ec390600090a1565b612bc56139b6565b600554600160a01b900460ff16612bee57604051625ecddb60e01b815260040160405180910390fd5b6005805460ff60a01b191690556040517f2d35c8d348a345fd7b3b03b7cfcf7ad0b60c2d46742d5ca536342e4185becb0790600090a1565b6000828152600160205260408120612c3e90836133ad565b9392505050565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ccb9190615241565b60ff16905080612ce957505060408051600081526020810190915290565b6000805b82811015612d9e57604051633ca5a5f560e01b815260ff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa158015612d5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d8091906151ff565b612d8a908361525e565b915080612d96816150f6565b915050612ced565b506000816001600160401b03811115612db957612db96145b5565b604051908082528060200260200182016040528015612de2578160200160208202803683370190505b5090506000805b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e6b9190615241565b60ff1681101561300457604051633ca5a5f560e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa158015612edf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0391906151ff565b905060005b81811015612fef576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa158015612f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa1919061528d565b60000151858581518110612fb757612fb761507c565b6001600160a01b039092166020928302919091019091015283612fd9816150f6565b9450508080612fe7906150f6565b915050612f08565b50508080612ffc906150f6565b915050612de9565b5090949350505050565b600082815260208190526040902054829060ff1661303f5760405163daf4a8a360e01b815260040160405180910390fd5b6130476139b6565b600083815260016020526040812061305f908461404d565b905080156130bb57600084815260066020526040902061307f9084613414565b506040805184815233602082015281517f1bdeffc0337373bf2f6fd4219080133eeaaee0554206d9bb24a019d96973c1eb929181900390910190a15b50505050565b6130c96139b6565b6001600160a01b03811661312e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106c2565b610a9681613fbb565b6008546001600160a01b0316336001600160a01b03161461316b5760405163b8088f8760e01b815260040160405180910390fd5b60005b8181101561157c57600083838381811061318a5761318a61507c565b905060200201602081019061319f9190614a53565b6001600160a01b03811660009081526004602052604090205490915060ff166131db57604051634414c63360e01b815260040160405180910390fd5b6001600160a01b038116600081815260046020908152604091829020805460ff1916905590519182527f8560daa191dd8e6fba276b053006b3990c46c94b842f85490f52c49b15cfe5cb910160405180910390a150613239816150f6565b905061316e565b6132486139b6565b610a9681613d2d565b60fe60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132c89190615111565b6001600160a01b0316336001600160a01b0316146132f85760405162461bcd60e51b81526004016106c29061512e565b60ff5419811960ff541916146133765760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c697479000000000000000060648201526084016106c2565b60ff81905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610bcd565b60008181526001830160205260408120541515612c3e565b60006133d082614059565b60408051825160208083019190915283015163ffffffff16818301529101516060820152608001604051602081830303815290604052805190602001209050919050565b6000612c3e83836140b8565b6001600160a01b0381166134ae5760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a4016106c2565b60fe54604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a160fe80546001600160a01b0319166001600160a01b0392909216919091179055565b60408051808201909152600080825260208201526135336144db565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa905080801561356657613568565bfe5b50806135a65760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b60448201526064016106c2565b505092915050565b60408051808201909152600080825260208201526135ca6144f9565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa90508080156135665750806135a65760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b60448201526064016106c2565b61364a614517565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b6040805180820190915260008082526020820152600080806137326000805160206154f5833981519152866151dd565b90505b61373e81614107565b90935091506000805160206154f5833981519152828309831415613778576040805180820190915290815260208101919091529392505050565b6000805160206154f5833981519152600182089050613735565b6040805180820182528681526020808201869052825180840190935286835282018490526000918291906137c461453c565b60005b60028110156139895760006137dd8260066150d7565b90508482600281106137f1576137f161507c565b6020020151518361380383600061525e565b600c81106138135761381361507c565b602002015284826002811061382a5761382a61507c565b60200201516020015183826001613841919061525e565b600c81106138515761385161507c565b60200201528382600281106138685761386861507c565b602002015151518361387b83600261525e565b600c811061388b5761388b61507c565b60200201528382600281106138a2576138a261507c565b60200201515160016020020151836138bb83600361525e565b600c81106138cb576138cb61507c565b60200201528382600281106138e2576138e261507c565b6020020151602001516000600281106138fd576138fd61507c565b60200201518361390e83600461525e565b600c811061391e5761391e61507c565b60200201528382600281106139355761393561507c565b6020020151602001516001600281106139505761395061507c565b60200201518361396183600561525e565b600c81106139715761397161507c565b60200201525080613981816150f6565b9150506137c7565b5061399261455b565b60006020826101808560088cfa9151919c9115159b50909950505050505050505050565b6068546001600160a01b031633146126fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106c2565b600580546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f175f27847b3568e0da876ffca3dc0bb52db4e6556346aedb530c6fe86610da2791015b60405180910390a15050565b6060600080613a8084613e11565b61ffff166001600160401b03811115613a9b57613a9b6145b5565b6040519080825280601f01601f191660200182016040528015613ac5576020820181803683370190505b5090506000805b825182108015613add575061010081105b15613004576001811b935085841615613b24578060f81b838381518110613b0657613b0661507c565b60200101906001600160f81b031916908160001a9053508160010191505b613b2d816150f6565b9050613acc565b6001821015613b565760405163daf4a8a360e01b815260040160405180910390fd5b60008281526020819052604090205460ff1615158115151415613b8c57604051631cf3d59360e31b815260040160405180910390fd5b60008281526020818152604091829020805460ff19168415159081179091558251858152918201527fe6dc5430aa4f5f1f54e9c1a3698de870c829afe22acf2737d45f109b82881b1e9101613a66565b60fe546001600160a01b0316158015613bfd57506001600160a01b03821615155b613c7f5760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a4016106c2565b60ff81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a261125482613420565b603554610100900460ff1661312e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106c2565b600880546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f1d7f4da50d8af7a6cea3e56e235c952f5a92d4c862da2d587f7b67f6d0156bb29101613a66565b600080613d9384614189565b9050808360ff166001901b11612c3e5760405162461bcd60e51b815260206004820152603f60248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206269746d61702065786365656473206d61782076616c75650060648201526084016106c2565b6000805b8215612b4657613e266001846152cc565b9092169180613e34816154bc565b915050613e15565b60408051808201909152600080825260208201526102008261ffff1610613e985760405162461bcd60e51b815260206004820152601060248201526f7363616c61722d746f6f2d6c6172676560801b60448201526064016106c2565b8161ffff1660011415613eac575081612b46565b6040805180820190915260008082526020820181905284906001905b8161ffff168661ffff1610613f1557600161ffff871660ff83161c81161415613ef857613ef584846135ae565b93505b613f0283846135ae565b92506201fffe600192831b169101613ec8565b509195945050505050565b60408051808201909152600080825260208201528151158015613f4557506020820151155b15613f63575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020016000805160206154f58339815191528460200151613f9691906151dd565b613fae906000805160206154f58339815191526152cc565b905292915050565b919050565b606880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000612c3e836001600160a01b0384166140b8565b6000612b46825490565b6000612c3e8383614316565b6000612c3e836001600160a01b038416614340565b6000612c3e8383614340565b604080516060810182526000808252602082018190529181019190915260405180606001604052808360000135815260200183606001602081019061409e919061501b565b63ffffffff16815260200183608001358152509050919050565b60008181526001830160205260408120546140ff57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155612b46565b506000612b46565b600080806000805160206154f583398151915260036000805160206154f5833981519152866000805160206154f583398151915288890909089050600061417d827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f526000805160206154f5833981519152614433565b91959194509092505050565b6000610100825111156142125760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a4016106c2565b815161422057506000919050565b600080836000815181106142365761423661507c565b0160200151600160f89190911c81901b92505b845181101561430d578481815181106142645761426461507c565b0160200151600160f89190911c1b91508282116142f95760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a4016106c2565b91811791614306816150f6565b9050614249565b50909392505050565b600082600001828154811061432d5761432d61507c565b9060005260206000200154905092915050565b600081815260018301602052604081205480156144295760006143646001836152cc565b8554909150600090614378906001906152cc565b90508181146143dd5760008660000182815481106143985761439861507c565b90600052602060002001549050808760000184815481106143bb576143bb61507c565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806143ee576143ee6154de565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050612b46565b6000915050612b46565b60008061443e61455b565b614446614579565b602080825281810181905260408201819052606082018890526080820187905260a082018690528260c08360056107d05a03fa92508280156135665750826144d05760405162461bcd60e51b815260206004820152601a60248201527f424e3235342e6578704d6f643a2063616c6c206661696c75726500000000000060448201526064016106c2565b505195945050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806040016040528061452a614597565b8152602001614537614597565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156145ed576145ed6145b5565b60405290565b60405161010081016001600160401b03811182821017156145ed576145ed6145b5565b604051606081016001600160401b03811182821017156145ed576145ed6145b5565b604051601f8201601f191681016001600160401b0381118282101715614660576146606145b5565b604052919050565b60006001600160401b03821115614681576146816145b5565b5060051b60200190565b803563ffffffff81168114613fb657600080fd5b600082601f8301126146b057600080fd5b813560206146c56146c083614668565b614638565b82815260059290921b840181019181810190868411156146e457600080fd5b8286015b84811015612975576146f98161468b565b83529183019183016146e8565b60006040828403121561471857600080fd5b6147206145cb565b9050813581526020820135602082015292915050565b600082601f83011261474757600080fd5b813560206147576146c083614668565b82815260069290921b8401810191818101908684111561477657600080fd5b8286015b848110156129755761478c8882614706565b83529183019160400161477a565b600082601f8301126147ab57600080fd5b6147b36145cb565b8060408401858111156147c557600080fd5b845b818110156147df5780358452602093840193016147c7565b509095945050505050565b6000608082840312156147fc57600080fd5b6148046145cb565b9050614810838361479a565b815261481f836040840161479a565b602082015292915050565b600082601f83011261483b57600080fd5b8135602061484b6146c083614668565b82815260059290921b8401810191818101908684111561486a57600080fd5b8286015b848110156129755780356001600160401b0381111561488d5760008081fd5b61489b8986838b010161469f565b84525091830191830161486e565b600061018082840312156148bc57600080fd5b6148c46145f3565b905081356001600160401b03808211156148dd57600080fd5b6148e98583860161469f565b835260208401359150808211156148ff57600080fd5b61490b85838601614736565b6020840152604084013591508082111561492457600080fd5b61493085838601614736565b604084015261494285606086016147ea565b60608401526149548560e08601614706565b608084015261012084013591508082111561496e57600080fd5b61497a8583860161469f565b60a084015261014084013591508082111561499457600080fd5b6149a08583860161469f565b60c08401526101608401359150808211156149ba57600080fd5b506149c78482850161482a565b60e08301525092915050565b600080604083850312156149e657600080fd5b82356001600160401b03808211156149fd57600080fd5b9084019060a08287031215614a1157600080fd5b90925060208401359080821115614a2757600080fd5b50614a34858286016148a9565b9150509250929050565b6001600160a01b0381168114610a9657600080fd5b600060208284031215614a6557600080fd5b8135612c3e81614a3e565b600060208284031215614a8257600080fd5b5035919050565b6000806000806101208587031215614aa057600080fd5b84359350614ab18660208701614706565b9250614ac086606087016147ea565b9150614acf8660e08701614706565b905092959194509250565b6020808252825182820181905260009190848201906040850190845b81811015614b1b5783516001600160a01b031683529284019291840191600101614af6565b50909695505050505050565b8015158114610a9657600080fd5b60008060408385031215614b4857600080fd5b823591506020830135614b5a81614b27565b809150509250929050565b600060208284031215614b7757600080fd5b8135612c3e81614b27565b60ff81168114610a9657600080fd5b600060208284031215614ba357600080fd5b8135612c3e81614b82565b60008083601f840112614bc057600080fd5b5081356001600160401b03811115614bd757600080fd5b6020830191508360208260051b8501011115614bf257600080fd5b9250929050565b60008060208385031215614c0c57600080fd5b82356001600160401b03811115614c2257600080fd5b614c2e85828601614bae565b90969095509350505050565b600080600080600080600060c0888a031215614c5557600080fd5b8735614c6081614a3e565b9650602088013595506040880135614c7781614a3e565b94506060880135614c8781614a3e565b93506080880135614c9781614a3e565b925060a08801356001600160401b03811115614cb257600080fd5b614cbe8a828b01614bae565b989b979a50959850939692959293505050565b600080600080600060808688031215614ce957600080fd5b8535945060208601356001600160401b0380821115614d0757600080fd5b818801915088601f830112614d1b57600080fd5b813581811115614d2a57600080fd5b896020828501011115614d3c57600080fd5b6020830196509450614d506040890161468b565b93506060880135915080821115614d6657600080fd5b50614d73888289016148a9565b9150509295509295909350565b600081518084526020808501945080840160005b83811015614db95781516001600160601b031687529582019590820190600101614d94565b509495945050505050565b6040815260008351604080840152614ddf6080840182614d80565b90506020850151603f19848303016060850152614dfc8282614d80565b925050508260208301529392505050565b60006001600160401b03831115614e2657614e266145b5565b614e39601f8401601f1916602001614638565b9050828152838383011115614e4d57600080fd5b828260208301376000602084830101529392505050565b60008060408385031215614e7757600080fd5b8235614e8281614a3e565b915060208301356001600160401b0380821115614e9e57600080fd5b9084019060608287031215614eb257600080fd5b614eba614616565b823582811115614ec957600080fd5b83019150601f82018713614edc57600080fd5b614eeb87833560208501614e0d565b815260208301356020820152604083013560408201528093505050509250929050565b600080600060608486031215614f2357600080fd5b505081359360208301359350604090920135919050565b6020808252825182820181905260009190848201906040850190845b81811015614b1b57835183529284019291840191600101614f56565b600060208284031215614f8457600080fd5b81356001600160401b03811115614f9a57600080fd5b8201601f81018413614fab57600080fd5b614fba84823560208401614e0d565b949350505050565b60008060408385031215614fd557600080fd5b50508035926020909101359150565b6020808252601c908201527f5061757361626c653a20636f6e74726163742069732070617573656400000000604082015260600190565b60006020828403121561502d57600080fd5b612c3e8261468b565b6000808335601e1984360301811261504d57600080fd5b8301803591506001600160401b0382111561506757600080fd5b602001915036819003821315614bf257600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001600160601b03808316818516818304811182151516156150ce576150ce615092565b02949350505050565b60008160001904831182151516156150f1576150f1615092565b500290565b600060001982141561510a5761510a615092565b5060010190565b60006020828403121561512357600080fd5b8151612c3e81614a3e565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b60006020828403121561518a57600080fd5b8151612c3e81614b27565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b6000826151fa57634e487b7160e01b600052601260045260246000fd5b500690565b60006020828403121561521157600080fd5b5051919050565b60006020828403121561522a57600080fd5b81516001600160c01b0381168114612c3e57600080fd5b60006020828403121561525357600080fd5b8151612c3e81614b82565b6000821982111561527157615271615092565b500190565b80516001600160601b0381168114613fb657600080fd5b60006040828403121561529f57600080fd5b6152a76145cb565b82516152b281614a3e565b81526152c060208401615276565b60208201529392505050565b6000828210156152de576152de615092565b500390565b6000602082840312156152f557600080fd5b815167ffffffffffffffff1981168114612c3e57600080fd5b60006020828403121561532057600080fd5b612c3e82615276565b60006001600160601b038381169083168181101561534957615349615092565b039392505050565b63ffffffff60e01b8360e01b1681526000600482018351602080860160005b8381101561538c57815185529382019390820190600101615370565b5092979650505050505050565b60208082526052908201527f536572766963654d616e61676572426173652e6f6e6c7952656769737472794360408201527f6f6f7264696e61746f723a2063616c6c6572206973206e6f742074686520726560608201527133b4b9ba393c9031b7b7b93234b730ba37b960711b608082015260a00190565b6000815180845260005b818110156154375760208185018101518683018201520161541b565b81811115615449576000602083870101525b50601f01601f19169290920160200192915050565b60018060a01b038316815260406020820152600082516060604084015261548860a0840182615411565b90506020840151606084015260408401516080840152809150509392505050565b602081526000612c3e6020830184615411565b600061ffff808316818114156154d4576154d4615092565b6001019392505050565b634e487b7160e01b600052603160045260246000fdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47424c535369676e6174757265436865636b65722e636865636b5369676e617475a2646970667358221220325b3bf95a99de841565a2547af19ffdf27ece04c7ed201653dd042dfdfbe1a864736f6c634300080c0033000000000000000000000000135dda560e946695d6f155dacafc6f1f25c1f5af000000000000000000000000561be1ab42170a19f31645f774e6e3862b2139aa00000000000000000000000049296a7d4a76888370cb377cd909cc73a2f71289", + "nonce": "0x0", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x76aca0", + "logs": [ + { + "address": "0x00f6dd9a3abe4b64988c007f9eaa188e3971ad7b", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x8a7070767e3fc5591dbd19248678f131dd8e1516a0b02ec61b0d9637047dfd96", + "blockNumber": "0x132f114", + "transactionHash": "0x9e384d2dfe86d243add5fc67b75b2d012bd34d27c2b600f379a320efd63eaccd", + "transactionIndex": "0x17", + "logIndex": "0x6a", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x9e384d2dfe86d243add5fc67b75b2d012bd34d27c2b600f379a320efd63eaccd", + "transactionIndex": "0x17", + "blockHash": "0x8a7070767e3fc5591dbd19248678f131dd8e1516a0b02ec61b0d9637047dfd96", + "blockNumber": "0x132f114", + "gasUsed": "0x4a0ec4", + "effectiveGasPrice": "0x365bf7b5e", + "from": "0xc1c240a72af6a09869e0b4bcd3954272fcc32d7d", + "to": null, + "contractAddress": "0x00f6dd9a3abe4b64988c007f9eaa188e3971ad7b" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718678416, + "chain": 1, + "commit": "3b90b49" +} \ No newline at end of file diff --git a/contracts/broadcast/MachServiceManagerImplDeployer.s.sol/1/run-latest.json b/contracts/broadcast/MachServiceManagerImplDeployer.s.sol/1/run-latest.json new file mode 100644 index 0000000..aba810c --- /dev/null +++ b/contracts/broadcast/MachServiceManagerImplDeployer.s.sol/1/run-latest.json @@ -0,0 +1,64 @@ +{ + "transactions": [ + { + "hash": "0x9e384d2dfe86d243add5fc67b75b2d012bd34d27c2b600f379a320efd63eaccd", + "transactionType": "CREATE", + "contractName": "MachServiceManager", + "contractAddress": "0x00f6dd9a3abe4b64988c007f9eaa188e3971ad7b", + "function": null, + "arguments": [ + "0x135DDa560e946695d6f155dACaFC6f1F25C1F5AF", + "0x561be1AB42170a19f31645F774e6e3862B2139AA", + "0x49296A7D4a76888370CB377CD909Cc73a2f71289" + ], + "transaction": { + "from": "0xc1c240a72af6a09869e0b4bcd3954272fcc32d7d", + "gas": "0x603f12", + "value": "0x0", + "input": "0x6101606040523480156200001257600080fd5b50604051620059b4380380620059b48339810160408190526200003591620002da565b6001600160a01b0380841660c052808316608052811660a052818381836200005c620001ff565b5050506001600160a01b03811660e081905260408051636830483560e01b815290516368304835916004808201926020929091908290030181865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d091906200032e565b6001600160a01b0316610100816001600160a01b031681525050806001600160a01b0316635df459466040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000129573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014f91906200032e565b6001600160a01b0316610120816001600160a01b031681525050610100516001600160a01b031663df5cf7236040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d191906200032e565b6001600160a01b0316610140525060cc805460ff19166001179055620001f6620001ff565b50505062000355565b603554610100900460ff16156200026c5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60355460ff9081161015620002bf576035805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b0381168114620002d757600080fd5b50565b600080600060608486031215620002f057600080fd5b8351620002fd81620002c1565b60208501519093506200031081620002c1565b60408501519092506200032381620002c1565b809150509250925092565b6000602082840312156200034157600080fd5b81516200034e81620002c1565b9392505050565b60805160a05160c05160e05161010051610120516101405161556a6200044a600039600081816105fe0152611eb9015260008181610456015261209b01526000818161047d0152818161227101526124330152600081816104ca0152818161125a01528181611b8401528181611d1c0152611f560152600081816104a1015281816127d701528181612a130152612ac5015260008181610f6d015281816110c80152818161115f01528181612d0d01528181612e900152612f2f015260008181610d9801528181610e2701528181610ea701528181612727015281816129ab01528181612c4b0152612deb015261556a6000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c80636efb46361161015c578063b98d0908116100ce578063edaa410e11610087578063edaa410e1461063b578063ef0244581461064e578063f2fde38b14610656578063f90e470714610669578063f98f5b921461067c578063fabc1cbc1461068f57600080fd5b8063b98d0908146105dc578063c6a2aac8146105e9578063cf8e629a146105f1578063df5cf723146105f9578063e0e387ab14610620578063e481af9d1461063357600080fd5b80639926ee7d116101205780639926ee7d1461054d5780639d81ceba14610560578063a364f4da14610580578063a7cd52cb14610593578063a98fb355146105b6578063b733cc77146105c957600080fd5b80636efb4636146104ec578063715018a61461050d578063886f1195146105155780638da5cb5b1461052857806394c8e4ff1461053957600080fd5b8063432de9c8116101f55780635ac86ab7116101b95780635ac86ab71461041f5780635c975abb1461043f5780635df459461461045157806368304835146104785780636b3aa72e1461049f5780636d14a987146104c557600080fd5b8063432de9c8146103985780634ab39dcd146103ab5780634c6b05d9146103be5780634deabc21146103f1578063595c6a671461041757600080fd5b80632f640a09116102475780632f640a091461031957806333cfb7b71461032c57806339bc68e71461034c5780633deebb691461035f578063416c7e5e14610372578063429d5bf01461038557600080fd5b80630898f07f1461028457806310d67a2f14610299578063136439dd146102ac578063171f1d5b146102bf57806322758a4a146102ee575b600080fd5b6102976102923660046149d3565b6106a2565b005b6102976102a7366004614a53565b6109e6565b6102976102ba366004614a70565b610a99565b6102d26102cd366004614a89565b610bd8565b6040805192151583529015156020830152015b60405180910390f35b600854610301906001600160a01b031681565b6040516001600160a01b0390911681526020016102e5565b610297610327366004614a53565b610d62565b61033f61033a366004614a53565b610d73565b6040516102e59190614ada565b600554610301906001600160a01b031681565b61029761036d366004614b35565b611242565b610297610380366004614b65565b611258565b610297610393366004614b91565b6113ce565b6102976103a6366004614bf9565b611449565b6102976103b9366004614c3a565b611581565b6103e16103cc366004614a70565b60006020819052908152604090205460ff1681565b60405190151581526020016102e5565b60055461040590600160a81b900460ff1681565b60405160ff90911681526020016102e5565b61029761170a565b6103e161042d366004614b91565b60ff80546001919092161b9081161490565b60ff545b6040519081526020016102e5565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610301565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6104ff6104fa366004614cd1565b6117d1565b6040516102e5929190614dc4565b6102976126e8565b60fe54610301906001600160a01b031681565b6068546001600160a01b0316610301565b6005546103e190600160a01b900460ff1681565b61029761055b366004614e64565b6126fc565b61057361056e366004614f0e565b612878565b6040516102e59190614f3a565b61029761058e366004614a53565b612980565b6103e16105a1366004614a53565b60046020526000908152604090205460ff1681565b6102976105c4366004614f72565b612aa6565b6104436105d7366004614a70565b612b2f565b60cc546103e19060ff1681565b610297612b4c565b610297612bbd565b6103017f000000000000000000000000000000000000000000000000000000000000000081565b6103e161062e366004614fc2565b612c26565b61033f612c45565b610297610649366004614fc2565b61300e565b610443606481565b610297610664366004614a53565b6130c1565b610297610677366004614bf9565b613137565b61029761068a366004614a53565b613240565b61029761069d366004614a70565b613251565b60ff54156106cb5760405162461bcd60e51b81526004016106c290614fe4565b60405180910390fd5b6005546001600160a01b0316336001600160a01b0316146106ff5760405163fc4a01bd60e01b815260040160405180910390fd5b608082013560008181526020819052604090205460ff166107335760405163daf4a8a360e01b815260040160405180910390fd5b32331461075357604051636edaef2f60e11b815260040160405180910390fd5b608083013560009081526006602052604090206107719084356133ad565b1561078f5760405163939bc9df60e01b815260040160405180910390fd5b436107a0608085016060860161501b565b63ffffffff16106107c45760405163c15ef5b560e01b815260040160405180910390fd5b60006107cf846133c5565b90506107de6040850185615036565b90506107ed6020860186615036565b90501461080d5760405163c9df75a560e01b815260040160405180910390fd5b6000610836826108206020880188615036565b61083060808a0160608b0161501b565b886117d1565b50905060005b6108496040870187615036565b90508110156109695760006108616040880188615036565b838181106108715761087161507c565b919091013560f81c915050606481111561089e5760405163048278b760e41b815260040160405180910390fd5b60055460ff600160a81b909104811690821610156108cf5760405163bbf727c160e01b815260040160405180910390fd5b8060ff16836020015183815181106108e9576108e961507c565b60200260200101516108fb91906150a8565b6001600160601b031660648460000151848151811061091c5761091c61507c565b60200260200101516001600160601b031661093791906150d7565b101561095657604051633916714960e21b815260040160405180910390fd5b5080610961816150f6565b91505061083c565b5060808501356000908152600160205260408120610988908735613414565b9050806109a85760405163f411c32760e01b815260040160405180910390fd5b6040518635815283907ffdda6f7d4825a4f1e4e97b50a26a69a8bcc3f4fcb1113cc14ce8e7098ca636659060200160405180910390a2505050505050565b60fe60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190615111565b6001600160a01b0316336001600160a01b031614610a8d5760405162461bcd60e51b81526004016106c29061512e565b610a9681613420565b50565b60fe5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b059190615178565b610b215760405162461bcd60e51b81526004016106c290615195565b60ff5481811614610b9a5760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c697479000000000000000060648201526084016106c2565b60ff81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000187876000015188602001518860000151600060028110610c2057610c2061507c565b60200201518951600160200201518a60200151600060028110610c4557610c4561507c565b60200201518b60200151600160028110610c6157610c6161507c565b602090810291909101518c518d830151604051610cbe9a99989796959401988952602089019790975260408801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200190565b6040516020818303038152906040528051906020012060001c610ce191906151dd565b9050610d54610cfa610cf38884613517565b86906135ae565b610d02613642565b610d4a610d3b85610d35604080518082018252600080825260209182015281518083019092526001825260029082015290565b90613517565b610d448c613702565b906135ae565b886201d4c0613792565b909890975095505050505050565b610d6a6139b6565b610a9681613a10565b6040516309aa152760e11b81526001600160a01b0382811660048301526060916000917f000000000000000000000000000000000000000000000000000000000000000016906313542a4e90602401602060405180830381865afa158015610ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0391906151ff565b60405163871ef04960e01b8152600481018290529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063871ef04990602401602060405180830381865afa158015610e6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e929190615218565b90506001600160c01b0381161580610f2c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f279190615241565b60ff16155b15610f4857505060408051600081526020810190915292915050565b6000610f5c826001600160c01b0316613a72565b90506000805b8251811015611032577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633ca5a5f5848381518110610fac57610fac61507c565b01602001516040516001600160e01b031960e084901b16815260f89190911c6004820152602401602060405180830381865afa158015610ff0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101491906151ff565b61101e908361525e565b91508061102a816150f6565b915050610f62565b506000816001600160401b0381111561104d5761104d6145b5565b604051908082528060200260200182016040528015611076578160200160208202803683370190505b5090506000805b845181101561123557600085828151811061109a5761109a61507c565b0160200151604051633ca5a5f560e01b815260f89190911c6004820181905291506000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690633ca5a5f590602401602060405180830381865afa15801561110f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113391906151ff565b905060005b8181101561121f576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa1580156111ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d1919061528d565b600001518686815181106111e7576111e761507c565b6001600160a01b039092166020928302919091019091015284611209816150f6565b9550508080611217906150f6565b915050611138565b505050808061122d906150f6565b91505061107d565b5090979650505050505050565b61124a6139b6565b6112548282613b34565b5050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112da9190615111565b6001600160a01b0316336001600160a01b0316146113865760405162461bcd60e51b815260206004820152605c60248201527f424c535369676e6174757265436865636b65722e6f6e6c79436f6f7264696e6160448201527f746f724f776e65723a2063616c6c6572206973206e6f7420746865206f776e6560648201527f72206f6620746865207265676973747279436f6f7264696e61746f7200000000608482015260a4016106c2565b60cc805460ff19168215159081179091556040519081527f40e4ed880a29e0f6ddce307457fb75cddf4feef7d3ecb0301bfdf4976a0e2dfc906020015b60405180910390a150565b6113d66139b6565b60648160ff1611156113fb5760405163048278b760e41b815260040160405180910390fd5b6005805460ff60a81b1916600160a81b60ff8416908102919091179091556040519081527fc3acdc4f4bc283baa27c4207eb2c32954fbb26960847c9e15c2f7c8970134244906020016113c3565b6008546001600160a01b0316336001600160a01b03161461147d5760405163b8088f8760e01b815260040160405180910390fd5b60005b8181101561157c57600083838381811061149c5761149c61507c565b90506020020160208101906114b19190614a53565b90506001600160a01b0381166114da5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526004602052604090205460ff1615611514576040516302eeeca960e41b815260040160405180910390fd5b6001600160a01b038116600081815260046020908152604091829020805460ff1916600117905590519182527fdde65206cdee4ea27ef1b170724ba50b41ad09a3bf2dda12935fc40c4dbf6e75910160405180910390a150611575816150f6565b9050611480565b505050565b603554610100900460ff16158080156115a15750603554600160ff909116105b806115bb5750303b1580156115bb575060355460ff166001145b61161e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106c2565b6035805460ff191660011790558015611641576035805461ff0019166101001790555b61164b8888613bdc565b61165486613cc2565b61165d85613a10565b61166684613d2d565b60005b828110156116a4576116948484838181106116865761168661507c565b905060200201356001613b34565b61169d816150f6565b9050611669565b506005805461ffff60a01b191661420160a01b1790558015611700576035805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60fe5460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015611752573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117769190615178565b6117925760405162461bcd60e51b81526004016106c290615195565b60001960ff81905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b60408051808201909152606080825260208201526000846118485760405162461bcd60e51b8152602060048201526037602482015260008051602061551583398151915260448201527f7265733a20656d7074792071756f72756d20696e70757400000000000000000060648201526084016106c2565b60408301515185148015611860575060a08301515185145b8015611870575060c08301515185145b8015611880575060e08301515185145b6118ea5760405162461bcd60e51b8152602060048201526041602482015260008051602061551583398151915260448201527f7265733a20696e7075742071756f72756d206c656e677468206d69736d6174636064820152600d60fb1b608482015260a4016106c2565b825151602084015151146119625760405162461bcd60e51b815260206004820152604460248201819052600080516020615515833981519152908201527f7265733a20696e707574206e6f6e7369676e6572206c656e677468206d69736d6064820152630c2e8c6d60e31b608482015260a4016106c2565b4363ffffffff168463ffffffff16106119d15760405162461bcd60e51b815260206004820152603c602482015260008051602061551583398151915260448201527f7265733a20696e76616c6964207265666572656e636520626c6f636b0000000060648201526084016106c2565b6040805180820182526000808252602080830191909152825180840190935260608084529083015290866001600160401b03811115611a1257611a126145b5565b604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b506020820152866001600160401b03811115611a5957611a596145b5565b604051908082528060200260200182016040528015611a82578160200160208202803683370190505b50815260408051808201909152606080825260208201528560200151516001600160401b03811115611ab657611ab66145b5565b604051908082528060200260200182016040528015611adf578160200160208202803683370190505b5081526020860151516001600160401b03811115611aff57611aff6145b5565b604051908082528060200260200182016040528015611b28578160200160208202803683370190505b5081602001819052506000611bfa8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051639aa1653d60e01b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169350639aa1653d925060048083019260209291908290030181865afa158015611bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf59190615241565b613d87565b905060005b876020015151811015611e9557611c4488602001518281518110611c2557611c2561507c565b6020026020010151805160009081526020918201519091526040902090565b83602001518281518110611c5a57611c5a61507c565b60209081029190910101528015611d1a576020830151611c7b6001836152cc565b81518110611c8b57611c8b61507c565b602002602001015160001c83602001518281518110611cac57611cac61507c565b602002602001015160001c11611d1a576040805162461bcd60e51b815260206004820152602481019190915260008051602061551583398151915260448201527f7265733a206e6f6e5369676e65725075626b657973206e6f7420736f7274656460648201526084016106c2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304ec635184602001518381518110611d5f57611d5f61507c565b60200260200101518b8b600001518581518110611d7e57611d7e61507c565b60200260200101516040518463ffffffff1660e01b8152600401611dbb9392919092835263ffffffff918216602084015216604082015260600190565b602060405180830381865afa158015611dd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfc9190615218565b6001600160c01b031683600001518281518110611e1b57611e1b61507c565b602002602001018181525050611e81610cf3611e558486600001518581518110611e4757611e4761507c565b602002602001015116613e11565b8a602001518481518110611e6b57611e6b61507c565b6020026020010151613e3c90919063ffffffff16565b945080611e8d816150f6565b915050611bff565b5050611ea083613f20565b60cc5490935060ff16600081611eb7576000611f39565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c448feb86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f3991906151ff565b905060005b8a8110156125b7578215612099578963ffffffff16827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663249a0c428f8f86818110611f9557611f9561507c565b60405160e085901b6001600160e01b031916815292013560f81c600483015250602401602060405180830381865afa158015611fd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff991906151ff565b612003919061525e565b116120995760405162461bcd60e51b8152602060048201526066602482015260008051602061551583398151915260448201527f7265733a205374616b6552656769737472792075706461746573206d7573742060648201527f62652077697468696e207769746864726177616c44656c6179426c6f636b732060848201526577696e646f7760d01b60a482015260c4016106c2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368bccaac8d8d848181106120da576120da61507c565b9050013560f81c60f81b60f81c8c8c60a0015185815181106120fe576120fe61507c565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa15801561215a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061217e91906152e3565b6001600160401b0319166121a18a604001518381518110611c2557611c2561507c565b67ffffffffffffffff19161461223d5760405162461bcd60e51b8152602060048201526061602482015260008051602061551583398151915260448201527f7265733a2071756f72756d41706b206861736820696e2073746f72616765206460648201527f6f6573206e6f74206d617463682070726f76696465642071756f72756d2061706084820152606b60f81b60a482015260c4016106c2565b61226d896040015182815181106122565761225661507c565b6020026020010151876135ae90919063ffffffff16565b95507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c8294c568d8d848181106122b0576122b061507c565b9050013560f81c60f81b60f81c8c8c60c0015185815181106122d4576122d461507c565b60209081029190910101516040516001600160e01b031960e086901b16815260ff909316600484015263ffffffff9182166024840152166044820152606401602060405180830381865afa158015612330573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612354919061530e565b8560200151828151811061236a5761236a61507c565b6001600160601b039092166020928302919091018201528501518051829081106123965761239661507c565b6020026020010151856000015182815181106123b4576123b461507c565b60200260200101906001600160601b031690816001600160601b0316815250506000805b8a60200151518110156125a25761242c866000015182815181106123fe576123fe61507c565b60200260200101518f8f868181106124185761241861507c565b600192013560f81c9290921c811614919050565b15612590577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f2be94ae8f8f868181106124725761247261507c565b9050013560f81c60f81b60f81c8e896020015185815181106124965761249661507c565b60200260200101518f60e0015188815181106124b4576124b461507c565b602002602001015187815181106124cd576124cd61507c565b60209081029190910101516040516001600160e01b031960e087901b16815260ff909416600485015263ffffffff92831660248501526044840191909152166064820152608401602060405180830381865afa158015612531573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612555919061530e565b87518051859081106125695761256961507c565b6020026020010181815161257d9190615329565b6001600160601b03169052506001909101905b8061259a816150f6565b9150506123d8565b505080806125af906150f6565b915050611f3e565b5050506000806125d18c868a606001518b60800151610bd8565b91509150816126425760405162461bcd60e51b8152602060048201526043602482015260008051602061551583398151915260448201527f7265733a2070616972696e6720707265636f6d70696c652063616c6c206661696064820152621b195960ea1b608482015260a4016106c2565b806126a35760405162461bcd60e51b8152602060048201526039602482015260008051602061551583398151915260448201527f7265733a207369676e617475726520697320696e76616c69640000000000000060648201526084016106c2565b505060008782602001516040516020016126be929190615351565b60408051808303601f190181529190528051602090910120929b929a509198505050505050505050565b6126f06139b6565b6126fa6000613fbb565b565b60ff541561271c5760405162461bcd60e51b81526004016106c290614fe4565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146127645760405162461bcd60e51b81526004016106c290615399565b600554600160a01b900460ff16801561279657506001600160a01b03821660009081526004602052604090205460ff16155b156127b457604051634414c63360e01b815260040160405180910390fd5b6127bf60028361400d565b50604051639926ee7d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639926ee7d9061280e908590859060040161545e565b600060405180830381600087803b15801561282857600080fd5b505af115801561283c573d6000803e3d6000fd5b50506040516001600160a01b03851692507fac6fa858e9350a46cec16539926e0fde25b7629f84b5a72bffaae4df888ae86d9150600090a25050565b60008381526001602052604081206060919061289390614022565b90508084106128b5576040516392c4425960e01b815260040160405180910390fd5b60006128c1848661525e565b9050818111156128ce5750805b60006128da86836152cc565b6001600160401b038111156128f1576128f16145b5565b60405190808252806020026020018201604052801561291a578160200160208202803683370190505b509050855b8281101561297557600088815260016020526040902061293f908261402c565b8261294a89846152cc565b8151811061295a5761295a61507c565b602090810291909101015261296e816150f6565b905061291f565b509695505050505050565b60ff54156129a05760405162461bcd60e51b81526004016106c290614fe4565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146129e85760405162461bcd60e51b81526004016106c290615399565b6129f3600282614038565b506040516351b27a6d60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a364f4da90602401600060405180830381600087803b158015612a5757600080fd5b505af1158015612a6b573d6000803e3d6000fd5b50506040516001600160a01b03841692507f80c0b871b97b595b16a7741c1b06fed0c6f6f558639f18ccbce50724325dc40d9150600090a250565b612aae6139b6565b60405163a98fb35560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a98fb35590612afa9084906004016154a9565b600060405180830381600087803b158015612b1457600080fd5b505af1158015612b28573d6000803e3d6000fd5b5050505050565b6000818152600160205260408120612b4690614022565b92915050565b612b546139b6565b600554600160a01b900460ff1615612b7f57604051637952fbad60e11b815260040160405180910390fd5b6005805460ff60a01b1916600160a01b1790556040517f8a943acd5f4e6d3df7565a4a08a93f6b04cc31bb6c01ca4aef7abd6baf455ec390600090a1565b612bc56139b6565b600554600160a01b900460ff16612bee57604051625ecddb60e01b815260040160405180910390fd5b6005805460ff60a01b191690556040517f2d35c8d348a345fd7b3b03b7cfcf7ad0b60c2d46742d5ca536342e4185becb0790600090a1565b6000828152600160205260408120612c3e90836133ad565b9392505050565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ca7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ccb9190615241565b60ff16905080612ce957505060408051600081526020810190915290565b6000805b82811015612d9e57604051633ca5a5f560e01b815260ff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa158015612d5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d8091906151ff565b612d8a908361525e565b915080612d96816150f6565b915050612ced565b506000816001600160401b03811115612db957612db96145b5565b604051908082528060200260200182016040528015612de2578160200160208202803683370190505b5090506000805b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639aa1653d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e6b9190615241565b60ff1681101561300457604051633ca5a5f560e01b815260ff821660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633ca5a5f590602401602060405180830381865afa158015612edf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0391906151ff565b905060005b81811015612fef576040516356e4026d60e11b815260ff84166004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063adc804da906044016040805180830381865afa158015612f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa1919061528d565b60000151858581518110612fb757612fb761507c565b6001600160a01b039092166020928302919091019091015283612fd9816150f6565b9450508080612fe7906150f6565b915050612f08565b50508080612ffc906150f6565b915050612de9565b5090949350505050565b600082815260208190526040902054829060ff1661303f5760405163daf4a8a360e01b815260040160405180910390fd5b6130476139b6565b600083815260016020526040812061305f908461404d565b905080156130bb57600084815260066020526040902061307f9084613414565b506040805184815233602082015281517f1bdeffc0337373bf2f6fd4219080133eeaaee0554206d9bb24a019d96973c1eb929181900390910190a15b50505050565b6130c96139b6565b6001600160a01b03811661312e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106c2565b610a9681613fbb565b6008546001600160a01b0316336001600160a01b03161461316b5760405163b8088f8760e01b815260040160405180910390fd5b60005b8181101561157c57600083838381811061318a5761318a61507c565b905060200201602081019061319f9190614a53565b6001600160a01b03811660009081526004602052604090205490915060ff166131db57604051634414c63360e01b815260040160405180910390fd5b6001600160a01b038116600081815260046020908152604091829020805460ff1916905590519182527f8560daa191dd8e6fba276b053006b3990c46c94b842f85490f52c49b15cfe5cb910160405180910390a150613239816150f6565b905061316e565b6132486139b6565b610a9681613d2d565b60fe60009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132c89190615111565b6001600160a01b0316336001600160a01b0316146132f85760405162461bcd60e51b81526004016106c29061512e565b60ff5419811960ff541916146133765760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c697479000000000000000060648201526084016106c2565b60ff81905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610bcd565b60008181526001830160205260408120541515612c3e565b60006133d082614059565b60408051825160208083019190915283015163ffffffff16818301529101516060820152608001604051602081830303815290604052805190602001209050919050565b6000612c3e83836140b8565b6001600160a01b0381166134ae5760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a4016106c2565b60fe54604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a160fe80546001600160a01b0319166001600160a01b0392909216919091179055565b60408051808201909152600080825260208201526135336144db565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa905080801561356657613568565bfe5b50806135a65760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b60448201526064016106c2565b505092915050565b60408051808201909152600080825260208201526135ca6144f9565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa90508080156135665750806135a65760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b60448201526064016106c2565b61364a614517565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b6040805180820190915260008082526020820152600080806137326000805160206154f5833981519152866151dd565b90505b61373e81614107565b90935091506000805160206154f5833981519152828309831415613778576040805180820190915290815260208101919091529392505050565b6000805160206154f5833981519152600182089050613735565b6040805180820182528681526020808201869052825180840190935286835282018490526000918291906137c461453c565b60005b60028110156139895760006137dd8260066150d7565b90508482600281106137f1576137f161507c565b6020020151518361380383600061525e565b600c81106138135761381361507c565b602002015284826002811061382a5761382a61507c565b60200201516020015183826001613841919061525e565b600c81106138515761385161507c565b60200201528382600281106138685761386861507c565b602002015151518361387b83600261525e565b600c811061388b5761388b61507c565b60200201528382600281106138a2576138a261507c565b60200201515160016020020151836138bb83600361525e565b600c81106138cb576138cb61507c565b60200201528382600281106138e2576138e261507c565b6020020151602001516000600281106138fd576138fd61507c565b60200201518361390e83600461525e565b600c811061391e5761391e61507c565b60200201528382600281106139355761393561507c565b6020020151602001516001600281106139505761395061507c565b60200201518361396183600561525e565b600c81106139715761397161507c565b60200201525080613981816150f6565b9150506137c7565b5061399261455b565b60006020826101808560088cfa9151919c9115159b50909950505050505050505050565b6068546001600160a01b031633146126fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106c2565b600580546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f175f27847b3568e0da876ffca3dc0bb52db4e6556346aedb530c6fe86610da2791015b60405180910390a15050565b6060600080613a8084613e11565b61ffff166001600160401b03811115613a9b57613a9b6145b5565b6040519080825280601f01601f191660200182016040528015613ac5576020820181803683370190505b5090506000805b825182108015613add575061010081105b15613004576001811b935085841615613b24578060f81b838381518110613b0657613b0661507c565b60200101906001600160f81b031916908160001a9053508160010191505b613b2d816150f6565b9050613acc565b6001821015613b565760405163daf4a8a360e01b815260040160405180910390fd5b60008281526020819052604090205460ff1615158115151415613b8c57604051631cf3d59360e31b815260040160405180910390fd5b60008281526020818152604091829020805460ff19168415159081179091558251858152918201527fe6dc5430aa4f5f1f54e9c1a3698de870c829afe22acf2737d45f109b82881b1e9101613a66565b60fe546001600160a01b0316158015613bfd57506001600160a01b03821615155b613c7f5760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a4016106c2565b60ff81905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a261125482613420565b603554610100900460ff1661312e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106c2565b600880546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f1d7f4da50d8af7a6cea3e56e235c952f5a92d4c862da2d587f7b67f6d0156bb29101613a66565b600080613d9384614189565b9050808360ff166001901b11612c3e5760405162461bcd60e51b815260206004820152603f60248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206269746d61702065786365656473206d61782076616c75650060648201526084016106c2565b6000805b8215612b4657613e266001846152cc565b9092169180613e34816154bc565b915050613e15565b60408051808201909152600080825260208201526102008261ffff1610613e985760405162461bcd60e51b815260206004820152601060248201526f7363616c61722d746f6f2d6c6172676560801b60448201526064016106c2565b8161ffff1660011415613eac575081612b46565b6040805180820190915260008082526020820181905284906001905b8161ffff168661ffff1610613f1557600161ffff871660ff83161c81161415613ef857613ef584846135ae565b93505b613f0283846135ae565b92506201fffe600192831b169101613ec8565b509195945050505050565b60408051808201909152600080825260208201528151158015613f4557506020820151155b15613f63575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020016000805160206154f58339815191528460200151613f9691906151dd565b613fae906000805160206154f58339815191526152cc565b905292915050565b919050565b606880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000612c3e836001600160a01b0384166140b8565b6000612b46825490565b6000612c3e8383614316565b6000612c3e836001600160a01b038416614340565b6000612c3e8383614340565b604080516060810182526000808252602082018190529181019190915260405180606001604052808360000135815260200183606001602081019061409e919061501b565b63ffffffff16815260200183608001358152509050919050565b60008181526001830160205260408120546140ff57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155612b46565b506000612b46565b600080806000805160206154f583398151915260036000805160206154f5833981519152866000805160206154f583398151915288890909089050600061417d827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f526000805160206154f5833981519152614433565b91959194509092505050565b6000610100825111156142125760405162461bcd60e51b8152602060048201526044602482018190527f4269746d61705574696c732e6f72646572656442797465734172726179546f42908201527f69746d61703a206f7264657265644279746573417272617920697320746f6f206064820152636c6f6e6760e01b608482015260a4016106c2565b815161422057506000919050565b600080836000815181106142365761423661507c565b0160200151600160f89190911c81901b92505b845181101561430d578481815181106142645761426461507c565b0160200151600160f89190911c1b91508282116142f95760405162461bcd60e51b815260206004820152604760248201527f4269746d61705574696c732e6f72646572656442797465734172726179546f4260448201527f69746d61703a206f72646572656442797465734172726179206973206e6f74206064820152661bdc99195c995960ca1b608482015260a4016106c2565b91811791614306816150f6565b9050614249565b50909392505050565b600082600001828154811061432d5761432d61507c565b9060005260206000200154905092915050565b600081815260018301602052604081205480156144295760006143646001836152cc565b8554909150600090614378906001906152cc565b90508181146143dd5760008660000182815481106143985761439861507c565b90600052602060002001549050808760000184815481106143bb576143bb61507c565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806143ee576143ee6154de565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050612b46565b6000915050612b46565b60008061443e61455b565b614446614579565b602080825281810181905260408201819052606082018890526080820187905260a082018690528260c08360056107d05a03fa92508280156135665750826144d05760405162461bcd60e51b815260206004820152601a60248201527f424e3235342e6578704d6f643a2063616c6c206661696c75726500000000000060448201526064016106c2565b505195945050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806040016040528061452a614597565b8152602001614537614597565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156145ed576145ed6145b5565b60405290565b60405161010081016001600160401b03811182821017156145ed576145ed6145b5565b604051606081016001600160401b03811182821017156145ed576145ed6145b5565b604051601f8201601f191681016001600160401b0381118282101715614660576146606145b5565b604052919050565b60006001600160401b03821115614681576146816145b5565b5060051b60200190565b803563ffffffff81168114613fb657600080fd5b600082601f8301126146b057600080fd5b813560206146c56146c083614668565b614638565b82815260059290921b840181019181810190868411156146e457600080fd5b8286015b84811015612975576146f98161468b565b83529183019183016146e8565b60006040828403121561471857600080fd5b6147206145cb565b9050813581526020820135602082015292915050565b600082601f83011261474757600080fd5b813560206147576146c083614668565b82815260069290921b8401810191818101908684111561477657600080fd5b8286015b848110156129755761478c8882614706565b83529183019160400161477a565b600082601f8301126147ab57600080fd5b6147b36145cb565b8060408401858111156147c557600080fd5b845b818110156147df5780358452602093840193016147c7565b509095945050505050565b6000608082840312156147fc57600080fd5b6148046145cb565b9050614810838361479a565b815261481f836040840161479a565b602082015292915050565b600082601f83011261483b57600080fd5b8135602061484b6146c083614668565b82815260059290921b8401810191818101908684111561486a57600080fd5b8286015b848110156129755780356001600160401b0381111561488d5760008081fd5b61489b8986838b010161469f565b84525091830191830161486e565b600061018082840312156148bc57600080fd5b6148c46145f3565b905081356001600160401b03808211156148dd57600080fd5b6148e98583860161469f565b835260208401359150808211156148ff57600080fd5b61490b85838601614736565b6020840152604084013591508082111561492457600080fd5b61493085838601614736565b604084015261494285606086016147ea565b60608401526149548560e08601614706565b608084015261012084013591508082111561496e57600080fd5b61497a8583860161469f565b60a084015261014084013591508082111561499457600080fd5b6149a08583860161469f565b60c08401526101608401359150808211156149ba57600080fd5b506149c78482850161482a565b60e08301525092915050565b600080604083850312156149e657600080fd5b82356001600160401b03808211156149fd57600080fd5b9084019060a08287031215614a1157600080fd5b90925060208401359080821115614a2757600080fd5b50614a34858286016148a9565b9150509250929050565b6001600160a01b0381168114610a9657600080fd5b600060208284031215614a6557600080fd5b8135612c3e81614a3e565b600060208284031215614a8257600080fd5b5035919050565b6000806000806101208587031215614aa057600080fd5b84359350614ab18660208701614706565b9250614ac086606087016147ea565b9150614acf8660e08701614706565b905092959194509250565b6020808252825182820181905260009190848201906040850190845b81811015614b1b5783516001600160a01b031683529284019291840191600101614af6565b50909695505050505050565b8015158114610a9657600080fd5b60008060408385031215614b4857600080fd5b823591506020830135614b5a81614b27565b809150509250929050565b600060208284031215614b7757600080fd5b8135612c3e81614b27565b60ff81168114610a9657600080fd5b600060208284031215614ba357600080fd5b8135612c3e81614b82565b60008083601f840112614bc057600080fd5b5081356001600160401b03811115614bd757600080fd5b6020830191508360208260051b8501011115614bf257600080fd5b9250929050565b60008060208385031215614c0c57600080fd5b82356001600160401b03811115614c2257600080fd5b614c2e85828601614bae565b90969095509350505050565b600080600080600080600060c0888a031215614c5557600080fd5b8735614c6081614a3e565b9650602088013595506040880135614c7781614a3e565b94506060880135614c8781614a3e565b93506080880135614c9781614a3e565b925060a08801356001600160401b03811115614cb257600080fd5b614cbe8a828b01614bae565b989b979a50959850939692959293505050565b600080600080600060808688031215614ce957600080fd5b8535945060208601356001600160401b0380821115614d0757600080fd5b818801915088601f830112614d1b57600080fd5b813581811115614d2a57600080fd5b896020828501011115614d3c57600080fd5b6020830196509450614d506040890161468b565b93506060880135915080821115614d6657600080fd5b50614d73888289016148a9565b9150509295509295909350565b600081518084526020808501945080840160005b83811015614db95781516001600160601b031687529582019590820190600101614d94565b509495945050505050565b6040815260008351604080840152614ddf6080840182614d80565b90506020850151603f19848303016060850152614dfc8282614d80565b925050508260208301529392505050565b60006001600160401b03831115614e2657614e266145b5565b614e39601f8401601f1916602001614638565b9050828152838383011115614e4d57600080fd5b828260208301376000602084830101529392505050565b60008060408385031215614e7757600080fd5b8235614e8281614a3e565b915060208301356001600160401b0380821115614e9e57600080fd5b9084019060608287031215614eb257600080fd5b614eba614616565b823582811115614ec957600080fd5b83019150601f82018713614edc57600080fd5b614eeb87833560208501614e0d565b815260208301356020820152604083013560408201528093505050509250929050565b600080600060608486031215614f2357600080fd5b505081359360208301359350604090920135919050565b6020808252825182820181905260009190848201906040850190845b81811015614b1b57835183529284019291840191600101614f56565b600060208284031215614f8457600080fd5b81356001600160401b03811115614f9a57600080fd5b8201601f81018413614fab57600080fd5b614fba84823560208401614e0d565b949350505050565b60008060408385031215614fd557600080fd5b50508035926020909101359150565b6020808252601c908201527f5061757361626c653a20636f6e74726163742069732070617573656400000000604082015260600190565b60006020828403121561502d57600080fd5b612c3e8261468b565b6000808335601e1984360301811261504d57600080fd5b8301803591506001600160401b0382111561506757600080fd5b602001915036819003821315614bf257600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001600160601b03808316818516818304811182151516156150ce576150ce615092565b02949350505050565b60008160001904831182151516156150f1576150f1615092565b500290565b600060001982141561510a5761510a615092565b5060010190565b60006020828403121561512357600080fd5b8151612c3e81614a3e565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b60006020828403121561518a57600080fd5b8151612c3e81614b27565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b6000826151fa57634e487b7160e01b600052601260045260246000fd5b500690565b60006020828403121561521157600080fd5b5051919050565b60006020828403121561522a57600080fd5b81516001600160c01b0381168114612c3e57600080fd5b60006020828403121561525357600080fd5b8151612c3e81614b82565b6000821982111561527157615271615092565b500190565b80516001600160601b0381168114613fb657600080fd5b60006040828403121561529f57600080fd5b6152a76145cb565b82516152b281614a3e565b81526152c060208401615276565b60208201529392505050565b6000828210156152de576152de615092565b500390565b6000602082840312156152f557600080fd5b815167ffffffffffffffff1981168114612c3e57600080fd5b60006020828403121561532057600080fd5b612c3e82615276565b60006001600160601b038381169083168181101561534957615349615092565b039392505050565b63ffffffff60e01b8360e01b1681526000600482018351602080860160005b8381101561538c57815185529382019390820190600101615370565b5092979650505050505050565b60208082526052908201527f536572766963654d616e61676572426173652e6f6e6c7952656769737472794360408201527f6f6f7264696e61746f723a2063616c6c6572206973206e6f742074686520726560608201527133b4b9ba393c9031b7b7b93234b730ba37b960711b608082015260a00190565b6000815180845260005b818110156154375760208185018101518683018201520161541b565b81811115615449576000602083870101525b50601f01601f19169290920160200192915050565b60018060a01b038316815260406020820152600082516060604084015261548860a0840182615411565b90506020840151606084015260408401516080840152809150509392505050565b602081526000612c3e6020830184615411565b600061ffff808316818114156154d4576154d4615092565b6001019392505050565b634e487b7160e01b600052603160045260246000fdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47424c535369676e6174757265436865636b65722e636865636b5369676e617475a2646970667358221220325b3bf95a99de841565a2547af19ffdf27ece04c7ed201653dd042dfdfbe1a864736f6c634300080c0033000000000000000000000000135dda560e946695d6f155dacafc6f1f25c1f5af000000000000000000000000561be1ab42170a19f31645f774e6e3862b2139aa00000000000000000000000049296a7d4a76888370cb377cd909cc73a2f71289", + "nonce": "0x0", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x76aca0", + "logs": [ + { + "address": "0x00f6dd9a3abe4b64988c007f9eaa188e3971ad7b", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x8a7070767e3fc5591dbd19248678f131dd8e1516a0b02ec61b0d9637047dfd96", + "blockNumber": "0x132f114", + "transactionHash": "0x9e384d2dfe86d243add5fc67b75b2d012bd34d27c2b600f379a320efd63eaccd", + "transactionIndex": "0x17", + "logIndex": "0x6a", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x9e384d2dfe86d243add5fc67b75b2d012bd34d27c2b600f379a320efd63eaccd", + "transactionIndex": "0x17", + "blockHash": "0x8a7070767e3fc5591dbd19248678f131dd8e1516a0b02ec61b0d9637047dfd96", + "blockNumber": "0x132f114", + "gasUsed": "0x4a0ec4", + "effectiveGasPrice": "0x365bf7b5e", + "from": "0xc1c240a72af6a09869e0b4bcd3954272fcc32d7d", + "to": null, + "contractAddress": "0x00f6dd9a3abe4b64988c007f9eaa188e3971ad7b" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718678416, + "chain": 1, + "commit": "3b90b49" +} \ No newline at end of file diff --git a/docs/Deployments.md b/docs/Deployments.md index 49fc663..2a9052b 100644 --- a/docs/Deployments.md +++ b/docs/Deployments.md @@ -4,16 +4,16 @@ ### AltLayer Mach AVS -| Name | Address | -| ---------------------- | ----------------------------------------------------------------------------------------------------------------------- | -| ProxyAdmin | [`0xba9aC2c9d1Fc2Ba22f3709EC073757777447bb5B`](https://etherscan.io/address/0xba9aC2c9d1Fc2Ba22f3709EC073757777447bb5B) | -| ServiceManager | [`0x71a77037870169d47aad6c2C9360861A4C0df2bF`](https://etherscan.io/address/0x71a77037870169d47aad6c2C9360861A4C0df2bF) | -| RegistryCoordinator | [`0x561be1AB42170a19f31645F774e6e3862B2139AA`](https://etherscan.io/address/0x561be1AB42170a19f31645F774e6e3862B2139AA) | -| BLSApkRegistry | [`0xF9f34Bc6309A52c266881066e8c58fbF562D442c`](https://etherscan.io/address/0xF9f34Bc6309A52c266881066e8c58fbF562D442c) | -| IndexRegistry | [`0x1BE83d6CE83bC516630afE535F36652A1511779B`](https://etherscan.io/address/0x1BE83d6CE83bC516630afE535F36652A1511779B) | -| OperatorStateRetriever | [`0x8Ad765474f86FFb0A742041427383b524192b71f`](https://etherscan.io/address/0x8Ad765474f86FFb0A742041427383b524192b71f) | -| PauserRegistry | [`0xcCC62915256c7137aaD62d5E4385fc737264D2B1`](https://etherscan.io/address/0xcCC62915256c7137aaD62d5E4385fc737264D2B1) | -| StakeRegistry | [`0x49296A7D4a76888370CB377CD909Cc73a2f71289`](https://etherscan.io/address/0x49296A7D4a76888370CB377CD909Cc73a2f71289) | +| Name | Address | Implementation | +| ---------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| ProxyAdmin | [`0xba9aC2c9d1Fc2Ba22f3709EC073757777447bb5B`](https://etherscan.io/address/0xba9aC2c9d1Fc2Ba22f3709EC073757777447bb5B) | | +| ServiceManager | [`0x71a77037870169d47aad6c2C9360861A4C0df2bF`](https://etherscan.io/address/0x71a77037870169d47aad6c2C9360861A4C0df2bF) | [`0x00f6dd9a3abe4b64988c007f9eaa188e3971ad7b`](https://etherscan.io/address/0x00f6dd9a3abe4b64988c007f9eaa188e3971ad7b) [`3b90b49`](https://github.com/alt-research/mach-avs/commit/3b90b498c2f9379d488608beb3aadeac4e0cff6d)) | +| RegistryCoordinator | [`0x561be1AB42170a19f31645F774e6e3862B2139AA`](https://etherscan.io/address/0x561be1AB42170a19f31645F774e6e3862B2139AA) | | +| BLSApkRegistry | [`0xF9f34Bc6309A52c266881066e8c58fbF562D442c`](https://etherscan.io/address/0xF9f34Bc6309A52c266881066e8c58fbF562D442c) | | +| IndexRegistry | [`0x1BE83d6CE83bC516630afE535F36652A1511779B`](https://etherscan.io/address/0x1BE83d6CE83bC516630afE535F36652A1511779B) | | +| OperatorStateRetriever | [`0x8Ad765474f86FFb0A742041427383b524192b71f`](https://etherscan.io/address/0x8Ad765474f86FFb0A742041427383b524192b71f) | | +| PauserRegistry | [`0xcCC62915256c7137aaD62d5E4385fc737264D2B1`](https://etherscan.io/address/0xcCC62915256c7137aaD62d5E4385fc737264D2B1) | | +| StakeRegistry | [`0x49296A7D4a76888370CB377CD909Cc73a2f71289`](https://etherscan.io/address/0x49296A7D4a76888370CB377CD909Cc73a2f71289) | | ### Xterio Mach AVS