@aztec/l1-artifacts 3.0.0-nightly.20251030-2 → 3.0.0-nightly.20251031
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/FeeJuicePortalBytecode.d.ts +1 -1
- package/dest/FeeJuicePortalBytecode.js +1 -1
- package/dest/HonkVerifierBytecode.d.ts +1 -1
- package/dest/HonkVerifierBytecode.js +1 -1
- package/dest/InboxBytecode.d.ts +1 -1
- package/dest/InboxBytecode.js +1 -1
- package/dest/MultiAdderBytecode.d.ts +1 -1
- package/dest/MultiAdderBytecode.js +1 -1
- package/dest/OutboxBytecode.d.ts +1 -1
- package/dest/OutboxBytecode.js +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
- package/dest/RewardExtLibBytecode.d.ts +1 -1
- package/dest/RewardExtLibBytecode.js +1 -1
- package/dest/RollupBytecode.d.ts +1 -1
- package/dest/RollupBytecode.js +1 -1
- package/dest/RollupOperationsExtLibBytecode.d.ts +1 -1
- package/dest/RollupOperationsExtLibBytecode.js +1 -1
- package/dest/TokenPortalBytecode.d.ts +1 -1
- package/dest/TokenPortalBytecode.js +1 -1
- package/dest/UniswapPortalBytecode.d.ts +1 -1
- package/dest/UniswapPortalBytecode.js +1 -1
- package/dest/ValidatorOperationsExtLibBytecode.d.ts +1 -1
- package/dest/ValidatorOperationsExtLibBytecode.js +1 -1
- package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
- package/dest/ValidatorSelectionLibBytecode.js +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* FeeJuicePortal bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const FeeJuicePortalBytecode = "
|
|
4
|
+
export declare const FeeJuicePortalBytecode = "0x610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea2646970667358221220e1962afa6161b1b1f5d989dcbf96748c95b299a725ae889a28c1e8cd0fdf6b9664736f6c634300081b0033";
|
|
5
5
|
/**
|
|
6
6
|
* FeeJuicePortal link references.
|
|
7
7
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* FeeJuicePortal bytecode.
|
|
3
|
-
*/ export const FeeJuicePortalBytecode = "
|
|
3
|
+
*/ export const FeeJuicePortalBytecode = "0x610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea2646970667358221220e1962afa6161b1b1f5d989dcbf96748c95b299a725ae889a28c1e8cd0fdf6b9664736f6c634300081b0033";
|
|
4
4
|
/**
|
|
5
5
|
* FeeJuicePortal link references.
|
|
6
6
|
*/ export const FeeJuicePortalLinkReferences = {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f06ab173655ce371628ebc9fe99c2948abd6ae911606409db94c78e0aacbae9dc60c05260ae60e05260805160a05160c05160e051615a016100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612c9d01525f5050615a015ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615640565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615718565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615718565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b905060108260400151610138919061572f565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615718565b905060016102a9600885615718565b6102b39190615718565b6102bd9082615742565b90506102cb60016029615718565b6102d59082615742565b905060026102e460018561572f565b6102ee9190615718565b6102f89082615742565b9050610305600184615718565b61030f9082615742565b905061031c600280615718565b6103269082615742565b9050610333601082615742565b9392505050565b610342615148565b61034a61175b565b905090565b6103576152d2565b5f805b60108110156103b957610386868387610374602083615742565b9261038193929190615755565b612096565b835182601081106103995761039961577c565b6020020181815250506020826103af9190615742565b915060010161035a565b506103dd8582866103cb604083615742565b926103d893929190615755565b6120a9565b60208301526103ed604082615742565b90506104008582866103cb604083615742565b6040808401919091526104139082615742565b90506104268582866103cb604083615742565b6060830152610436604082615742565b90506104498582866103cb604083615742565b60c0830152610459604082615742565b905061046c8582866103cb604083615742565b60e083015261047c604082615742565b905061048f8582866103cb604083615742565b608083015261049f604082615742565b90506104b28582866103cb604083615742565b6101008301526104c3604082615742565b90506104d68582866103cb604083615742565b60a08301526104e6604082615742565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615742565b84610120015183601c81106105255761052561577c565b6020020151826008811061053b5761053b61577c565b6020020181815250506020836105519190615742565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615742565b83610140015182602981106105985761059861577c565b6020020181815250506020826105ae9190615742565b9150600101610567565b505f5b6105c660018561572f565b81101561060f576105de8683876103cb604083615742565b83610160015182601b81106105f5576105f561577c565b6020020152610605604083615742565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615742565b83610180015182601c81106106425761064261577c565b6020020181815250506020826106589190615742565b9150600101610612565b506106748582866103cb604083615742565b6101a0830152610685604082615742565b90506106988582866103cb604083615742565b6101c0830152509392505050565b6106ae615382565b5f6106bd88888888888661212b565b90835290506106cc818961217f565b602084019190915290506106e0818461226e565b604084019190915290506106f58882856122fd565b6060840191909152905061070988826123d1565b6080840191909152905061071e88828561245c565b60a084019190915290506107338882856125d0565b60c084019190915290506107478882612694565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615742565b6126d1565b6126e9565b612704565b90505f6107a38761079e8a61077b6107768b6001615742565b61271d565b90505f5b6107d260107f000000000000000000000000000000000000000000000000000000000000000061572f565b81101561083f575f6107fc8c83815181106107ef576107ef61577c565b6020026020010151612745565b905061080c8661077b8684612704565b955061081c8561077b8584612704565b9450610828848b612704565b9350610834838b61271d565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61577c565b602002015190506108738661077b8684612704565b95506108838561077b8584612704565b945061088f848b612704565b935061089b838b61271d565b925050600101610842565b506108b1848461275a565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561577c565b602002015190505f6109178286612768565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61577c565b6020020151905061095f8382612788565b9550610986886040015185601c811061097a5761097a61577c565b60200201518683612937565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612962565b90508281145b9695505050505050565b5f6109c96153db565b5f6109f88460a001517f00000000000000000000000000000000000000000000000000000000000000006129db565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615742565b610a31906002615742565b6001600160401b03811115610a4857610a48615790565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615742565b610aab906002615742565b6001600160401b03811115610ac257610ac2615790565b604051908082528060200260200182016040528015610afb57816020015b610ae861544b565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61577c565b602002602001015161271d565b612aa4565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461577c565b6020026020010151612704565b610140850181905261012085015160c0880151610b829261078091906126e9565b845260a0860151610bb290610b9690612aa4565b61077b86610120015161079e8a60c001518961014001516126e9565b6020850152815160019083905f90610bcc57610bcc61577c565b602002602001018181525050876101a00151815f81518110610bf057610bf061577c565b6020908102919091010152600160a08501525f60c08501528351610c1390612b14565b60408501526020840151610c2690612b14565b606085015260015b60248111610cd157610c4885604001518660a001516126e9565b838281518110610c5a57610c5a61577c565b602002602001018181525050610ca38560c001516107808b6101400151600185610c84919061572f565b60298110610c9457610c9461577c565b60200201518860a001516126e9565b60c086015260a08501516080880151610cbc91906126e9565b60a0860152610cca816157a4565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615742565b90505f610cf7602484615742565b9050610d28858381518110610d0e57610d0e61577c565b602002602001015161078089606001518a60a001516126e9565b858381518110610d3a57610d3a61577c565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861577c565b60200201518a60a001516126e9565b60c088015260a087015160808a0151610d9091906126e9565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861577c565b6020026020010181905250866080015181600281518110610ddb57610ddb61577c565b60200260200101819052508660a0015181600381518110610dfe57610dfe61577c565b60200260200101819052508660c0015181600481518110610e2157610e2161577c565b60200260200101819052508660e0015181600581518110610e4457610e4461577c565b602002602001018190525086610100015181600681518110610e6857610e6861577c565b602002602001018190525086610120015181600781518110610e8c57610e8c61577c565b602002602001018190525086610140015181600881518110610eb057610eb061577c565b602002602001018190525086610160015181600981518110610ed457610ed461577c565b6020026020010181905250866101c0015181600a81518110610ef857610ef861577c565b602002602001018190525086610180015181600b81518110610f1c57610f1c61577c565b6020026020010181905250866101a0015181600c81518110610f4057610f4061577c565b6020026020010181905250866101e0015181600d81518110610f6457610f6461577c565b602002602001018190525086610200015181600e81518110610f8857610f8861577c565b602002602001018190525086610220015181600f81518110610fac57610fac61577c565b602002602001018190525086610240015181601081518110610fd057610fd061577c565b602002602001018190525086610260015181601181518110610ff457610ff461577c565b6020026020010181905250866102800151816012815181106110185761101861577c565b6020026020010181905250866102a001518160138151811061103c5761103c61577c565b6020026020010181905250866102c00151816014815181106110605761106061577c565b6020026020010181905250866102e00151816015815181106110845761108461577c565b6020026020010181905250866103000151816016815181106110a8576110a861577c565b6020026020010181905250866103200151816017815181106110cc576110cc61577c565b6020026020010181905250866103400151816018815181106110f0576110f061577c565b6020026020010181905250866103600151816019815181106111145761111461577c565b602002602001018190525086610380015181601a815181106111385761113861577c565b6020026020010181905250866103a0015181601b8151811061115c5761115c61577c565b6020026020010181905250866103c0015181601c815181106111805761118061577c565b6020026020010181905250876020015181601d815181106111a3576111a361577c565b6020026020010181905250876040015181601e815181106111c6576111c661577c565b6020026020010181905250876060015181601f815181106111e9576111e961577c565b602002602001018190525087608001518160208151811061120c5761120c61577c565b60200260200101819052508760a001518160218151811061122f5761122f61577c565b6020026020010181905250876101000151816022815181106112535761125361577c565b60200260200101819052508760c00151816023815181106112765761127661577c565b60200260200101819052508760e00151816024815181106112995761129961577c565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612b26565b9050611309815f815181106112f6576112f661577c565b60200260200101518661012001516126e9565b608086018190526101808a01515160c089015161133a92916107809161132f91906126e9565b8861014001516126e9565b608086015260c087015161134d90612c84565b60a08601525f5b61137f60017f000000000000000000000000000000000000000000000000000000000000000061572f565b81101561157c576113af610b288960e001518784600161139f9190615742565b81518110610b1b57610b1b61577c565b61012087015260e08801516113de90610b2890876113ce856001615742565b81518110610b5457610b5461577c565b61014087015260a08601516101208701516113f991906126e9565b61016087015260a086015160c089015161142191611416916126e9565b8761014001516126e9565b61018087018190526114449061143690612b14565b610780886101600151612b14565b848261145260246001615742565b61145c9190615742565b8151811061146c5761146c61577c565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615742565b601c81106114a5576114a561577c565b60200201516126e9565b90506114e981610780896101600151868660016114cc9190615742565b815181106114dc576114dc61577c565b60200260200101516126e9565b90506114f9876080015182612704565b608088015260a087015160c08a015161151f91611515916126e9565b8a60c001516126e9565b60a08801526101608b015182601b811061153b5761153b61577c565b6020020151848361154e60246001615742565b6115589190615742565b815181106115685761156861577c565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615742565b815181106115ce576115ce61577c565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615742565b8151811061161a5761161a61577c565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615742565b611663906001615742565b815181106116735761167361577c565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615742565b6116ba906001615742565b815181106116ca576116ca61577c565b6020026020010181815250505f6116e18486612c8f565b90505f6116ed83612d9f565b90505f6116fe8d5f01518484612de5565b90505f5f61170e8f5f0151612e5b565b9150915061171b82612f1c565b61172481612f1c565b61172f858385612fbb565b945061173c848285612fbb565b93506117488585612fe1565b9f9e505050505050505050505050505050565b611763615148565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f1fa9e76d367fe47e08b186e588c01c87aae5eb31cb5ab0bcc0fa6573f7bc2e9181527f2a35c45bff9aaf67b1981ab6cd6d9d5697a7d7e54233dcb9a4f8a2e3b6b6809b818301526060830152825180840184527f04aa9a74e36d37c7c6b0e40f394457aec5b921462b00d6cd905046f511eec7c881527f082cf928ffa9e843e905ac83bf2491b581a85ce6986e048546227fc96a6e1d97818301526080830152825180840184527f12f3192c3c5f4916697353d754079c3975ed49c47abf158d049d3420910ea2c181527f080f156ec91d6ed1b7372696ccdf6b4d6d3248421fd4027572e6d27a411a7f528183015260a0830152825180840184527f054956f12a6309513d2eea7f817fb03239208ebb9c271069bace80a4b6f67e2781527f0dede08a27f27cc7f5098d32462b196c2c2774f7b065c10a773880b105a8a7d68183015260c0830152825180840184527f2ee3c36f418c99009dad99e740b85d5c14b900e2eb0b476259b8de6f14344ce481527eaefd21fd39b63f5c477c7a9627a9aa15996255dd6f63bd4fa884d4619d4a1d8183015260e0830152825180840184527f053ad6bdeddb8976815519eaafbed7abc317079fd794f39e006d4ff2ad178df281527f109b836decd955419b5588ca6611f2762b4ca87bc71893823cd539af136dbeb481830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f2c186eb2188b6586ed44684f8cf50c74bf20e5e58d416af58a3b13e199f7211381527f2fbb1b3577a26016b2775839f09a34b33b94fe3b45055514c3d0b8c1829ea97481830152610140830152825180840184527f173a7d7f3b06b473d02ce0432ff4ff57b8d17f9c48850075e1af262bfb7b003d81527f23ca7839613872fdaccbd722daef8d869c14df6afb864e331cdaa6716049d70d81830152610160830152825180840184527f27dc34a7ca55fd019098bb7ec4354a2ceb42d518011a02e238185b5c07d6a85081527f12fe176e93f3bdd91977aebec18b691fb1454e95c1474160e95d0537bd97464481830152610180830152825180840184527f206f64d03bc8cc110ff718601017f8aabd1dbd654babc49001d367d1ef62d38c81527f1b3fde1e33a77930f0905c6307305998d1f439da3b03e01759c69288f859d462818301526101a0830152825180840184527f202ddd64f90c0f4661fd13fbed91290d729e883a966547df8f6bf589b86a4b7a81527f1d44a11302e98ae2ba73730529e303ba6976bc4e70fab8041742e8e2fc9855a6818301526101c0830152825180840184527f2695bf73b7b83114201b2d2a8e75bb7ab4ff48c0c075c5e47d4781aa36f04bbf81527f0e217934c1f88834999542a9a62385aa9267c4fc142029dbbcba152017fbd7c4818301526101e0830152825180840184527f1bf32255857f16d1747728156f8ecaf92c8fb10ca3366f0cb05a6c59e7db55ff81527f1ca1c3b48a4bb63a3d19e2678951dc618744e8a5e7650fd390cc3a41a03d5af081830152610200830152825180840184527f1715f843b04ecbda086a4caf91c5edd6006629a532446134e5b8c14e17a1d4a281527f088cde6d4faa3f74b0180ba1729bb87855ef0ad959256c1ce4a7da9adc9fffa181830152610220830152825180840184527f2ce226058255bfc3a50fbbf52a91418825068d4ecd80d61363f9785c2f22afd081527f01015994dffff527d5cef617a66beb493daf0ca11cafa39413d5882134f36d1f81830152610240830152825180840184527f1f2643783cc466a1acabbd0a342355314bd6f9a6fcd6da3ecf68db3bdd70add881527f036d9efc46fb9f194ed91435e7e9482d0975c20a28aeca1d8c38ca80e277cc9f81830152610260830152825180840184527f1032ff6dc072290625fdbe4da171f756b352b81f9662c07756cb8945896c60f581527f0e42cce1ec0a47d497bfbf135c8fd9d91b03e604e49cd014e46dd9784e30f02981830152610280830152825180840184527f28d60bec9458808b0c3c3ce6525011edd30193ed862ed810be43390461d3b0d881527f2c96fa3082da59152343dd3b49fb55429c33c407a70eccc237b115f2334036bc818301526102a0830152825180840184527f1acbd0a0550d896c70f77a403a3cfbc58fd7726f281c8bddba647154c71f5cc681527f227ce793cd91f5da4c386d67e4cd1c2c97f79566de39183e749ccc5edb0668c7818301526102c0830152825180840184527f24609d048605fa93968ca8673f74068579128a5bee9fb5fc0944179bc155588f81527f2b77eadebf57537695b1721d305888b9b9c7e543cb9c72c14ee72ba75b19ebb8818301526102e0830152825180840184527f0a3cacd51903a00ed6a849c6e8708ac33d803e432fe4f503c1966fee04f7935481527f13bda42bf713a014323ef73e1579a8315e5f245904c8c206124d263e592bfb6e81830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f2044734ec1720c3754cbf30ecf49460e1f58819eb4065adfd882c018af6b1f8483527f300d7d7e195fc91447b2f0b87e6266eab30349c6dfd785a78e845af3c70c2f60908301526103c081019190915290565b5f6103336120a483856157bc565b612745565b6120b161544b565b60408051808201909152805f5160206159c15f395f51905f526120d760205f8789615755565b6120e0916157bc565b6120ea91906157d9565b81526020908101905f5160206159c15f395f51905f529061210f906040908789615755565b612118916157bc565b61212291906157d9565b90529392505050565b612133615463565b5f61214188888888886131d5565b60408601919091526020850191909152908352925061216083896134d2565b6080850191909152606084019190915291989197509095505050505050565b612187615493565b5f6121906154b2565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f3916121d8918491016157f8565b60405160208183030381529060405280519060200120612745565b91505f6121ff83613559565b50808552905060015b6122146001601c61572f565b811015612264576122458561222a60018461572f565b601b811061223a5761223a61577c565b6020020151836126e9565b8582601b81106122575761225761577c565b6020020152600101612208565b5050509250929050565b6122766154d0565b5f61228d846040516020016121d891815260200190565b935061229884613559565b50825260015b838110156122f5576122d6836122b560018461572f565b601c81106122c5576122c561577c565b60200201518461149560018561572f565b8382601c81106122e8576122e861577c565b602002015260010161229e565b509093915050565b6123056154d0565b5f805b838110156123c7576123186154ef565b8581525f5b60088110156123815787610120015183601c811061233d5761233d61577c565b602002015181600881106123535761235361577c565b602002015182612364836001615742565b600981106123745761237461577c565b602002015260010161231d565b50612396816040516020016121d8919061582b565b95505f6123a287613559565b8685601c81106123b4576123b461577c565b6020020191909152505050600101612308565b5090949293505050565b5f5f6123db61550e565b8381525f5b602981101561242e5785610140015181602981106124005761240061577c565b602002015182612411836001615742565b602a81106124215761242161577c565b60200201526001016123e0565b50612443816040516020016121d8919061585f565b91505f61244f83613559565b5096929550919350505050565b5f808061246a60018561572f565b612475906002615718565b612480906001615742565b6001600160401b0381111561249757612497615790565b6040519080825280602002602001820160405280156124c0578160200160208202803683370190505b50905084815f815181106124d6576124d661577c565b60209081029190910101525f5b6124ee60018661572f565b8110156125a15786610160015181601b811061250c5761250c61577c565b6020020151518261251e836002615718565b612529906001615742565b815181106125395761253961577c565b60200260200101818152505086610160015181601b811061255c5761255c61577c565b602002015160200151828260026125739190615718565b61257e906002615742565b8151811061258e5761258e61577c565b60209081029190910101526001016124e3565b506125b6816040516020016121d89190615893565b91505f6125c283613559565b509792965091945050505050565b5f80806125de846001615742565b6001600160401b038111156125f5576125f5615790565b60405190808252806020026020018201604052801561261e578160200160208202803683370190505b50905084815f815181106126345761263461577c565b60209081029190910101525f5b848110156125a15786610180015181601c81106126605761266061577c565b602002015182612671836001615742565b815181106126815761268161577c565b6020908102919091010152600101612641565b5f5f61269e61552d565b8381526101a08501805151602080840191909152905181015160408084019190915251612443916121d8918491016158c8565b5f5f5160206159e15f395f51905f52825b0692915050565b5f5f5160206159e15f395f51905f5282840990505b92915050565b5f5f5160206159e15f395f51905f528284089392505050565b5f5f5160206159e15f395f51905f52825f5160206159e15f395f51905f520384089392505050565b5f5f5160206159e15f395f51905f52826126e2565b5f6103338361077b84612aa4565b815160208301515f91829161277d9190612704565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561286f576128658261077b878461271d565b915060010161284e565b5061287861554b565b5f5b60088110156128d9575f8482600881106128965761289661577c565b602002015190506128ab8161077b898561271d565b90506128b681612aa4565b9050808383600881106128cb576128cb61577c565b60200201525060010161287a565b505f5b600881101561292c575f8782600881106128f8576128f861577c565b60200201519050612915818484600881106114a5576114a561577c565b90506129218682612704565b9550506001016128dc565b506109b684836126e9565b5f5f61294d60016107808561077b89600161271d565b905061295984826126e9565b95945050505050565b5f61296b6154d0565b612976868285613589565b61298286868386613735565b61298e86868386613921565b612999868285613b4c565b6129a4868285613d40565b6129b086868386614089565b6129bb868285614535565b6129c6868285614947565b6129d1868285614d08565b6109b68185615008565b60605f826001600160401b038111156129f6576129f6615790565b604051908082528060200260200182016040528015612a1f578160200160208202803683370190505b50905083815f81518110612a3557612a3561577c565b602090810291909101015260015b83811015612a9c57612a7782612a5a60018461572f565b81518110612a6a57612a6a61577c565b6020026020010151612c84565b828281518110612a8957612a8961577c565b6020908102919091010152600101612a43565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206159e15f395f51905f520360808201525f5160206159e15f395f51905f5260a082015260205f60c08360055afa80612b00575f5ffd5b505f51608091909101604052949350505050565b5f5160206159e15f395f51905f520390565b60605f826001600160401b03811115612b4157612b41615790565b604051908082528060200260200182016040528015612b6a578160200160208202803683370190505b509050825b8015612c79575f85612b8260018461572f565b81518110612b9257612b9261577c565b602002602001015190505f89600184612bab919061572f565b601c8110612bbb57612bbb61577c565b602002015190505f612c16612bda612bd3858d6126e9565b60026126e9565b61079e8b612be960018961572f565b601c8110612bf957612bf961577c565b602002015161077b612c108861077b60018a61271d565b8761271d565b9050612c378161077b610b28612c318761077b60018961271d565b86612704565b99508990508085612c4960018761572f565b81518110612c5957612c5961577c565b60200260200101818152505050505080612c72906158fb565b9050612b6f565b509695505050505050565b5f6126fe82836126e9565b612c9761544b565b5f612cc37f00000000000000000000000000000000000000000000000000000000000000006024615742565b612cce906002615742565b90505f5b81811015612d0457612cfc858281518110612cef57612cef61577c565b6020026020010151612f1c565b600101612cd2565b50604051600190815b60018401811015612d695760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612d0d565b5080518452602081015160208501525080612d97576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612da761544b565b5f5160206159c15f395f51905f5282602001515f5160206159c15f395f51905f52612dd2919061572f565b612ddc91906157d9565b60208301525090565b5f5f5f612df186612e5b565b91509150612dfd61554b565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612e50916121d891849101615910565b979650505050505050565b612e6361544b565b612e6b61544b565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f5160206159c15f395f51905f528380095f5160206159c15f395f51905f5260035f5160206159c15f395f51905f52838709085f5160206159c15f395f51905f528485091491505080612fb55760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b612fc361544b565b612fcb61544b565b612fd58386615061565b905061295981856150b7565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516131779190615944565b5f60405180830381855afa9150503d805f81146131af576040519150601f19603f3d011682016040523d82523d5f602084013e6131b4565b606091505b50915091508180156109b65750808060200190518101906109b6919061595a565b5f808080806131e5866001615742565b6131f0906006615742565b6001600160401b0381111561320757613207615790565b604051908082528060200260200182016040528015613230578160200160208202803683370190505b509050865f1b815f815181106132485761324861577c565b60209081029190910101525f5b61326060108861572f565b8110156132b1578989828181106132795761327961577c565b905060200201358282600161328e9190615742565b8151811061329e5761329e61577c565b6020908102919091010152600101613255565b505f5b6010811015613322578a516132dc9082601081106132d4576132d461577c565b602002015190565b828260106132eb8b6001615742565b6132f5919061572f565b6132ff9190615742565b8151811061330f5761330f61577c565b60209081029190910101526001016132b4565b5060208a01515181613335886001615742565b815181106133455761334561577c565b6020908102919091018101919091528a810151015181613366886001615742565b613371906001615742565b815181106133815761338161577c565b602090810291909101015260408a0151518161339e886001615742565b6133a9906002615742565b815181106133b9576133b961577c565b60209081029190910181019190915260408b01510151816133db886001615742565b6133e6906003615742565b815181106133f6576133f661577c565b602090810291909101015260608a01515181613413886001615742565b61341e906004615742565b8151811061342e5761342e61577c565b60209081029190910181019190915260608b0151015181613450886001615742565b61345b906005615742565b8151811061346b5761346b61577c565b60200260200101818152505061348b816040516020016121d89190615893565b915061349682613559565b60408051602081018690529297509095506134b191016121d8565b91505f6134bd83613559565b50959b949a5094985090965091945050505050565b5f5f5f6134dd61556a565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a08601525182015192840192909252905161353f916121d891849101615979565b915061354a82613559565b90979096509194509092505050565b5f80826001600160801b038116608082901c61357482612745565b945061357f81612745565b9350505050915091565b5f613595846007615118565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6135f66135f06135ca85600361271d565b61077b6135e56135da8b5f615118565b61077b8c601d615118565b61077b8b601c615118565b836126e9565b905061367761366c61365361363a613621856107806136168d6002615118565b61077b8e601c615118565b61078061362f8c6003615118565b61077b8d601d615118565b6107806136488b6004615118565b61077b8c601e615118565b6107806136618a6005615118565b61077b8b601f615118565b610780886001615118565b90506136968161078061368b86600161271d565b61077b8a6027615118565b90506136a281846126e9565b90506136ae81856126e9565b8552505f90506136e86136de6136d36136c888601c615118565b61078089601f615118565b61079e886024615118565b610780875f615118565b90506136f98161077b84600261271d565b905061370a8161077b84600161271d565b905061371681836126e9565b905061372281846126e9565b9050808460015b60200201525050505050565b5f5f5f61376b61376161374989601c615118565b6107806137578b6012615118565b8a606001516126e9565b8760800151612704565b90506137a48161077b61379a6137828b601d615118565b6107806137908d6013615118565b8c606001516126e9565b8960800151612704565b90506137c98161077b61379a6137bb8b601e615118565b6107806137908d6014615118565b90506137ee8161077b61379a6137e08b601f615118565b6107806137908d6015615118565b92505f905061381261376161380489601c615118565b6107806137578b600e615118565b90506138378161077b61379a6138298b601d615118565b6107806137908d600f615118565b905061385c8161077b61379a61384e8b601e615118565b6107806137908d6010615118565b90506138818161077b61379a6138738b601f615118565b6107806137908d6011615118565b91505f90506138a86138a2613897896020615118565b6107808a601a615118565b846126e9565b90506138dd8161079e6138d76138bf8b6028615118565b6107806138cd8d601b615118565b8c60a001516126e9565b856126e9565b90506138e981856126e9565b6040860152505f61390c6138d761390189601b615118565b61077b8a6028615118565b9050808560035b602002015250505050505050565b5f5f61397f61396761394f61393a61379a8a6016615118565b6107806139488b6017615118565b8a516126e9565b61078061395d8a6018615118565b89602001516126e9565b610780613975896019615118565b88604001516126e9565b91505f6139b661399d61399389601c615118565b8860800151612704565b6107806139ab8a6003615118565b61077b8b6024615118565b90505f6139df6139c789601d615118565b6107806139d48b5f615118565b61077b8c6025615118565b90505f613a096139f08a601e615118565b6107806139fe8c6001615118565b61077b8d6026615118565b9050613a48613a30613a2285610780868d5f01516126e9565b610780848c602001516126e9565b610780613a3e8c6004615118565b8b604001516126e9565b93505050505f613a5c6138a2886021615118565b90505f613a6d6138a2896021615118565b90505f613aa5613a8c613a818b6023615118565b6107808c6006615118565b61079e613a9a8c6023615118565b61077b8d6006615118565b90505f613ac9613ac3613ab887896126e9565b61077b8d6021615118565b8361271d565b9050613ad581886126e9565b90505f613afd613aef613ae98d6006615118565b876126e9565b61079e613ae98e6022615118565b90505f613b0b8c6023615118565b90505f613b1b613ac383846126e9565b60808c0185905260a08c018490529050613b35818b6126e9565b8b6006602002015250505050505050505050505050565b5f613b585f600161271d565b90505f613b665f600261271d565b90505f613b745f600361271d565b90505f613b90613b8588601d615118565b61079e89601c615118565b90505f613bac613ba189601e615118565b61079e8a601d615118565b90505f613bc8613bbd8a601f615118565b61079e8b601e615118565b90505f613be4613bd98b6024615118565b61079e8c601f615118565b905083613bf58161077b818b612704565b9050613c058161077b878a612704565b9050613c158161077b8789612704565b9050613c268161077b8d6008615118565b9050613c32818a6126e9565b60e08b01525082613c478161077b818b612704565b9050613c578161077b868a612704565b9050613c678161077b8689612704565b9050613c788161077b8d6008615118565b9050613c84818a6126e9565b6101008b01525081613c9a8161077b818b612704565b9050613caa8161077b858a612704565b9050613cba8161077b8589612704565b9050613ccb8161077b8d6008615118565b9050613cd7818a6126e9565b6101208b01525080613ced8161077b818b612704565b9050613cfd8161077b848a612704565b9050613d0d8161077b8489612704565b9050613d1e8161077b8d6008615118565b9050613d2a818a6126e9565b610140909a019990995250505050505050505050565b613d796040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613d8484601d615118565b8152613d9184601e615118565b6020820152613da1846024615118565b6040820152613db1846027615118565b6060820152613dc1846026615118565b6080820152613dd1846025615118565b60a08201525f613de2856002615118565b90505f613def865f615118565b90505f613e038460400151855f015161271d565b90505f613e18856020015186602001516126e9565b606086015190915086905f90613e2e90806126e9565b90505f613e4c613e4689602001518a606001516126e9565b886126e9565b90505f613e6b613e648a60a001518b60400151612704565b8a51612704565b9050613e7a613ae982886126e9565b9050613ea1613e9b613e95613e8f848761271d565b8861271d565b84612704565b83612704565b9050613ec9613ebe613eb383876126e9565b61077b8f6009615118565b61077b60018a61271d565b6101608c015250505050602085015160808601515f91613ee891612704565b90505f613f06613efc8860600151886126e9565b886020015161271d565b90505f613f2a613f1684876126e9565b6107806138d78b60a001518c5f015161271d565b9050613f52613f47613f3c838c6126e9565b61077b8e6009615118565b61077b60018961271d565b6101808b0152505f9150613f739050613f6c836011612704565b87516126e9565b90505f613f808384612704565b9050613f8c8182612704565b90505f613f9a8360096126e9565b9050613fc3613fbd6138a2613fb68b60a001518c5f0151612704565b8b51612704565b8261271d565b60c089018190525f90613fde90613e4690613eb3908d6126e9565b9050613ff18b600b602002015182612704565b6101608c0152505086515f92506140189150613f6c906140119080612704565b8851612704565b90505f6140586140338361077b8a5f01518b60a0015161271d565b602089015161079e906140469080612704565b61077b8b602001518c60800151612704565b905061407589600c6020020151610780613e46613eb3858d6126e9565b89600c602002015250505050505050505050565b6140f3604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61410b61410186601e615118565b85604001516126e9565b80825261412a9061078061412088601d615118565b87602001516126e9565b80825261413f90610780613f6c88601c615118565b80825261415190610780876001615118565b8082526020820181905261416a9061079e87601f615118565b815261418561417a866024615118565b61079e87601c615118565b60808201526141a3614198866027615118565b61079e87601f615118565b606082015260808101516141bc9061077b81600161271d565b6101c082015260808101516141fc906141f2906141eb9061077b60015f5160206159e15f395f51905f5261572f565b6001612704565b82606001516126e9565b60a08201819052614232906142249061077b614219896002615118565b61077b8a6003615118565b61077b6138d788600a615118565b83600e60200201526101c0810151614256906142249061077b614219896002615118565b6101e0840152805161427b9061077b614270886002615118565b61077b896003615118565b6101208201525f61429a61429087601f615118565b836020015161271d565b90506142ab8161077b83600161271d565b60e08301526142c86142be876026615118565b86604001516126e9565b604083018190526142eb906107806142e1896025615118565b88602001516126e9565b6040830181905261430b90610780614304896024615118565b88516126e9565b604083015261432861431e876027615118565b836040015161271d565b60408301525f61434761433c886026615118565b61079e89601e615118565b90506143996143746135f06141eb866080015160015f5160206159e15f395f51905f5261077b919061572f565b61077b6141eb866040015160015f5160206159e15f395f51905f5261077b919061572f565b60c084015260408301516143bb906143b190806126e9565b846040015161271d565b61010084015260c08301516143e7906143d99061077b8a6004615118565b61077b613ae98a600a615118565b6102008601526101c0830151614406906143d99061077b8a6004615118565b610220860152610100830151614425906143d99061077b8a6004615118565b61024086015260e083015161443f9061077b896004615118565b61014084015261445e614453886025615118565b61079e89601d615118565b610160840152608083015161449c9061433c90614491906141eb9061077b60015f5160206159e15f395f51905f5261572f565b8561016001516126e9565b61018084018190526101208401516101a085018190526144d3916107809061077b6144c88c6005615118565b61077b8d6002615118565b6101a0840181905283516144f391906107809061077b6144c88c5f615118565b6101a0840181905261014084015161450b9190612704565b6101a084018190526145259061077b613ae98a600a615118565b6101a0840181905285600d613913565b61456e6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6145a361458a61457f86601c615118565b61077b876025615118565b610780614598876024615118565b61077b88601d615118565b81526145e86145dd6145c46145b987601c615118565b61077b88601f615118565b6107806145d288601d615118565b61077b89601e615118565b61079e866026615118565b604082018190526145fd90600160441b6126e9565b604082018190526146139061079e866027615118565b6040820181905281516146269190612704565b6040820181905261463c9061077b866005615118565b6040820152805161465190600160441b6126e9565b80825261467190610780614666876024615118565b61077b886025615118565b808252602082018190526146989061079e61468d87601e615118565b61078088601f615118565b602082018190526146ae9061077b866004615118565b60208201528051606082018190526146cb9061078086601f615118565b606082018190526146ef9061079e6146e4876026615118565b610780886027615118565b606082018190526147049061077b865f615118565b8160600181815250505f61472d61472383602001518460400151612704565b8360600151612704565b905061473e8161077b876003615118565b905061475661474e866025615118565b6140006126e9565b6080830181905261476c90610780876024615118565b6080830181905261477f906140006126e9565b608083018190526147959061078087601e615118565b608083018190526147a8906140006126e9565b608083018190526147be9061078087601d615118565b608083018190526147d1906140006126e9565b608083018190526147e79061078087601c615118565b608083018190526147fd9061079e87601f615118565b608083018190526148139061077b876005615118565b608083015261482661474e866026615118565b60a0830181905261483c90610780876025615118565b60a0830181905261484f906140006126e9565b60a0830181905261486590610780876024615118565b60a08301819052614878906140006126e9565b60a0830181905261488e9061078087601f615118565b60a083018190526148a1906140006126e9565b60a083018190526148b79061078087601e615118565b60a083018190526148cd9061079e876027615118565b60a083018190526148e29061077b875f615118565b60a0830181905260808301515f916148fa9190612704565b905061490b8161077b886004615118565b90506149178282612704565b60c084018190526149309061077b613ae989600b615118565b60c084018190528560136020020152505050505050565b6149bd6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6149d66149cb85601c615118565b610780866002615118565b81526149f16149e685601d615118565b610780866003615118565b6020820152614a0f614a0485601e615118565b610780866004615118565b6040820152614a2d614a2285601f615118565b610780866005615118565b60608201528051614a5f90614a5890614a5190614a4a90806126e9565b84516126e9565b83516126e9565b82516126e9565b60808201526020810151614a9d90614a9390614a8990614a7f90806126e9565b84602001516126e9565b83602001516126e9565b82602001516126e9565b60a08201526040810151614adb90614ad190614ac790614abd90806126e9565b84604001516126e9565b83604001516126e9565b82604001516126e9565b60c08201526060810151614b0f906141f290614b0590614afb90806126e9565b84606001516126e9565b83606001516126e9565b60e0820152608081015160a0820151614b289190612704565b61010082015260c081015160e0820151614b429190612704565b61012082015260a0810151614b6690614b5b9080612704565b826101200151612704565b61014082015260e0810151614b8a90614b7f9080612704565b826101000151612704565b610160820152610120810151614ba09080612704565b6101e08201819052614bc190614bb69080612704565b826101600151612704565b6101e0820152610100810151614bd79080612704565b6101a08201819052614bf890614bed9080612704565b826101400151612704565b6101a08201819052610160820151614c0f91612704565b6101808201526101408101516101e0820151614c2b9190612704565b6101c0820152614c3f6135f085600c615118565b6102008201819052610280840151610180830151614c6a926107809161077b9061079e8a6024615118565b8360146020020152614c9a836015602002015161078083610200015161077b856101a0015161079e8a6025615118565b8360156020020152614cca836016602002015161078083610200015161077b856101c0015161079e8a6026615118565b8360166020020152614cfa836017602002015161078083610200015161077b856101e0015161079e8a6027615118565b836017602002015250505050565b614d5a6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614d8f7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76126d1565b8152602001614dbd7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6126d1565b8152602001614dea7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156126d1565b8152602001614e187f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6126d1565b90529050614e35614e2a86601c615118565b610780876002615118565b6101208301819052614e7490614e6990614e5e90614e5390806126e9565b8561012001516126e9565b8461012001516126e9565b8361012001516126e9565b8252614e8185601d615118565b6020830152614e9185601e615118565b6040830152614ea185601f615118565b606083015281516020830151614ec99161472391614ebf9190612704565b8460400151612704565b6080830152614edc6138a286600d615118565b6101408301528151614efd90614ef390835f6114a5565b8360800151612704565b60a0830152614f29846018602002015161078084610140015161077b8660a0015161079e8b6024615118565b6103008501526020820151614f4490614ef3908360016114a5565b60c0830152614f70846019602002015161078084610140015161077b8660c0015161079e8b6025615118565b6103208501526040820151614f8b90614ef3908360026114a5565b60e0830152614fb784601a602002015161078084610140015161077b8660e0015161079e8b6026615118565b6103408501526060820151614fd290614ef3908360036114a5565b61010083015261500084601b602002015161078084610140015161077b86610100015161079e8b6027615118565b84601b613729565b815160015b601c81101561505a57615050826107808684601c811061502f5761502f61577c565b60200201518661504060018761572f565b601b81106114a5576114a561577c565b915060010161500d565b5092915050565b61506961544b565b61507161544b565b604051835181526020840151602082015284604082015260408160608360075afa8061509b575f5ffd5b5080518252602080820151908301526060016040529392505050565b6150bf61544b565b6150c761544b565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806150fc575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561512c5761512c6159ac565b6029811061513c5761513c61577c565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161516e61544b565b815260200161517b61544b565b815260200161518861544b565b815260200161519561544b565b81526020016151a261544b565b81526020016151af61544b565b81526020016151bc61544b565b81526020016151c961544b565b81526020016151d661544b565b81526020016151e361544b565b81526020016151f061544b565b81526020016151fd61544b565b815260200161520a61544b565b815260200161521761544b565b815260200161522461544b565b815260200161523161544b565b815260200161523e61544b565b815260200161524b61544b565b815260200161525861544b565b815260200161526561544b565b815260200161527261544b565b815260200161527f61544b565b815260200161528c61544b565b815260200161529961544b565b81526020016152a661544b565b81526020016152b361544b565b81526020016152c061544b565b81526020016152cd61544b565b905290565b604051806101e001604052806152e6615588565b81526020016152f361544b565b815260200161530061544b565b815260200161530d61544b565b815260200161531a61544b565b815260200161532761544b565b815260200161533461544b565b815260200161534161544b565b815260200161534e61544b565b815260200161535b6155a7565b81526020016153686155d5565b81526020016153756155f4565b81526020016152b36154d0565b604051806101000160405280615396615463565b81526020016153a3615493565b81526020016153b06154d0565b81526020016153bd6154d0565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001615419615622565b8152602001615426615622565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6155bf61554b565b8152602001906001900390816155b75790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b61560c61544b565b8152602001906001900390816156045790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615653575f5ffd5b84356001600160401b03811115615668575f5ffd5b8501601f81018713615678575f5ffd5b80356001600160401b0381111561568d575f5ffd5b87602082840101111561569e575f5ffd5b6020918201955093508501356001600160401b038111156156bd575f5ffd5b8501601f810187136156cd575f5ffd5b80356001600160401b038111156156e2575f5ffd5b8760208260051b84010111156156f6575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176126fe576126fe615704565b818103818111156126fe576126fe615704565b808201808211156126fe576126fe615704565b5f5f85851115615763575f5ffd5b8386111561576f575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016157b5576157b5615704565b5060010190565b803560208310156126fe575f19602084900360031b1b1692915050565b5f826157f357634e487b7160e01b5f52601260045260245ffd5b500690565b5f8183825b600581101561581c5781518352602092830192909101906001016157fd565b50505060a08201905092915050565b5f8183825b600981101561584f578151835260209283019290910190600101615830565b5050506101208201905092915050565b5f8183825b602a811015615883578151835260209283019290910190600101615864565b5050506105408201905092915050565b81515f90829060208501835b828110156158bd57815184526020938401939091019060010161589f565b509195945050505050565b5f8183825b60038110156158ec5781518352602092830192909101906001016158cd565b50505060608201905092915050565b5f8161590957615909615704565b505f190190565b5f8183825b6008811015615934578151835260209283019290910190600101615915565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f6020828403121561596a575f5ffd5b81518015158114610333575f5ffd5b5f8183825b600781101561599d57815183526020928301929091019060010161597e565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
|
+
export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f29ab2dced19295d1cab0a8cec24e470c3a171c9d9999527276b56e554b749e0c60c05260ae60e05260805160a05160c05160e051615a016100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612c9d01525f5050615a015ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615640565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615718565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615718565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b905060108260400151610138919061572f565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615718565b905060016102a9600885615718565b6102b39190615718565b6102bd9082615742565b90506102cb60016029615718565b6102d59082615742565b905060026102e460018561572f565b6102ee9190615718565b6102f89082615742565b9050610305600184615718565b61030f9082615742565b905061031c600280615718565b6103269082615742565b9050610333601082615742565b9392505050565b610342615148565b61034a61175b565b905090565b6103576152d2565b5f805b60108110156103b957610386868387610374602083615742565b9261038193929190615755565b612096565b835182601081106103995761039961577c565b6020020181815250506020826103af9190615742565b915060010161035a565b506103dd8582866103cb604083615742565b926103d893929190615755565b6120a9565b60208301526103ed604082615742565b90506104008582866103cb604083615742565b6040808401919091526104139082615742565b90506104268582866103cb604083615742565b6060830152610436604082615742565b90506104498582866103cb604083615742565b60c0830152610459604082615742565b905061046c8582866103cb604083615742565b60e083015261047c604082615742565b905061048f8582866103cb604083615742565b608083015261049f604082615742565b90506104b28582866103cb604083615742565b6101008301526104c3604082615742565b90506104d68582866103cb604083615742565b60a08301526104e6604082615742565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615742565b84610120015183601c81106105255761052561577c565b6020020151826008811061053b5761053b61577c565b6020020181815250506020836105519190615742565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615742565b83610140015182602981106105985761059861577c565b6020020181815250506020826105ae9190615742565b9150600101610567565b505f5b6105c660018561572f565b81101561060f576105de8683876103cb604083615742565b83610160015182601b81106105f5576105f561577c565b6020020152610605604083615742565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615742565b83610180015182601c81106106425761064261577c565b6020020181815250506020826106589190615742565b9150600101610612565b506106748582866103cb604083615742565b6101a0830152610685604082615742565b90506106988582866103cb604083615742565b6101c0830152509392505050565b6106ae615382565b5f6106bd88888888888661212b565b90835290506106cc818961217f565b602084019190915290506106e0818461226e565b604084019190915290506106f58882856122fd565b6060840191909152905061070988826123d1565b6080840191909152905061071e88828561245c565b60a084019190915290506107338882856125d0565b60c084019190915290506107478882612694565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615742565b6126d1565b6126e9565b612704565b90505f6107a38761079e8a61077b6107768b6001615742565b61271d565b90505f5b6107d260107f000000000000000000000000000000000000000000000000000000000000000061572f565b81101561083f575f6107fc8c83815181106107ef576107ef61577c565b6020026020010151612745565b905061080c8661077b8684612704565b955061081c8561077b8584612704565b9450610828848b612704565b9350610834838b61271d565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61577c565b602002015190506108738661077b8684612704565b95506108838561077b8584612704565b945061088f848b612704565b935061089b838b61271d565b925050600101610842565b506108b1848461275a565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561577c565b602002015190505f6109178286612768565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61577c565b6020020151905061095f8382612788565b9550610986886040015185601c811061097a5761097a61577c565b60200201518683612937565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612962565b90508281145b9695505050505050565b5f6109c96153db565b5f6109f88460a001517f00000000000000000000000000000000000000000000000000000000000000006129db565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615742565b610a31906002615742565b6001600160401b03811115610a4857610a48615790565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615742565b610aab906002615742565b6001600160401b03811115610ac257610ac2615790565b604051908082528060200260200182016040528015610afb57816020015b610ae861544b565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61577c565b602002602001015161271d565b612aa4565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461577c565b6020026020010151612704565b610140850181905261012085015160c0880151610b829261078091906126e9565b845260a0860151610bb290610b9690612aa4565b61077b86610120015161079e8a60c001518961014001516126e9565b6020850152815160019083905f90610bcc57610bcc61577c565b602002602001018181525050876101a00151815f81518110610bf057610bf061577c565b6020908102919091010152600160a08501525f60c08501528351610c1390612b14565b60408501526020840151610c2690612b14565b606085015260015b60248111610cd157610c4885604001518660a001516126e9565b838281518110610c5a57610c5a61577c565b602002602001018181525050610ca38560c001516107808b6101400151600185610c84919061572f565b60298110610c9457610c9461577c565b60200201518860a001516126e9565b60c086015260a08501516080880151610cbc91906126e9565b60a0860152610cca816157a4565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615742565b90505f610cf7602484615742565b9050610d28858381518110610d0e57610d0e61577c565b602002602001015161078089606001518a60a001516126e9565b858381518110610d3a57610d3a61577c565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861577c565b60200201518a60a001516126e9565b60c088015260a087015160808a0151610d9091906126e9565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861577c565b6020026020010181905250866080015181600281518110610ddb57610ddb61577c565b60200260200101819052508660a0015181600381518110610dfe57610dfe61577c565b60200260200101819052508660c0015181600481518110610e2157610e2161577c565b60200260200101819052508660e0015181600581518110610e4457610e4461577c565b602002602001018190525086610100015181600681518110610e6857610e6861577c565b602002602001018190525086610120015181600781518110610e8c57610e8c61577c565b602002602001018190525086610140015181600881518110610eb057610eb061577c565b602002602001018190525086610160015181600981518110610ed457610ed461577c565b6020026020010181905250866101c0015181600a81518110610ef857610ef861577c565b602002602001018190525086610180015181600b81518110610f1c57610f1c61577c565b6020026020010181905250866101a0015181600c81518110610f4057610f4061577c565b6020026020010181905250866101e0015181600d81518110610f6457610f6461577c565b602002602001018190525086610200015181600e81518110610f8857610f8861577c565b602002602001018190525086610220015181600f81518110610fac57610fac61577c565b602002602001018190525086610240015181601081518110610fd057610fd061577c565b602002602001018190525086610260015181601181518110610ff457610ff461577c565b6020026020010181905250866102800151816012815181106110185761101861577c565b6020026020010181905250866102a001518160138151811061103c5761103c61577c565b6020026020010181905250866102c00151816014815181106110605761106061577c565b6020026020010181905250866102e00151816015815181106110845761108461577c565b6020026020010181905250866103000151816016815181106110a8576110a861577c565b6020026020010181905250866103200151816017815181106110cc576110cc61577c565b6020026020010181905250866103400151816018815181106110f0576110f061577c565b6020026020010181905250866103600151816019815181106111145761111461577c565b602002602001018190525086610380015181601a815181106111385761113861577c565b6020026020010181905250866103a0015181601b8151811061115c5761115c61577c565b6020026020010181905250866103c0015181601c815181106111805761118061577c565b6020026020010181905250876020015181601d815181106111a3576111a361577c565b6020026020010181905250876040015181601e815181106111c6576111c661577c565b6020026020010181905250876060015181601f815181106111e9576111e961577c565b602002602001018190525087608001518160208151811061120c5761120c61577c565b60200260200101819052508760a001518160218151811061122f5761122f61577c565b6020026020010181905250876101000151816022815181106112535761125361577c565b60200260200101819052508760c00151816023815181106112765761127661577c565b60200260200101819052508760e00151816024815181106112995761129961577c565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612b26565b9050611309815f815181106112f6576112f661577c565b60200260200101518661012001516126e9565b608086018190526101808a01515160c089015161133a92916107809161132f91906126e9565b8861014001516126e9565b608086015260c087015161134d90612c84565b60a08601525f5b61137f60017f000000000000000000000000000000000000000000000000000000000000000061572f565b81101561157c576113af610b288960e001518784600161139f9190615742565b81518110610b1b57610b1b61577c565b61012087015260e08801516113de90610b2890876113ce856001615742565b81518110610b5457610b5461577c565b61014087015260a08601516101208701516113f991906126e9565b61016087015260a086015160c089015161142191611416916126e9565b8761014001516126e9565b61018087018190526114449061143690612b14565b610780886101600151612b14565b848261145260246001615742565b61145c9190615742565b8151811061146c5761146c61577c565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615742565b601c81106114a5576114a561577c565b60200201516126e9565b90506114e981610780896101600151868660016114cc9190615742565b815181106114dc576114dc61577c565b60200260200101516126e9565b90506114f9876080015182612704565b608088015260a087015160c08a015161151f91611515916126e9565b8a60c001516126e9565b60a08801526101608b015182601b811061153b5761153b61577c565b6020020151848361154e60246001615742565b6115589190615742565b815181106115685761156861577c565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615742565b815181106115ce576115ce61577c565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615742565b8151811061161a5761161a61577c565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615742565b611663906001615742565b815181106116735761167361577c565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615742565b6116ba906001615742565b815181106116ca576116ca61577c565b6020026020010181815250505f6116e18486612c8f565b90505f6116ed83612d9f565b90505f6116fe8d5f01518484612de5565b90505f5f61170e8f5f0151612e5b565b9150915061171b82612f1c565b61172481612f1c565b61172f858385612fbb565b945061173c848285612fbb565b93506117488585612fe1565b9f9e505050505050505050505050505050565b611763615148565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f24cd9b440174866119b89963265899431be0510c9fd21861c3f712b4b92c02c881527f0fa3f69dbb261b8adad60fee8ca0c557cbf88360339a579a1e2d627bd4f63cfe818301526060830152825180840184527f18bf041f6d4b529c58f7db77df54f5af5126f5a6ec6367bb71dabae1d5dc93f881527f1a2f7a86a60cb917bfc09b6df06b2b2a605e261d28672b7e88fcac56549cb497818301526080830152825180840184527f2ed6837ff8d5868e94f2920a073dedc1472a8d79fa6735b986e490cfd9046d1281527f1cab0f95f623bb2f875a3400aa25efc9f9de3353bd32b698395f4f938039f7208183015260a0830152825180840184527f168ce6eff012133800d33bb0a5cf2737bc1d002245cb812bb2012b3d92a8ce2f81527f12c6fb4a28eec76394027451723eecfa2fe4fd1b64465f9d33ae85399c442ab78183015260c0830152825180840184527f1776e7449474197a3b8f87a3cd189478c21ef43481a8eb989afb9b1454a38cba81527f2af3b7aa95f825a0001069c5bf9ec4f13c0176fd8b47cbbb73e351a5167d11828183015260e0830152825180840184527f236092a8544a53804e125be6cbc43afc1ff26595ee628efa62555f529679b7f881527f304540e9db70afc2291f8e7969d54b3abcd12bf4a43b65158673263e4b408d0f81830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f1cd6d34284f694a6883f6b6701715da21e14b708ea694c80a14d32b1c0e52faa81527f25c5eefadd0db344fc60dc94367caec422b7fe08aaa2a5f803b8a459de1ccc4281830152610140830152825180840184527f226299df198f12ea4e55ae7f3b795b85882f65f2ee8cfd1b193030e02292587881527f1ebfde6a706e1a8d48bb301e07ded5400b45af3ccd0ebe32a3acb17dba1946a681830152610160830152825180840184527f24f85de36e3a270bfa132186c1f80c6347a322209cdd77d6e4a5a33c406a7b1181527f212bae315319fd187fb261728cca147fe74651cf47f19e833fd7107faa0f01ff81830152610180830152825180840184527f2013594305fbce0a4c6d1570b30052aa711d4c4af4f34a370e4b89cc87828e5c81527f10e58dac0410eaa4d971ac9c24a968f0e6ae13a053f83798853d4690bb54f0d2818301526101a0830152825180840184527f208f8f2b876d67dc588f163bbb22c06f3c06521cab6fa37f3e201738692ed0f581527f2b1d4cc31e92a569abe395861c19a525a6f1defa1f93857e733e461b84cf761b818301526101c0830152825180840184527f0e8ed2d40910d85ee71227fd4df1c9d84fcfb67c53bdb9a205289bf93b991d2481527f0bdeb5a6c3683aafe16b658e4d879f2aef17c22cc2740d0c2b2fbcb2f1c1a338818301526101e0830152825180840184527f0964ff79a0dd4ab6e3ce3e4c22a36a0f9bb1e3ffe5b8a82a5522591e8af7468c81527f2b5b924648fa95fd50f9baed617f420f08707acdfb731c5c33a277cfaf6b07d781830152610200830152825180840184527f29406f62f23b2a84a3a6a90c066f820c1e37ce93067b4800022ca4119bf3ce6c81527f0e1e0cf6832531da0ffdbf9be779bfc9f0f3ed7b748c14531fa6bd026f8bcb1781830152610220830152825180840184527f1895c9eab05518112f08b4b1a105ad571de0598f3530c075b54bb88925cb342381527f22c55a0bf41e5967a1b4a500b6441bcd6ca3a02574bad819a8bd521a9d27bece81830152610240830152825180840184527f03906bfb867eebe5d8d0b88eac041fe494594dfaf5541b3749765c28ae24474381527f2010ecf51e2399ee2e6f61923be24907ccf12002c42816e2ad938adee7bac18281830152610260830152825180840184527f01d7c73ae79125dee3e02346a5c320bef6a966ddfdec0f962a504dbe92fe27c381527f2ee7b0de9b99adc34b938a18dec821620e10ef725903048ea3cf9763312cf63881830152610280830152825180840184527f265507dce1a435949fed9230fd74956c87d41ea67042e45737f495afdd0ff67481527f2e1a515e35938cb615e01ad3536adb16cef6ced77def0bcc74f8ba5745ad5a5d818301526102a0830152825180840184527f1b685875f3c03b84eade72b0f9b4e57ea91e90ffb1c04bd64c8251f8b82a6a0481527ed5a45ebfdfb365faad8afc5581ae53746a7c59ef7fb7043bf3504cf092ae8c818301526102c0830152825180840184527f1f11b62b62d004fd7a5e7016692f69dcc2d099bb6dc5399c6aab27e31521f17581527f2f96b8cdad4307afd821aa3188051f8fa97c30cb6c48f14c41be85f93f966c4d818301526102e0830152825180840184527f287d7d1307743dcb79e5dc1694e8ca5f71869548f5b2f8a1ab5f90ea09d411cb81527f0b782420d5286c07aaf0ce90670b77cd1efbf3c466dd678a0074dcd4d87a6c2981830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f1c36d9e14d695aeaf8164fc27aa54bc357c420006f82f4841cd01caeeddf8b2f83527f2994eed63980a7b47ddae0a071074769253fea789786be903a781505e65f90bf908301526103c081019190915290565b5f6103336120a483856157bc565b612745565b6120b161544b565b60408051808201909152805f5160206159c15f395f51905f526120d760205f8789615755565b6120e0916157bc565b6120ea91906157d9565b81526020908101905f5160206159c15f395f51905f529061210f906040908789615755565b612118916157bc565b61212291906157d9565b90529392505050565b612133615463565b5f61214188888888886131d5565b60408601919091526020850191909152908352925061216083896134d2565b6080850191909152606084019190915291989197509095505050505050565b612187615493565b5f6121906154b2565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f3916121d8918491016157f8565b60405160208183030381529060405280519060200120612745565b91505f6121ff83613559565b50808552905060015b6122146001601c61572f565b811015612264576122458561222a60018461572f565b601b811061223a5761223a61577c565b6020020151836126e9565b8582601b81106122575761225761577c565b6020020152600101612208565b5050509250929050565b6122766154d0565b5f61228d846040516020016121d891815260200190565b935061229884613559565b50825260015b838110156122f5576122d6836122b560018461572f565b601c81106122c5576122c561577c565b60200201518461149560018561572f565b8382601c81106122e8576122e861577c565b602002015260010161229e565b509093915050565b6123056154d0565b5f805b838110156123c7576123186154ef565b8581525f5b60088110156123815787610120015183601c811061233d5761233d61577c565b602002015181600881106123535761235361577c565b602002015182612364836001615742565b600981106123745761237461577c565b602002015260010161231d565b50612396816040516020016121d8919061582b565b95505f6123a287613559565b8685601c81106123b4576123b461577c565b6020020191909152505050600101612308565b5090949293505050565b5f5f6123db61550e565b8381525f5b602981101561242e5785610140015181602981106124005761240061577c565b602002015182612411836001615742565b602a81106124215761242161577c565b60200201526001016123e0565b50612443816040516020016121d8919061585f565b91505f61244f83613559565b5096929550919350505050565b5f808061246a60018561572f565b612475906002615718565b612480906001615742565b6001600160401b0381111561249757612497615790565b6040519080825280602002602001820160405280156124c0578160200160208202803683370190505b50905084815f815181106124d6576124d661577c565b60209081029190910101525f5b6124ee60018661572f565b8110156125a15786610160015181601b811061250c5761250c61577c565b6020020151518261251e836002615718565b612529906001615742565b815181106125395761253961577c565b60200260200101818152505086610160015181601b811061255c5761255c61577c565b602002015160200151828260026125739190615718565b61257e906002615742565b8151811061258e5761258e61577c565b60209081029190910101526001016124e3565b506125b6816040516020016121d89190615893565b91505f6125c283613559565b509792965091945050505050565b5f80806125de846001615742565b6001600160401b038111156125f5576125f5615790565b60405190808252806020026020018201604052801561261e578160200160208202803683370190505b50905084815f815181106126345761263461577c565b60209081029190910101525f5b848110156125a15786610180015181601c81106126605761266061577c565b602002015182612671836001615742565b815181106126815761268161577c565b6020908102919091010152600101612641565b5f5f61269e61552d565b8381526101a08501805151602080840191909152905181015160408084019190915251612443916121d8918491016158c8565b5f5f5160206159e15f395f51905f52825b0692915050565b5f5f5160206159e15f395f51905f5282840990505b92915050565b5f5f5160206159e15f395f51905f528284089392505050565b5f5f5160206159e15f395f51905f52825f5160206159e15f395f51905f520384089392505050565b5f5f5160206159e15f395f51905f52826126e2565b5f6103338361077b84612aa4565b815160208301515f91829161277d9190612704565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561286f576128658261077b878461271d565b915060010161284e565b5061287861554b565b5f5b60088110156128d9575f8482600881106128965761289661577c565b602002015190506128ab8161077b898561271d565b90506128b681612aa4565b9050808383600881106128cb576128cb61577c565b60200201525060010161287a565b505f5b600881101561292c575f8782600881106128f8576128f861577c565b60200201519050612915818484600881106114a5576114a561577c565b90506129218682612704565b9550506001016128dc565b506109b684836126e9565b5f5f61294d60016107808561077b89600161271d565b905061295984826126e9565b95945050505050565b5f61296b6154d0565b612976868285613589565b61298286868386613735565b61298e86868386613921565b612999868285613b4c565b6129a4868285613d40565b6129b086868386614089565b6129bb868285614535565b6129c6868285614947565b6129d1868285614d08565b6109b68185615008565b60605f826001600160401b038111156129f6576129f6615790565b604051908082528060200260200182016040528015612a1f578160200160208202803683370190505b50905083815f81518110612a3557612a3561577c565b602090810291909101015260015b83811015612a9c57612a7782612a5a60018461572f565b81518110612a6a57612a6a61577c565b6020026020010151612c84565b828281518110612a8957612a8961577c565b6020908102919091010152600101612a43565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206159e15f395f51905f520360808201525f5160206159e15f395f51905f5260a082015260205f60c08360055afa80612b00575f5ffd5b505f51608091909101604052949350505050565b5f5160206159e15f395f51905f520390565b60605f826001600160401b03811115612b4157612b41615790565b604051908082528060200260200182016040528015612b6a578160200160208202803683370190505b509050825b8015612c79575f85612b8260018461572f565b81518110612b9257612b9261577c565b602002602001015190505f89600184612bab919061572f565b601c8110612bbb57612bbb61577c565b602002015190505f612c16612bda612bd3858d6126e9565b60026126e9565b61079e8b612be960018961572f565b601c8110612bf957612bf961577c565b602002015161077b612c108861077b60018a61271d565b8761271d565b9050612c378161077b610b28612c318761077b60018961271d565b86612704565b99508990508085612c4960018761572f565b81518110612c5957612c5961577c565b60200260200101818152505050505080612c72906158fb565b9050612b6f565b509695505050505050565b5f6126fe82836126e9565b612c9761544b565b5f612cc37f00000000000000000000000000000000000000000000000000000000000000006024615742565b612cce906002615742565b90505f5b81811015612d0457612cfc858281518110612cef57612cef61577c565b6020026020010151612f1c565b600101612cd2565b50604051600190815b60018401811015612d695760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612d0d565b5080518452602081015160208501525080612d97576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612da761544b565b5f5160206159c15f395f51905f5282602001515f5160206159c15f395f51905f52612dd2919061572f565b612ddc91906157d9565b60208301525090565b5f5f5f612df186612e5b565b91509150612dfd61554b565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612e50916121d891849101615910565b979650505050505050565b612e6361544b565b612e6b61544b565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f5160206159c15f395f51905f528380095f5160206159c15f395f51905f5260035f5160206159c15f395f51905f52838709085f5160206159c15f395f51905f528485091491505080612fb55760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b612fc361544b565b612fcb61544b565b612fd58386615061565b905061295981856150b7565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516131779190615944565b5f60405180830381855afa9150503d805f81146131af576040519150601f19603f3d011682016040523d82523d5f602084013e6131b4565b606091505b50915091508180156109b65750808060200190518101906109b6919061595a565b5f808080806131e5866001615742565b6131f0906006615742565b6001600160401b0381111561320757613207615790565b604051908082528060200260200182016040528015613230578160200160208202803683370190505b509050865f1b815f815181106132485761324861577c565b60209081029190910101525f5b61326060108861572f565b8110156132b1578989828181106132795761327961577c565b905060200201358282600161328e9190615742565b8151811061329e5761329e61577c565b6020908102919091010152600101613255565b505f5b6010811015613322578a516132dc9082601081106132d4576132d461577c565b602002015190565b828260106132eb8b6001615742565b6132f5919061572f565b6132ff9190615742565b8151811061330f5761330f61577c565b60209081029190910101526001016132b4565b5060208a01515181613335886001615742565b815181106133455761334561577c565b6020908102919091018101919091528a810151015181613366886001615742565b613371906001615742565b815181106133815761338161577c565b602090810291909101015260408a0151518161339e886001615742565b6133a9906002615742565b815181106133b9576133b961577c565b60209081029190910181019190915260408b01510151816133db886001615742565b6133e6906003615742565b815181106133f6576133f661577c565b602090810291909101015260608a01515181613413886001615742565b61341e906004615742565b8151811061342e5761342e61577c565b60209081029190910181019190915260608b0151015181613450886001615742565b61345b906005615742565b8151811061346b5761346b61577c565b60200260200101818152505061348b816040516020016121d89190615893565b915061349682613559565b60408051602081018690529297509095506134b191016121d8565b91505f6134bd83613559565b50959b949a5094985090965091945050505050565b5f5f5f6134dd61556a565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a08601525182015192840192909252905161353f916121d891849101615979565b915061354a82613559565b90979096509194509092505050565b5f80826001600160801b038116608082901c61357482612745565b945061357f81612745565b9350505050915091565b5f613595846007615118565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6135f66135f06135ca85600361271d565b61077b6135e56135da8b5f615118565b61077b8c601d615118565b61077b8b601c615118565b836126e9565b905061367761366c61365361363a613621856107806136168d6002615118565b61077b8e601c615118565b61078061362f8c6003615118565b61077b8d601d615118565b6107806136488b6004615118565b61077b8c601e615118565b6107806136618a6005615118565b61077b8b601f615118565b610780886001615118565b90506136968161078061368b86600161271d565b61077b8a6027615118565b90506136a281846126e9565b90506136ae81856126e9565b8552505f90506136e86136de6136d36136c888601c615118565b61078089601f615118565b61079e886024615118565b610780875f615118565b90506136f98161077b84600261271d565b905061370a8161077b84600161271d565b905061371681836126e9565b905061372281846126e9565b9050808460015b60200201525050505050565b5f5f5f61376b61376161374989601c615118565b6107806137578b6012615118565b8a606001516126e9565b8760800151612704565b90506137a48161077b61379a6137828b601d615118565b6107806137908d6013615118565b8c606001516126e9565b8960800151612704565b90506137c98161077b61379a6137bb8b601e615118565b6107806137908d6014615118565b90506137ee8161077b61379a6137e08b601f615118565b6107806137908d6015615118565b92505f905061381261376161380489601c615118565b6107806137578b600e615118565b90506138378161077b61379a6138298b601d615118565b6107806137908d600f615118565b905061385c8161077b61379a61384e8b601e615118565b6107806137908d6010615118565b90506138818161077b61379a6138738b601f615118565b6107806137908d6011615118565b91505f90506138a86138a2613897896020615118565b6107808a601a615118565b846126e9565b90506138dd8161079e6138d76138bf8b6028615118565b6107806138cd8d601b615118565b8c60a001516126e9565b856126e9565b90506138e981856126e9565b6040860152505f61390c6138d761390189601b615118565b61077b8a6028615118565b9050808560035b602002015250505050505050565b5f5f61397f61396761394f61393a61379a8a6016615118565b6107806139488b6017615118565b8a516126e9565b61078061395d8a6018615118565b89602001516126e9565b610780613975896019615118565b88604001516126e9565b91505f6139b661399d61399389601c615118565b8860800151612704565b6107806139ab8a6003615118565b61077b8b6024615118565b90505f6139df6139c789601d615118565b6107806139d48b5f615118565b61077b8c6025615118565b90505f613a096139f08a601e615118565b6107806139fe8c6001615118565b61077b8d6026615118565b9050613a48613a30613a2285610780868d5f01516126e9565b610780848c602001516126e9565b610780613a3e8c6004615118565b8b604001516126e9565b93505050505f613a5c6138a2886021615118565b90505f613a6d6138a2896021615118565b90505f613aa5613a8c613a818b6023615118565b6107808c6006615118565b61079e613a9a8c6023615118565b61077b8d6006615118565b90505f613ac9613ac3613ab887896126e9565b61077b8d6021615118565b8361271d565b9050613ad581886126e9565b90505f613afd613aef613ae98d6006615118565b876126e9565b61079e613ae98e6022615118565b90505f613b0b8c6023615118565b90505f613b1b613ac383846126e9565b60808c0185905260a08c018490529050613b35818b6126e9565b8b6006602002015250505050505050505050505050565b5f613b585f600161271d565b90505f613b665f600261271d565b90505f613b745f600361271d565b90505f613b90613b8588601d615118565b61079e89601c615118565b90505f613bac613ba189601e615118565b61079e8a601d615118565b90505f613bc8613bbd8a601f615118565b61079e8b601e615118565b90505f613be4613bd98b6024615118565b61079e8c601f615118565b905083613bf58161077b818b612704565b9050613c058161077b878a612704565b9050613c158161077b8789612704565b9050613c268161077b8d6008615118565b9050613c32818a6126e9565b60e08b01525082613c478161077b818b612704565b9050613c578161077b868a612704565b9050613c678161077b8689612704565b9050613c788161077b8d6008615118565b9050613c84818a6126e9565b6101008b01525081613c9a8161077b818b612704565b9050613caa8161077b858a612704565b9050613cba8161077b8589612704565b9050613ccb8161077b8d6008615118565b9050613cd7818a6126e9565b6101208b01525080613ced8161077b818b612704565b9050613cfd8161077b848a612704565b9050613d0d8161077b8489612704565b9050613d1e8161077b8d6008615118565b9050613d2a818a6126e9565b610140909a019990995250505050505050505050565b613d796040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613d8484601d615118565b8152613d9184601e615118565b6020820152613da1846024615118565b6040820152613db1846027615118565b6060820152613dc1846026615118565b6080820152613dd1846025615118565b60a08201525f613de2856002615118565b90505f613def865f615118565b90505f613e038460400151855f015161271d565b90505f613e18856020015186602001516126e9565b606086015190915086905f90613e2e90806126e9565b90505f613e4c613e4689602001518a606001516126e9565b886126e9565b90505f613e6b613e648a60a001518b60400151612704565b8a51612704565b9050613e7a613ae982886126e9565b9050613ea1613e9b613e95613e8f848761271d565b8861271d565b84612704565b83612704565b9050613ec9613ebe613eb383876126e9565b61077b8f6009615118565b61077b60018a61271d565b6101608c015250505050602085015160808601515f91613ee891612704565b90505f613f06613efc8860600151886126e9565b886020015161271d565b90505f613f2a613f1684876126e9565b6107806138d78b60a001518c5f015161271d565b9050613f52613f47613f3c838c6126e9565b61077b8e6009615118565b61077b60018961271d565b6101808b0152505f9150613f739050613f6c836011612704565b87516126e9565b90505f613f808384612704565b9050613f8c8182612704565b90505f613f9a8360096126e9565b9050613fc3613fbd6138a2613fb68b60a001518c5f0151612704565b8b51612704565b8261271d565b60c089018190525f90613fde90613e4690613eb3908d6126e9565b9050613ff18b600b602002015182612704565b6101608c0152505086515f92506140189150613f6c906140119080612704565b8851612704565b90505f6140586140338361077b8a5f01518b60a0015161271d565b602089015161079e906140469080612704565b61077b8b602001518c60800151612704565b905061407589600c6020020151610780613e46613eb3858d6126e9565b89600c602002015250505050505050505050565b6140f3604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61410b61410186601e615118565b85604001516126e9565b80825261412a9061078061412088601d615118565b87602001516126e9565b80825261413f90610780613f6c88601c615118565b80825261415190610780876001615118565b8082526020820181905261416a9061079e87601f615118565b815261418561417a866024615118565b61079e87601c615118565b60808201526141a3614198866027615118565b61079e87601f615118565b606082015260808101516141bc9061077b81600161271d565b6101c082015260808101516141fc906141f2906141eb9061077b60015f5160206159e15f395f51905f5261572f565b6001612704565b82606001516126e9565b60a08201819052614232906142249061077b614219896002615118565b61077b8a6003615118565b61077b6138d788600a615118565b83600e60200201526101c0810151614256906142249061077b614219896002615118565b6101e0840152805161427b9061077b614270886002615118565b61077b896003615118565b6101208201525f61429a61429087601f615118565b836020015161271d565b90506142ab8161077b83600161271d565b60e08301526142c86142be876026615118565b86604001516126e9565b604083018190526142eb906107806142e1896025615118565b88602001516126e9565b6040830181905261430b90610780614304896024615118565b88516126e9565b604083015261432861431e876027615118565b836040015161271d565b60408301525f61434761433c886026615118565b61079e89601e615118565b90506143996143746135f06141eb866080015160015f5160206159e15f395f51905f5261077b919061572f565b61077b6141eb866040015160015f5160206159e15f395f51905f5261077b919061572f565b60c084015260408301516143bb906143b190806126e9565b846040015161271d565b61010084015260c08301516143e7906143d99061077b8a6004615118565b61077b613ae98a600a615118565b6102008601526101c0830151614406906143d99061077b8a6004615118565b610220860152610100830151614425906143d99061077b8a6004615118565b61024086015260e083015161443f9061077b896004615118565b61014084015261445e614453886025615118565b61079e89601d615118565b610160840152608083015161449c9061433c90614491906141eb9061077b60015f5160206159e15f395f51905f5261572f565b8561016001516126e9565b61018084018190526101208401516101a085018190526144d3916107809061077b6144c88c6005615118565b61077b8d6002615118565b6101a0840181905283516144f391906107809061077b6144c88c5f615118565b6101a0840181905261014084015161450b9190612704565b6101a084018190526145259061077b613ae98a600a615118565b6101a0840181905285600d613913565b61456e6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6145a361458a61457f86601c615118565b61077b876025615118565b610780614598876024615118565b61077b88601d615118565b81526145e86145dd6145c46145b987601c615118565b61077b88601f615118565b6107806145d288601d615118565b61077b89601e615118565b61079e866026615118565b604082018190526145fd90600160441b6126e9565b604082018190526146139061079e866027615118565b6040820181905281516146269190612704565b6040820181905261463c9061077b866005615118565b6040820152805161465190600160441b6126e9565b80825261467190610780614666876024615118565b61077b886025615118565b808252602082018190526146989061079e61468d87601e615118565b61078088601f615118565b602082018190526146ae9061077b866004615118565b60208201528051606082018190526146cb9061078086601f615118565b606082018190526146ef9061079e6146e4876026615118565b610780886027615118565b606082018190526147049061077b865f615118565b8160600181815250505f61472d61472383602001518460400151612704565b8360600151612704565b905061473e8161077b876003615118565b905061475661474e866025615118565b6140006126e9565b6080830181905261476c90610780876024615118565b6080830181905261477f906140006126e9565b608083018190526147959061078087601e615118565b608083018190526147a8906140006126e9565b608083018190526147be9061078087601d615118565b608083018190526147d1906140006126e9565b608083018190526147e79061078087601c615118565b608083018190526147fd9061079e87601f615118565b608083018190526148139061077b876005615118565b608083015261482661474e866026615118565b60a0830181905261483c90610780876025615118565b60a0830181905261484f906140006126e9565b60a0830181905261486590610780876024615118565b60a08301819052614878906140006126e9565b60a0830181905261488e9061078087601f615118565b60a083018190526148a1906140006126e9565b60a083018190526148b79061078087601e615118565b60a083018190526148cd9061079e876027615118565b60a083018190526148e29061077b875f615118565b60a0830181905260808301515f916148fa9190612704565b905061490b8161077b886004615118565b90506149178282612704565b60c084018190526149309061077b613ae989600b615118565b60c084018190528560136020020152505050505050565b6149bd6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6149d66149cb85601c615118565b610780866002615118565b81526149f16149e685601d615118565b610780866003615118565b6020820152614a0f614a0485601e615118565b610780866004615118565b6040820152614a2d614a2285601f615118565b610780866005615118565b60608201528051614a5f90614a5890614a5190614a4a90806126e9565b84516126e9565b83516126e9565b82516126e9565b60808201526020810151614a9d90614a9390614a8990614a7f90806126e9565b84602001516126e9565b83602001516126e9565b82602001516126e9565b60a08201526040810151614adb90614ad190614ac790614abd90806126e9565b84604001516126e9565b83604001516126e9565b82604001516126e9565b60c08201526060810151614b0f906141f290614b0590614afb90806126e9565b84606001516126e9565b83606001516126e9565b60e0820152608081015160a0820151614b289190612704565b61010082015260c081015160e0820151614b429190612704565b61012082015260a0810151614b6690614b5b9080612704565b826101200151612704565b61014082015260e0810151614b8a90614b7f9080612704565b826101000151612704565b610160820152610120810151614ba09080612704565b6101e08201819052614bc190614bb69080612704565b826101600151612704565b6101e0820152610100810151614bd79080612704565b6101a08201819052614bf890614bed9080612704565b826101400151612704565b6101a08201819052610160820151614c0f91612704565b6101808201526101408101516101e0820151614c2b9190612704565b6101c0820152614c3f6135f085600c615118565b6102008201819052610280840151610180830151614c6a926107809161077b9061079e8a6024615118565b8360146020020152614c9a836015602002015161078083610200015161077b856101a0015161079e8a6025615118565b8360156020020152614cca836016602002015161078083610200015161077b856101c0015161079e8a6026615118565b8360166020020152614cfa836017602002015161078083610200015161077b856101e0015161079e8a6027615118565b836017602002015250505050565b614d5a6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614d8f7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76126d1565b8152602001614dbd7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6126d1565b8152602001614dea7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156126d1565b8152602001614e187f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6126d1565b90529050614e35614e2a86601c615118565b610780876002615118565b6101208301819052614e7490614e6990614e5e90614e5390806126e9565b8561012001516126e9565b8461012001516126e9565b8361012001516126e9565b8252614e8185601d615118565b6020830152614e9185601e615118565b6040830152614ea185601f615118565b606083015281516020830151614ec99161472391614ebf9190612704565b8460400151612704565b6080830152614edc6138a286600d615118565b6101408301528151614efd90614ef390835f6114a5565b8360800151612704565b60a0830152614f29846018602002015161078084610140015161077b8660a0015161079e8b6024615118565b6103008501526020820151614f4490614ef3908360016114a5565b60c0830152614f70846019602002015161078084610140015161077b8660c0015161079e8b6025615118565b6103208501526040820151614f8b90614ef3908360026114a5565b60e0830152614fb784601a602002015161078084610140015161077b8660e0015161079e8b6026615118565b6103408501526060820151614fd290614ef3908360036114a5565b61010083015261500084601b602002015161078084610140015161077b86610100015161079e8b6027615118565b84601b613729565b815160015b601c81101561505a57615050826107808684601c811061502f5761502f61577c565b60200201518661504060018761572f565b601b81106114a5576114a561577c565b915060010161500d565b5092915050565b61506961544b565b61507161544b565b604051835181526020840151602082015284604082015260408160608360075afa8061509b575f5ffd5b5080518252602080820151908301526060016040529392505050565b6150bf61544b565b6150c761544b565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806150fc575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561512c5761512c6159ac565b6029811061513c5761513c61577c565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161516e61544b565b815260200161517b61544b565b815260200161518861544b565b815260200161519561544b565b81526020016151a261544b565b81526020016151af61544b565b81526020016151bc61544b565b81526020016151c961544b565b81526020016151d661544b565b81526020016151e361544b565b81526020016151f061544b565b81526020016151fd61544b565b815260200161520a61544b565b815260200161521761544b565b815260200161522461544b565b815260200161523161544b565b815260200161523e61544b565b815260200161524b61544b565b815260200161525861544b565b815260200161526561544b565b815260200161527261544b565b815260200161527f61544b565b815260200161528c61544b565b815260200161529961544b565b81526020016152a661544b565b81526020016152b361544b565b81526020016152c061544b565b81526020016152cd61544b565b905290565b604051806101e001604052806152e6615588565b81526020016152f361544b565b815260200161530061544b565b815260200161530d61544b565b815260200161531a61544b565b815260200161532761544b565b815260200161533461544b565b815260200161534161544b565b815260200161534e61544b565b815260200161535b6155a7565b81526020016153686155d5565b81526020016153756155f4565b81526020016152b36154d0565b604051806101000160405280615396615463565b81526020016153a3615493565b81526020016153b06154d0565b81526020016153bd6154d0565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001615419615622565b8152602001615426615622565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6155bf61554b565b8152602001906001900390816155b75790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b61560c61544b565b8152602001906001900390816156045790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615653575f5ffd5b84356001600160401b03811115615668575f5ffd5b8501601f81018713615678575f5ffd5b80356001600160401b0381111561568d575f5ffd5b87602082840101111561569e575f5ffd5b6020918201955093508501356001600160401b038111156156bd575f5ffd5b8501601f810187136156cd575f5ffd5b80356001600160401b038111156156e2575f5ffd5b8760208260051b84010111156156f6575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176126fe576126fe615704565b818103818111156126fe576126fe615704565b808201808211156126fe576126fe615704565b5f5f85851115615763575f5ffd5b8386111561576f575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016157b5576157b5615704565b5060010190565b803560208310156126fe575f19602084900360031b1b1692915050565b5f826157f357634e487b7160e01b5f52601260045260245ffd5b500690565b5f8183825b600581101561581c5781518352602092830192909101906001016157fd565b50505060a08201905092915050565b5f8183825b600981101561584f578151835260209283019290910190600101615830565b5050506101208201905092915050565b5f8183825b602a811015615883578151835260209283019290910190600101615864565b5050506105408201905092915050565b81515f90829060208501835b828110156158bd57815184526020938401939091019060010161589f565b509195945050505050565b5f8183825b60038110156158ec5781518352602092830192909101906001016158cd565b50505060608201905092915050565b5f8161590957615909615704565b505f190190565b5f8183825b6008811015615934578151835260209283019290910190600101615915565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f6020828403121561596a575f5ffd5b81518015158114610333575f5ffd5b5f8183825b600781101561599d57815183526020928301929091019060010161597e565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
5
5
|
/**
|
|
6
6
|
* HonkVerifier link references.
|
|
7
7
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
|
-
*/ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f06ab173655ce371628ebc9fe99c2948abd6ae911606409db94c78e0aacbae9dc60c05260ae60e05260805160a05160c05160e051615a016100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612c9d01525f5050615a015ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615640565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615718565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615718565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b905060108260400151610138919061572f565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615718565b905060016102a9600885615718565b6102b39190615718565b6102bd9082615742565b90506102cb60016029615718565b6102d59082615742565b905060026102e460018561572f565b6102ee9190615718565b6102f89082615742565b9050610305600184615718565b61030f9082615742565b905061031c600280615718565b6103269082615742565b9050610333601082615742565b9392505050565b610342615148565b61034a61175b565b905090565b6103576152d2565b5f805b60108110156103b957610386868387610374602083615742565b9261038193929190615755565b612096565b835182601081106103995761039961577c565b6020020181815250506020826103af9190615742565b915060010161035a565b506103dd8582866103cb604083615742565b926103d893929190615755565b6120a9565b60208301526103ed604082615742565b90506104008582866103cb604083615742565b6040808401919091526104139082615742565b90506104268582866103cb604083615742565b6060830152610436604082615742565b90506104498582866103cb604083615742565b60c0830152610459604082615742565b905061046c8582866103cb604083615742565b60e083015261047c604082615742565b905061048f8582866103cb604083615742565b608083015261049f604082615742565b90506104b28582866103cb604083615742565b6101008301526104c3604082615742565b90506104d68582866103cb604083615742565b60a08301526104e6604082615742565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615742565b84610120015183601c81106105255761052561577c565b6020020151826008811061053b5761053b61577c565b6020020181815250506020836105519190615742565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615742565b83610140015182602981106105985761059861577c565b6020020181815250506020826105ae9190615742565b9150600101610567565b505f5b6105c660018561572f565b81101561060f576105de8683876103cb604083615742565b83610160015182601b81106105f5576105f561577c565b6020020152610605604083615742565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615742565b83610180015182601c81106106425761064261577c565b6020020181815250506020826106589190615742565b9150600101610612565b506106748582866103cb604083615742565b6101a0830152610685604082615742565b90506106988582866103cb604083615742565b6101c0830152509392505050565b6106ae615382565b5f6106bd88888888888661212b565b90835290506106cc818961217f565b602084019190915290506106e0818461226e565b604084019190915290506106f58882856122fd565b6060840191909152905061070988826123d1565b6080840191909152905061071e88828561245c565b60a084019190915290506107338882856125d0565b60c084019190915290506107478882612694565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615742565b6126d1565b6126e9565b612704565b90505f6107a38761079e8a61077b6107768b6001615742565b61271d565b90505f5b6107d260107f000000000000000000000000000000000000000000000000000000000000000061572f565b81101561083f575f6107fc8c83815181106107ef576107ef61577c565b6020026020010151612745565b905061080c8661077b8684612704565b955061081c8561077b8584612704565b9450610828848b612704565b9350610834838b61271d565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61577c565b602002015190506108738661077b8684612704565b95506108838561077b8584612704565b945061088f848b612704565b935061089b838b61271d565b925050600101610842565b506108b1848461275a565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561577c565b602002015190505f6109178286612768565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61577c565b6020020151905061095f8382612788565b9550610986886040015185601c811061097a5761097a61577c565b60200201518683612937565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612962565b90508281145b9695505050505050565b5f6109c96153db565b5f6109f88460a001517f00000000000000000000000000000000000000000000000000000000000000006129db565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615742565b610a31906002615742565b6001600160401b03811115610a4857610a48615790565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615742565b610aab906002615742565b6001600160401b03811115610ac257610ac2615790565b604051908082528060200260200182016040528015610afb57816020015b610ae861544b565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61577c565b602002602001015161271d565b612aa4565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461577c565b6020026020010151612704565b610140850181905261012085015160c0880151610b829261078091906126e9565b845260a0860151610bb290610b9690612aa4565b61077b86610120015161079e8a60c001518961014001516126e9565b6020850152815160019083905f90610bcc57610bcc61577c565b602002602001018181525050876101a00151815f81518110610bf057610bf061577c565b6020908102919091010152600160a08501525f60c08501528351610c1390612b14565b60408501526020840151610c2690612b14565b606085015260015b60248111610cd157610c4885604001518660a001516126e9565b838281518110610c5a57610c5a61577c565b602002602001018181525050610ca38560c001516107808b6101400151600185610c84919061572f565b60298110610c9457610c9461577c565b60200201518860a001516126e9565b60c086015260a08501516080880151610cbc91906126e9565b60a0860152610cca816157a4565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615742565b90505f610cf7602484615742565b9050610d28858381518110610d0e57610d0e61577c565b602002602001015161078089606001518a60a001516126e9565b858381518110610d3a57610d3a61577c565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861577c565b60200201518a60a001516126e9565b60c088015260a087015160808a0151610d9091906126e9565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861577c565b6020026020010181905250866080015181600281518110610ddb57610ddb61577c565b60200260200101819052508660a0015181600381518110610dfe57610dfe61577c565b60200260200101819052508660c0015181600481518110610e2157610e2161577c565b60200260200101819052508660e0015181600581518110610e4457610e4461577c565b602002602001018190525086610100015181600681518110610e6857610e6861577c565b602002602001018190525086610120015181600781518110610e8c57610e8c61577c565b602002602001018190525086610140015181600881518110610eb057610eb061577c565b602002602001018190525086610160015181600981518110610ed457610ed461577c565b6020026020010181905250866101c0015181600a81518110610ef857610ef861577c565b602002602001018190525086610180015181600b81518110610f1c57610f1c61577c565b6020026020010181905250866101a0015181600c81518110610f4057610f4061577c565b6020026020010181905250866101e0015181600d81518110610f6457610f6461577c565b602002602001018190525086610200015181600e81518110610f8857610f8861577c565b602002602001018190525086610220015181600f81518110610fac57610fac61577c565b602002602001018190525086610240015181601081518110610fd057610fd061577c565b602002602001018190525086610260015181601181518110610ff457610ff461577c565b6020026020010181905250866102800151816012815181106110185761101861577c565b6020026020010181905250866102a001518160138151811061103c5761103c61577c565b6020026020010181905250866102c00151816014815181106110605761106061577c565b6020026020010181905250866102e00151816015815181106110845761108461577c565b6020026020010181905250866103000151816016815181106110a8576110a861577c565b6020026020010181905250866103200151816017815181106110cc576110cc61577c565b6020026020010181905250866103400151816018815181106110f0576110f061577c565b6020026020010181905250866103600151816019815181106111145761111461577c565b602002602001018190525086610380015181601a815181106111385761113861577c565b6020026020010181905250866103a0015181601b8151811061115c5761115c61577c565b6020026020010181905250866103c0015181601c815181106111805761118061577c565b6020026020010181905250876020015181601d815181106111a3576111a361577c565b6020026020010181905250876040015181601e815181106111c6576111c661577c565b6020026020010181905250876060015181601f815181106111e9576111e961577c565b602002602001018190525087608001518160208151811061120c5761120c61577c565b60200260200101819052508760a001518160218151811061122f5761122f61577c565b6020026020010181905250876101000151816022815181106112535761125361577c565b60200260200101819052508760c00151816023815181106112765761127661577c565b60200260200101819052508760e00151816024815181106112995761129961577c565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612b26565b9050611309815f815181106112f6576112f661577c565b60200260200101518661012001516126e9565b608086018190526101808a01515160c089015161133a92916107809161132f91906126e9565b8861014001516126e9565b608086015260c087015161134d90612c84565b60a08601525f5b61137f60017f000000000000000000000000000000000000000000000000000000000000000061572f565b81101561157c576113af610b288960e001518784600161139f9190615742565b81518110610b1b57610b1b61577c565b61012087015260e08801516113de90610b2890876113ce856001615742565b81518110610b5457610b5461577c565b61014087015260a08601516101208701516113f991906126e9565b61016087015260a086015160c089015161142191611416916126e9565b8761014001516126e9565b61018087018190526114449061143690612b14565b610780886101600151612b14565b848261145260246001615742565b61145c9190615742565b8151811061146c5761146c61577c565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615742565b601c81106114a5576114a561577c565b60200201516126e9565b90506114e981610780896101600151868660016114cc9190615742565b815181106114dc576114dc61577c565b60200260200101516126e9565b90506114f9876080015182612704565b608088015260a087015160c08a015161151f91611515916126e9565b8a60c001516126e9565b60a08801526101608b015182601b811061153b5761153b61577c565b6020020151848361154e60246001615742565b6115589190615742565b815181106115685761156861577c565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615742565b815181106115ce576115ce61577c565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615742565b8151811061161a5761161a61577c565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615742565b611663906001615742565b815181106116735761167361577c565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615742565b6116ba906001615742565b815181106116ca576116ca61577c565b6020026020010181815250505f6116e18486612c8f565b90505f6116ed83612d9f565b90505f6116fe8d5f01518484612de5565b90505f5f61170e8f5f0151612e5b565b9150915061171b82612f1c565b61172481612f1c565b61172f858385612fbb565b945061173c848285612fbb565b93506117488585612fe1565b9f9e505050505050505050505050505050565b611763615148565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f1fa9e76d367fe47e08b186e588c01c87aae5eb31cb5ab0bcc0fa6573f7bc2e9181527f2a35c45bff9aaf67b1981ab6cd6d9d5697a7d7e54233dcb9a4f8a2e3b6b6809b818301526060830152825180840184527f04aa9a74e36d37c7c6b0e40f394457aec5b921462b00d6cd905046f511eec7c881527f082cf928ffa9e843e905ac83bf2491b581a85ce6986e048546227fc96a6e1d97818301526080830152825180840184527f12f3192c3c5f4916697353d754079c3975ed49c47abf158d049d3420910ea2c181527f080f156ec91d6ed1b7372696ccdf6b4d6d3248421fd4027572e6d27a411a7f528183015260a0830152825180840184527f054956f12a6309513d2eea7f817fb03239208ebb9c271069bace80a4b6f67e2781527f0dede08a27f27cc7f5098d32462b196c2c2774f7b065c10a773880b105a8a7d68183015260c0830152825180840184527f2ee3c36f418c99009dad99e740b85d5c14b900e2eb0b476259b8de6f14344ce481527eaefd21fd39b63f5c477c7a9627a9aa15996255dd6f63bd4fa884d4619d4a1d8183015260e0830152825180840184527f053ad6bdeddb8976815519eaafbed7abc317079fd794f39e006d4ff2ad178df281527f109b836decd955419b5588ca6611f2762b4ca87bc71893823cd539af136dbeb481830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f2c186eb2188b6586ed44684f8cf50c74bf20e5e58d416af58a3b13e199f7211381527f2fbb1b3577a26016b2775839f09a34b33b94fe3b45055514c3d0b8c1829ea97481830152610140830152825180840184527f173a7d7f3b06b473d02ce0432ff4ff57b8d17f9c48850075e1af262bfb7b003d81527f23ca7839613872fdaccbd722daef8d869c14df6afb864e331cdaa6716049d70d81830152610160830152825180840184527f27dc34a7ca55fd019098bb7ec4354a2ceb42d518011a02e238185b5c07d6a85081527f12fe176e93f3bdd91977aebec18b691fb1454e95c1474160e95d0537bd97464481830152610180830152825180840184527f206f64d03bc8cc110ff718601017f8aabd1dbd654babc49001d367d1ef62d38c81527f1b3fde1e33a77930f0905c6307305998d1f439da3b03e01759c69288f859d462818301526101a0830152825180840184527f202ddd64f90c0f4661fd13fbed91290d729e883a966547df8f6bf589b86a4b7a81527f1d44a11302e98ae2ba73730529e303ba6976bc4e70fab8041742e8e2fc9855a6818301526101c0830152825180840184527f2695bf73b7b83114201b2d2a8e75bb7ab4ff48c0c075c5e47d4781aa36f04bbf81527f0e217934c1f88834999542a9a62385aa9267c4fc142029dbbcba152017fbd7c4818301526101e0830152825180840184527f1bf32255857f16d1747728156f8ecaf92c8fb10ca3366f0cb05a6c59e7db55ff81527f1ca1c3b48a4bb63a3d19e2678951dc618744e8a5e7650fd390cc3a41a03d5af081830152610200830152825180840184527f1715f843b04ecbda086a4caf91c5edd6006629a532446134e5b8c14e17a1d4a281527f088cde6d4faa3f74b0180ba1729bb87855ef0ad959256c1ce4a7da9adc9fffa181830152610220830152825180840184527f2ce226058255bfc3a50fbbf52a91418825068d4ecd80d61363f9785c2f22afd081527f01015994dffff527d5cef617a66beb493daf0ca11cafa39413d5882134f36d1f81830152610240830152825180840184527f1f2643783cc466a1acabbd0a342355314bd6f9a6fcd6da3ecf68db3bdd70add881527f036d9efc46fb9f194ed91435e7e9482d0975c20a28aeca1d8c38ca80e277cc9f81830152610260830152825180840184527f1032ff6dc072290625fdbe4da171f756b352b81f9662c07756cb8945896c60f581527f0e42cce1ec0a47d497bfbf135c8fd9d91b03e604e49cd014e46dd9784e30f02981830152610280830152825180840184527f28d60bec9458808b0c3c3ce6525011edd30193ed862ed810be43390461d3b0d881527f2c96fa3082da59152343dd3b49fb55429c33c407a70eccc237b115f2334036bc818301526102a0830152825180840184527f1acbd0a0550d896c70f77a403a3cfbc58fd7726f281c8bddba647154c71f5cc681527f227ce793cd91f5da4c386d67e4cd1c2c97f79566de39183e749ccc5edb0668c7818301526102c0830152825180840184527f24609d048605fa93968ca8673f74068579128a5bee9fb5fc0944179bc155588f81527f2b77eadebf57537695b1721d305888b9b9c7e543cb9c72c14ee72ba75b19ebb8818301526102e0830152825180840184527f0a3cacd51903a00ed6a849c6e8708ac33d803e432fe4f503c1966fee04f7935481527f13bda42bf713a014323ef73e1579a8315e5f245904c8c206124d263e592bfb6e81830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f2044734ec1720c3754cbf30ecf49460e1f58819eb4065adfd882c018af6b1f8483527f300d7d7e195fc91447b2f0b87e6266eab30349c6dfd785a78e845af3c70c2f60908301526103c081019190915290565b5f6103336120a483856157bc565b612745565b6120b161544b565b60408051808201909152805f5160206159c15f395f51905f526120d760205f8789615755565b6120e0916157bc565b6120ea91906157d9565b81526020908101905f5160206159c15f395f51905f529061210f906040908789615755565b612118916157bc565b61212291906157d9565b90529392505050565b612133615463565b5f61214188888888886131d5565b60408601919091526020850191909152908352925061216083896134d2565b6080850191909152606084019190915291989197509095505050505050565b612187615493565b5f6121906154b2565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f3916121d8918491016157f8565b60405160208183030381529060405280519060200120612745565b91505f6121ff83613559565b50808552905060015b6122146001601c61572f565b811015612264576122458561222a60018461572f565b601b811061223a5761223a61577c565b6020020151836126e9565b8582601b81106122575761225761577c565b6020020152600101612208565b5050509250929050565b6122766154d0565b5f61228d846040516020016121d891815260200190565b935061229884613559565b50825260015b838110156122f5576122d6836122b560018461572f565b601c81106122c5576122c561577c565b60200201518461149560018561572f565b8382601c81106122e8576122e861577c565b602002015260010161229e565b509093915050565b6123056154d0565b5f805b838110156123c7576123186154ef565b8581525f5b60088110156123815787610120015183601c811061233d5761233d61577c565b602002015181600881106123535761235361577c565b602002015182612364836001615742565b600981106123745761237461577c565b602002015260010161231d565b50612396816040516020016121d8919061582b565b95505f6123a287613559565b8685601c81106123b4576123b461577c565b6020020191909152505050600101612308565b5090949293505050565b5f5f6123db61550e565b8381525f5b602981101561242e5785610140015181602981106124005761240061577c565b602002015182612411836001615742565b602a81106124215761242161577c565b60200201526001016123e0565b50612443816040516020016121d8919061585f565b91505f61244f83613559565b5096929550919350505050565b5f808061246a60018561572f565b612475906002615718565b612480906001615742565b6001600160401b0381111561249757612497615790565b6040519080825280602002602001820160405280156124c0578160200160208202803683370190505b50905084815f815181106124d6576124d661577c565b60209081029190910101525f5b6124ee60018661572f565b8110156125a15786610160015181601b811061250c5761250c61577c565b6020020151518261251e836002615718565b612529906001615742565b815181106125395761253961577c565b60200260200101818152505086610160015181601b811061255c5761255c61577c565b602002015160200151828260026125739190615718565b61257e906002615742565b8151811061258e5761258e61577c565b60209081029190910101526001016124e3565b506125b6816040516020016121d89190615893565b91505f6125c283613559565b509792965091945050505050565b5f80806125de846001615742565b6001600160401b038111156125f5576125f5615790565b60405190808252806020026020018201604052801561261e578160200160208202803683370190505b50905084815f815181106126345761263461577c565b60209081029190910101525f5b848110156125a15786610180015181601c81106126605761266061577c565b602002015182612671836001615742565b815181106126815761268161577c565b6020908102919091010152600101612641565b5f5f61269e61552d565b8381526101a08501805151602080840191909152905181015160408084019190915251612443916121d8918491016158c8565b5f5f5160206159e15f395f51905f52825b0692915050565b5f5f5160206159e15f395f51905f5282840990505b92915050565b5f5f5160206159e15f395f51905f528284089392505050565b5f5f5160206159e15f395f51905f52825f5160206159e15f395f51905f520384089392505050565b5f5f5160206159e15f395f51905f52826126e2565b5f6103338361077b84612aa4565b815160208301515f91829161277d9190612704565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561286f576128658261077b878461271d565b915060010161284e565b5061287861554b565b5f5b60088110156128d9575f8482600881106128965761289661577c565b602002015190506128ab8161077b898561271d565b90506128b681612aa4565b9050808383600881106128cb576128cb61577c565b60200201525060010161287a565b505f5b600881101561292c575f8782600881106128f8576128f861577c565b60200201519050612915818484600881106114a5576114a561577c565b90506129218682612704565b9550506001016128dc565b506109b684836126e9565b5f5f61294d60016107808561077b89600161271d565b905061295984826126e9565b95945050505050565b5f61296b6154d0565b612976868285613589565b61298286868386613735565b61298e86868386613921565b612999868285613b4c565b6129a4868285613d40565b6129b086868386614089565b6129bb868285614535565b6129c6868285614947565b6129d1868285614d08565b6109b68185615008565b60605f826001600160401b038111156129f6576129f6615790565b604051908082528060200260200182016040528015612a1f578160200160208202803683370190505b50905083815f81518110612a3557612a3561577c565b602090810291909101015260015b83811015612a9c57612a7782612a5a60018461572f565b81518110612a6a57612a6a61577c565b6020026020010151612c84565b828281518110612a8957612a8961577c565b6020908102919091010152600101612a43565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206159e15f395f51905f520360808201525f5160206159e15f395f51905f5260a082015260205f60c08360055afa80612b00575f5ffd5b505f51608091909101604052949350505050565b5f5160206159e15f395f51905f520390565b60605f826001600160401b03811115612b4157612b41615790565b604051908082528060200260200182016040528015612b6a578160200160208202803683370190505b509050825b8015612c79575f85612b8260018461572f565b81518110612b9257612b9261577c565b602002602001015190505f89600184612bab919061572f565b601c8110612bbb57612bbb61577c565b602002015190505f612c16612bda612bd3858d6126e9565b60026126e9565b61079e8b612be960018961572f565b601c8110612bf957612bf961577c565b602002015161077b612c108861077b60018a61271d565b8761271d565b9050612c378161077b610b28612c318761077b60018961271d565b86612704565b99508990508085612c4960018761572f565b81518110612c5957612c5961577c565b60200260200101818152505050505080612c72906158fb565b9050612b6f565b509695505050505050565b5f6126fe82836126e9565b612c9761544b565b5f612cc37f00000000000000000000000000000000000000000000000000000000000000006024615742565b612cce906002615742565b90505f5b81811015612d0457612cfc858281518110612cef57612cef61577c565b6020026020010151612f1c565b600101612cd2565b50604051600190815b60018401811015612d695760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612d0d565b5080518452602081015160208501525080612d97576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612da761544b565b5f5160206159c15f395f51905f5282602001515f5160206159c15f395f51905f52612dd2919061572f565b612ddc91906157d9565b60208301525090565b5f5f5f612df186612e5b565b91509150612dfd61554b565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612e50916121d891849101615910565b979650505050505050565b612e6361544b565b612e6b61544b565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f5160206159c15f395f51905f528380095f5160206159c15f395f51905f5260035f5160206159c15f395f51905f52838709085f5160206159c15f395f51905f528485091491505080612fb55760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b612fc361544b565b612fcb61544b565b612fd58386615061565b905061295981856150b7565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516131779190615944565b5f60405180830381855afa9150503d805f81146131af576040519150601f19603f3d011682016040523d82523d5f602084013e6131b4565b606091505b50915091508180156109b65750808060200190518101906109b6919061595a565b5f808080806131e5866001615742565b6131f0906006615742565b6001600160401b0381111561320757613207615790565b604051908082528060200260200182016040528015613230578160200160208202803683370190505b509050865f1b815f815181106132485761324861577c565b60209081029190910101525f5b61326060108861572f565b8110156132b1578989828181106132795761327961577c565b905060200201358282600161328e9190615742565b8151811061329e5761329e61577c565b6020908102919091010152600101613255565b505f5b6010811015613322578a516132dc9082601081106132d4576132d461577c565b602002015190565b828260106132eb8b6001615742565b6132f5919061572f565b6132ff9190615742565b8151811061330f5761330f61577c565b60209081029190910101526001016132b4565b5060208a01515181613335886001615742565b815181106133455761334561577c565b6020908102919091018101919091528a810151015181613366886001615742565b613371906001615742565b815181106133815761338161577c565b602090810291909101015260408a0151518161339e886001615742565b6133a9906002615742565b815181106133b9576133b961577c565b60209081029190910181019190915260408b01510151816133db886001615742565b6133e6906003615742565b815181106133f6576133f661577c565b602090810291909101015260608a01515181613413886001615742565b61341e906004615742565b8151811061342e5761342e61577c565b60209081029190910181019190915260608b0151015181613450886001615742565b61345b906005615742565b8151811061346b5761346b61577c565b60200260200101818152505061348b816040516020016121d89190615893565b915061349682613559565b60408051602081018690529297509095506134b191016121d8565b91505f6134bd83613559565b50959b949a5094985090965091945050505050565b5f5f5f6134dd61556a565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a08601525182015192840192909252905161353f916121d891849101615979565b915061354a82613559565b90979096509194509092505050565b5f80826001600160801b038116608082901c61357482612745565b945061357f81612745565b9350505050915091565b5f613595846007615118565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6135f66135f06135ca85600361271d565b61077b6135e56135da8b5f615118565b61077b8c601d615118565b61077b8b601c615118565b836126e9565b905061367761366c61365361363a613621856107806136168d6002615118565b61077b8e601c615118565b61078061362f8c6003615118565b61077b8d601d615118565b6107806136488b6004615118565b61077b8c601e615118565b6107806136618a6005615118565b61077b8b601f615118565b610780886001615118565b90506136968161078061368b86600161271d565b61077b8a6027615118565b90506136a281846126e9565b90506136ae81856126e9565b8552505f90506136e86136de6136d36136c888601c615118565b61078089601f615118565b61079e886024615118565b610780875f615118565b90506136f98161077b84600261271d565b905061370a8161077b84600161271d565b905061371681836126e9565b905061372281846126e9565b9050808460015b60200201525050505050565b5f5f5f61376b61376161374989601c615118565b6107806137578b6012615118565b8a606001516126e9565b8760800151612704565b90506137a48161077b61379a6137828b601d615118565b6107806137908d6013615118565b8c606001516126e9565b8960800151612704565b90506137c98161077b61379a6137bb8b601e615118565b6107806137908d6014615118565b90506137ee8161077b61379a6137e08b601f615118565b6107806137908d6015615118565b92505f905061381261376161380489601c615118565b6107806137578b600e615118565b90506138378161077b61379a6138298b601d615118565b6107806137908d600f615118565b905061385c8161077b61379a61384e8b601e615118565b6107806137908d6010615118565b90506138818161077b61379a6138738b601f615118565b6107806137908d6011615118565b91505f90506138a86138a2613897896020615118565b6107808a601a615118565b846126e9565b90506138dd8161079e6138d76138bf8b6028615118565b6107806138cd8d601b615118565b8c60a001516126e9565b856126e9565b90506138e981856126e9565b6040860152505f61390c6138d761390189601b615118565b61077b8a6028615118565b9050808560035b602002015250505050505050565b5f5f61397f61396761394f61393a61379a8a6016615118565b6107806139488b6017615118565b8a516126e9565b61078061395d8a6018615118565b89602001516126e9565b610780613975896019615118565b88604001516126e9565b91505f6139b661399d61399389601c615118565b8860800151612704565b6107806139ab8a6003615118565b61077b8b6024615118565b90505f6139df6139c789601d615118565b6107806139d48b5f615118565b61077b8c6025615118565b90505f613a096139f08a601e615118565b6107806139fe8c6001615118565b61077b8d6026615118565b9050613a48613a30613a2285610780868d5f01516126e9565b610780848c602001516126e9565b610780613a3e8c6004615118565b8b604001516126e9565b93505050505f613a5c6138a2886021615118565b90505f613a6d6138a2896021615118565b90505f613aa5613a8c613a818b6023615118565b6107808c6006615118565b61079e613a9a8c6023615118565b61077b8d6006615118565b90505f613ac9613ac3613ab887896126e9565b61077b8d6021615118565b8361271d565b9050613ad581886126e9565b90505f613afd613aef613ae98d6006615118565b876126e9565b61079e613ae98e6022615118565b90505f613b0b8c6023615118565b90505f613b1b613ac383846126e9565b60808c0185905260a08c018490529050613b35818b6126e9565b8b6006602002015250505050505050505050505050565b5f613b585f600161271d565b90505f613b665f600261271d565b90505f613b745f600361271d565b90505f613b90613b8588601d615118565b61079e89601c615118565b90505f613bac613ba189601e615118565b61079e8a601d615118565b90505f613bc8613bbd8a601f615118565b61079e8b601e615118565b90505f613be4613bd98b6024615118565b61079e8c601f615118565b905083613bf58161077b818b612704565b9050613c058161077b878a612704565b9050613c158161077b8789612704565b9050613c268161077b8d6008615118565b9050613c32818a6126e9565b60e08b01525082613c478161077b818b612704565b9050613c578161077b868a612704565b9050613c678161077b8689612704565b9050613c788161077b8d6008615118565b9050613c84818a6126e9565b6101008b01525081613c9a8161077b818b612704565b9050613caa8161077b858a612704565b9050613cba8161077b8589612704565b9050613ccb8161077b8d6008615118565b9050613cd7818a6126e9565b6101208b01525080613ced8161077b818b612704565b9050613cfd8161077b848a612704565b9050613d0d8161077b8489612704565b9050613d1e8161077b8d6008615118565b9050613d2a818a6126e9565b610140909a019990995250505050505050505050565b613d796040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613d8484601d615118565b8152613d9184601e615118565b6020820152613da1846024615118565b6040820152613db1846027615118565b6060820152613dc1846026615118565b6080820152613dd1846025615118565b60a08201525f613de2856002615118565b90505f613def865f615118565b90505f613e038460400151855f015161271d565b90505f613e18856020015186602001516126e9565b606086015190915086905f90613e2e90806126e9565b90505f613e4c613e4689602001518a606001516126e9565b886126e9565b90505f613e6b613e648a60a001518b60400151612704565b8a51612704565b9050613e7a613ae982886126e9565b9050613ea1613e9b613e95613e8f848761271d565b8861271d565b84612704565b83612704565b9050613ec9613ebe613eb383876126e9565b61077b8f6009615118565b61077b60018a61271d565b6101608c015250505050602085015160808601515f91613ee891612704565b90505f613f06613efc8860600151886126e9565b886020015161271d565b90505f613f2a613f1684876126e9565b6107806138d78b60a001518c5f015161271d565b9050613f52613f47613f3c838c6126e9565b61077b8e6009615118565b61077b60018961271d565b6101808b0152505f9150613f739050613f6c836011612704565b87516126e9565b90505f613f808384612704565b9050613f8c8182612704565b90505f613f9a8360096126e9565b9050613fc3613fbd6138a2613fb68b60a001518c5f0151612704565b8b51612704565b8261271d565b60c089018190525f90613fde90613e4690613eb3908d6126e9565b9050613ff18b600b602002015182612704565b6101608c0152505086515f92506140189150613f6c906140119080612704565b8851612704565b90505f6140586140338361077b8a5f01518b60a0015161271d565b602089015161079e906140469080612704565b61077b8b602001518c60800151612704565b905061407589600c6020020151610780613e46613eb3858d6126e9565b89600c602002015250505050505050505050565b6140f3604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61410b61410186601e615118565b85604001516126e9565b80825261412a9061078061412088601d615118565b87602001516126e9565b80825261413f90610780613f6c88601c615118565b80825261415190610780876001615118565b8082526020820181905261416a9061079e87601f615118565b815261418561417a866024615118565b61079e87601c615118565b60808201526141a3614198866027615118565b61079e87601f615118565b606082015260808101516141bc9061077b81600161271d565b6101c082015260808101516141fc906141f2906141eb9061077b60015f5160206159e15f395f51905f5261572f565b6001612704565b82606001516126e9565b60a08201819052614232906142249061077b614219896002615118565b61077b8a6003615118565b61077b6138d788600a615118565b83600e60200201526101c0810151614256906142249061077b614219896002615118565b6101e0840152805161427b9061077b614270886002615118565b61077b896003615118565b6101208201525f61429a61429087601f615118565b836020015161271d565b90506142ab8161077b83600161271d565b60e08301526142c86142be876026615118565b86604001516126e9565b604083018190526142eb906107806142e1896025615118565b88602001516126e9565b6040830181905261430b90610780614304896024615118565b88516126e9565b604083015261432861431e876027615118565b836040015161271d565b60408301525f61434761433c886026615118565b61079e89601e615118565b90506143996143746135f06141eb866080015160015f5160206159e15f395f51905f5261077b919061572f565b61077b6141eb866040015160015f5160206159e15f395f51905f5261077b919061572f565b60c084015260408301516143bb906143b190806126e9565b846040015161271d565b61010084015260c08301516143e7906143d99061077b8a6004615118565b61077b613ae98a600a615118565b6102008601526101c0830151614406906143d99061077b8a6004615118565b610220860152610100830151614425906143d99061077b8a6004615118565b61024086015260e083015161443f9061077b896004615118565b61014084015261445e614453886025615118565b61079e89601d615118565b610160840152608083015161449c9061433c90614491906141eb9061077b60015f5160206159e15f395f51905f5261572f565b8561016001516126e9565b61018084018190526101208401516101a085018190526144d3916107809061077b6144c88c6005615118565b61077b8d6002615118565b6101a0840181905283516144f391906107809061077b6144c88c5f615118565b6101a0840181905261014084015161450b9190612704565b6101a084018190526145259061077b613ae98a600a615118565b6101a0840181905285600d613913565b61456e6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6145a361458a61457f86601c615118565b61077b876025615118565b610780614598876024615118565b61077b88601d615118565b81526145e86145dd6145c46145b987601c615118565b61077b88601f615118565b6107806145d288601d615118565b61077b89601e615118565b61079e866026615118565b604082018190526145fd90600160441b6126e9565b604082018190526146139061079e866027615118565b6040820181905281516146269190612704565b6040820181905261463c9061077b866005615118565b6040820152805161465190600160441b6126e9565b80825261467190610780614666876024615118565b61077b886025615118565b808252602082018190526146989061079e61468d87601e615118565b61078088601f615118565b602082018190526146ae9061077b866004615118565b60208201528051606082018190526146cb9061078086601f615118565b606082018190526146ef9061079e6146e4876026615118565b610780886027615118565b606082018190526147049061077b865f615118565b8160600181815250505f61472d61472383602001518460400151612704565b8360600151612704565b905061473e8161077b876003615118565b905061475661474e866025615118565b6140006126e9565b6080830181905261476c90610780876024615118565b6080830181905261477f906140006126e9565b608083018190526147959061078087601e615118565b608083018190526147a8906140006126e9565b608083018190526147be9061078087601d615118565b608083018190526147d1906140006126e9565b608083018190526147e79061078087601c615118565b608083018190526147fd9061079e87601f615118565b608083018190526148139061077b876005615118565b608083015261482661474e866026615118565b60a0830181905261483c90610780876025615118565b60a0830181905261484f906140006126e9565b60a0830181905261486590610780876024615118565b60a08301819052614878906140006126e9565b60a0830181905261488e9061078087601f615118565b60a083018190526148a1906140006126e9565b60a083018190526148b79061078087601e615118565b60a083018190526148cd9061079e876027615118565b60a083018190526148e29061077b875f615118565b60a0830181905260808301515f916148fa9190612704565b905061490b8161077b886004615118565b90506149178282612704565b60c084018190526149309061077b613ae989600b615118565b60c084018190528560136020020152505050505050565b6149bd6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6149d66149cb85601c615118565b610780866002615118565b81526149f16149e685601d615118565b610780866003615118565b6020820152614a0f614a0485601e615118565b610780866004615118565b6040820152614a2d614a2285601f615118565b610780866005615118565b60608201528051614a5f90614a5890614a5190614a4a90806126e9565b84516126e9565b83516126e9565b82516126e9565b60808201526020810151614a9d90614a9390614a8990614a7f90806126e9565b84602001516126e9565b83602001516126e9565b82602001516126e9565b60a08201526040810151614adb90614ad190614ac790614abd90806126e9565b84604001516126e9565b83604001516126e9565b82604001516126e9565b60c08201526060810151614b0f906141f290614b0590614afb90806126e9565b84606001516126e9565b83606001516126e9565b60e0820152608081015160a0820151614b289190612704565b61010082015260c081015160e0820151614b429190612704565b61012082015260a0810151614b6690614b5b9080612704565b826101200151612704565b61014082015260e0810151614b8a90614b7f9080612704565b826101000151612704565b610160820152610120810151614ba09080612704565b6101e08201819052614bc190614bb69080612704565b826101600151612704565b6101e0820152610100810151614bd79080612704565b6101a08201819052614bf890614bed9080612704565b826101400151612704565b6101a08201819052610160820151614c0f91612704565b6101808201526101408101516101e0820151614c2b9190612704565b6101c0820152614c3f6135f085600c615118565b6102008201819052610280840151610180830151614c6a926107809161077b9061079e8a6024615118565b8360146020020152614c9a836015602002015161078083610200015161077b856101a0015161079e8a6025615118565b8360156020020152614cca836016602002015161078083610200015161077b856101c0015161079e8a6026615118565b8360166020020152614cfa836017602002015161078083610200015161077b856101e0015161079e8a6027615118565b836017602002015250505050565b614d5a6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614d8f7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76126d1565b8152602001614dbd7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6126d1565b8152602001614dea7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156126d1565b8152602001614e187f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6126d1565b90529050614e35614e2a86601c615118565b610780876002615118565b6101208301819052614e7490614e6990614e5e90614e5390806126e9565b8561012001516126e9565b8461012001516126e9565b8361012001516126e9565b8252614e8185601d615118565b6020830152614e9185601e615118565b6040830152614ea185601f615118565b606083015281516020830151614ec99161472391614ebf9190612704565b8460400151612704565b6080830152614edc6138a286600d615118565b6101408301528151614efd90614ef390835f6114a5565b8360800151612704565b60a0830152614f29846018602002015161078084610140015161077b8660a0015161079e8b6024615118565b6103008501526020820151614f4490614ef3908360016114a5565b60c0830152614f70846019602002015161078084610140015161077b8660c0015161079e8b6025615118565b6103208501526040820151614f8b90614ef3908360026114a5565b60e0830152614fb784601a602002015161078084610140015161077b8660e0015161079e8b6026615118565b6103408501526060820151614fd290614ef3908360036114a5565b61010083015261500084601b602002015161078084610140015161077b86610100015161079e8b6027615118565b84601b613729565b815160015b601c81101561505a57615050826107808684601c811061502f5761502f61577c565b60200201518661504060018761572f565b601b81106114a5576114a561577c565b915060010161500d565b5092915050565b61506961544b565b61507161544b565b604051835181526020840151602082015284604082015260408160608360075afa8061509b575f5ffd5b5080518252602080820151908301526060016040529392505050565b6150bf61544b565b6150c761544b565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806150fc575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561512c5761512c6159ac565b6029811061513c5761513c61577c565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161516e61544b565b815260200161517b61544b565b815260200161518861544b565b815260200161519561544b565b81526020016151a261544b565b81526020016151af61544b565b81526020016151bc61544b565b81526020016151c961544b565b81526020016151d661544b565b81526020016151e361544b565b81526020016151f061544b565b81526020016151fd61544b565b815260200161520a61544b565b815260200161521761544b565b815260200161522461544b565b815260200161523161544b565b815260200161523e61544b565b815260200161524b61544b565b815260200161525861544b565b815260200161526561544b565b815260200161527261544b565b815260200161527f61544b565b815260200161528c61544b565b815260200161529961544b565b81526020016152a661544b565b81526020016152b361544b565b81526020016152c061544b565b81526020016152cd61544b565b905290565b604051806101e001604052806152e6615588565b81526020016152f361544b565b815260200161530061544b565b815260200161530d61544b565b815260200161531a61544b565b815260200161532761544b565b815260200161533461544b565b815260200161534161544b565b815260200161534e61544b565b815260200161535b6155a7565b81526020016153686155d5565b81526020016153756155f4565b81526020016152b36154d0565b604051806101000160405280615396615463565b81526020016153a3615493565b81526020016153b06154d0565b81526020016153bd6154d0565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001615419615622565b8152602001615426615622565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6155bf61554b565b8152602001906001900390816155b75790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b61560c61544b565b8152602001906001900390816156045790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615653575f5ffd5b84356001600160401b03811115615668575f5ffd5b8501601f81018713615678575f5ffd5b80356001600160401b0381111561568d575f5ffd5b87602082840101111561569e575f5ffd5b6020918201955093508501356001600160401b038111156156bd575f5ffd5b8501601f810187136156cd575f5ffd5b80356001600160401b038111156156e2575f5ffd5b8760208260051b84010111156156f6575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176126fe576126fe615704565b818103818111156126fe576126fe615704565b808201808211156126fe576126fe615704565b5f5f85851115615763575f5ffd5b8386111561576f575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016157b5576157b5615704565b5060010190565b803560208310156126fe575f19602084900360031b1b1692915050565b5f826157f357634e487b7160e01b5f52601260045260245ffd5b500690565b5f8183825b600581101561581c5781518352602092830192909101906001016157fd565b50505060a08201905092915050565b5f8183825b600981101561584f578151835260209283019290910190600101615830565b5050506101208201905092915050565b5f8183825b602a811015615883578151835260209283019290910190600101615864565b5050506105408201905092915050565b81515f90829060208501835b828110156158bd57815184526020938401939091019060010161589f565b509195945050505050565b5f8183825b60038110156158ec5781518352602092830192909101906001016158cd565b50505060608201905092915050565b5f8161590957615909615704565b505f190190565b5f8183825b6008811015615934578151835260209283019290910190600101615915565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f6020828403121561596a575f5ffd5b81518015158114610333575f5ffd5b5f8183825b600781101561599d57815183526020928301929091019060010161597e565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
3
|
+
*/ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f29ab2dced19295d1cab0a8cec24e470c3a171c9d9999527276b56e554b749e0c60c05260ae60e05260805160a05160c05160e051615a016100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612c9d01525f5050615a015ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615640565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615718565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615718565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b905060108260400151610138919061572f565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615718565b905060016102a9600885615718565b6102b39190615718565b6102bd9082615742565b90506102cb60016029615718565b6102d59082615742565b905060026102e460018561572f565b6102ee9190615718565b6102f89082615742565b9050610305600184615718565b61030f9082615742565b905061031c600280615718565b6103269082615742565b9050610333601082615742565b9392505050565b610342615148565b61034a61175b565b905090565b6103576152d2565b5f805b60108110156103b957610386868387610374602083615742565b9261038193929190615755565b612096565b835182601081106103995761039961577c565b6020020181815250506020826103af9190615742565b915060010161035a565b506103dd8582866103cb604083615742565b926103d893929190615755565b6120a9565b60208301526103ed604082615742565b90506104008582866103cb604083615742565b6040808401919091526104139082615742565b90506104268582866103cb604083615742565b6060830152610436604082615742565b90506104498582866103cb604083615742565b60c0830152610459604082615742565b905061046c8582866103cb604083615742565b60e083015261047c604082615742565b905061048f8582866103cb604083615742565b608083015261049f604082615742565b90506104b28582866103cb604083615742565b6101008301526104c3604082615742565b90506104d68582866103cb604083615742565b60a08301526104e6604082615742565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615742565b84610120015183601c81106105255761052561577c565b6020020151826008811061053b5761053b61577c565b6020020181815250506020836105519190615742565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615742565b83610140015182602981106105985761059861577c565b6020020181815250506020826105ae9190615742565b9150600101610567565b505f5b6105c660018561572f565b81101561060f576105de8683876103cb604083615742565b83610160015182601b81106105f5576105f561577c565b6020020152610605604083615742565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615742565b83610180015182601c81106106425761064261577c565b6020020181815250506020826106589190615742565b9150600101610612565b506106748582866103cb604083615742565b6101a0830152610685604082615742565b90506106988582866103cb604083615742565b6101c0830152509392505050565b6106ae615382565b5f6106bd88888888888661212b565b90835290506106cc818961217f565b602084019190915290506106e0818461226e565b604084019190915290506106f58882856122fd565b6060840191909152905061070988826123d1565b6080840191909152905061071e88828561245c565b60a084019190915290506107338882856125d0565b60c084019190915290506107478882612694565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615742565b6126d1565b6126e9565b612704565b90505f6107a38761079e8a61077b6107768b6001615742565b61271d565b90505f5b6107d260107f000000000000000000000000000000000000000000000000000000000000000061572f565b81101561083f575f6107fc8c83815181106107ef576107ef61577c565b6020026020010151612745565b905061080c8661077b8684612704565b955061081c8561077b8584612704565b9450610828848b612704565b9350610834838b61271d565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61577c565b602002015190506108738661077b8684612704565b95506108838561077b8584612704565b945061088f848b612704565b935061089b838b61271d565b925050600101610842565b506108b1848461275a565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561577c565b602002015190505f6109178286612768565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61577c565b6020020151905061095f8382612788565b9550610986886040015185601c811061097a5761097a61577c565b60200201518683612937565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612962565b90508281145b9695505050505050565b5f6109c96153db565b5f6109f88460a001517f00000000000000000000000000000000000000000000000000000000000000006129db565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615742565b610a31906002615742565b6001600160401b03811115610a4857610a48615790565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615742565b610aab906002615742565b6001600160401b03811115610ac257610ac2615790565b604051908082528060200260200182016040528015610afb57816020015b610ae861544b565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61577c565b602002602001015161271d565b612aa4565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461577c565b6020026020010151612704565b610140850181905261012085015160c0880151610b829261078091906126e9565b845260a0860151610bb290610b9690612aa4565b61077b86610120015161079e8a60c001518961014001516126e9565b6020850152815160019083905f90610bcc57610bcc61577c565b602002602001018181525050876101a00151815f81518110610bf057610bf061577c565b6020908102919091010152600160a08501525f60c08501528351610c1390612b14565b60408501526020840151610c2690612b14565b606085015260015b60248111610cd157610c4885604001518660a001516126e9565b838281518110610c5a57610c5a61577c565b602002602001018181525050610ca38560c001516107808b6101400151600185610c84919061572f565b60298110610c9457610c9461577c565b60200201518860a001516126e9565b60c086015260a08501516080880151610cbc91906126e9565b60a0860152610cca816157a4565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615742565b90505f610cf7602484615742565b9050610d28858381518110610d0e57610d0e61577c565b602002602001015161078089606001518a60a001516126e9565b858381518110610d3a57610d3a61577c565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861577c565b60200201518a60a001516126e9565b60c088015260a087015160808a0151610d9091906126e9565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861577c565b6020026020010181905250866080015181600281518110610ddb57610ddb61577c565b60200260200101819052508660a0015181600381518110610dfe57610dfe61577c565b60200260200101819052508660c0015181600481518110610e2157610e2161577c565b60200260200101819052508660e0015181600581518110610e4457610e4461577c565b602002602001018190525086610100015181600681518110610e6857610e6861577c565b602002602001018190525086610120015181600781518110610e8c57610e8c61577c565b602002602001018190525086610140015181600881518110610eb057610eb061577c565b602002602001018190525086610160015181600981518110610ed457610ed461577c565b6020026020010181905250866101c0015181600a81518110610ef857610ef861577c565b602002602001018190525086610180015181600b81518110610f1c57610f1c61577c565b6020026020010181905250866101a0015181600c81518110610f4057610f4061577c565b6020026020010181905250866101e0015181600d81518110610f6457610f6461577c565b602002602001018190525086610200015181600e81518110610f8857610f8861577c565b602002602001018190525086610220015181600f81518110610fac57610fac61577c565b602002602001018190525086610240015181601081518110610fd057610fd061577c565b602002602001018190525086610260015181601181518110610ff457610ff461577c565b6020026020010181905250866102800151816012815181106110185761101861577c565b6020026020010181905250866102a001518160138151811061103c5761103c61577c565b6020026020010181905250866102c00151816014815181106110605761106061577c565b6020026020010181905250866102e00151816015815181106110845761108461577c565b6020026020010181905250866103000151816016815181106110a8576110a861577c565b6020026020010181905250866103200151816017815181106110cc576110cc61577c565b6020026020010181905250866103400151816018815181106110f0576110f061577c565b6020026020010181905250866103600151816019815181106111145761111461577c565b602002602001018190525086610380015181601a815181106111385761113861577c565b6020026020010181905250866103a0015181601b8151811061115c5761115c61577c565b6020026020010181905250866103c0015181601c815181106111805761118061577c565b6020026020010181905250876020015181601d815181106111a3576111a361577c565b6020026020010181905250876040015181601e815181106111c6576111c661577c565b6020026020010181905250876060015181601f815181106111e9576111e961577c565b602002602001018190525087608001518160208151811061120c5761120c61577c565b60200260200101819052508760a001518160218151811061122f5761122f61577c565b6020026020010181905250876101000151816022815181106112535761125361577c565b60200260200101819052508760c00151816023815181106112765761127661577c565b60200260200101819052508760e00151816024815181106112995761129961577c565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612b26565b9050611309815f815181106112f6576112f661577c565b60200260200101518661012001516126e9565b608086018190526101808a01515160c089015161133a92916107809161132f91906126e9565b8861014001516126e9565b608086015260c087015161134d90612c84565b60a08601525f5b61137f60017f000000000000000000000000000000000000000000000000000000000000000061572f565b81101561157c576113af610b288960e001518784600161139f9190615742565b81518110610b1b57610b1b61577c565b61012087015260e08801516113de90610b2890876113ce856001615742565b81518110610b5457610b5461577c565b61014087015260a08601516101208701516113f991906126e9565b61016087015260a086015160c089015161142191611416916126e9565b8761014001516126e9565b61018087018190526114449061143690612b14565b610780886101600151612b14565b848261145260246001615742565b61145c9190615742565b8151811061146c5761146c61577c565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615742565b601c81106114a5576114a561577c565b60200201516126e9565b90506114e981610780896101600151868660016114cc9190615742565b815181106114dc576114dc61577c565b60200260200101516126e9565b90506114f9876080015182612704565b608088015260a087015160c08a015161151f91611515916126e9565b8a60c001516126e9565b60a08801526101608b015182601b811061153b5761153b61577c565b6020020151848361154e60246001615742565b6115589190615742565b815181106115685761156861577c565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615742565b815181106115ce576115ce61577c565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615742565b8151811061161a5761161a61577c565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615742565b611663906001615742565b815181106116735761167361577c565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615742565b6116ba906001615742565b815181106116ca576116ca61577c565b6020026020010181815250505f6116e18486612c8f565b90505f6116ed83612d9f565b90505f6116fe8d5f01518484612de5565b90505f5f61170e8f5f0151612e5b565b9150915061171b82612f1c565b61172481612f1c565b61172f858385612fbb565b945061173c848285612fbb565b93506117488585612fe1565b9f9e505050505050505050505050505050565b611763615148565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f24cd9b440174866119b89963265899431be0510c9fd21861c3f712b4b92c02c881527f0fa3f69dbb261b8adad60fee8ca0c557cbf88360339a579a1e2d627bd4f63cfe818301526060830152825180840184527f18bf041f6d4b529c58f7db77df54f5af5126f5a6ec6367bb71dabae1d5dc93f881527f1a2f7a86a60cb917bfc09b6df06b2b2a605e261d28672b7e88fcac56549cb497818301526080830152825180840184527f2ed6837ff8d5868e94f2920a073dedc1472a8d79fa6735b986e490cfd9046d1281527f1cab0f95f623bb2f875a3400aa25efc9f9de3353bd32b698395f4f938039f7208183015260a0830152825180840184527f168ce6eff012133800d33bb0a5cf2737bc1d002245cb812bb2012b3d92a8ce2f81527f12c6fb4a28eec76394027451723eecfa2fe4fd1b64465f9d33ae85399c442ab78183015260c0830152825180840184527f1776e7449474197a3b8f87a3cd189478c21ef43481a8eb989afb9b1454a38cba81527f2af3b7aa95f825a0001069c5bf9ec4f13c0176fd8b47cbbb73e351a5167d11828183015260e0830152825180840184527f236092a8544a53804e125be6cbc43afc1ff26595ee628efa62555f529679b7f881527f304540e9db70afc2291f8e7969d54b3abcd12bf4a43b65158673263e4b408d0f81830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f1cd6d34284f694a6883f6b6701715da21e14b708ea694c80a14d32b1c0e52faa81527f25c5eefadd0db344fc60dc94367caec422b7fe08aaa2a5f803b8a459de1ccc4281830152610140830152825180840184527f226299df198f12ea4e55ae7f3b795b85882f65f2ee8cfd1b193030e02292587881527f1ebfde6a706e1a8d48bb301e07ded5400b45af3ccd0ebe32a3acb17dba1946a681830152610160830152825180840184527f24f85de36e3a270bfa132186c1f80c6347a322209cdd77d6e4a5a33c406a7b1181527f212bae315319fd187fb261728cca147fe74651cf47f19e833fd7107faa0f01ff81830152610180830152825180840184527f2013594305fbce0a4c6d1570b30052aa711d4c4af4f34a370e4b89cc87828e5c81527f10e58dac0410eaa4d971ac9c24a968f0e6ae13a053f83798853d4690bb54f0d2818301526101a0830152825180840184527f208f8f2b876d67dc588f163bbb22c06f3c06521cab6fa37f3e201738692ed0f581527f2b1d4cc31e92a569abe395861c19a525a6f1defa1f93857e733e461b84cf761b818301526101c0830152825180840184527f0e8ed2d40910d85ee71227fd4df1c9d84fcfb67c53bdb9a205289bf93b991d2481527f0bdeb5a6c3683aafe16b658e4d879f2aef17c22cc2740d0c2b2fbcb2f1c1a338818301526101e0830152825180840184527f0964ff79a0dd4ab6e3ce3e4c22a36a0f9bb1e3ffe5b8a82a5522591e8af7468c81527f2b5b924648fa95fd50f9baed617f420f08707acdfb731c5c33a277cfaf6b07d781830152610200830152825180840184527f29406f62f23b2a84a3a6a90c066f820c1e37ce93067b4800022ca4119bf3ce6c81527f0e1e0cf6832531da0ffdbf9be779bfc9f0f3ed7b748c14531fa6bd026f8bcb1781830152610220830152825180840184527f1895c9eab05518112f08b4b1a105ad571de0598f3530c075b54bb88925cb342381527f22c55a0bf41e5967a1b4a500b6441bcd6ca3a02574bad819a8bd521a9d27bece81830152610240830152825180840184527f03906bfb867eebe5d8d0b88eac041fe494594dfaf5541b3749765c28ae24474381527f2010ecf51e2399ee2e6f61923be24907ccf12002c42816e2ad938adee7bac18281830152610260830152825180840184527f01d7c73ae79125dee3e02346a5c320bef6a966ddfdec0f962a504dbe92fe27c381527f2ee7b0de9b99adc34b938a18dec821620e10ef725903048ea3cf9763312cf63881830152610280830152825180840184527f265507dce1a435949fed9230fd74956c87d41ea67042e45737f495afdd0ff67481527f2e1a515e35938cb615e01ad3536adb16cef6ced77def0bcc74f8ba5745ad5a5d818301526102a0830152825180840184527f1b685875f3c03b84eade72b0f9b4e57ea91e90ffb1c04bd64c8251f8b82a6a0481527ed5a45ebfdfb365faad8afc5581ae53746a7c59ef7fb7043bf3504cf092ae8c818301526102c0830152825180840184527f1f11b62b62d004fd7a5e7016692f69dcc2d099bb6dc5399c6aab27e31521f17581527f2f96b8cdad4307afd821aa3188051f8fa97c30cb6c48f14c41be85f93f966c4d818301526102e0830152825180840184527f287d7d1307743dcb79e5dc1694e8ca5f71869548f5b2f8a1ab5f90ea09d411cb81527f0b782420d5286c07aaf0ce90670b77cd1efbf3c466dd678a0074dcd4d87a6c2981830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f1c36d9e14d695aeaf8164fc27aa54bc357c420006f82f4841cd01caeeddf8b2f83527f2994eed63980a7b47ddae0a071074769253fea789786be903a781505e65f90bf908301526103c081019190915290565b5f6103336120a483856157bc565b612745565b6120b161544b565b60408051808201909152805f5160206159c15f395f51905f526120d760205f8789615755565b6120e0916157bc565b6120ea91906157d9565b81526020908101905f5160206159c15f395f51905f529061210f906040908789615755565b612118916157bc565b61212291906157d9565b90529392505050565b612133615463565b5f61214188888888886131d5565b60408601919091526020850191909152908352925061216083896134d2565b6080850191909152606084019190915291989197509095505050505050565b612187615493565b5f6121906154b2565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f3916121d8918491016157f8565b60405160208183030381529060405280519060200120612745565b91505f6121ff83613559565b50808552905060015b6122146001601c61572f565b811015612264576122458561222a60018461572f565b601b811061223a5761223a61577c565b6020020151836126e9565b8582601b81106122575761225761577c565b6020020152600101612208565b5050509250929050565b6122766154d0565b5f61228d846040516020016121d891815260200190565b935061229884613559565b50825260015b838110156122f5576122d6836122b560018461572f565b601c81106122c5576122c561577c565b60200201518461149560018561572f565b8382601c81106122e8576122e861577c565b602002015260010161229e565b509093915050565b6123056154d0565b5f805b838110156123c7576123186154ef565b8581525f5b60088110156123815787610120015183601c811061233d5761233d61577c565b602002015181600881106123535761235361577c565b602002015182612364836001615742565b600981106123745761237461577c565b602002015260010161231d565b50612396816040516020016121d8919061582b565b95505f6123a287613559565b8685601c81106123b4576123b461577c565b6020020191909152505050600101612308565b5090949293505050565b5f5f6123db61550e565b8381525f5b602981101561242e5785610140015181602981106124005761240061577c565b602002015182612411836001615742565b602a81106124215761242161577c565b60200201526001016123e0565b50612443816040516020016121d8919061585f565b91505f61244f83613559565b5096929550919350505050565b5f808061246a60018561572f565b612475906002615718565b612480906001615742565b6001600160401b0381111561249757612497615790565b6040519080825280602002602001820160405280156124c0578160200160208202803683370190505b50905084815f815181106124d6576124d661577c565b60209081029190910101525f5b6124ee60018661572f565b8110156125a15786610160015181601b811061250c5761250c61577c565b6020020151518261251e836002615718565b612529906001615742565b815181106125395761253961577c565b60200260200101818152505086610160015181601b811061255c5761255c61577c565b602002015160200151828260026125739190615718565b61257e906002615742565b8151811061258e5761258e61577c565b60209081029190910101526001016124e3565b506125b6816040516020016121d89190615893565b91505f6125c283613559565b509792965091945050505050565b5f80806125de846001615742565b6001600160401b038111156125f5576125f5615790565b60405190808252806020026020018201604052801561261e578160200160208202803683370190505b50905084815f815181106126345761263461577c565b60209081029190910101525f5b848110156125a15786610180015181601c81106126605761266061577c565b602002015182612671836001615742565b815181106126815761268161577c565b6020908102919091010152600101612641565b5f5f61269e61552d565b8381526101a08501805151602080840191909152905181015160408084019190915251612443916121d8918491016158c8565b5f5f5160206159e15f395f51905f52825b0692915050565b5f5f5160206159e15f395f51905f5282840990505b92915050565b5f5f5160206159e15f395f51905f528284089392505050565b5f5f5160206159e15f395f51905f52825f5160206159e15f395f51905f520384089392505050565b5f5f5160206159e15f395f51905f52826126e2565b5f6103338361077b84612aa4565b815160208301515f91829161277d9190612704565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561286f576128658261077b878461271d565b915060010161284e565b5061287861554b565b5f5b60088110156128d9575f8482600881106128965761289661577c565b602002015190506128ab8161077b898561271d565b90506128b681612aa4565b9050808383600881106128cb576128cb61577c565b60200201525060010161287a565b505f5b600881101561292c575f8782600881106128f8576128f861577c565b60200201519050612915818484600881106114a5576114a561577c565b90506129218682612704565b9550506001016128dc565b506109b684836126e9565b5f5f61294d60016107808561077b89600161271d565b905061295984826126e9565b95945050505050565b5f61296b6154d0565b612976868285613589565b61298286868386613735565b61298e86868386613921565b612999868285613b4c565b6129a4868285613d40565b6129b086868386614089565b6129bb868285614535565b6129c6868285614947565b6129d1868285614d08565b6109b68185615008565b60605f826001600160401b038111156129f6576129f6615790565b604051908082528060200260200182016040528015612a1f578160200160208202803683370190505b50905083815f81518110612a3557612a3561577c565b602090810291909101015260015b83811015612a9c57612a7782612a5a60018461572f565b81518110612a6a57612a6a61577c565b6020026020010151612c84565b828281518110612a8957612a8961577c565b6020908102919091010152600101612a43565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206159e15f395f51905f520360808201525f5160206159e15f395f51905f5260a082015260205f60c08360055afa80612b00575f5ffd5b505f51608091909101604052949350505050565b5f5160206159e15f395f51905f520390565b60605f826001600160401b03811115612b4157612b41615790565b604051908082528060200260200182016040528015612b6a578160200160208202803683370190505b509050825b8015612c79575f85612b8260018461572f565b81518110612b9257612b9261577c565b602002602001015190505f89600184612bab919061572f565b601c8110612bbb57612bbb61577c565b602002015190505f612c16612bda612bd3858d6126e9565b60026126e9565b61079e8b612be960018961572f565b601c8110612bf957612bf961577c565b602002015161077b612c108861077b60018a61271d565b8761271d565b9050612c378161077b610b28612c318761077b60018961271d565b86612704565b99508990508085612c4960018761572f565b81518110612c5957612c5961577c565b60200260200101818152505050505080612c72906158fb565b9050612b6f565b509695505050505050565b5f6126fe82836126e9565b612c9761544b565b5f612cc37f00000000000000000000000000000000000000000000000000000000000000006024615742565b612cce906002615742565b90505f5b81811015612d0457612cfc858281518110612cef57612cef61577c565b6020026020010151612f1c565b600101612cd2565b50604051600190815b60018401811015612d695760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612d0d565b5080518452602081015160208501525080612d97576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612da761544b565b5f5160206159c15f395f51905f5282602001515f5160206159c15f395f51905f52612dd2919061572f565b612ddc91906157d9565b60208301525090565b5f5f5f612df186612e5b565b91509150612dfd61554b565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612e50916121d891849101615910565b979650505050505050565b612e6361544b565b612e6b61544b565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f5160206159c15f395f51905f528380095f5160206159c15f395f51905f5260035f5160206159c15f395f51905f52838709085f5160206159c15f395f51905f528485091491505080612fb55760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b612fc361544b565b612fcb61544b565b612fd58386615061565b905061295981856150b7565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516131779190615944565b5f60405180830381855afa9150503d805f81146131af576040519150601f19603f3d011682016040523d82523d5f602084013e6131b4565b606091505b50915091508180156109b65750808060200190518101906109b6919061595a565b5f808080806131e5866001615742565b6131f0906006615742565b6001600160401b0381111561320757613207615790565b604051908082528060200260200182016040528015613230578160200160208202803683370190505b509050865f1b815f815181106132485761324861577c565b60209081029190910101525f5b61326060108861572f565b8110156132b1578989828181106132795761327961577c565b905060200201358282600161328e9190615742565b8151811061329e5761329e61577c565b6020908102919091010152600101613255565b505f5b6010811015613322578a516132dc9082601081106132d4576132d461577c565b602002015190565b828260106132eb8b6001615742565b6132f5919061572f565b6132ff9190615742565b8151811061330f5761330f61577c565b60209081029190910101526001016132b4565b5060208a01515181613335886001615742565b815181106133455761334561577c565b6020908102919091018101919091528a810151015181613366886001615742565b613371906001615742565b815181106133815761338161577c565b602090810291909101015260408a0151518161339e886001615742565b6133a9906002615742565b815181106133b9576133b961577c565b60209081029190910181019190915260408b01510151816133db886001615742565b6133e6906003615742565b815181106133f6576133f661577c565b602090810291909101015260608a01515181613413886001615742565b61341e906004615742565b8151811061342e5761342e61577c565b60209081029190910181019190915260608b0151015181613450886001615742565b61345b906005615742565b8151811061346b5761346b61577c565b60200260200101818152505061348b816040516020016121d89190615893565b915061349682613559565b60408051602081018690529297509095506134b191016121d8565b91505f6134bd83613559565b50959b949a5094985090965091945050505050565b5f5f5f6134dd61556a565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a08601525182015192840192909252905161353f916121d891849101615979565b915061354a82613559565b90979096509194509092505050565b5f80826001600160801b038116608082901c61357482612745565b945061357f81612745565b9350505050915091565b5f613595846007615118565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6135f66135f06135ca85600361271d565b61077b6135e56135da8b5f615118565b61077b8c601d615118565b61077b8b601c615118565b836126e9565b905061367761366c61365361363a613621856107806136168d6002615118565b61077b8e601c615118565b61078061362f8c6003615118565b61077b8d601d615118565b6107806136488b6004615118565b61077b8c601e615118565b6107806136618a6005615118565b61077b8b601f615118565b610780886001615118565b90506136968161078061368b86600161271d565b61077b8a6027615118565b90506136a281846126e9565b90506136ae81856126e9565b8552505f90506136e86136de6136d36136c888601c615118565b61078089601f615118565b61079e886024615118565b610780875f615118565b90506136f98161077b84600261271d565b905061370a8161077b84600161271d565b905061371681836126e9565b905061372281846126e9565b9050808460015b60200201525050505050565b5f5f5f61376b61376161374989601c615118565b6107806137578b6012615118565b8a606001516126e9565b8760800151612704565b90506137a48161077b61379a6137828b601d615118565b6107806137908d6013615118565b8c606001516126e9565b8960800151612704565b90506137c98161077b61379a6137bb8b601e615118565b6107806137908d6014615118565b90506137ee8161077b61379a6137e08b601f615118565b6107806137908d6015615118565b92505f905061381261376161380489601c615118565b6107806137578b600e615118565b90506138378161077b61379a6138298b601d615118565b6107806137908d600f615118565b905061385c8161077b61379a61384e8b601e615118565b6107806137908d6010615118565b90506138818161077b61379a6138738b601f615118565b6107806137908d6011615118565b91505f90506138a86138a2613897896020615118565b6107808a601a615118565b846126e9565b90506138dd8161079e6138d76138bf8b6028615118565b6107806138cd8d601b615118565b8c60a001516126e9565b856126e9565b90506138e981856126e9565b6040860152505f61390c6138d761390189601b615118565b61077b8a6028615118565b9050808560035b602002015250505050505050565b5f5f61397f61396761394f61393a61379a8a6016615118565b6107806139488b6017615118565b8a516126e9565b61078061395d8a6018615118565b89602001516126e9565b610780613975896019615118565b88604001516126e9565b91505f6139b661399d61399389601c615118565b8860800151612704565b6107806139ab8a6003615118565b61077b8b6024615118565b90505f6139df6139c789601d615118565b6107806139d48b5f615118565b61077b8c6025615118565b90505f613a096139f08a601e615118565b6107806139fe8c6001615118565b61077b8d6026615118565b9050613a48613a30613a2285610780868d5f01516126e9565b610780848c602001516126e9565b610780613a3e8c6004615118565b8b604001516126e9565b93505050505f613a5c6138a2886021615118565b90505f613a6d6138a2896021615118565b90505f613aa5613a8c613a818b6023615118565b6107808c6006615118565b61079e613a9a8c6023615118565b61077b8d6006615118565b90505f613ac9613ac3613ab887896126e9565b61077b8d6021615118565b8361271d565b9050613ad581886126e9565b90505f613afd613aef613ae98d6006615118565b876126e9565b61079e613ae98e6022615118565b90505f613b0b8c6023615118565b90505f613b1b613ac383846126e9565b60808c0185905260a08c018490529050613b35818b6126e9565b8b6006602002015250505050505050505050505050565b5f613b585f600161271d565b90505f613b665f600261271d565b90505f613b745f600361271d565b90505f613b90613b8588601d615118565b61079e89601c615118565b90505f613bac613ba189601e615118565b61079e8a601d615118565b90505f613bc8613bbd8a601f615118565b61079e8b601e615118565b90505f613be4613bd98b6024615118565b61079e8c601f615118565b905083613bf58161077b818b612704565b9050613c058161077b878a612704565b9050613c158161077b8789612704565b9050613c268161077b8d6008615118565b9050613c32818a6126e9565b60e08b01525082613c478161077b818b612704565b9050613c578161077b868a612704565b9050613c678161077b8689612704565b9050613c788161077b8d6008615118565b9050613c84818a6126e9565b6101008b01525081613c9a8161077b818b612704565b9050613caa8161077b858a612704565b9050613cba8161077b8589612704565b9050613ccb8161077b8d6008615118565b9050613cd7818a6126e9565b6101208b01525080613ced8161077b818b612704565b9050613cfd8161077b848a612704565b9050613d0d8161077b8489612704565b9050613d1e8161077b8d6008615118565b9050613d2a818a6126e9565b610140909a019990995250505050505050505050565b613d796040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613d8484601d615118565b8152613d9184601e615118565b6020820152613da1846024615118565b6040820152613db1846027615118565b6060820152613dc1846026615118565b6080820152613dd1846025615118565b60a08201525f613de2856002615118565b90505f613def865f615118565b90505f613e038460400151855f015161271d565b90505f613e18856020015186602001516126e9565b606086015190915086905f90613e2e90806126e9565b90505f613e4c613e4689602001518a606001516126e9565b886126e9565b90505f613e6b613e648a60a001518b60400151612704565b8a51612704565b9050613e7a613ae982886126e9565b9050613ea1613e9b613e95613e8f848761271d565b8861271d565b84612704565b83612704565b9050613ec9613ebe613eb383876126e9565b61077b8f6009615118565b61077b60018a61271d565b6101608c015250505050602085015160808601515f91613ee891612704565b90505f613f06613efc8860600151886126e9565b886020015161271d565b90505f613f2a613f1684876126e9565b6107806138d78b60a001518c5f015161271d565b9050613f52613f47613f3c838c6126e9565b61077b8e6009615118565b61077b60018961271d565b6101808b0152505f9150613f739050613f6c836011612704565b87516126e9565b90505f613f808384612704565b9050613f8c8182612704565b90505f613f9a8360096126e9565b9050613fc3613fbd6138a2613fb68b60a001518c5f0151612704565b8b51612704565b8261271d565b60c089018190525f90613fde90613e4690613eb3908d6126e9565b9050613ff18b600b602002015182612704565b6101608c0152505086515f92506140189150613f6c906140119080612704565b8851612704565b90505f6140586140338361077b8a5f01518b60a0015161271d565b602089015161079e906140469080612704565b61077b8b602001518c60800151612704565b905061407589600c6020020151610780613e46613eb3858d6126e9565b89600c602002015250505050505050505050565b6140f3604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61410b61410186601e615118565b85604001516126e9565b80825261412a9061078061412088601d615118565b87602001516126e9565b80825261413f90610780613f6c88601c615118565b80825261415190610780876001615118565b8082526020820181905261416a9061079e87601f615118565b815261418561417a866024615118565b61079e87601c615118565b60808201526141a3614198866027615118565b61079e87601f615118565b606082015260808101516141bc9061077b81600161271d565b6101c082015260808101516141fc906141f2906141eb9061077b60015f5160206159e15f395f51905f5261572f565b6001612704565b82606001516126e9565b60a08201819052614232906142249061077b614219896002615118565b61077b8a6003615118565b61077b6138d788600a615118565b83600e60200201526101c0810151614256906142249061077b614219896002615118565b6101e0840152805161427b9061077b614270886002615118565b61077b896003615118565b6101208201525f61429a61429087601f615118565b836020015161271d565b90506142ab8161077b83600161271d565b60e08301526142c86142be876026615118565b86604001516126e9565b604083018190526142eb906107806142e1896025615118565b88602001516126e9565b6040830181905261430b90610780614304896024615118565b88516126e9565b604083015261432861431e876027615118565b836040015161271d565b60408301525f61434761433c886026615118565b61079e89601e615118565b90506143996143746135f06141eb866080015160015f5160206159e15f395f51905f5261077b919061572f565b61077b6141eb866040015160015f5160206159e15f395f51905f5261077b919061572f565b60c084015260408301516143bb906143b190806126e9565b846040015161271d565b61010084015260c08301516143e7906143d99061077b8a6004615118565b61077b613ae98a600a615118565b6102008601526101c0830151614406906143d99061077b8a6004615118565b610220860152610100830151614425906143d99061077b8a6004615118565b61024086015260e083015161443f9061077b896004615118565b61014084015261445e614453886025615118565b61079e89601d615118565b610160840152608083015161449c9061433c90614491906141eb9061077b60015f5160206159e15f395f51905f5261572f565b8561016001516126e9565b61018084018190526101208401516101a085018190526144d3916107809061077b6144c88c6005615118565b61077b8d6002615118565b6101a0840181905283516144f391906107809061077b6144c88c5f615118565b6101a0840181905261014084015161450b9190612704565b6101a084018190526145259061077b613ae98a600a615118565b6101a0840181905285600d613913565b61456e6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6145a361458a61457f86601c615118565b61077b876025615118565b610780614598876024615118565b61077b88601d615118565b81526145e86145dd6145c46145b987601c615118565b61077b88601f615118565b6107806145d288601d615118565b61077b89601e615118565b61079e866026615118565b604082018190526145fd90600160441b6126e9565b604082018190526146139061079e866027615118565b6040820181905281516146269190612704565b6040820181905261463c9061077b866005615118565b6040820152805161465190600160441b6126e9565b80825261467190610780614666876024615118565b61077b886025615118565b808252602082018190526146989061079e61468d87601e615118565b61078088601f615118565b602082018190526146ae9061077b866004615118565b60208201528051606082018190526146cb9061078086601f615118565b606082018190526146ef9061079e6146e4876026615118565b610780886027615118565b606082018190526147049061077b865f615118565b8160600181815250505f61472d61472383602001518460400151612704565b8360600151612704565b905061473e8161077b876003615118565b905061475661474e866025615118565b6140006126e9565b6080830181905261476c90610780876024615118565b6080830181905261477f906140006126e9565b608083018190526147959061078087601e615118565b608083018190526147a8906140006126e9565b608083018190526147be9061078087601d615118565b608083018190526147d1906140006126e9565b608083018190526147e79061078087601c615118565b608083018190526147fd9061079e87601f615118565b608083018190526148139061077b876005615118565b608083015261482661474e866026615118565b60a0830181905261483c90610780876025615118565b60a0830181905261484f906140006126e9565b60a0830181905261486590610780876024615118565b60a08301819052614878906140006126e9565b60a0830181905261488e9061078087601f615118565b60a083018190526148a1906140006126e9565b60a083018190526148b79061078087601e615118565b60a083018190526148cd9061079e876027615118565b60a083018190526148e29061077b875f615118565b60a0830181905260808301515f916148fa9190612704565b905061490b8161077b886004615118565b90506149178282612704565b60c084018190526149309061077b613ae989600b615118565b60c084018190528560136020020152505050505050565b6149bd6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6149d66149cb85601c615118565b610780866002615118565b81526149f16149e685601d615118565b610780866003615118565b6020820152614a0f614a0485601e615118565b610780866004615118565b6040820152614a2d614a2285601f615118565b610780866005615118565b60608201528051614a5f90614a5890614a5190614a4a90806126e9565b84516126e9565b83516126e9565b82516126e9565b60808201526020810151614a9d90614a9390614a8990614a7f90806126e9565b84602001516126e9565b83602001516126e9565b82602001516126e9565b60a08201526040810151614adb90614ad190614ac790614abd90806126e9565b84604001516126e9565b83604001516126e9565b82604001516126e9565b60c08201526060810151614b0f906141f290614b0590614afb90806126e9565b84606001516126e9565b83606001516126e9565b60e0820152608081015160a0820151614b289190612704565b61010082015260c081015160e0820151614b429190612704565b61012082015260a0810151614b6690614b5b9080612704565b826101200151612704565b61014082015260e0810151614b8a90614b7f9080612704565b826101000151612704565b610160820152610120810151614ba09080612704565b6101e08201819052614bc190614bb69080612704565b826101600151612704565b6101e0820152610100810151614bd79080612704565b6101a08201819052614bf890614bed9080612704565b826101400151612704565b6101a08201819052610160820151614c0f91612704565b6101808201526101408101516101e0820151614c2b9190612704565b6101c0820152614c3f6135f085600c615118565b6102008201819052610280840151610180830151614c6a926107809161077b9061079e8a6024615118565b8360146020020152614c9a836015602002015161078083610200015161077b856101a0015161079e8a6025615118565b8360156020020152614cca836016602002015161078083610200015161077b856101c0015161079e8a6026615118565b8360166020020152614cfa836017602002015161078083610200015161077b856101e0015161079e8a6027615118565b836017602002015250505050565b614d5a6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614d8f7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76126d1565b8152602001614dbd7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6126d1565b8152602001614dea7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156126d1565b8152602001614e187f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6126d1565b90529050614e35614e2a86601c615118565b610780876002615118565b6101208301819052614e7490614e6990614e5e90614e5390806126e9565b8561012001516126e9565b8461012001516126e9565b8361012001516126e9565b8252614e8185601d615118565b6020830152614e9185601e615118565b6040830152614ea185601f615118565b606083015281516020830151614ec99161472391614ebf9190612704565b8460400151612704565b6080830152614edc6138a286600d615118565b6101408301528151614efd90614ef390835f6114a5565b8360800151612704565b60a0830152614f29846018602002015161078084610140015161077b8660a0015161079e8b6024615118565b6103008501526020820151614f4490614ef3908360016114a5565b60c0830152614f70846019602002015161078084610140015161077b8660c0015161079e8b6025615118565b6103208501526040820151614f8b90614ef3908360026114a5565b60e0830152614fb784601a602002015161078084610140015161077b8660e0015161079e8b6026615118565b6103408501526060820151614fd290614ef3908360036114a5565b61010083015261500084601b602002015161078084610140015161077b86610100015161079e8b6027615118565b84601b613729565b815160015b601c81101561505a57615050826107808684601c811061502f5761502f61577c565b60200201518661504060018761572f565b601b81106114a5576114a561577c565b915060010161500d565b5092915050565b61506961544b565b61507161544b565b604051835181526020840151602082015284604082015260408160608360075afa8061509b575f5ffd5b5080518252602080820151908301526060016040529392505050565b6150bf61544b565b6150c761544b565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806150fc575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561512c5761512c6159ac565b6029811061513c5761513c61577c565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161516e61544b565b815260200161517b61544b565b815260200161518861544b565b815260200161519561544b565b81526020016151a261544b565b81526020016151af61544b565b81526020016151bc61544b565b81526020016151c961544b565b81526020016151d661544b565b81526020016151e361544b565b81526020016151f061544b565b81526020016151fd61544b565b815260200161520a61544b565b815260200161521761544b565b815260200161522461544b565b815260200161523161544b565b815260200161523e61544b565b815260200161524b61544b565b815260200161525861544b565b815260200161526561544b565b815260200161527261544b565b815260200161527f61544b565b815260200161528c61544b565b815260200161529961544b565b81526020016152a661544b565b81526020016152b361544b565b81526020016152c061544b565b81526020016152cd61544b565b905290565b604051806101e001604052806152e6615588565b81526020016152f361544b565b815260200161530061544b565b815260200161530d61544b565b815260200161531a61544b565b815260200161532761544b565b815260200161533461544b565b815260200161534161544b565b815260200161534e61544b565b815260200161535b6155a7565b81526020016153686155d5565b81526020016153756155f4565b81526020016152b36154d0565b604051806101000160405280615396615463565b81526020016153a3615493565b81526020016153b06154d0565b81526020016153bd6154d0565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f8152602001615419615622565b8152602001615426615622565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6155bf61554b565b8152602001906001900390816155b75790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b61560c61544b565b8152602001906001900390816156045790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615653575f5ffd5b84356001600160401b03811115615668575f5ffd5b8501601f81018713615678575f5ffd5b80356001600160401b0381111561568d575f5ffd5b87602082840101111561569e575f5ffd5b6020918201955093508501356001600160401b038111156156bd575f5ffd5b8501601f810187136156cd575f5ffd5b80356001600160401b038111156156e2575f5ffd5b8760208260051b84010111156156f6575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176126fe576126fe615704565b818103818111156126fe576126fe615704565b808201808211156126fe576126fe615704565b5f5f85851115615763575f5ffd5b8386111561576f575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016157b5576157b5615704565b5060010190565b803560208310156126fe575f19602084900360031b1b1692915050565b5f826157f357634e487b7160e01b5f52601260045260245ffd5b500690565b5f8183825b600581101561581c5781518352602092830192909101906001016157fd565b50505060a08201905092915050565b5f8183825b600981101561584f578151835260209283019290910190600101615830565b5050506101208201905092915050565b5f8183825b602a811015615883578151835260209283019290910190600101615864565b5050506105408201905092915050565b81515f90829060208501835b828110156158bd57815184526020938401939091019060010161589f565b509195945050505050565b5f8183825b60038110156158ec5781518352602092830192909101906001016158cd565b50505060608201905092915050565b5f8161590957615909615704565b505f190190565b5f8183825b6008811015615934578151835260209283019290910190600101615915565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f6020828403121561596a575f5ffd5b81518015158114610333575f5ffd5b5f8183825b600781101561599d57815183526020928301929091019060010161597e565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
4
|
/**
|
|
5
5
|
* HonkVerifier link references.
|
|
6
6
|
*/ export const HonkVerifierLinkReferences = {};
|
package/dest/InboxBytecode.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Inbox bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const InboxBytecode = "0x610140604052348015610010575f5ffd5b50604051611d44380380611d4483398101604081905261002f91610418565b6001600160a01b03841660805260a082905260e0819052610051816002610554565b61010052604080516060810182525f8082526020820152908101610076600180610566565b6001600160401b03908116909152815160028054602085015160409095015160809390931c6001600160c01b031990911617600160801b94841694909402939093176001600160c01b0316600160c01b91909216021790556100d85f82610184565b6101135f60e0516101005160015f6001806100f39190610566565b6001600160401b0316815260208101919091526040015f2092919061022d565b610120818152505083833060a05160405161012d906103f4565b6001600160a01b0394851681529284166020840152921660408201526060810191909152608001604051809103905ff08015801561016d573d5f5f3e3d5ffd5b506001600160a01b031660c0525061062d92505050565b5f8080526020839052604081205560015b81811161022857610208835f6101ac600185610585565b81526020019081526020015f2054845f015f6001856101cb9190610585565b81526020019081526020015f20546040516020016101f3929190918252602082015260400190565b60408051601f1981840301815291905261032e565b5f828152602085905260409020558061022081610598565b915050610195565b505050565b83545f9080820361024d5750505f82815260208490526040902054610326565b82810361026b5750505f828152600185016020526040902054610326565b5f610277600183610585565b90505f610283826103c9565b5f81815260018a01602052604090205490915082821c825b8881101561031d5760018083161480156102e2575f82815260018d016020908152604091829020548251918201529081018590526102db906060016101f3565b9350610310565b5f82815260208c815260409182902054915161030d926101f392889201918252602082015260400190565b93505b50600191821c910161029b565b50909450505050505b949350505050565b6040805160018082528183019092525f916020820181803683370190505060028360405161035c91906105c7565b602060405180830381855afa158015610377573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061039a91906105d2565b6040516020016103ab9291906105e9565b6040516020818303038152906040526103c390610607565b92915050565b5f80825b806001166001036103ed57816103e281610598565b92505060011c6103cd565b5092915050565b6107f88061154c83390190565b6001600160a01b0381168114610415575f5ffd5b50565b5f5f5f5f6080858703121561042b575f5ffd5b845161043681610401565b602086015190945061044781610401565b6040860151606090960151949790965092505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104ac578085048111156104905761049061045d565b600184161561049e57908102905b60019390931c928002610475565b935093915050565b5f826104c2575060016103c3565b816104ce57505f6103c3565b81600181146104e457600281146104ee5761050a565b60019150506103c3565b60ff8411156104ff576104ff61045d565b50506001821b6103c3565b5060208310610133831016604e8410600b841016171561052d575081810a6103c3565b6105395f198484610471565b805f190482111561054c5761054c61045d565b029392505050565b5f61055f83836104b4565b9392505050565b6001600160401b0381811683821601908111156103c3576103c361045d565b818103818111156103c3576103c361045d565b5f600182016105a9576105a961045d565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61055f82846105b0565b5f602082840312156105e2575f5ffd5b5051919050565b5f6105f482856105b0565b60ff199390931683525050601f01919050565b80516020808301519190811015610627575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516101005161012051610e926106ba5f395f6107e201525f8181610514015281816105660152818161083e01526108ee01525f818161081d01526108cd01525f818161018b0152818161023301526105bb01525f81816102c3015261034001525f81816102740152818161041a0152818161076f01526109230152610e925ff3fe608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c80638ccf6b951161006e5780638ccf6b95146102315780639500ac30146102575780639611c5c21461026f5780639b24b3b014610296578063e97d5a68146102a9578063ffa1ad74146102be575f5ffd5b80631865c57d146100b55780631f6d510b1461015e5780632fb131c814610186578063483f31ab146101c55780635fd3c809146101e65780637a50802214610212575b5f5ffd5b61011c604080516060810182525f808252602082018190529181019190915250604080516060810182526002546001600160801b0319608082901b1682526001600160401b03600160801b820481166020840152600160c01b909104169181019190915290565b6040805182516001600160801b03191681526020808401516001600160401b039081169183019190915292820151909216908201526060015b60405180910390f35b61017161016c366004610cc9565b6102e5565b60408051928352602083019190915201610155565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610155565b6101d86101d3366004610d40565b610763565b604051908152602001610155565b600254600160c01b90046001600160401b03165b6040516001600160401b039091168152602001610155565b6101d8610220366004610d40565b60016020525f908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b600254600160801b90046001600160401b03166101fa565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101d86102a4366004610d40565b6108b9565b6102bc6102b7366004610d40565b610918565b005b6101d87f000000000000000000000000000000000000000000000000000000000000000081565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000811115610338576040516353bb503760e11b815260040161032f91815260200190565b60405180910390fd5b5060208501517f000000000000000000000000000000000000000000000000000000000000000081811461038857604051632e26721160e21b81526004810192909252602482015260440161032f565b508490507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156103d0576040516311d1480560e21b815260040161032f91815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000081111561041657604051633b379f8b60e21b815260040161032f91815260200190565b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633f47ad066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610474573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104989190610d57565b116104b657604051630c0a9fb960e11b815260040160405180910390fd5b604080516060810182526002546001600160801b0319608082901b168083526001600160401b03600160801b830481166020808601829052600160c01b9094049091168486018190525f8181526001909452949092208054939491937f00000000000000000000000000000000000000000000000000000000000000000361056057610543600183610d82565b6001600160401b0381165f90815260016020526040902090925090505b80545f907f000000000000000000000000000000000000000000000000000000000000000061059960016001600160401b038716610da1565b6105a39190610db4565b6105ad9190610dcb565b90505f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105e657336105e9565b60055b6040805160e0810182526001600160a01b03831660a082019081524660c08301528152602081018f90529081018d9052606081018c9052608081018490529091505f610634826109cc565b90506106408582610a4e565b506040516001600160801b031989166020820152603081018290525f9060500160408051601f198184030181528282528051602091820120606084019092526001600160801b031982168352909250810161069c8a6001610d82565b6001600160401b0390811682528981166020928301819052835160028054948601516040968701518516600160c01b026001600160c01b0391909516600160801b026001600160c01b031990961660809390931c9290921794909417169190911790915590518391907fe3afb584bcff3adb9d452d2e1ccbcd4aee164ae2a8cdab637aecf866a53fbb779061074790899086909182526001600160801b031916602082015260400190565b60405180910390a3509d929c50919a5050505050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107ad5760405163e5336a6b60e01b815260040160405180910390fd5b600254600160c01b90046001600160401b03168083106107e05760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001841115610865575f848152600160205260408120610862917f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b90505b6001600160401b03821661087a856001610dcb565b036108b25761088a826001610d82565b600280546001600160401b0392909216600160c01b026001600160c01b039092169190911790555b9392505050565b5f81815260016020526040812061091290827f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109615760405163e5336a6b60e01b815260040160405180910390fd5b61097461096f826002610dcb565b610bd0565b600280546001600160c01b0316600160c01b6001600160401b03938416810291909117918290556040519104909116907f826300da0d32306d628f39d6b4b0460fe249f87d056ac97243499ed3c6d7fcdc905f90a250565b5f610912825f01518360200151846040015185606001518660800151604051602001610a3a95949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610c09565b81545f9081610a5c82610c9e565b9050835f5b82811015610a9f575f81815260018801602090815260409182902054825191820152908101839052610a9590606001610a3a565b9150600101610a61565b505f82815260018701602052604081208290558654908790610ac083610dde565b90915550929695505050505050565b83545f90808203610aef5750505f82815260208490526040902054610bc8565b828103610b0d5750505f828152600185016020526040902054610bc8565b5f610b19600183610da1565b90505f610b2582610c9e565b5f81815260018a01602052604090205490915082821c825b88811015610bbf576001808316148015610b84575f82815260018d01602090815260409182902054825191820152908101859052610b7d90606001610a3a565b9350610bb2565b5f82815260208c8152604091829020549151610baf92610a3a92889201918252602082015260400190565b93505b50600191821c9101610b3d565b50909450505050505b949350505050565b5f6001600160401b03821115610c0557604080516306dfcc6560e41b815260048101919091526024810183905260440161032f565b5090565b6040805160018082528183019092525f9160208201818036833701905050600283604051610c379190610e0d565b602060405180830381855afa158015610c52573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610c759190610d57565b604051602001610c86929190610e18565b60405160208183030381529060405261091290610e36565b5f80825b80600116600103610cc25781610cb781610dde565b92505060011c610ca2565b5092915050565b5f5f5f8385036080811215610cdc575f5ffd5b6040811215610ce9575f5ffd5b50604051604081018181106001600160401b0382111715610d1857634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f60208284031215610d50575f5ffd5b5035919050565b5f60208284031215610d67575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b03818116838216019081111561091257610912610d6e565b8181038181111561091257610912610d6e565b808202811582820484141761091257610912610d6e565b8082018082111561091257610912610d6e565b5f60018201610def57610def610d6e565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6108b28284610df6565b5f610e238285610df6565b60ff199390931683525050601f01919050565b80516020808301519190811015610e56575f198160200360031b1b821691505b5091905056fea26469706673582212206a889e10f44222e6fd50f79a60407566941615a39de452d2a6b9cc0fafcd5f6464736f6c634300081b0033610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea264697066735822122078587733df24de37723541403086a50535437a8bea37d6209107dc4fd209c1c664736f6c634300081b0033";
|
|
4
|
+
export declare const InboxBytecode = "0x610140604052348015610010575f5ffd5b50604051611d44380380611d4483398101604081905261002f91610418565b6001600160a01b03841660805260a082905260e0819052610051816002610554565b61010052604080516060810182525f8082526020820152908101610076600180610566565b6001600160401b03908116909152815160028054602085015160409095015160809390931c6001600160c01b031990911617600160801b94841694909402939093176001600160c01b0316600160c01b91909216021790556100d85f82610184565b6101135f60e0516101005160015f6001806100f39190610566565b6001600160401b0316815260208101919091526040015f2092919061022d565b610120818152505083833060a05160405161012d906103f4565b6001600160a01b0394851681529284166020840152921660408201526060810191909152608001604051809103905ff08015801561016d573d5f5f3e3d5ffd5b506001600160a01b031660c0525061062d92505050565b5f8080526020839052604081205560015b81811161022857610208835f6101ac600185610585565b81526020019081526020015f2054845f015f6001856101cb9190610585565b81526020019081526020015f20546040516020016101f3929190918252602082015260400190565b60408051601f1981840301815291905261032e565b5f828152602085905260409020558061022081610598565b915050610195565b505050565b83545f9080820361024d5750505f82815260208490526040902054610326565b82810361026b5750505f828152600185016020526040902054610326565b5f610277600183610585565b90505f610283826103c9565b5f81815260018a01602052604090205490915082821c825b8881101561031d5760018083161480156102e2575f82815260018d016020908152604091829020548251918201529081018590526102db906060016101f3565b9350610310565b5f82815260208c815260409182902054915161030d926101f392889201918252602082015260400190565b93505b50600191821c910161029b565b50909450505050505b949350505050565b6040805160018082528183019092525f916020820181803683370190505060028360405161035c91906105c7565b602060405180830381855afa158015610377573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061039a91906105d2565b6040516020016103ab9291906105e9565b6040516020818303038152906040526103c390610607565b92915050565b5f80825b806001166001036103ed57816103e281610598565b92505060011c6103cd565b5092915050565b6107f88061154c83390190565b6001600160a01b0381168114610415575f5ffd5b50565b5f5f5f5f6080858703121561042b575f5ffd5b845161043681610401565b602086015190945061044781610401565b6040860151606090960151949790965092505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156104ac578085048111156104905761049061045d565b600184161561049e57908102905b60019390931c928002610475565b935093915050565b5f826104c2575060016103c3565b816104ce57505f6103c3565b81600181146104e457600281146104ee5761050a565b60019150506103c3565b60ff8411156104ff576104ff61045d565b50506001821b6103c3565b5060208310610133831016604e8410600b841016171561052d575081810a6103c3565b6105395f198484610471565b805f190482111561054c5761054c61045d565b029392505050565b5f61055f83836104b4565b9392505050565b6001600160401b0381811683821601908111156103c3576103c361045d565b818103818111156103c3576103c361045d565b5f600182016105a9576105a961045d565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61055f82846105b0565b5f602082840312156105e2575f5ffd5b5051919050565b5f6105f482856105b0565b60ff199390931683525050601f01919050565b80516020808301519190811015610627575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516101005161012051610e926106ba5f395f6107e201525f8181610514015281816105660152818161083e01526108ee01525f818161081d01526108cd01525f818161018b0152818161023301526105bb01525f81816102c3015261034001525f81816102740152818161041a0152818161076f01526109230152610e925ff3fe608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c80638ccf6b951161006e5780638ccf6b95146102315780639500ac30146102575780639611c5c21461026f5780639b24b3b014610296578063e97d5a68146102a9578063ffa1ad74146102be575f5ffd5b80631865c57d146100b55780631f6d510b1461015e5780632fb131c814610186578063483f31ab146101c55780635fd3c809146101e65780637a50802214610212575b5f5ffd5b61011c604080516060810182525f808252602082018190529181019190915250604080516060810182526002546001600160801b0319608082901b1682526001600160401b03600160801b820481166020840152600160c01b909104169181019190915290565b6040805182516001600160801b03191681526020808401516001600160401b039081169183019190915292820151909216908201526060015b60405180910390f35b61017161016c366004610cc9565b6102e5565b60408051928352602083019190915201610155565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610155565b6101d86101d3366004610d40565b610763565b604051908152602001610155565b600254600160c01b90046001600160401b03165b6040516001600160401b039091168152602001610155565b6101d8610220366004610d40565b60016020525f908152604090205481565b7f00000000000000000000000000000000000000000000000000000000000000006101ad565b600254600160801b90046001600160401b03166101fa565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101d86102a4366004610d40565b6108b9565b6102bc6102b7366004610d40565b610918565b005b6101d87f000000000000000000000000000000000000000000000000000000000000000081565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000811115610338576040516353bb503760e11b815260040161032f91815260200190565b60405180910390fd5b5060208501517f000000000000000000000000000000000000000000000000000000000000000081811461038857604051632e26721160e21b81526004810192909252602482015260440161032f565b508490507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156103d0576040516311d1480560e21b815260040161032f91815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000081111561041657604051633b379f8b60e21b815260040161032f91815260200190565b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633f47ad066040518163ffffffff1660e01b8152600401602060405180830381865afa158015610474573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104989190610d57565b116104b657604051630c0a9fb960e11b815260040160405180910390fd5b604080516060810182526002546001600160801b0319608082901b168083526001600160401b03600160801b830481166020808601829052600160c01b9094049091168486018190525f8181526001909452949092208054939491937f00000000000000000000000000000000000000000000000000000000000000000361056057610543600183610d82565b6001600160401b0381165f90815260016020526040902090925090505b80545f907f000000000000000000000000000000000000000000000000000000000000000061059960016001600160401b038716610da1565b6105a39190610db4565b6105ad9190610dcb565b90505f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105e657336105e9565b60055b6040805160e0810182526001600160a01b03831660a082019081524660c08301528152602081018f90529081018d9052606081018c9052608081018490529091505f610634826109cc565b90506106408582610a4e565b506040516001600160801b031989166020820152603081018290525f9060500160408051601f198184030181528282528051602091820120606084019092526001600160801b031982168352909250810161069c8a6001610d82565b6001600160401b0390811682528981166020928301819052835160028054948601516040968701518516600160c01b026001600160c01b0391909516600160801b026001600160c01b031990961660809390931c9290921794909417169190911790915590518391907fe3afb584bcff3adb9d452d2e1ccbcd4aee164ae2a8cdab637aecf866a53fbb779061074790899086909182526001600160801b031916602082015260400190565b60405180910390a3509d929c50919a5050505050505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107ad5760405163e5336a6b60e01b815260040160405180910390fd5b600254600160c01b90046001600160401b03168083106107e05760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001841115610865575f848152600160205260408120610862917f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b90505b6001600160401b03821661087a856001610dcb565b036108b25761088a826001610d82565b600280546001600160401b0392909216600160c01b026001600160c01b039092169190911790555b9392505050565b5f81815260016020526040812061091290827f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610acf565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109615760405163e5336a6b60e01b815260040160405180910390fd5b61097461096f826002610dcb565b610bd0565b600280546001600160c01b0316600160c01b6001600160401b03938416810291909117918290556040519104909116907f826300da0d32306d628f39d6b4b0460fe249f87d056ac97243499ed3c6d7fcdc905f90a250565b5f610912825f01518360200151846040015185606001518660800151604051602001610a3a95949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610c09565b81545f9081610a5c82610c9e565b9050835f5b82811015610a9f575f81815260018801602090815260409182902054825191820152908101839052610a9590606001610a3a565b9150600101610a61565b505f82815260018701602052604081208290558654908790610ac083610dde565b90915550929695505050505050565b83545f90808203610aef5750505f82815260208490526040902054610bc8565b828103610b0d5750505f828152600185016020526040902054610bc8565b5f610b19600183610da1565b90505f610b2582610c9e565b5f81815260018a01602052604090205490915082821c825b88811015610bbf576001808316148015610b84575f82815260018d01602090815260409182902054825191820152908101859052610b7d90606001610a3a565b9350610bb2565b5f82815260208c8152604091829020549151610baf92610a3a92889201918252602082015260400190565b93505b50600191821c9101610b3d565b50909450505050505b949350505050565b5f6001600160401b03821115610c0557604080516306dfcc6560e41b815260048101919091526024810183905260440161032f565b5090565b6040805160018082528183019092525f9160208201818036833701905050600283604051610c379190610e0d565b602060405180830381855afa158015610c52573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610c759190610d57565b604051602001610c86929190610e18565b60405160208183030381529060405261091290610e36565b5f80825b80600116600103610cc25781610cb781610dde565b92505060011c610ca2565b5092915050565b5f5f5f8385036080811215610cdc575f5ffd5b6040811215610ce9575f5ffd5b50604051604081018181106001600160401b0382111715610d1857634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f60208284031215610d50575f5ffd5b5035919050565b5f60208284031215610d67575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b03818116838216019081111561091257610912610d6e565b8181038181111561091257610912610d6e565b808202811582820484141761091257610912610d6e565b8082018082111561091257610912610d6e565b5f60018201610def57610def610d6e565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6108b28284610df6565b5f610e238285610df6565b60ff199390931683525050601f01919050565b80516020808301519190811015610e56575f198160200360031b1b821691505b5091905056fea2646970667358221220e6eaa8d5b424af8fea333ff942eae40318feaa0b563ac86e88fdcd69d63634e464736f6c634300081b0033610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea2646970667358221220e1962afa6161b1b1f5d989dcbf96748c95b299a725ae889a28c1e8cd0fdf6b9664736f6c634300081b0033";
|
|
5
5
|
/**
|
|
6
6
|
* Inbox link references.
|
|
7
7
|
*/
|