{"matchId":"23808761","creationMatch":"exact_match","runtimeMatch":"exact_match","verifiedAt":"2026-03-17T13:24:15Z","creationBytecode":{"onchainBytecode":"0x608060405234801561000f575f80fd5b506108308061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063c7a7b6351461002d575b5f80fd5b61004061003b36600461052c565b610056565b60405161004d91906105e3565b60405180910390f35b606084156100775760405163ad6e405560e01b815260040160405180910390fd5b600182600181111561008b5761008b6105cf565b146100a95760405163ad6e405560e01b815260040160405180910390fd5b6100b384846100d6565b5f6100be85856101a1565b90506100cb8585836102b8565b979650505050505050565b6346c07f8560e11b6100e88284610677565b6001600160e01b0319161461011057604051631a751fb760e11b815260040160405180910390fd5b602061011f82600481866106a5565b610128916106cc565b1461014657604051631a751fb760e11b815260040160405180910390fd5b5f61015482602481866106a5565b61015d916106cc565b90508161017361016e8360406106fd565b6104e5565b61017e9060046106fd565b1461019c57604051631a751fb760e11b815260040160405180910390fd5b505050565b5f6044816101b284602481886106a5565b6101bb916106cc565b6101c69060446106fd565b90505b80821015610291575f6101de858481896106a5565b6101e791610710565b60f81c9050600181111561020d57604051629ec3f960e31b815260040160405180910390fd5b5f868661021b8660356106fd565b6102269282906106a5565b61022f916106cc565b9050828161023e8660556106fd565b61024891906106fd565b111561026657604051629ec3f960e31b815260040160405180910390fd5b6102718160556106fd565b61027b90856106fd565b9350846102878161073e565b95505050506101c9565b825f036102b057604051629ec3f960e31b815260040160405180910390fd5b505092915050565b60608167ffffffffffffffff8111156102d3576102d3610756565b60405190808252806020026020018201604052801561033b57816020015b6103286040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b8152602001906001900390816102f15790505b50905060445f5b838110156104dc57610356858381896106a5565b61035f91610710565b60f81c6001811115610373576103736105cf565b8382815181106103855761038561076a565b60200260200101515f019060018111156103a1576103a16105cf565b908160018111156103b4576103b46105cf565b9052506103c26001836106fd565b91506103d0858381896106a5565b6103d99161077e565b60601c8382815181106103ee576103ee61076a565b6020908102919091018101516001600160a01b039092169101526104136014836106fd565b9150610421858381896106a5565b61042a916106cc565b5f1c83828151811061043e5761043e61076a565b6020026020010151604001818152505060208261045b91906106fd565b91505f61046a8684818a6106a5565b610473916106cc565b90506104806020846106fd565b9250828483815181106104955761049561076a565b60200260200101516060018181525050808483815181106104b8576104b861076a565b6020908102919091010151608001526104d181846106fd565b925050600101610342565b50509392505050565b5f602060016104f484836106fd565b6104fe91906107b1565b61050891906107c4565b6105139060206107e3565b92915050565b803560028110610527575f80fd5b919050565b5f805f805f60808688031215610540575f80fd5b85356001600160a01b0381168114610556575f80fd5b945060208601359350604086013567ffffffffffffffff80821115610579575f80fd5b818801915088601f83011261058c575f80fd5b81358181111561059a575f80fd5b8960208285010111156105ab575f80fd5b6020830195508094505050506105c360608701610519565b90509295509295909350565b634e487b7160e01b5f52602160045260245ffd5b602080825282518282018190525f91906040908185019086840185805b8381101561066957825180516002811061062857634e487b7160e01b84526021600452602484fd5b8652808801516001600160a01b0316888701528681015187870152606080820151908701526080908101519086015260a09094019391860191600101610600565b509298975050505050505050565b6001600160e01b031981358181169160048510156102b05760049490940360031b84901b1690921692915050565b5f80858511156106b3575f80fd5b838611156106bf575f80fd5b5050820193919092039150565b80356020831015610513575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610513576105136106e9565b6001600160f81b031981358181169160018510156102b05760019490940360031b84901b1690921692915050565b5f6001820161074f5761074f6106e9565b5060010190565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b6bffffffffffffffffffffffff1981358181169160148510156102b05760149490940360031b84901b1690921692915050565b81810381811115610513576105136106e9565b5f826107de57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610513576105136106e956fea264697066735822122039836a916c6e77cf306bccef03cf05dd5cb638d5ac3fd8bde58b82582f3be8bb64736f6c63430008150033","recompiledBytecode":"0x608060405234801561000f575f80fd5b506108308061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063c7a7b6351461002d575b5f80fd5b61004061003b36600461052c565b610056565b60405161004d91906105e3565b60405180910390f35b606084156100775760405163ad6e405560e01b815260040160405180910390fd5b600182600181111561008b5761008b6105cf565b146100a95760405163ad6e405560e01b815260040160405180910390fd5b6100b384846100d6565b5f6100be85856101a1565b90506100cb8585836102b8565b979650505050505050565b6346c07f8560e11b6100e88284610677565b6001600160e01b0319161461011057604051631a751fb760e11b815260040160405180910390fd5b602061011f82600481866106a5565b610128916106cc565b1461014657604051631a751fb760e11b815260040160405180910390fd5b5f61015482602481866106a5565b61015d916106cc565b90508161017361016e8360406106fd565b6104e5565b61017e9060046106fd565b1461019c57604051631a751fb760e11b815260040160405180910390fd5b505050565b5f6044816101b284602481886106a5565b6101bb916106cc565b6101c69060446106fd565b90505b80821015610291575f6101de858481896106a5565b6101e791610710565b60f81c9050600181111561020d57604051629ec3f960e31b815260040160405180910390fd5b5f868661021b8660356106fd565b6102269282906106a5565b61022f916106cc565b9050828161023e8660556106fd565b61024891906106fd565b111561026657604051629ec3f960e31b815260040160405180910390fd5b6102718160556106fd565b61027b90856106fd565b9350846102878161073e565b95505050506101c9565b825f036102b057604051629ec3f960e31b815260040160405180910390fd5b505092915050565b60608167ffffffffffffffff8111156102d3576102d3610756565b60405190808252806020026020018201604052801561033b57816020015b6103286040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b8152602001906001900390816102f15790505b50905060445f5b838110156104dc57610356858381896106a5565b61035f91610710565b60f81c6001811115610373576103736105cf565b8382815181106103855761038561076a565b60200260200101515f019060018111156103a1576103a16105cf565b908160018111156103b4576103b46105cf565b9052506103c26001836106fd565b91506103d0858381896106a5565b6103d99161077e565b60601c8382815181106103ee576103ee61076a565b6020908102919091018101516001600160a01b039092169101526104136014836106fd565b9150610421858381896106a5565b61042a916106cc565b5f1c83828151811061043e5761043e61076a565b6020026020010151604001818152505060208261045b91906106fd565b91505f61046a8684818a6106a5565b610473916106cc565b90506104806020846106fd565b9250828483815181106104955761049561076a565b60200260200101516060018181525050808483815181106104b8576104b861076a565b6020908102919091010151608001526104d181846106fd565b925050600101610342565b50509392505050565b5f602060016104f484836106fd565b6104fe91906107b1565b61050891906107c4565b6105139060206107e3565b92915050565b803560028110610527575f80fd5b919050565b5f805f805f60808688031215610540575f80fd5b85356001600160a01b0381168114610556575f80fd5b945060208601359350604086013567ffffffffffffffff80821115610579575f80fd5b818801915088601f83011261058c575f80fd5b81358181111561059a575f80fd5b8960208285010111156105ab575f80fd5b6020830195508094505050506105c360608701610519565b90509295509295909350565b634e487b7160e01b5f52602160045260245ffd5b602080825282518282018190525f91906040908185019086840185805b8381101561066957825180516002811061062857634e487b7160e01b84526021600452602484fd5b8652808801516001600160a01b0316888701528681015187870152606080820151908701526080908101519086015260a09094019391860191600101610600565b509298975050505050505050565b6001600160e01b031981358181169160048510156102b05760049490940360031b84901b1690921692915050565b5f80858511156106b3575f80fd5b838611156106bf575f80fd5b5050820193919092039150565b80356020831015610513575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610513576105136106e9565b6001600160f81b031981358181169160018510156102b05760019490940360031b84901b1690921692915050565b5f6001820161074f5761074f6106e9565b5060010190565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b6bffffffffffffffffffffffff1981358181169160148510156102b05760149490940360031b84901b1690921692915050565b81810381811115610513576105136106e9565b5f826107de57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610513576105136106e956fea264697066735822122039836a916c6e77cf306bccef03cf05dd5cb638d5ac3fd8bde58b82582f3be8bb64736f6c63430008150033","sourceMap":"99:3489:1:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{},"cborAuxdata":{"1":{"value":"0xa264697066735822122039836a916c6e77cf306bccef03cf05dd5cb638d5ac3fd8bde58b82582f3be8bb64736f6c63430008150033","offset":2072}},"transformations":[],"transformationValues":{}},"runtimeBytecode":{"onchainBytecode":"0x608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063c7a7b6351461002d575b5f80fd5b61004061003b36600461052c565b610056565b60405161004d91906105e3565b60405180910390f35b606084156100775760405163ad6e405560e01b815260040160405180910390fd5b600182600181111561008b5761008b6105cf565b146100a95760405163ad6e405560e01b815260040160405180910390fd5b6100b384846100d6565b5f6100be85856101a1565b90506100cb8585836102b8565b979650505050505050565b6346c07f8560e11b6100e88284610677565b6001600160e01b0319161461011057604051631a751fb760e11b815260040160405180910390fd5b602061011f82600481866106a5565b610128916106cc565b1461014657604051631a751fb760e11b815260040160405180910390fd5b5f61015482602481866106a5565b61015d916106cc565b90508161017361016e8360406106fd565b6104e5565b61017e9060046106fd565b1461019c57604051631a751fb760e11b815260040160405180910390fd5b505050565b5f6044816101b284602481886106a5565b6101bb916106cc565b6101c69060446106fd565b90505b80821015610291575f6101de858481896106a5565b6101e791610710565b60f81c9050600181111561020d57604051629ec3f960e31b815260040160405180910390fd5b5f868661021b8660356106fd565b6102269282906106a5565b61022f916106cc565b9050828161023e8660556106fd565b61024891906106fd565b111561026657604051629ec3f960e31b815260040160405180910390fd5b6102718160556106fd565b61027b90856106fd565b9350846102878161073e565b95505050506101c9565b825f036102b057604051629ec3f960e31b815260040160405180910390fd5b505092915050565b60608167ffffffffffffffff8111156102d3576102d3610756565b60405190808252806020026020018201604052801561033b57816020015b6103286040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b8152602001906001900390816102f15790505b50905060445f5b838110156104dc57610356858381896106a5565b61035f91610710565b60f81c6001811115610373576103736105cf565b8382815181106103855761038561076a565b60200260200101515f019060018111156103a1576103a16105cf565b908160018111156103b4576103b46105cf565b9052506103c26001836106fd565b91506103d0858381896106a5565b6103d99161077e565b60601c8382815181106103ee576103ee61076a565b6020908102919091018101516001600160a01b039092169101526104136014836106fd565b9150610421858381896106a5565b61042a916106cc565b5f1c83828151811061043e5761043e61076a565b6020026020010151604001818152505060208261045b91906106fd565b91505f61046a8684818a6106a5565b610473916106cc565b90506104806020846106fd565b9250828483815181106104955761049561076a565b60200260200101516060018181525050808483815181106104b8576104b861076a565b6020908102919091010151608001526104d181846106fd565b925050600101610342565b50509392505050565b5f602060016104f484836106fd565b6104fe91906107b1565b61050891906107c4565b6105139060206107e3565b92915050565b803560028110610527575f80fd5b919050565b5f805f805f60808688031215610540575f80fd5b85356001600160a01b0381168114610556575f80fd5b945060208601359350604086013567ffffffffffffffff80821115610579575f80fd5b818801915088601f83011261058c575f80fd5b81358181111561059a575f80fd5b8960208285010111156105ab575f80fd5b6020830195508094505050506105c360608701610519565b90509295509295909350565b634e487b7160e01b5f52602160045260245ffd5b602080825282518282018190525f91906040908185019086840185805b8381101561066957825180516002811061062857634e487b7160e01b84526021600452602484fd5b8652808801516001600160a01b0316888701528681015187870152606080820151908701526080908101519086015260a09094019391860191600101610600565b509298975050505050505050565b6001600160e01b031981358181169160048510156102b05760049490940360031b84901b1690921692915050565b5f80858511156106b3575f80fd5b838611156106bf575f80fd5b5050820193919092039150565b80356020831015610513575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610513576105136106e9565b6001600160f81b031981358181169160018510156102b05760019490940360031b84901b1690921692915050565b5f6001820161074f5761074f6106e9565b5060010190565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b6bffffffffffffffffffffffff1981358181169160148510156102b05760149490940360031b84901b1690921692915050565b81810381811115610513576105136106e9565b5f826107de57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610513576105136106e956fea264697066735822122039836a916c6e77cf306bccef03cf05dd5cb638d5ac3fd8bde58b82582f3be8bb64736f6c63430008150033","recompiledBytecode":"0x608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063c7a7b6351461002d575b5f80fd5b61004061003b36600461052c565b610056565b60405161004d91906105e3565b60405180910390f35b606084156100775760405163ad6e405560e01b815260040160405180910390fd5b600182600181111561008b5761008b6105cf565b146100a95760405163ad6e405560e01b815260040160405180910390fd5b6100b384846100d6565b5f6100be85856101a1565b90506100cb8585836102b8565b979650505050505050565b6346c07f8560e11b6100e88284610677565b6001600160e01b0319161461011057604051631a751fb760e11b815260040160405180910390fd5b602061011f82600481866106a5565b610128916106cc565b1461014657604051631a751fb760e11b815260040160405180910390fd5b5f61015482602481866106a5565b61015d916106cc565b90508161017361016e8360406106fd565b6104e5565b61017e9060046106fd565b1461019c57604051631a751fb760e11b815260040160405180910390fd5b505050565b5f6044816101b284602481886106a5565b6101bb916106cc565b6101c69060446106fd565b90505b80821015610291575f6101de858481896106a5565b6101e791610710565b60f81c9050600181111561020d57604051629ec3f960e31b815260040160405180910390fd5b5f868661021b8660356106fd565b6102269282906106a5565b61022f916106cc565b9050828161023e8660556106fd565b61024891906106fd565b111561026657604051629ec3f960e31b815260040160405180910390fd5b6102718160556106fd565b61027b90856106fd565b9350846102878161073e565b95505050506101c9565b825f036102b057604051629ec3f960e31b815260040160405180910390fd5b505092915050565b60608167ffffffffffffffff8111156102d3576102d3610756565b60405190808252806020026020018201604052801561033b57816020015b6103286040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b8152602001906001900390816102f15790505b50905060445f5b838110156104dc57610356858381896106a5565b61035f91610710565b60f81c6001811115610373576103736105cf565b8382815181106103855761038561076a565b60200260200101515f019060018111156103a1576103a16105cf565b908160018111156103b4576103b46105cf565b9052506103c26001836106fd565b91506103d0858381896106a5565b6103d99161077e565b60601c8382815181106103ee576103ee61076a565b6020908102919091018101516001600160a01b039092169101526104136014836106fd565b9150610421858381896106a5565b61042a916106cc565b5f1c83828151811061043e5761043e61076a565b6020026020010151604001818152505060208261045b91906106fd565b91505f61046a8684818a6106a5565b610473916106cc565b90506104806020846106fd565b9250828483815181106104955761049561076a565b60200260200101516060018181525050808483815181106104b8576104b861076a565b6020908102919091010151608001526104d181846106fd565b925050600101610342565b50509392505050565b5f602060016104f484836106fd565b6104fe91906107b1565b61050891906107c4565b6105139060206107e3565b92915050565b803560028110610527575f80fd5b919050565b5f805f805f60808688031215610540575f80fd5b85356001600160a01b0381168114610556575f80fd5b945060208601359350604086013567ffffffffffffffff80821115610579575f80fd5b818801915088601f83011261058c575f80fd5b81358181111561059a575f80fd5b8960208285010111156105ab575f80fd5b6020830195508094505050506105c360608701610519565b90509295509295909350565b634e487b7160e01b5f52602160045260245ffd5b602080825282518282018190525f91906040908185019086840185805b8381101561066957825180516002811061062857634e487b7160e01b84526021600452602484fd5b8652808801516001600160a01b0316888701528681015187870152606080820151908701526080908101519086015260a09094019391860191600101610600565b509298975050505050505050565b6001600160e01b031981358181169160048510156102b05760049490940360031b84901b1690921692915050565b5f80858511156106b3575f80fd5b838611156106bf575f80fd5b5050820193919092039150565b80356020831015610513575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610513576105136106e9565b6001600160f81b031981358181169160018510156102b05760019490940360031b84901b1690921692915050565b5f6001820161074f5761074f6106e9565b5060010190565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b6bffffffffffffffffffffffff1981358181169160148510156102b05760149490940360031b84901b1690921692915050565b81810381811115610513576105136106e9565b5f826107de57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610513576105136106e956fea264697066735822122039836a916c6e77cf306bccef03cf05dd5cb638d5ac3fd8bde58b82582f3be8bb64736f6c63430008150033","sourceMap":"99:3489:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;293:477;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;436:29;481:10;;477:65;;514:17;;-1:-1:-1;;;514:17:1;;;;;;;;;;;477:65;568:22;555:9;:35;;;;;;;;:::i;:::-;;551:90;;613:17;;-1:-1:-1;;;613:17:1;;;;;;;;;;;551:90;650:21;666:4;;650:15;:21::i;:::-;681:13;697:22;714:4;;697:16;:22::i;:::-;681:38;;736:27;751:4;;757:5;736:14;:27::i;:::-;729:34;293:477;-1:-1:-1;;;;;;;293:477:1:o;776:841::-;-1:-1:-1;;;912:12:1;919:4;;912:12;:::i;:::-;-1:-1:-1;;;;;;912:45:1;;908:100;;980:17;;-1:-1:-1;;;980:17:1;;;;;;;;;;;908:100;1152:4;1123:8;:4;1128:1;1123:4;;:8;:::i;:::-;1115:17;;;:::i;:::-;:43;1111:98;;1181:17;;-1:-1:-1;;;1181:17:1;;;;;;;;;;;1111:98;1287:14;1320:9;:4;1325:2;1320:4;;:9;:::i;:::-;1312:18;;;:::i;:::-;1304:27;-1:-1:-1;1549:4:1;1520:25;1528:16;1304:27;1528:7;:16;:::i;:::-;1520:7;:25::i;:::-;1516:29;;:1;:29;:::i;:::-;:44;1512:99;;1583:17;;-1:-1:-1;;;1583:17:1;;;;;;;;;;;1512:99;835:782;776:841;;:::o;1623:915::-;1706:13;198:2;1706:13;1815:9;:4;1820:2;1815:4;;:9;:::i;:::-;1807:18;;;:::i;:::-;1784:42;;198:2;1784:42;:::i;:::-;1770:56;;1837:622;1853:3;1844:6;:12;1837:622;;;2090:15;2121:13;:4;2126:6;2121:4;;:13;:::i;:::-;2114:21;;;:::i;:::-;2108:28;;;-1:-1:-1;2166:1:1;2154:13;;2150:74;;;2194:15;;-1:-1:-1;;;2194:15:1;;;;;;;;;;;2150:74;2238:14;2271:4;;2276:11;:6;2285:2;2276:11;:::i;:::-;2271:18;;;;;:::i;:::-;2263:27;;;:::i;:::-;2255:36;-1:-1:-1;2332:3:1;2255:36;2309:11;:6;2318:2;2309:11;:::i;:::-;:20;;;;:::i;:::-;:26;2305:87;;;2362:15;;-1:-1:-1;;;2362:15:1;;;;;;;;;;;2305:87;2416:11;2421:6;2416:2;:11;:::i;:::-;2406:21;;;;:::i;:::-;;-1:-1:-1;2441:7:1;;;;:::i;:::-;;;;1860:599;;1837:622;;;2473:5;2482:1;2473:10;2469:63;;2506:15;;-1:-1:-1;;;2506:15:1;;;;;;;;;;;2469:63;1721:817;;1623:915;;;;:::o;2544:827::-;2648:36;2732:5;2705:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2705:33:1;;;;;;;;;;;;;;;;-1:-1:-1;2696:42:1;-1:-1:-1;198:2:1;2749:14;2788:577;2808:5;2804:1;:9;2788:577;;;2876:13;:4;2881:6;2876:4;;:13;:::i;:::-;2869:21;;;:::i;:::-;2863:28;;2853:39;;;;;;;;:::i;:::-;2831:6;2838:1;2831:9;;;;;;;;:::i;:::-;;;;;;;:19;;:61;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2906:11:1;2916:1;2906:11;;:::i;:::-;;-1:-1:-1;2963:13:1;:4;2906:11;2963:4;;:13;:::i;:::-;2955:22;;;:::i;:::-;2947:31;;2932:6;2939:1;2932:9;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2932:46:1;;;:12;;:46;2992:12;3002:2;2992:12;;:::i;:::-;;-1:-1:-1;3053:13:1;:4;2992:12;3053:4;;:13;:::i;:::-;3045:22;;;:::i;:::-;3037:31;;3019:6;3026:1;3019:9;;;;;;;;:::i;:::-;;;;;;;:15;;:49;;;;;3092:2;3082:12;;;;;:::i;:::-;;-1:-1:-1;3109:12:1;3140:13;:4;3082:12;3140:4;;:13;:::i;:::-;3132:22;;;:::i;:::-;3124:31;-1:-1:-1;3169:12:1;3179:2;3169:12;;:::i;:::-;;;3221:6;3196;3203:1;3196:9;;;;;;;;:::i;:::-;;;;;;;:22;;:31;;;;;3262:4;3241:6;3248:1;3241:9;;;;;;;;:::i;:::-;;;;;;;;;;;:18;;:25;3280:14;3290:4;3280:14;;:::i;:::-;;-1:-1:-1;;3337:3:1;;2788:577;;;;2686:685;2544:827;;;;;:::o;3377:209::-;3432:7;3571:2;3566:1;3552:11;:6;3571:2;3552:11;:::i;:::-;:15;;;;:::i;:::-;3551:22;;;;:::i;:::-;3550:29;;3577:2;3550:29;:::i;:::-;3543:36;3377:209;-1:-1:-1;;3377:209:1:o;14:150:3:-;89:20;;138:1;128:12;;118:40;;154:1;151;144:12;118:40;14:150;;;:::o;169:926::-;277:6;285;293;301;309;362:3;350:9;341:7;337:23;333:33;330:53;;;379:1;376;369:12;330:53;405:23;;-1:-1:-1;;;;;457:31:3;;447:42;;437:70;;503:1;500;493:12;437:70;526:5;-1:-1:-1;578:2:3;563:18;;550:32;;-1:-1:-1;633:2:3;618:18;;605:32;656:18;686:14;;;683:34;;;713:1;710;703:12;683:34;751:6;740:9;736:22;726:32;;796:7;789:4;785:2;781:13;777:27;767:55;;818:1;815;808:12;767:55;858:2;845:16;884:2;876:6;873:14;870:34;;;900:1;897;890:12;870:34;945:7;940:2;931:6;927:2;923:15;919:24;916:37;913:57;;;966:1;963;956:12;913:57;997:2;993;989:11;979:21;;1019:6;1009:16;;;;;1044:45;1085:2;1074:9;1070:18;1044:45;:::i;:::-;1034:55;;169:926;;;;;;;;:::o;1100:127::-;1161:10;1156:3;1152:20;1149:1;1142:31;1192:4;1189:1;1182:15;1216:4;1213:1;1206:15;1232:1278;1477:2;1529:21;;;1599:13;;1502:18;;;1621:22;;;1448:4;;1477:2;1662;;1680:18;;;;1721:15;;;1448:4;;1785:699;1801:6;1796:3;1793:15;1785:699;;;1870:6;1864:13;1906:2;1900:9;1939:1;1935:2;1932:9;1922:160;;-1:-1:-1;;;1973:31:3;;2031:4;2028:1;2021:15;2063:4;1980:1;2053:15;1922:160;2095:15;;2154:11;;;2148:18;-1:-1:-1;;;;;2144:44:3;2130:12;;;2123:66;2229:11;;;2223:18;2209:12;;;2202:40;2265:4;2309:11;;;2303:18;2289:12;;;2282:40;2345:4;2389:11;;;2383:18;2369:12;;;2362:40;2176:3;2422:14;;;;2459:15;;;;2185:1;1818:11;1785:699;;;-1:-1:-1;2501:3:3;;1232:1278;-1:-1:-1;;;;;;;;1232:1278:3:o;2515:323::-;-1:-1:-1;;;;;;2635:19:3;;2711:11;;;;2742:1;2734:10;;2731:101;;;2803:1;2799:11;;;;2796:1;2792:19;2788:28;;;2780:37;2776:46;;;;2515:323;-1:-1:-1;;2515:323:3:o;2843:331::-;2948:9;2959;3001:8;2989:10;2986:24;2983:44;;;3023:1;3020;3013:12;2983:44;3052:6;3042:8;3039:20;3036:40;;;3072:1;3069;3062:12;3036:40;-1:-1:-1;;3098:23:3;;;3143:25;;;;;-1:-1:-1;2843:331:3:o;3179:255::-;3299:19;;3338:2;3330:11;;3327:101;;;-1:-1:-1;;3399:2:3;3395:12;;;3392:1;3388:20;3384:33;3373:45;3179:255;;;;:::o;3439:127::-;3500:10;3495:3;3491:20;3488:1;3481:31;3531:4;3528:1;3521:15;3555:4;3552:1;3545:15;3571:125;3636:9;;;3657:10;;;3654:36;;;3670:18;;:::i;3701:316::-;-1:-1:-1;;;;;;3821:19:3;;3890:11;;;;3921:1;3913:10;;3910:101;;;3982:1;3978:11;;;;3975:1;3971:19;3967:28;;;3959:37;3955:46;;;;3701:316;-1:-1:-1;;3701:316:3:o;4022:135::-;4061:3;4082:17;;;4079:43;;4102:18;;:::i;:::-;-1:-1:-1;4149:1:3;4138:13;;4022:135::o;4162:127::-;4223:10;4218:3;4214:20;4211:1;4204:31;4254:4;4251:1;4244:15;4278:4;4275:1;4268:15;4294:127;4355:10;4350:3;4346:20;4343:1;4336:31;4386:4;4383:1;4376:15;4410:4;4407:1;4400:15;4426:337;-1:-1:-1;;4547:19:3;;4634:11;;;;4665:2;4657:11;;4654:103;;;4727:2;4723:12;;;;4720:1;4716:20;4712:29;;;4704:38;4700:47;;;;4426:337;-1:-1:-1;;4426:337:3:o;4768:128::-;4835:9;;;4856:11;;;4853:37;;;4870:18;;:::i;4901:217::-;4941:1;4967;4957:132;;5011:10;5006:3;5002:20;4999:1;4992:31;5046:4;5043:1;5036:15;5074:4;5071:1;5064:15;4957:132;-1:-1:-1;5103:9:3;;4901:217::o;5123:168::-;5196:9;;;5227;;5244:15;;;5238:22;;5224:37;5214:71;;5265:18;;:::i","linkReferences":{},"cborAuxdata":{"1":{"value":"0xa264697066735822122039836a916c6e77cf306bccef03cf05dd5cb638d5ac3fd8bde58b82582f3be8bb64736f6c63430008150033","offset":2043}},"immutableReferences":{},"transformations":[],"transformationValues":{}},"deployment":{"transactionHash":"0x5a94d02bc8d81fc79a689b43d215a269979c3cb99bc93a136da714a6036ffbaa","blockNumber":"24508078","transactionIndex":"302","deployer":"0x06b2e1A976E97815a4563b5ee511BB1b2732e8EE"},"sources":{"@gnosis-guild/zodiac-core/contracts/core/Operation.sol":{"content":"// SPDX-License-Identifier: LGPL-3.0-only\npragma solidity >=0.7.0 <0.9.0;\n\nenum Operation {\n  Call,\n  DelegateCall\n}\n"},"contracts/periphery/MultiSendUnwrapper.sol":{"content":"// SPDX-License-Identifier: LGPL-3.0-only\npragma solidity >=0.8.17 <0.9.0;\n\nimport \"./Types.sol\";\n\ncontract MultiSendUnwrapper is ITransactionUnwrapper {\n    uint256 private constant OFFSET_START = 68;\n\n    error UnsupportedMode();\n    error MalformedHeader();\n    error MalformedBody();\n\n    function unwrap(\n        address,\n        uint256 value,\n        bytes calldata data,\n        Operation operation\n    ) external pure returns (UnwrappedTransaction[] memory) {\n        if (value != 0) {\n            revert UnsupportedMode();\n        }\n        if (operation != Operation.DelegateCall) {\n            revert UnsupportedMode();\n        }\n        _validateHeader(data);\n        uint256 count = _validateEntries(data);\n        return _unwrapEntries(data, count);\n    }\n\n    function _validateHeader(bytes calldata data) private pure {\n        // first 4 bytes are the selector for multiSend(bytes)\n        if (bytes4(data) != IMultiSend.multiSend.selector) {\n            revert MalformedHeader();\n        }\n\n        // the following 32 bytes are the offset to the bytes param\n        // (always 0x20)\n        if (bytes32(data[4:]) != bytes32(uint256(0x20))) {\n            revert MalformedHeader();\n        }\n\n        // the following 32 bytes are the length of the bytes param\n        uint256 length = uint256(bytes32(data[36:]));\n\n        // validate that the total calldata length matches\n        // it's the 4 + 32 + 32 bytes checked above + the <length> bytes\n        // padded to a multiple of 32\n        if (4 + _ceil32(32 + 32 + length) != data.length) {\n            revert MalformedHeader();\n        }\n    }\n\n    function _validateEntries(\n        bytes calldata data\n    ) private pure returns (uint256 count) {\n        uint256 offset = OFFSET_START;\n        uint256 end = OFFSET_START + uint256(bytes32(data[36:]));\n\n        for (; offset < end; ) {\n            // Per transaction:\n            // Operation   1  bytes\n            // To          20 bytes\n            // Value       32 bytes\n            // Length      32 bytes\n            // Data        Length bytes\n            uint8 operation = uint8(bytes1(data[offset:]));\n            if (operation > 1) {\n                revert MalformedBody();\n            }\n\n            uint256 length = uint256(bytes32(data[offset + 53:]));\n            if (offset + 85 + length > end) {\n                revert MalformedBody();\n            }\n\n            offset += 85 + length;\n            count++;\n        }\n\n        if (count == 0) {\n            revert MalformedBody();\n        }\n    }\n\n    function _unwrapEntries(\n        bytes calldata data,\n        uint256 count\n    ) private pure returns (UnwrappedTransaction[] memory result) {\n        result = new UnwrappedTransaction[](count);\n\n        uint256 offset = OFFSET_START;\n        for (uint256 i; i < count; ) {\n            result[i].operation = Operation(uint8(bytes1(data[offset:])));\n            offset += 1;\n\n            result[i].to = address(bytes20(data[offset:]));\n            offset += 20;\n\n            result[i].value = uint256(bytes32(data[offset:]));\n            offset += 32;\n\n            uint256 size = uint256(bytes32(data[offset:]));\n            offset += 32;\n\n            result[i].dataLocation = offset;\n            result[i].dataSize = size;\n            offset += size;\n\n            unchecked {\n                ++i;\n            }\n        }\n    }\n\n    function _ceil32(uint256 length) private pure returns (uint256) {\n        // pad size. Source: http://www.cs.nott.ac.uk/~psarb2/G51MPC/slides/NumberLogic.pdf\n        return ((length + 32 - 1) / 32) * 32;\n    }\n}\n"},"contracts/periphery/Types.sol":{"content":"// SPDX-License-Identifier: LGPL-3.0-only\npragma solidity >=0.8.17 <0.9.0;\n\nimport \"@gnosis-guild/zodiac-core/contracts/core/Operation.sol\";\n\ninterface IMultiSend {\n    function multiSend(bytes memory transactions) external payable;\n}\n\nstruct UnwrappedTransaction {\n    Operation operation;\n    address to;\n    uint256 value;\n    // We wanna deal in calldata slices. We return location, let invoker slice\n    uint256 dataLocation;\n    uint256 dataSize;\n}\n\ninterface ITransactionUnwrapper {\n    function unwrap(\n        address to,\n        uint256 value,\n        bytes calldata data,\n        Operation operation\n    ) external view returns (UnwrappedTransaction[] memory result);\n}\n\ninterface ICustomCondition {\n    function check(\n        address to,\n        uint256 value,\n        bytes calldata data,\n        Operation operation,\n        uint256 location,\n        uint256 size,\n        bytes12 extra\n    ) external view returns (bool success, bytes32 reason);\n}\n"}},"compilation":{"language":"Solidity","compiler":"solc","compilerVersion":"0.8.21+commit.d9974bed","compilerSettings":{"optimizer":{"runs":100,"enabled":true},"evmVersion":"shanghai"},"name":"MultiSendUnwrapper","fullyQualifiedName":"contracts/periphery/MultiSendUnwrapper.sol:MultiSendUnwrapper"},"abi":[{"name":"MalformedBody","type":"error","inputs":[]},{"name":"MalformedHeader","type":"error","inputs":[]},{"name":"UnsupportedMode","type":"error","inputs":[]},{"name":"unwrap","type":"function","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"operation","type":"uint8","internalType":"enum Operation"}],"outputs":[{"name":"","type":"tuple[]","components":[{"name":"operation","type":"uint8","internalType":"enum Operation"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"dataLocation","type":"uint256","internalType":"uint256"},{"name":"dataSize","type":"uint256","internalType":"uint256"}],"internalType":"struct UnwrappedTransaction[]"}],"stateMutability":"pure"}],"metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[],"name":"MalformedBody","type":"error"},{"inputs":[],"name":"MalformedHeader","type":"error"},{"inputs":[],"name":"UnsupportedMode","type":"error"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Operation","name":"operation","type":"uint8"}],"name":"unwrap","outputs":[{"components":[{"internalType":"enum Operation","name":"operation","type":"uint8"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"dataLocation","type":"uint256"},{"internalType":"uint256","name":"dataSize","type":"uint256"}],"internalType":"struct UnwrappedTransaction[]","name":"","type":"tuple[]"}],"stateMutability":"pure","type":"function"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"compilationTarget":{"contracts/periphery/MultiSendUnwrapper.sol":"MultiSendUnwrapper"},"evmVersion":"shanghai","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":100},"remappings":[]},"sources":{"@gnosis-guild/zodiac-core/contracts/core/Operation.sol":{"keccak256":"0x9e8abf6a9d9e1226e16be3148d83af3b2741cf359c8b95628b499db508f0107f","license":"LGPL-3.0-only","urls":["bzz-raw://8ee9cc34c1d64d95601c88d3e620bf7d596ab4a75da3adbc947035456dafcd24","dweb:/ipfs/QmY5Bh47AKdPVZfNzg2f5UfwuCn8YvHjZpWS5tGL4KDpFT"]},"contracts/periphery/MultiSendUnwrapper.sol":{"keccak256":"0xc36b5d2754e6a3e095cdf2ae6553b2fc42f40671203d4563e889ff9518eb706e","license":"LGPL-3.0-only","urls":["bzz-raw://3915c15dd64ca8135f71d876e92c123a44fed8bf43baba4e0c5bbb24097a9b99","dweb:/ipfs/QmXeYeEwV2LCAPkHtnPaEbJxb7W6P65daRJDe8WP1keTKA"]},"contracts/periphery/Types.sol":{"keccak256":"0x2426d6781827fbe1d703657b5f743e7acbfda02d744658ce0c913c0e851d8afb","license":"LGPL-3.0-only","urls":["bzz-raw://9ede7fedef85a9dbcaa796d010c43fec9ddc627b52319a218d591e3be65f5c41","dweb:/ipfs/QmbAuWjoyMC1WXAqdb1SXLdDet5Tjt6ighmqEr7pjRajM2"]}},"version":1},"storageLayout":{"types":null,"storage":[]},"transientStorageLayout":null,"userdoc":{"kind":"user","methods":{},"version":1},"devdoc":{"kind":"dev","methods":{},"version":1},"sourceIds":{"contracts/periphery/Types.sol":{"id":2},"contracts/periphery/MultiSendUnwrapper.sol":{"id":1},"@gnosis-guild/zodiac-core/contracts/core/Operation.sol":{"id":0}},"additionalInput":null,"stdJsonInput":{"sources":{"contracts/periphery/Types.sol":{"content":"// SPDX-License-Identifier: LGPL-3.0-only\npragma solidity >=0.8.17 <0.9.0;\n\nimport \"@gnosis-guild/zodiac-core/contracts/core/Operation.sol\";\n\ninterface IMultiSend {\n    function multiSend(bytes memory transactions) external payable;\n}\n\nstruct UnwrappedTransaction {\n    Operation operation;\n    address to;\n    uint256 value;\n    // We wanna deal in calldata slices. We return location, let invoker slice\n    uint256 dataLocation;\n    uint256 dataSize;\n}\n\ninterface ITransactionUnwrapper {\n    function unwrap(\n        address to,\n        uint256 value,\n        bytes calldata data,\n        Operation operation\n    ) external view returns (UnwrappedTransaction[] memory result);\n}\n\ninterface ICustomCondition {\n    function check(\n        address to,\n        uint256 value,\n        bytes calldata data,\n        Operation operation,\n        uint256 location,\n        uint256 size,\n        bytes12 extra\n    ) external view returns (bool success, bytes32 reason);\n}\n"},"contracts/periphery/MultiSendUnwrapper.sol":{"content":"// SPDX-License-Identifier: LGPL-3.0-only\npragma solidity >=0.8.17 <0.9.0;\n\nimport \"./Types.sol\";\n\ncontract MultiSendUnwrapper is ITransactionUnwrapper {\n    uint256 private constant OFFSET_START = 68;\n\n    error UnsupportedMode();\n    error MalformedHeader();\n    error MalformedBody();\n\n    function unwrap(\n        address,\n        uint256 value,\n        bytes calldata data,\n        Operation operation\n    ) external pure returns (UnwrappedTransaction[] memory) {\n        if (value != 0) {\n            revert UnsupportedMode();\n        }\n        if (operation != Operation.DelegateCall) {\n            revert UnsupportedMode();\n        }\n        _validateHeader(data);\n        uint256 count = _validateEntries(data);\n        return _unwrapEntries(data, count);\n    }\n\n    function _validateHeader(bytes calldata data) private pure {\n        // first 4 bytes are the selector for multiSend(bytes)\n        if (bytes4(data) != IMultiSend.multiSend.selector) {\n            revert MalformedHeader();\n        }\n\n        // the following 32 bytes are the offset to the bytes param\n        // (always 0x20)\n        if (bytes32(data[4:]) != bytes32(uint256(0x20))) {\n            revert MalformedHeader();\n        }\n\n        // the following 32 bytes are the length of the bytes param\n        uint256 length = uint256(bytes32(data[36:]));\n\n        // validate that the total calldata length matches\n        // it's the 4 + 32 + 32 bytes checked above + the <length> bytes\n        // padded to a multiple of 32\n        if (4 + _ceil32(32 + 32 + length) != data.length) {\n            revert MalformedHeader();\n        }\n    }\n\n    function _validateEntries(\n        bytes calldata data\n    ) private pure returns (uint256 count) {\n        uint256 offset = OFFSET_START;\n        uint256 end = OFFSET_START + uint256(bytes32(data[36:]));\n\n        for (; offset < end; ) {\n            // Per transaction:\n            // Operation   1  bytes\n            // To          20 bytes\n            // Value       32 bytes\n            // Length      32 bytes\n            // Data        Length bytes\n            uint8 operation = uint8(bytes1(data[offset:]));\n            if (operation > 1) {\n                revert MalformedBody();\n            }\n\n            uint256 length = uint256(bytes32(data[offset + 53:]));\n            if (offset + 85 + length > end) {\n                revert MalformedBody();\n            }\n\n            offset += 85 + length;\n            count++;\n        }\n\n        if (count == 0) {\n            revert MalformedBody();\n        }\n    }\n\n    function _unwrapEntries(\n        bytes calldata data,\n        uint256 count\n    ) private pure returns (UnwrappedTransaction[] memory result) {\n        result = new UnwrappedTransaction[](count);\n\n        uint256 offset = OFFSET_START;\n        for (uint256 i; i < count; ) {\n            result[i].operation = Operation(uint8(bytes1(data[offset:])));\n            offset += 1;\n\n            result[i].to = address(bytes20(data[offset:]));\n            offset += 20;\n\n            result[i].value = uint256(bytes32(data[offset:]));\n            offset += 32;\n\n            uint256 size = uint256(bytes32(data[offset:]));\n            offset += 32;\n\n            result[i].dataLocation = offset;\n            result[i].dataSize = size;\n            offset += size;\n\n            unchecked {\n                ++i;\n            }\n        }\n    }\n\n    function _ceil32(uint256 length) private pure returns (uint256) {\n        // pad size. Source: http://www.cs.nott.ac.uk/~psarb2/G51MPC/slides/NumberLogic.pdf\n        return ((length + 32 - 1) / 32) * 32;\n    }\n}\n"},"@gnosis-guild/zodiac-core/contracts/core/Operation.sol":{"content":"// SPDX-License-Identifier: LGPL-3.0-only\npragma solidity >=0.7.0 <0.9.0;\n\nenum Operation {\n  Call,\n  DelegateCall\n}\n"}},"language":"Solidity","settings":{"optimizer":{"runs":100,"enabled":true},"evmVersion":"shanghai"}},"stdJsonOutput":{"sources":{"contracts/periphery/Types.sol":{"id":2},"contracts/periphery/MultiSendUnwrapper.sol":{"id":1},"@gnosis-guild/zodiac-core/contracts/core/Operation.sol":{"id":0}},"contracts":{"contracts/periphery/MultiSendUnwrapper.sol":{"MultiSendUnwrapper":{"abi":[{"name":"MalformedBody","type":"error","inputs":[]},{"name":"MalformedHeader","type":"error","inputs":[]},{"name":"UnsupportedMode","type":"error","inputs":[]},{"name":"unwrap","type":"function","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"operation","type":"uint8","internalType":"enum Operation"}],"outputs":[{"name":"","type":"tuple[]","components":[{"name":"operation","type":"uint8","internalType":"enum Operation"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"dataLocation","type":"uint256","internalType":"uint256"},{"name":"dataSize","type":"uint256","internalType":"uint256"}],"internalType":"struct UnwrappedTransaction[]"}],"stateMutability":"pure"}],"metadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"MalformedBody\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MalformedHeader\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedMode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"unwrap\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dataLocation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dataSize\",\"type\":\"uint256\"}],\"internalType\":\"struct UnwrappedTransaction[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/periphery/MultiSendUnwrapper.sol\":\"MultiSendUnwrapper\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"@gnosis-guild/zodiac-core/contracts/core/Operation.sol\":{\"keccak256\":\"0x9e8abf6a9d9e1226e16be3148d83af3b2741cf359c8b95628b499db508f0107f\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8ee9cc34c1d64d95601c88d3e620bf7d596ab4a75da3adbc947035456dafcd24\",\"dweb:/ipfs/QmY5Bh47AKdPVZfNzg2f5UfwuCn8YvHjZpWS5tGL4KDpFT\"]},\"contracts/periphery/MultiSendUnwrapper.sol\":{\"keccak256\":\"0xc36b5d2754e6a3e095cdf2ae6553b2fc42f40671203d4563e889ff9518eb706e\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://3915c15dd64ca8135f71d876e92c123a44fed8bf43baba4e0c5bbb24097a9b99\",\"dweb:/ipfs/QmXeYeEwV2LCAPkHtnPaEbJxb7W6P65daRJDe8WP1keTKA\"]},\"contracts/periphery/Types.sol\":{\"keccak256\":\"0x2426d6781827fbe1d703657b5f743e7acbfda02d744658ce0c913c0e851d8afb\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://9ede7fedef85a9dbcaa796d010c43fec9ddc627b52319a218d591e3be65f5c41\",\"dweb:/ipfs/QmbAuWjoyMC1WXAqdb1SXLdDet5Tjt6ighmqEr7pjRajM2\"]}},\"version\":1}","userdoc":{"kind":"user","methods":{},"version":1},"devdoc":{"kind":"dev","methods":{},"version":1},"storageLayout":{"types":null,"storage":[]},"transientStorageLayout":null,"evm":{"bytecode":{"object":"608060405234801561000f575f80fd5b506108308061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063c7a7b6351461002d575b5f80fd5b61004061003b36600461052c565b610056565b60405161004d91906105e3565b60405180910390f35b606084156100775760405163ad6e405560e01b815260040160405180910390fd5b600182600181111561008b5761008b6105cf565b146100a95760405163ad6e405560e01b815260040160405180910390fd5b6100b384846100d6565b5f6100be85856101a1565b90506100cb8585836102b8565b979650505050505050565b6346c07f8560e11b6100e88284610677565b6001600160e01b0319161461011057604051631a751fb760e11b815260040160405180910390fd5b602061011f82600481866106a5565b610128916106cc565b1461014657604051631a751fb760e11b815260040160405180910390fd5b5f61015482602481866106a5565b61015d916106cc565b90508161017361016e8360406106fd565b6104e5565b61017e9060046106fd565b1461019c57604051631a751fb760e11b815260040160405180910390fd5b505050565b5f6044816101b284602481886106a5565b6101bb916106cc565b6101c69060446106fd565b90505b80821015610291575f6101de858481896106a5565b6101e791610710565b60f81c9050600181111561020d57604051629ec3f960e31b815260040160405180910390fd5b5f868661021b8660356106fd565b6102269282906106a5565b61022f916106cc565b9050828161023e8660556106fd565b61024891906106fd565b111561026657604051629ec3f960e31b815260040160405180910390fd5b6102718160556106fd565b61027b90856106fd565b9350846102878161073e565b95505050506101c9565b825f036102b057604051629ec3f960e31b815260040160405180910390fd5b505092915050565b60608167ffffffffffffffff8111156102d3576102d3610756565b60405190808252806020026020018201604052801561033b57816020015b6103286040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b8152602001906001900390816102f15790505b50905060445f5b838110156104dc57610356858381896106a5565b61035f91610710565b60f81c6001811115610373576103736105cf565b8382815181106103855761038561076a565b60200260200101515f019060018111156103a1576103a16105cf565b908160018111156103b4576103b46105cf565b9052506103c26001836106fd565b91506103d0858381896106a5565b6103d99161077e565b60601c8382815181106103ee576103ee61076a565b6020908102919091018101516001600160a01b039092169101526104136014836106fd565b9150610421858381896106a5565b61042a916106cc565b5f1c83828151811061043e5761043e61076a565b6020026020010151604001818152505060208261045b91906106fd565b91505f61046a8684818a6106a5565b610473916106cc565b90506104806020846106fd565b9250828483815181106104955761049561076a565b60200260200101516060018181525050808483815181106104b8576104b861076a565b6020908102919091010151608001526104d181846106fd565b925050600101610342565b50509392505050565b5f602060016104f484836106fd565b6104fe91906107b1565b61050891906107c4565b6105139060206107e3565b92915050565b803560028110610527575f80fd5b919050565b5f805f805f60808688031215610540575f80fd5b85356001600160a01b0381168114610556575f80fd5b945060208601359350604086013567ffffffffffffffff80821115610579575f80fd5b818801915088601f83011261058c575f80fd5b81358181111561059a575f80fd5b8960208285010111156105ab575f80fd5b6020830195508094505050506105c360608701610519565b90509295509295909350565b634e487b7160e01b5f52602160045260245ffd5b602080825282518282018190525f91906040908185019086840185805b8381101561066957825180516002811061062857634e487b7160e01b84526021600452602484fd5b8652808801516001600160a01b0316888701528681015187870152606080820151908701526080908101519086015260a09094019391860191600101610600565b509298975050505050505050565b6001600160e01b031981358181169160048510156102b05760049490940360031b84901b1690921692915050565b5f80858511156106b3575f80fd5b838611156106bf575f80fd5b5050820193919092039150565b80356020831015610513575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610513576105136106e9565b6001600160f81b031981358181169160018510156102b05760019490940360031b84901b1690921692915050565b5f6001820161074f5761074f6106e9565b5060010190565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b6bffffffffffffffffffffffff1981358181169160148510156102b05760149490940360031b84901b1690921692915050565b81810381811115610513576105136106e9565b5f826107de57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610513576105136106e956fea264697066735822122039836a916c6e77cf306bccef03cf05dd5cb638d5ac3fd8bde58b82582f3be8bb64736f6c63430008150033","sourceMap":"99:3489:1:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063c7a7b6351461002d575b5f80fd5b61004061003b36600461052c565b610056565b60405161004d91906105e3565b60405180910390f35b606084156100775760405163ad6e405560e01b815260040160405180910390fd5b600182600181111561008b5761008b6105cf565b146100a95760405163ad6e405560e01b815260040160405180910390fd5b6100b384846100d6565b5f6100be85856101a1565b90506100cb8585836102b8565b979650505050505050565b6346c07f8560e11b6100e88284610677565b6001600160e01b0319161461011057604051631a751fb760e11b815260040160405180910390fd5b602061011f82600481866106a5565b610128916106cc565b1461014657604051631a751fb760e11b815260040160405180910390fd5b5f61015482602481866106a5565b61015d916106cc565b90508161017361016e8360406106fd565b6104e5565b61017e9060046106fd565b1461019c57604051631a751fb760e11b815260040160405180910390fd5b505050565b5f6044816101b284602481886106a5565b6101bb916106cc565b6101c69060446106fd565b90505b80821015610291575f6101de858481896106a5565b6101e791610710565b60f81c9050600181111561020d57604051629ec3f960e31b815260040160405180910390fd5b5f868661021b8660356106fd565b6102269282906106a5565b61022f916106cc565b9050828161023e8660556106fd565b61024891906106fd565b111561026657604051629ec3f960e31b815260040160405180910390fd5b6102718160556106fd565b61027b90856106fd565b9350846102878161073e565b95505050506101c9565b825f036102b057604051629ec3f960e31b815260040160405180910390fd5b505092915050565b60608167ffffffffffffffff8111156102d3576102d3610756565b60405190808252806020026020018201604052801561033b57816020015b6103286040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b8152602001906001900390816102f15790505b50905060445f5b838110156104dc57610356858381896106a5565b61035f91610710565b60f81c6001811115610373576103736105cf565b8382815181106103855761038561076a565b60200260200101515f019060018111156103a1576103a16105cf565b908160018111156103b4576103b46105cf565b9052506103c26001836106fd565b91506103d0858381896106a5565b6103d99161077e565b60601c8382815181106103ee576103ee61076a565b6020908102919091018101516001600160a01b039092169101526104136014836106fd565b9150610421858381896106a5565b61042a916106cc565b5f1c83828151811061043e5761043e61076a565b6020026020010151604001818152505060208261045b91906106fd565b91505f61046a8684818a6106a5565b610473916106cc565b90506104806020846106fd565b9250828483815181106104955761049561076a565b60200260200101516060018181525050808483815181106104b8576104b861076a565b6020908102919091010151608001526104d181846106fd565b925050600101610342565b50509392505050565b5f602060016104f484836106fd565b6104fe91906107b1565b61050891906107c4565b6105139060206107e3565b92915050565b803560028110610527575f80fd5b919050565b5f805f805f60808688031215610540575f80fd5b85356001600160a01b0381168114610556575f80fd5b945060208601359350604086013567ffffffffffffffff80821115610579575f80fd5b818801915088601f83011261058c575f80fd5b81358181111561059a575f80fd5b8960208285010111156105ab575f80fd5b6020830195508094505050506105c360608701610519565b90509295509295909350565b634e487b7160e01b5f52602160045260245ffd5b602080825282518282018190525f91906040908185019086840185805b8381101561066957825180516002811061062857634e487b7160e01b84526021600452602484fd5b8652808801516001600160a01b0316888701528681015187870152606080820151908701526080908101519086015260a09094019391860191600101610600565b509298975050505050505050565b6001600160e01b031981358181169160048510156102b05760049490940360031b84901b1690921692915050565b5f80858511156106b3575f80fd5b838611156106bf575f80fd5b5050820193919092039150565b80356020831015610513575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610513576105136106e9565b6001600160f81b031981358181169160018510156102b05760019490940360031b84901b1690921692915050565b5f6001820161074f5761074f6106e9565b5060010190565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b6bffffffffffffffffffffffff1981358181169160148510156102b05760149490940360031b84901b1690921692915050565b81810381811115610513576105136106e9565b5f826107de57634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610513576105136106e956fea264697066735822122039836a916c6e77cf306bccef03cf05dd5cb638d5ac3fd8bde58b82582f3be8bb64736f6c63430008150033","sourceMap":"99:3489:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;293:477;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;436:29;481:10;;477:65;;514:17;;-1:-1:-1;;;514:17:1;;;;;;;;;;;477:65;568:22;555:9;:35;;;;;;;;:::i;:::-;;551:90;;613:17;;-1:-1:-1;;;613:17:1;;;;;;;;;;;551:90;650:21;666:4;;650:15;:21::i;:::-;681:13;697:22;714:4;;697:16;:22::i;:::-;681:38;;736:27;751:4;;757:5;736:14;:27::i;:::-;729:34;293:477;-1:-1:-1;;;;;;;293:477:1:o;776:841::-;-1:-1:-1;;;912:12:1;919:4;;912:12;:::i;:::-;-1:-1:-1;;;;;;912:45:1;;908:100;;980:17;;-1:-1:-1;;;980:17:1;;;;;;;;;;;908:100;1152:4;1123:8;:4;1128:1;1123:4;;:8;:::i;:::-;1115:17;;;:::i;:::-;:43;1111:98;;1181:17;;-1:-1:-1;;;1181:17:1;;;;;;;;;;;1111:98;1287:14;1320:9;:4;1325:2;1320:4;;:9;:::i;:::-;1312:18;;;:::i;:::-;1304:27;-1:-1:-1;1549:4:1;1520:25;1528:16;1304:27;1528:7;:16;:::i;:::-;1520:7;:25::i;:::-;1516:29;;:1;:29;:::i;:::-;:44;1512:99;;1583:17;;-1:-1:-1;;;1583:17:1;;;;;;;;;;;1512:99;835:782;776:841;;:::o;1623:915::-;1706:13;198:2;1706:13;1815:9;:4;1820:2;1815:4;;:9;:::i;:::-;1807:18;;;:::i;:::-;1784:42;;198:2;1784:42;:::i;:::-;1770:56;;1837:622;1853:3;1844:6;:12;1837:622;;;2090:15;2121:13;:4;2126:6;2121:4;;:13;:::i;:::-;2114:21;;;:::i;:::-;2108:28;;;-1:-1:-1;2166:1:1;2154:13;;2150:74;;;2194:15;;-1:-1:-1;;;2194:15:1;;;;;;;;;;;2150:74;2238:14;2271:4;;2276:11;:6;2285:2;2276:11;:::i;:::-;2271:18;;;;;:::i;:::-;2263:27;;;:::i;:::-;2255:36;-1:-1:-1;2332:3:1;2255:36;2309:11;:6;2318:2;2309:11;:::i;:::-;:20;;;;:::i;:::-;:26;2305:87;;;2362:15;;-1:-1:-1;;;2362:15:1;;;;;;;;;;;2305:87;2416:11;2421:6;2416:2;:11;:::i;:::-;2406:21;;;;:::i;:::-;;-1:-1:-1;2441:7:1;;;;:::i;:::-;;;;1860:599;;1837:622;;;2473:5;2482:1;2473:10;2469:63;;2506:15;;-1:-1:-1;;;2506:15:1;;;;;;;;;;;2469:63;1721:817;;1623:915;;;;:::o;2544:827::-;2648:36;2732:5;2705:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2705:33:1;;;;;;;;;;;;;;;;-1:-1:-1;2696:42:1;-1:-1:-1;198:2:1;2749:14;2788:577;2808:5;2804:1;:9;2788:577;;;2876:13;:4;2881:6;2876:4;;:13;:::i;:::-;2869:21;;;:::i;:::-;2863:28;;2853:39;;;;;;;;:::i;:::-;2831:6;2838:1;2831:9;;;;;;;;:::i;:::-;;;;;;;:19;;:61;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2906:11:1;2916:1;2906:11;;:::i;:::-;;-1:-1:-1;2963:13:1;:4;2906:11;2963:4;;:13;:::i;:::-;2955:22;;;:::i;:::-;2947:31;;2932:6;2939:1;2932:9;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2932:46:1;;;:12;;:46;2992:12;3002:2;2992:12;;:::i;:::-;;-1:-1:-1;3053:13:1;:4;2992:12;3053:4;;:13;:::i;:::-;3045:22;;;:::i;:::-;3037:31;;3019:6;3026:1;3019:9;;;;;;;;:::i;:::-;;;;;;;:15;;:49;;;;;3092:2;3082:12;;;;;:::i;:::-;;-1:-1:-1;3109:12:1;3140:13;:4;3082:12;3140:4;;:13;:::i;:::-;3132:22;;;:::i;:::-;3124:31;-1:-1:-1;3169:12:1;3179:2;3169:12;;:::i;:::-;;;3221:6;3196;3203:1;3196:9;;;;;;;;:::i;:::-;;;;;;;:22;;:31;;;;;3262:4;3241:6;3248:1;3241:9;;;;;;;;:::i;:::-;;;;;;;;;;;:18;;:25;3280:14;3290:4;3280:14;;:::i;:::-;;-1:-1:-1;;3337:3:1;;2788:577;;;;2686:685;2544:827;;;;;:::o;3377:209::-;3432:7;3571:2;3566:1;3552:11;:6;3571:2;3552:11;:::i;:::-;:15;;;;:::i;:::-;3551:22;;;;:::i;:::-;3550:29;;3577:2;3550:29;:::i;:::-;3543:36;3377:209;-1:-1:-1;;3377:209:1:o;14:150:3:-;89:20;;138:1;128:12;;118:40;;154:1;151;144:12;118:40;14:150;;;:::o;169:926::-;277:6;285;293;301;309;362:3;350:9;341:7;337:23;333:33;330:53;;;379:1;376;369:12;330:53;405:23;;-1:-1:-1;;;;;457:31:3;;447:42;;437:70;;503:1;500;493:12;437:70;526:5;-1:-1:-1;578:2:3;563:18;;550:32;;-1:-1:-1;633:2:3;618:18;;605:32;656:18;686:14;;;683:34;;;713:1;710;703:12;683:34;751:6;740:9;736:22;726:32;;796:7;789:4;785:2;781:13;777:27;767:55;;818:1;815;808:12;767:55;858:2;845:16;884:2;876:6;873:14;870:34;;;900:1;897;890:12;870:34;945:7;940:2;931:6;927:2;923:15;919:24;916:37;913:57;;;966:1;963;956:12;913:57;997:2;993;989:11;979:21;;1019:6;1009:16;;;;;1044:45;1085:2;1074:9;1070:18;1044:45;:::i;:::-;1034:55;;169:926;;;;;;;;:::o;1100:127::-;1161:10;1156:3;1152:20;1149:1;1142:31;1192:4;1189:1;1182:15;1216:4;1213:1;1206:15;1232:1278;1477:2;1529:21;;;1599:13;;1502:18;;;1621:22;;;1448:4;;1477:2;1662;;1680:18;;;;1721:15;;;1448:4;;1785:699;1801:6;1796:3;1793:15;1785:699;;;1870:6;1864:13;1906:2;1900:9;1939:1;1935:2;1932:9;1922:160;;-1:-1:-1;;;1973:31:3;;2031:4;2028:1;2021:15;2063:4;1980:1;2053:15;1922:160;2095:15;;2154:11;;;2148:18;-1:-1:-1;;;;;2144:44:3;2130:12;;;2123:66;2229:11;;;2223:18;2209:12;;;2202:40;2265:4;2309:11;;;2303:18;2289:12;;;2282:40;2345:4;2389:11;;;2383:18;2369:12;;;2362:40;2176:3;2422:14;;;;2459:15;;;;2185:1;1818:11;1785:699;;;-1:-1:-1;2501:3:3;;1232:1278;-1:-1:-1;;;;;;;;1232:1278:3:o;2515:323::-;-1:-1:-1;;;;;;2635:19:3;;2711:11;;;;2742:1;2734:10;;2731:101;;;2803:1;2799:11;;;;2796:1;2792:19;2788:28;;;2780:37;2776:46;;;;2515:323;-1:-1:-1;;2515:323:3:o;2843:331::-;2948:9;2959;3001:8;2989:10;2986:24;2983:44;;;3023:1;3020;3013:12;2983:44;3052:6;3042:8;3039:20;3036:40;;;3072:1;3069;3062:12;3036:40;-1:-1:-1;;3098:23:3;;;3143:25;;;;;-1:-1:-1;2843:331:3:o;3179:255::-;3299:19;;3338:2;3330:11;;3327:101;;;-1:-1:-1;;3399:2:3;3395:12;;;3392:1;3388:20;3384:33;3373:45;3179:255;;;;:::o;3439:127::-;3500:10;3495:3;3491:20;3488:1;3481:31;3531:4;3528:1;3521:15;3555:4;3552:1;3545:15;3571:125;3636:9;;;3657:10;;;3654:36;;;3670:18;;:::i;3701:316::-;-1:-1:-1;;;;;;3821:19:3;;3890:11;;;;3921:1;3913:10;;3910:101;;;3982:1;3978:11;;;;3975:1;3971:19;3967:28;;;3959:37;3955:46;;;;3701:316;-1:-1:-1;;3701:316:3:o;4022:135::-;4061:3;4082:17;;;4079:43;;4102:18;;:::i;:::-;-1:-1:-1;4149:1:3;4138:13;;4022:135::o;4162:127::-;4223:10;4218:3;4214:20;4211:1;4204:31;4254:4;4251:1;4244:15;4278:4;4275:1;4268:15;4294:127;4355:10;4350:3;4346:20;4343:1;4336:31;4386:4;4383:1;4376:15;4410:4;4407:1;4400:15;4426:337;-1:-1:-1;;4547:19:3;;4634:11;;;;4665:2;4657:11;;4654:103;;;4727:2;4723:12;;;;4720:1;4716:20;4712:29;;;4704:38;4700:47;;;;4426:337;-1:-1:-1;;4426:337:3:o;4768:128::-;4835:9;;;4856:11;;;4853:37;;;4870:18;;:::i;4901:217::-;4941:1;4967;4957:132;;5011:10;5006:3;5002:20;4999:1;4992:31;5046:4;5043:1;5036:15;5074:4;5071:1;5064:15;4957:132;-1:-1:-1;5103:9:3;;4901:217::o;5123:168::-;5196:9;;;5227;;5244:15;;;5238:22;;5224:37;5214:71;;5265:18;;:::i","linkReferences":{},"immutableReferences":{}}}}}}},"signatures":{"function":[{"signature":"unwrap(address,uint256,bytes,uint8)","signatureHash4":"0xc7a7b635","signatureHash32":"0xc7a7b635c46789bd8affc20d7acf4f51899bfb2c5b30c862ea4013036cce0af5"}],"event":[],"error":[{"signature":"MalformedBody()","signatureHash4":"0x04f61fc8","signatureHash32":"0x04f61fc89d70439912e90bca1556b8077224f6f8d5de6a06aa0adabbc2ddfe34"},{"signature":"MalformedHeader()","signatureHash4":"0x34ea3f6e","signatureHash32":"0x34ea3f6ee72990850ba14992e1ca7072114ad0ff043c3976a3ed651411aa9d8c"},{"signature":"UnsupportedMode()","signatureHash4":"0xad6e4055","signatureHash32":"0xad6e4055429c27151f939907659c333e38d3ad64a37acd8bf3888a37903e22ae"}]},"proxyResolution":{"isProxy":false,"proxyType":null,"implementations":[]},"match":"exact_match","chainId":"1","address":"0xB4Cd4bb764C089f20DA18700CE8bc5e49F369efD"}