@towns-protocol/generated 0.0.229 → 0.0.231
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/dev/abis/IAppRegistry.abi.json +92 -27
- package/dev/abis/IAppRegistry.abi.ts +92 -27
- package/dev/abis/IAppRegistryBase.abi.json +24 -0
- package/dev/abis/IAppRegistryBase.abi.ts +24 -0
- package/dev/abis/RewardsDistributionV2.abi.json +1279 -0
- package/dev/abis/RewardsDistributionV2.abi.ts +1279 -0
- package/dev/abis/Towns.abi.json +1202 -0
- package/dev/abis/Towns.abi.ts +1202 -0
- package/dev/typings/IAppRegistry.ts +93 -22
- package/dev/typings/RewardsDistributionV2.ts +1727 -0
- package/dev/typings/Towns.ts +1783 -0
- package/dev/typings/factories/IAppRegistry__factory.ts +92 -27
- package/dev/typings/factories/MembershipFacet__factory.ts +1 -1
- package/dev/typings/factories/RewardsDistributionV2__factory.ts +1344 -0
- package/dev/typings/factories/Towns__factory.ts +1257 -0
- package/dev/typings/factories/index.ts +3 -0
- package/dev/typings/factories/mainnet/Towns__factory.ts +1351 -0
- package/dev/typings/factories/mainnet/index.ts +4 -0
- package/dev/typings/index.ts +7 -0
- package/dev/typings/mainnet/Towns.ts +1997 -0
- package/dev/typings/mainnet/index.ts +4 -0
- package/package.json +2 -2
|
@@ -57,7 +57,74 @@ const _abi = [
|
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
type: "function",
|
|
60
|
-
name: "
|
|
60
|
+
name: "createApp",
|
|
61
|
+
inputs: [
|
|
62
|
+
{
|
|
63
|
+
name: "params",
|
|
64
|
+
type: "tuple",
|
|
65
|
+
internalType: "struct IAppRegistryBase.AppParams",
|
|
66
|
+
components: [
|
|
67
|
+
{
|
|
68
|
+
name: "name",
|
|
69
|
+
type: "string",
|
|
70
|
+
internalType: "string",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "permissions",
|
|
74
|
+
type: "bytes32[]",
|
|
75
|
+
internalType: "bytes32[]",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: "clients",
|
|
79
|
+
type: "address[]",
|
|
80
|
+
internalType: "address[]",
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
outputs: [
|
|
86
|
+
{
|
|
87
|
+
name: "app",
|
|
88
|
+
type: "address",
|
|
89
|
+
internalType: "address",
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: "appId",
|
|
93
|
+
type: "bytes32",
|
|
94
|
+
internalType: "bytes32",
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
stateMutability: "payable",
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: "function",
|
|
101
|
+
name: "getAppSchema",
|
|
102
|
+
inputs: [],
|
|
103
|
+
outputs: [
|
|
104
|
+
{
|
|
105
|
+
name: "",
|
|
106
|
+
type: "string",
|
|
107
|
+
internalType: "string",
|
|
108
|
+
},
|
|
109
|
+
],
|
|
110
|
+
stateMutability: "view",
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: "function",
|
|
114
|
+
name: "getAppSchemaId",
|
|
115
|
+
inputs: [],
|
|
116
|
+
outputs: [
|
|
117
|
+
{
|
|
118
|
+
name: "",
|
|
119
|
+
type: "bytes32",
|
|
120
|
+
internalType: "bytes32",
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
stateMutability: "view",
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: "function",
|
|
127
|
+
name: "getAttestation",
|
|
61
128
|
inputs: [
|
|
62
129
|
{
|
|
63
130
|
name: "appId",
|
|
@@ -126,32 +193,6 @@ const _abi = [
|
|
|
126
193
|
],
|
|
127
194
|
stateMutability: "view",
|
|
128
195
|
},
|
|
129
|
-
{
|
|
130
|
-
type: "function",
|
|
131
|
-
name: "getAppSchema",
|
|
132
|
-
inputs: [],
|
|
133
|
-
outputs: [
|
|
134
|
-
{
|
|
135
|
-
name: "",
|
|
136
|
-
type: "string",
|
|
137
|
-
internalType: "string",
|
|
138
|
-
},
|
|
139
|
-
],
|
|
140
|
-
stateMutability: "view",
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
type: "function",
|
|
144
|
-
name: "getAppSchemaId",
|
|
145
|
-
inputs: [],
|
|
146
|
-
outputs: [
|
|
147
|
-
{
|
|
148
|
-
name: "",
|
|
149
|
-
type: "bytes32",
|
|
150
|
-
internalType: "bytes32",
|
|
151
|
-
},
|
|
152
|
-
],
|
|
153
|
-
stateMutability: "view",
|
|
154
|
-
},
|
|
155
196
|
{
|
|
156
197
|
type: "function",
|
|
157
198
|
name: "getLatestAppId",
|
|
@@ -252,6 +293,25 @@ const _abi = [
|
|
|
252
293
|
],
|
|
253
294
|
anonymous: false,
|
|
254
295
|
},
|
|
296
|
+
{
|
|
297
|
+
type: "event",
|
|
298
|
+
name: "AppCreated",
|
|
299
|
+
inputs: [
|
|
300
|
+
{
|
|
301
|
+
name: "app",
|
|
302
|
+
type: "address",
|
|
303
|
+
indexed: true,
|
|
304
|
+
internalType: "address",
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
name: "uid",
|
|
308
|
+
type: "bytes32",
|
|
309
|
+
indexed: false,
|
|
310
|
+
internalType: "bytes32",
|
|
311
|
+
},
|
|
312
|
+
],
|
|
313
|
+
anonymous: false,
|
|
314
|
+
},
|
|
255
315
|
{
|
|
256
316
|
type: "event",
|
|
257
317
|
name: "AppRegistered",
|
|
@@ -357,6 +417,11 @@ const _abi = [
|
|
|
357
417
|
name: "InvalidAppId",
|
|
358
418
|
inputs: [],
|
|
359
419
|
},
|
|
420
|
+
{
|
|
421
|
+
type: "error",
|
|
422
|
+
name: "InvalidAppName",
|
|
423
|
+
inputs: [],
|
|
424
|
+
},
|
|
360
425
|
{
|
|
361
426
|
type: "error",
|
|
362
427
|
name: "InvalidArrayInput",
|
|
@@ -1508,7 +1508,7 @@ const _abi = [
|
|
|
1508
1508
|
] as const;
|
|
1509
1509
|
|
|
1510
1510
|
const _bytecode =
|
|
1511
|
-
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b614f98806100ca5f395ff3fe608060405260043610610162575f3560e01c806379dda585116100c657806393b13cb71161007c578063a5a4103111610057578063a5a41031146103ab578063df9a9fe6146103bf578063e847abdd146103de575f5ffd5b806393b13cb71461035757806395d600c81461037857806397fb7c1e1461038c575f5ffd5b80638120f0ba116100ac5780638120f0ba146102f857806383f3f0dc146103255780638c625b0614610344575f5ffd5b806379dda585146102d15780637c9669ac146102e5575f5ffd5b80635becd24a1161011b578063686f768411610101578063686f76841461028b57806369d5f38a1461029e578063706b8e09146102bd575f5ffd5b80635becd24a14610233578063657e45e814610252575f5ffd5b806317c957091161014b57806317c95709146101ae5780633e9491a2146102025780635803909f14610214575f5ffd5b80630ef1be5f146101665780631278076a14610187575b5f5ffd5b348015610171575f5ffd5b506101856101803660046143c6565b6103f2565b005b348015610192575f5ffd5b5061019b6104a7565b6040519081526020015b60405180910390f35b3480156101b9575f5ffd5b5061019b6101c8366004614434565b5f9081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602052604090205467ffffffffffffffff1690565b34801561020d575f5ffd5b504761019b565b34801561021f575f5ffd5b5061019b61022e366004614434565b610500565b34801561023e575f5ffd5b5061018561024d366004614434565b61055b565b34801561025d575f5ffd5b50610266610642565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a5565b610185610299366004614556565b610681565b3480156102a9575f5ffd5b506101856102b8366004614434565b6106c5565b3480156102c8575f5ffd5b5061019b6107dd565b3480156102dc575f5ffd5b506102666107e6565b6101856102f3366004614434565b610825565b348015610303575f5ffd5b5061030c610868565b60405167ffffffffffffffff90911681526020016101a5565b348015610330575f5ffd5b5061018561033f366004614655565b610871565b610185610352366004614670565b6108eb565b348015610362575f5ffd5b5061036b61091e565b6040516101a591906146d7565b348015610383575f5ffd5b5061019b610928565b348015610397575f5ffd5b506101856103a6366004614434565b610951565b3480156103b6575f5ffd5b5061019b610a3b565b3480156103ca575f5ffd5b506101856103d9366004614670565b610a92565b3480156103e9575f5ffd5b50610266610b6b565b6103fa610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610465576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6104a382828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610c6a92505050565b5050565b5f6104fb6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610c95565b905090565b5f610555826105507f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610e78565b92915050565b610563610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105c9576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b5f6105f27fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b9050801580159061060257508082115b15610630576106307fc3983b9100000000000000000000000000000000000000000000000000000000610ef4565b61063982610efc565b6104a382610fa0565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd21268540361069f5763ab143c065f526004601cfd5b3068929eee149b4bd21268556106b5828261105e565b3868929eee149b4bd21268555050565b6106cd610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610733576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b61073c8161115c565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb608546040517f91b7f5ed0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906391b7f5ed906024015f604051808303815f87803b1580156107c4575f5ffd5b505af11580156107d6573d5f5f3e3d5ffd5b5050505050565b5f6104fb611204565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd2126854036108435763ab143c065f526004601cfd5b3068929eee149b4bd212685561085933826112cf565b3868929eee149b4bd212685550565b5f6104fb611449565b610879610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108df576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b6108e88161150c565b50565b3068929eee149b4bd2126854036109095763ab143c065f526004601cfd5b3068929eee149b4bd212685561085981611587565b60606104fb61162a565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b610959610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109bf576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b610a1381610a0e7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b6116dc565b6108e8817fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60355565b5f6104fb610a8d6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b61170d565b610a9a610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b00576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b610b0981611880565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905550565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610c40573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6491906146e9565b91505090565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60c6104a38282614793565b5f5f610c9f611204565b9050610cdf7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5cf4ee91000000000000000000000000000000000000000000000000000000008152600481018390526024810185905273ffffffffffffffffffffffffffffffffffffffff9190911690635cf4ee9190604401602060405180830381865afa158015610d51573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7591906148aa565b91505f610d806107e6565b90505f8173ffffffffffffffffffffffffffffffffffffffff16631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df091906148aa565b905080841015610e70578173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e43573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6791906148aa565b95945050505050565b505050919050565b5f8281527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60960205260408120547fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600908015610eeb575f610ed78261170d565b828118908311029091189250610555915050565b610e6784610c95565b805f5260045ffd5b610f046107e6565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7091906148aa565b8111156108e8576108e87fc3983b9100000000000000000000000000000000000000000000000000000000610ef4565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6078190557fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009082907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f905f90a25050565b611067826119b9565b5f611070611aaf565b9050801561108057611080611b48565b61108a8383611bd6565b5f8260405160200161109c91906148c1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290507f686f7684000000000000000000000000000000000000000000000000000000005f611103866110fe84338388611c7b565b611cad565b90505f5f611112883385611de8565b9150915080611152578115611148578515611130576111308361203d565b61113a83896121c1565b6111438861224c565b611152565b611152838961233b565b5050505050505050565b5f6111656107e6565b73ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d191906148aa565b9050808210156104a3576104a37f3447ac8e00000000000000000000000000000000000000000000000000000000610ef4565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d545f907fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009060ff161561125b5760070154919050565b6112636107e6565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6491906148aa565b5f6112d9826123a1565b905073ffffffffffffffffffffffffffffffffffffffff811661131f5761131f7f5fbd571700000000000000000000000000000000000000000000000000000000610ef4565b5f611328611449565b67ffffffffffffffff1690505f611384846105507f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b9050348111156113b7576113b77f34a7a93d00000000000000000000000000000000000000000000000000000000610ef4565b5f6113c286836123ab565b90505f6113cf8284614948565b905080156113e3576113e18782612473565b505b5f6113ee8434614948565b9050801561143f5761143f6114377fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b308a846125e9565b611152878661264d565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065474010000000000000000000000000000000000000000900467ffffffffffffffff165f8190036115095761149d6107e6565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fb919061495b565b90565b6115158161272d565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb606805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b611590816119b9565b5f611599611aaf565b905080156115a9576115a9611b48565b5f638c625b0660e01b90505f6115d3846110fe84338860405180602001604052805f815250611c7b565b90505f5f6115e2863385611de8565b91509150806116225781156116185784156116005761160083612823565b61160a83876121c1565b6116138661224c565b611622565b611622838761233b565b505050505050565b60607fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600c01805461165b90614704565b80601f016020809104026020016040519081016040528092919081815260200182805461168790614704565b80156116d25780601f106116a9576101008083540402835291602001916116d2565b820191905f5260205f20905b8154815290600101906020018083116116b557829003601f168201915b5050505050905090565b808210156104a3576104a37fccc9aa2e00000000000000000000000000000000000000000000000000000000610ef4565b5f5f6117176107e6565b90505f8173ffffffffffffffffffffffffffffffffffffffff16631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611763573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178791906148aa565b905080841015611806578173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117da573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117fe91906148aa565b949350505050565b6117fe848373ffffffffffffffffffffffffffffffffffffffff16639f6542aa6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611853573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118779190614976565b61ffff16612941565b73ffffffffffffffffffffffffffffffffffffffff81166118c4576118c47f0e88bf4b00000000000000000000000000000000000000000000000000000000610ef4565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff166040517f8df80bd600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301529190911690638df80bd690602401602060405180830381865afa158015611968573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061198c91906149ab565b6108e8576108e87f0e88bf4b00000000000000000000000000000000000000000000000000000000610ef4565b73ffffffffffffffffffffffffffffffffffffffff81166119fd576119fd7f5fbd571700000000000000000000000000000000000000000000000000000000610ef4565b5f611a267fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b90508015801590611a81575080611a7e7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b10155b156104a3576104a37f7efcdb4900000000000000000000000000000000000000000000000000000000610ef4565b5f5f611afc7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f611b07611204565b90505f611b126129f2565b905082821115611b25575f935050505090565b8015611b3e57611b356001612a1b565b5f935050505090565b6001935050505090565b5f611b976104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f611ba382612a58565b9050803410156104a3576104a37fb1296a8a00000000000000000000000000000000000000000000000000000000610ef4565b602081015173ffffffffffffffffffffffffffffffffffffffff16156104a3578173ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff161480611c4d5750602081015173ffffffffffffffffffffffffffffffffffffffff1633145b156104a3576104a37f5fbd571700000000000000000000000000000000000000000000000000000000610ef4565b606084848484604051602001611c9494939291906149c4565b6040516020818303038152906040529050949350505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660208201524360348201525f908190605401604051602081830303815290604052805190602001209050611d8c81611d608387611d1386612a88565b6040805160208082019590955273ffffffffffffffffffffffffffffffffffffffff9390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b91505f611d9883612ace565b511115611dc857611dc87ff82e65c300000000000000000000000000000000000000000000000000000000610ef4565b611dd28284612bae565b3415611de157611de182612c06565b5092915050565b5f5f5f611e296040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250612c64565b90505f611e3587612dfc565b82519091505f5b81811015612030575f848281518110611e5757611e57614a40565b60200260200101519050806040015115611e715750612028565b5f5b816080015151811015612025575f82608001518281518110611e9757611e97614a40565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5335f5f1b886040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250604051602001611f079190614a6d565b604051602081830303815290604052611f1f90614a83565b6040518463ffffffff1660e01b8152600401611f3d93929190614ac5565b602060405180830381865afa158015611f58573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c91906149ab565b15611f955750600197505f965061203595505050505050565b8073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fde573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061200291906149ab565b1561201c576120178c8c8c84875f0151613140565b600197505b50600101611e73565b50505b600101611e3c565b505050505b935093915050565b5f61208c6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f61209882612a58565b90505f5f5f5f6120a787612ace565b8060200190518101906120ba9190614b95565b929650909450925090507fffffffff0000000000000000000000000000000000000000000000000000000084167f686f76840000000000000000000000000000000000000000000000000000000014612136576121367fda6153bd00000000000000000000000000000000000000000000000000000000610ef4565b5f8180602001905181019061214b9190614c19565b90505f5f612159868a6123ab565b90505f61216a87855f01518c61335c565b90505f61218188866020015187604001518e6134c9565b9050808261218f858d614948565b6121999190614948565b6121a39190614948565b93505050506121b68986868a858d61364b565b505050505050505050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0160205260409020548015612247576121fe838261393f565b61224761223f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b3084846125e9565b505050565b5f6122556139a7565b90506122d9816122a96104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b5f9182527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb609602052604090912055565b6122e48260016139ce565b6122f5816122f0611449565b61264d565b604051819073ffffffffffffffffffffffffffffffffffffffff8416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b576905f90a35050565b6123538260405180602001604052805f815250612bae565b61235d82826121c1565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f905f90a25050565b5f610555826139e7565b5f6123b58261170d565b90506105556123f87fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b846124016107e6565b73ffffffffffffffffffffffffffffffffffffffff16634ccb20c06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612449573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246d91906146e9565b846125e9565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600816124d47fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b90507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff821601612536578382600a015f8282546125269190614cc1565b9091555084935061055592505050565b5f61255773ffffffffffffffffffffffffffffffffffffffff831630613b18565b9050612565828730886125e9565b5f61258673ffffffffffffffffffffffffffffffffffffffff841630613b18565b90505f6125938383614948565b90508681146125c5576125c57fb1296a8a00000000000000000000000000000000000000000000000000000000610ef4565b8085600a015f8282546125d89190614cc1565b909155509098975050505050505050565b8015612647577fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff85160161263b576126368282613b4b565b612647565b61264784848484613b6b565b50505050565b5f8281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060208190526040822054909167ffffffffffffffff909116908181036126a35761269c8442614cd4565b90506126b0565b6126ad8483614cd4565b90505b5f858152602084815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff8516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b5f6127366107e6565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561277e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127a2919061495b565b67ffffffffffffffff1690508167ffffffffffffffff165f036127e8576127e87f82323d2e00000000000000000000000000000000000000000000000000000000610ef4565b808267ffffffffffffffff1611156104a3576104a37f82323d2e00000000000000000000000000000000000000000000000000000000610ef4565b5f6128726104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f61287e82612a58565b90505f5f5f61288c86612ace565b80602001905181019061289f9190614b95565b50919450925090507fffffffff0000000000000000000000000000000000000000000000000000000083167f8c625b060000000000000000000000000000000000000000000000000000000014612919576129197fda6153bd00000000000000000000000000000000000000000000000000000000610ef4565b5f61292483876123ab565b90505f6129318287614948565b905061115288858589858c61364b565b5f6127108211156129d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f303060448201527f3000000000000000000000000000000000000000000000000000000000000000606482015260840161045c565b6127106129e18385614cf4565b6129eb9190614d0b565b9392505050565b5f7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005b54919050565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c008054829082905f90612a4f908490614948565b90915550505050565b5f5f612a626129f2565b90508015612a7257505f92915050565b825f03612a8157505f92915050565b5090919050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0060208190526040822080549083612ac383614d43565b909155509392505050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040902080546060917f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0091612b2a90614704565b80601f0160208091040260200160405190810160405280929190818152602001828054612b5690614704565b8015612ba15780601f10612b7857610100808354040283529160200191612ba1565b820191905f5260205f20905b815481529060010190602001808311612b8457829003601f168201915b5050505050915050919050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00906126478382614793565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092349291612a4f908490614cc1565b60605f612c6f613bff565b80519091505f8167ffffffffffffffff811115612c8e57612c8e61446c565b604051908082528060200260200182016040528015612cf157816020015b612cde6040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081612cac5790505b50855160208701209091505f90815b84811015612df0575f5f5f5f612d2e8a8681518110612d2157612d21614a40565b6020026020010151613c2a565b93509350935093505f5b8251811015612de05786838281518110612d5457612d54614a40565b60200260200101518051906020012003612dd8576040518060a001604052808c8881518110612d8557612d85614a40565b60200260200101518152602001868152602001851515815260200184815260200183815250898981518110612dbc57612dbc614a40565b602002602001018190525087612dd190614d43565b9750612de0565b600101612d38565b5050505050806001019050612d00565b50508152949350505050565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa158015612e93573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612ed89190810190614d7a565b905080515f03613049576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa158015612f4f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f7391906146e9565b905073ffffffffffffffffffffffffffffffffffffffff811615613047576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015612fff573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526130449190810190614d7a565b91505b505b80515f613057826001614cc1565b67ffffffffffffffff81111561306f5761306f61446c565b604051908082528060200260200182016040528015613098578160200160208202803683370190505b5090505f5b828110156130fe578381815181106130b7576130b7614a40565b60200260200101518282815181106130d1576130d1614a40565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260010161309d565b508581838151811061311257613112614a40565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff8516613184576131847f99ef038800000000000000000000000000000000000000000000000000000000610ef4565b73ffffffffffffffffffffffffffffffffffffffff82166131c8576131c87f4bb7c20500000000000000000000000000000000000000000000000000000000610ef4565b5f8381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781556003810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff888116919091179091558251908916938101939093527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00939092909101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905284547f21be050a00000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff16906321be050a903490613324908c908b908a908890600401614e2e565b5f604051808303818588803b15801561333b575f5ffd5b505af115801561334d573d5f5f3e3d5ffd5b50505050505050505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff831661337f57505f6129eb565b5f6133be7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5cb4f54800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301529190911690635cb4f54890602401608060405180830381865afa15801561342a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061344e9190614e68565b905080604001515f03613464575f9150506129eb565b613472838260400151612941565b91506134c16134b57fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b868360200151856125e9565b509392505050565b5f82515f14613579575f6134dc84613d16565b604081015190915073ffffffffffffffffffffffffffffffffffffffff16158061350857506020810151155b15613516575f9150506117fe565b613524838260200151612941565b91506135736135677fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b878360400151856125e9565b506117fe565b73ffffffffffffffffffffffffffffffffffffffff8416156117fe578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036135cf57505f6117fe565b613600826135fb7faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b612941565b90506117fe6136437fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b8686846125e9565b811561365d5761365b8583612473565b505b613667868461393f565b61367f8660405180602001604052805f815250612bae565b5f6136be7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f44ab66800000000000000000000000000000000000000000000000000000000081527f526976657241697264726f700000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff91909116906344ab668090602401602060405180830381865afa158015613748573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061376c91906146e9565b90505f8173ffffffffffffffffffffffffffffffffffffffff1663dc69fdde5f8560405160200161379f91815260200190565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016137cb929190614ee2565b602060405180830381865afa1580156137e6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061380a91906148aa565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015260248201839052919250908316906340c10f19906044015f604051808303815f87803b15801561387b575f5ffd5b505af115801561388d573d5f5f3e3d5ffd5b505050508173ffffffffffffffffffffffffffffffffffffffff166340c10f196138b5610baa565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490526044015f604051808303815f87803b15801561391f575f5ffd5b505af1158015613931573d5f5f3e3d5ffd5b505050505050505050505050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e009284929161399d908490614948565b9091555050505050565b5f7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00612a15565b6104a3828260405180602001604052805f815250613dbe565b5f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c010000000000000000000000000000000000000000000000000000000083169003613ae557815f03613adf5780548310613a9e576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115613a9f575b50919050565b506040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b6104a373ffffffffffffffffffffffffffffffffffffffff831682613e86565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160315612647573073ffffffffffffffffffffffffffffffffffffffff841603613bdd5761263673ffffffffffffffffffffffffffffffffffffffff85168383613e9f565b61264773ffffffffffffffffffffffffffffffffffffffff8516848484613ef2565b60606104fb7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01613f54565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd036020526040812080546060929183918291908190613c6c90614704565b80601f0160208091040260200160405190810160405280929190818152602001828054613c9890614704565b8015613ce35780601f10613cba57610100808354040283529160200191613ce3565b820191905f5260205f20905b815481529060010190602001808311613cc657829003601f168201915b5050505060018301549196505060ff169350613d0160028201613f60565b9250613d0c81614037565b9150509193509193565b613d4e6040518060600160405280606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5080516020808301919091205f9081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008028252604090819020815160608101835293845280549284019290925260019091015473ffffffffffffffffffffffffffffffffffffffff169082015290565b613dc88383614046565b73ffffffffffffffffffffffffffffffffffffffff83163b15612247577f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00548281035b613e1d5f8683806001019450866141fb565b613e53576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110613e0b57817f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0054146107d6575f5ffd5b5f385f3884865af16104a35763b12d13eb5f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416613ee857803d853b151710613ee8576390b8ec185f526004601cfd5b505f603452505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416613f4657803d873b151710613f4657637939f4245f526004601cfd5b505f60605260405250505050565b60605f6129eb8361436d565b6060815f01805480602002602001604051908101604052809291908181526020015f905b8282101561402c578382905f5260205f20018054613fa190614704565b80601f0160208091040260200160405190810160405280929190818152602001828054613fcd90614704565b80156140185780601f10613fef57610100808354040283529160200191614018565b820191905f5260205f20905b815481529060010190602001808311613ffb57829003601f168201915b505050505081526020019060010190613f84565b505050509050919050565b60605f6129eb83600401613f54565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00545f8290036140a2576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146141995780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa4600101614163565b50815f036141d3576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005550505050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290614255903390899088908890600401614f2f565b6020604051808303815f875af19250505080156142ad575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526142aa91810190614f7f565b60015b614322573d8080156142da576040519150601f19603f3d011682016040523d82523d5f602084013e6142df565b606091505b5080515f0361431a576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506117fe565b6060815f018054806020026020016040519081016040528092919081815260200182805480156143ba57602002820191905f5260205f20905b8154815260200190600101908083116143a6575b50505050509050919050565b5f5f602083850312156143d7575f5ffd5b823567ffffffffffffffff8111156143ed575f5ffd5b8301601f810185136143fd575f5ffd5b803567ffffffffffffffff811115614413575f5ffd5b856020828401011115614424575f5ffd5b6020919091019590945092505050565b5f60208284031215614444575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146108e8575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156144bc576144bc61446c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156145095761450961446c565b604052919050565b5f67ffffffffffffffff82111561452a5761452a61446c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f5f60408385031215614567575f5ffd5b82356145728161444b565b9150602083013567ffffffffffffffff81111561458d575f5ffd5b83016060818603121561459e575f5ffd5b6145a6614499565b81356145b18161444b565b815260208201356145c18161444b565b6020820152604082013567ffffffffffffffff8111156145df575f5ffd5b80830192505085601f8301126145f3575f5ffd5b813561460661460182614511565b6144c2565b81815287602083860101111561461a575f5ffd5b816020850160208301375f60208383010152806040840152505080925050509250929050565b67ffffffffffffffff811681146108e8575f5ffd5b5f60208284031215614665575f5ffd5b81356129eb81614640565b5f60208284031215614680575f5ffd5b81356129eb8161444b565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6129eb602083018461468b565b5f602082840312156146f9575f5ffd5b81516129eb8161444b565b600181811c9082168061471857607f821691505b602082108103613adf577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f82111561224757805f5260205f20601f840160051c810160208510156147745750805b601f840160051c820191505b818110156107d6575f8155600101614780565b815167ffffffffffffffff8111156147ad576147ad61446c565b6147c1816147bb8454614704565b8461474f565b6020601f821160018114614812575f83156147dc5750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b1784556107d6565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b8281101561485f578785015182556020948501946001909201910161483f565b508482101561489b57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156148ba575f5ffd5b5051919050565b6020815273ffffffffffffffffffffffffffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f60408301516060808401526117fe608084018261468b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156105555761055561491b565b5f6020828403121561496b575f5ffd5b81516129eb81614640565b5f60208284031215614986575f5ffd5b815161ffff811681146129eb575f5ffd5b805180151581146149a6575f5ffd5b919050565b5f602082840312156149bb575f5ffd5b6129eb82614997565b7fffffffff000000000000000000000000000000000000000000000000000000008516815273ffffffffffffffffffffffffffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f614a36608083018461468b565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b80516020808301519190811015613adf577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f60608201858352606060208401528085518083526080850191506020870192505f5b81811015614b1c57835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101614ae8565b505060409390930193909352509392505050565b80517fffffffff00000000000000000000000000000000000000000000000000000000811681146149a6575f5ffd5b5f614b6c61460184614511565b9050828152838383011115614b7f575f5ffd5b8282602083015e5f602084830101529392505050565b5f5f5f5f60808587031215614ba8575f5ffd5b614bb185614b30565b93506020850151614bc18161444b565b6040860151909350614bd28161444b565b606086015190925067ffffffffffffffff811115614bee575f5ffd5b8501601f81018713614bfe575f5ffd5b614c0d87825160208401614b5f565b91505092959194509250565b5f60208284031215614c29575f5ffd5b815167ffffffffffffffff811115614c3f575f5ffd5b820160608185031215614c50575f5ffd5b614c58614499565b8151614c638161444b565b81526020820151614c738161444b565b6020820152604082015167ffffffffffffffff811115614c91575f5ffd5b80830192505084601f830112614ca5575f5ffd5b614cb485835160208501614b5f565b6040820152949350505050565b808201808211156105555761055561491b565b67ffffffffffffffff81811683821601908111156105555761055561491b565b80820281158282048414176105555761055561491b565b5f82614d3e577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614d7357614d7361491b565b5060010190565b5f60208284031215614d8a575f5ffd5b815167ffffffffffffffff811115614da0575f5ffd5b8201601f81018413614db0575f5ffd5b805167ffffffffffffffff811115614dca57614dca61446c565b8060051b614dda602082016144c2565b91825260208184018101929081019087841115614df5575f5ffd5b6020850194505b83851015614e235784519250614e118361444b565b82825260209485019490910190614dfc565b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201525f614a36608083018461468b565b5f6080828403128015614e79575f5ffd5b506040516080810167ffffffffffffffff81118282101715614e9d57614e9d61446c565b6040528251614eab8161444b565b81526020830151614ebb8161444b565b602082015260408381015190820152614ed660608401614997565b60608201529392505050565b5f60048410614f18577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b838252604060208301526117fe604083018461468b565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f614a36608083018461468b565b5f60208284031215614f8f575f5ffd5b6129eb82614b3056";
|
|
1511
|
+
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b614f30806100ca5f395ff3fe608060405260043610610162575f3560e01c806379dda585116100c657806393b13cb71161007c578063a5a4103111610057578063a5a41031146103ab578063df9a9fe6146103bf578063e847abdd146103de575f5ffd5b806393b13cb71461035757806395d600c81461037857806397fb7c1e1461038c575f5ffd5b80638120f0ba116100ac5780638120f0ba146102f857806383f3f0dc146103255780638c625b0614610344575f5ffd5b806379dda585146102d15780637c9669ac146102e5575f5ffd5b80635becd24a1161011b578063686f768411610101578063686f76841461028b57806369d5f38a1461029e578063706b8e09146102bd575f5ffd5b80635becd24a14610233578063657e45e814610252575f5ffd5b806317c957091161014b57806317c95709146101ae5780633e9491a2146102025780635803909f14610214575f5ffd5b80630ef1be5f146101665780631278076a14610187575b5f5ffd5b348015610171575f5ffd5b5061018561018036600461435e565b6103f2565b005b348015610192575f5ffd5b5061019b6104a7565b6040519081526020015b60405180910390f35b3480156101b9575f5ffd5b5061019b6101c83660046143cc565b5f9081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602052604090205467ffffffffffffffff1690565b34801561020d575f5ffd5b504761019b565b34801561021f575f5ffd5b5061019b61022e3660046143cc565b610500565b34801561023e575f5ffd5b5061018561024d3660046143cc565b61055b565b34801561025d575f5ffd5b50610266610642565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a5565b6101856102993660046144ee565b610681565b3480156102a9575f5ffd5b506101856102b83660046143cc565b6106c5565b3480156102c8575f5ffd5b5061019b6107dd565b3480156102dc575f5ffd5b506102666107e6565b6101856102f33660046143cc565b610825565b348015610303575f5ffd5b5061030c610868565b60405167ffffffffffffffff90911681526020016101a5565b348015610330575f5ffd5b5061018561033f3660046145ed565b610871565b610185610352366004614608565b6108eb565b348015610362575f5ffd5b5061036b61091e565b6040516101a5919061466f565b348015610383575f5ffd5b5061019b610928565b348015610397575f5ffd5b506101856103a63660046143cc565b610951565b3480156103b6575f5ffd5b5061019b610a3b565b3480156103ca575f5ffd5b506101856103d9366004614608565b610a92565b3480156103e9575f5ffd5b50610266610b6b565b6103fa610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610465576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6104a382828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610c6a92505050565b5050565b5f6104fb6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610c95565b905090565b5f610555826105507f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610e78565b92915050565b610563610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105c9576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b5f6105f27fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b9050801580159061060257508082115b15610630576106307fc3983b9100000000000000000000000000000000000000000000000000000000610ef4565b61063982610efc565b6104a382610fa0565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd21268540361069f5763ab143c065f526004601cfd5b3068929eee149b4bd21268556106b5828261105e565b3868929eee149b4bd21268555050565b6106cd610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610733576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b61073c8161115c565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb608546040517f91b7f5ed0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906391b7f5ed906024015f604051808303815f87803b1580156107c4575f5ffd5b505af11580156107d6573d5f5f3e3d5ffd5b5050505050565b5f6104fb611204565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd2126854036108435763ab143c065f526004601cfd5b3068929eee149b4bd212685561085933826112cf565b3868929eee149b4bd212685550565b5f6104fb611449565b610879610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108df576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b6108e88161150c565b50565b3068929eee149b4bd2126854036109095763ab143c065f526004601cfd5b3068929eee149b4bd212685561085981611587565b60606104fb61162a565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b610959610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109bf576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b610a1381610a0e7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b6116dc565b6108e8817fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60355565b5f6104fb610a8d6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b61170d565b610a9a610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b00576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b610b0981611880565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905550565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610c40573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c649190614681565b91505090565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60c6104a3828261472b565b5f5f610c9f611204565b9050610cdf7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5cf4ee91000000000000000000000000000000000000000000000000000000008152600481018390526024810185905273ffffffffffffffffffffffffffffffffffffffff9190911690635cf4ee9190604401602060405180830381865afa158015610d51573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d759190614842565b91505f610d806107e6565b90505f8173ffffffffffffffffffffffffffffffffffffffff16631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dcc573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610df09190614842565b905080841015610e70578173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e43573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e679190614842565b95945050505050565b505050919050565b5f8281527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60960205260408120547fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600908015610eeb575f610ed78261170d565b828118908311029091189250610555915050565b610e6784610c95565b805f5260045ffd5b610f046107e6565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f709190614842565b8111156108e8576108e87fc3983b9100000000000000000000000000000000000000000000000000000000610ef4565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6078190557fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009082907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f905f90a25050565b611067826119b9565b5f611070611aaf565b9050801561108057611080611b48565b61108a8383611bd6565b5f8260405160200161109c9190614859565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290507f686f7684000000000000000000000000000000000000000000000000000000005f611103866110fe84338388611c7b565b611cad565b90505f5f611112883385611de8565b9150915080611152578115611148578515611130576111308361203d565b61113a83896121c1565b6111438861224c565b611152565b611152838961233b565b5050505050505050565b5f6111656107e6565b73ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d19190614842565b9050808210156104a3576104a37f3447ac8e00000000000000000000000000000000000000000000000000000000610ef4565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d545f907fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009060ff161561125b5760070154919050565b6112636107e6565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ab573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c649190614842565b5f6112d9826123a1565b905073ffffffffffffffffffffffffffffffffffffffff811661131f5761131f7f5fbd571700000000000000000000000000000000000000000000000000000000610ef4565b5f611328611449565b67ffffffffffffffff1690505f611384846105507f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b9050348111156113b7576113b77f34a7a93d00000000000000000000000000000000000000000000000000000000610ef4565b5f6113c286836123ab565b90505f6113cf82846148e0565b905080156113e3576113e18782612473565b505b5f6113ee84346148e0565b9050801561143f5761143f6114377fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b308a846125e9565b611152878661264d565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065474010000000000000000000000000000000000000000900467ffffffffffffffff165f8190036115095761149d6107e6565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fb91906148f3565b90565b61151581612748565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb606805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b611590816119b9565b5f611599611aaf565b905080156115a9576115a9611b48565b5f638c625b0660e01b90505f6115d3846110fe84338860405180602001604052805f815250611c7b565b90505f5f6115e2863385611de8565b9150915080611622578115611618578415611600576116008361283e565b61160a83876121c1565b6116138661224c565b611622565b611622838761233b565b505050505050565b60607fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600c01805461165b9061469c565b80601f01602080910402602001604051908101604052809291908181526020018280546116879061469c565b80156116d25780601f106116a9576101008083540402835291602001916116d2565b820191905f5260205f20905b8154815290600101906020018083116116b557829003601f168201915b5050505050905090565b808210156104a3576104a37fccc9aa2e00000000000000000000000000000000000000000000000000000000610ef4565b5f5f6117176107e6565b90505f8173ffffffffffffffffffffffffffffffffffffffff16631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611763573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117879190614842565b905080841015611806578173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117da573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117fe9190614842565b949350505050565b6117fe848373ffffffffffffffffffffffffffffffffffffffff16639f6542aa6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611853573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611877919061490e565b61ffff1661295c565b73ffffffffffffffffffffffffffffffffffffffff81166118c4576118c47f0e88bf4b00000000000000000000000000000000000000000000000000000000610ef4565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff166040517f8df80bd600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301529190911690638df80bd690602401602060405180830381865afa158015611968573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061198c9190614943565b6108e8576108e87f0e88bf4b00000000000000000000000000000000000000000000000000000000610ef4565b73ffffffffffffffffffffffffffffffffffffffff81166119fd576119fd7f5fbd571700000000000000000000000000000000000000000000000000000000610ef4565b5f611a267fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b90508015801590611a81575080611a7e7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b10155b156104a3576104a37f7efcdb4900000000000000000000000000000000000000000000000000000000610ef4565b5f5f611afc7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f611b07611204565b90505f611b12612a0d565b905082821115611b25575f935050505090565b8015611b3e57611b356001612a36565b5f935050505090565b6001935050505090565b5f611b976104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f611ba382612a73565b9050803410156104a3576104a37fb1296a8a00000000000000000000000000000000000000000000000000000000610ef4565b602081015173ffffffffffffffffffffffffffffffffffffffff16156104a3578173ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff161480611c4d5750602081015173ffffffffffffffffffffffffffffffffffffffff1633145b156104a3576104a37f5fbd571700000000000000000000000000000000000000000000000000000000610ef4565b606084848484604051602001611c94949392919061495c565b6040516020818303038152906040529050949350505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660208201524360348201525f908190605401604051602081830303815290604052805190602001209050611d8c81611d608387611d1386612aa3565b6040805160208082019590955273ffffffffffffffffffffffffffffffffffffffff9390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b91505f611d9883612ae9565b511115611dc857611dc87ff82e65c300000000000000000000000000000000000000000000000000000000610ef4565b611dd28284612bc9565b3415611de157611de182612c21565b5092915050565b5f5f5f611e296040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250612c7f565b90505f611e3587612e17565b82519091505f5b81811015612030575f848281518110611e5757611e576149d8565b60200260200101519050806040015115611e715750612028565b5f5b816080015151811015612025575f82608001518281518110611e9757611e976149d8565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5335f5f1b886040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250604051602001611f079190614a05565b604051602081830303815290604052611f1f90614a1b565b6040518463ffffffff1660e01b8152600401611f3d93929190614a5d565b602060405180830381865afa158015611f58573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7c9190614943565b15611f955750600197505f965061203595505050505050565b8073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fde573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120029190614943565b1561201c576120178c8c8c84875f015161315b565b600197505b50600101611e73565b50505b600101611e3c565b505050505b935093915050565b5f61208c6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f61209882612a73565b90505f5f5f5f6120a787612ae9565b8060200190518101906120ba9190614b2d565b929650909450925090507fffffffff0000000000000000000000000000000000000000000000000000000084167f686f76840000000000000000000000000000000000000000000000000000000014612136576121367fda6153bd00000000000000000000000000000000000000000000000000000000610ef4565b5f8180602001905181019061214b9190614bb1565b90505f5f612159868a6123ab565b90505f61216a87855f01518c613377565b90505f61218188866020015187604001518e6134e4565b9050808261218f858d6148e0565b61219991906148e0565b6121a391906148e0565b93505050506121b68986868a858d613666565b505050505050505050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0160205260409020548015612247576121fe83826136f1565b61224761223f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b3084846125e9565b505050565b5f612255613759565b90506122d9816122a96104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b5f9182527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb609602052604090912055565b6122e4826001613780565b6122f5816122f0611449565b61264d565b604051819073ffffffffffffffffffffffffffffffffffffffff8416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b576905f90a35050565b6123538260405180602001604052805f815250612bc9565b61235d82826121c1565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f905f90a25050565b5f61055582613799565b5f6123b58261170d565b90506105556123f87fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b846124016107e6565b73ffffffffffffffffffffffffffffffffffffffff16634ccb20c06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612449573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246d9190614681565b846125e9565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600816124d47fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b90507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff821601612536578382600a015f8282546125269190614c59565b9091555084935061055592505050565b5f61255773ffffffffffffffffffffffffffffffffffffffff8316306138ca565b9050612565828730886125e9565b5f61258673ffffffffffffffffffffffffffffffffffffffff8416306138ca565b90505f61259383836148e0565b90508681146125c5576125c57fb1296a8a00000000000000000000000000000000000000000000000000000000610ef4565b8085600a015f8282546125d89190614c59565b909155509098975050505050505050565b8015612647577fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff85160161263b5761263682826138fd565b612647565b6126478484848461391d565b50505050565b5f8281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060208190526040822054909167ffffffffffffffff909116908181036126a35761269c8442614c6c565b90506126cb565b428267ffffffffffffffff16116126be5761269c8442614c6c565b6126c88483614c6c565b90505b5f858152602084815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff8516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b5f6127516107e6565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612799573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127bd91906148f3565b67ffffffffffffffff1690508167ffffffffffffffff165f03612803576128037f82323d2e00000000000000000000000000000000000000000000000000000000610ef4565b808267ffffffffffffffff1611156104a3576104a37f82323d2e00000000000000000000000000000000000000000000000000000000610ef4565b5f61288d6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f61289982612a73565b90505f5f5f6128a786612ae9565b8060200190518101906128ba9190614b2d565b50919450925090507fffffffff0000000000000000000000000000000000000000000000000000000083167f8c625b060000000000000000000000000000000000000000000000000000000014612934576129347fda6153bd00000000000000000000000000000000000000000000000000000000610ef4565b5f61293f83876123ab565b90505f61294c82876148e0565b905061115288858589858c613666565b5f6127108211156129ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f303060448201527f3000000000000000000000000000000000000000000000000000000000000000606482015260840161045c565b6127106129fc8385614c8c565b612a069190614ca3565b9392505050565b5f7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005b54919050565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c008054829082905f90612a6a9084906148e0565b90915550505050565b5f5f612a7d612a0d565b90508015612a8d57505f92915050565b825f03612a9c57505f92915050565b5090919050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0060208190526040822080549083612ade83614cdb565b909155509392505050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040902080546060917f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0091612b459061469c565b80601f0160208091040260200160405190810160405280929190818152602001828054612b719061469c565b8015612bbc5780601f10612b9357610100808354040283529160200191612bbc565b820191905f5260205f20905b815481529060010190602001808311612b9f57829003601f168201915b5050505050915050919050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0090612647838261472b565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092349291612a6a908490614c59565b60605f612c8a6139b1565b80519091505f8167ffffffffffffffff811115612ca957612ca9614404565b604051908082528060200260200182016040528015612d0c57816020015b612cf96040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081612cc75790505b50855160208701209091505f90815b84811015612e0b575f5f5f5f612d498a8681518110612d3c57612d3c6149d8565b60200260200101516139dc565b93509350935093505f5b8251811015612dfb5786838281518110612d6f57612d6f6149d8565b60200260200101518051906020012003612df3576040518060a001604052808c8881518110612da057612da06149d8565b60200260200101518152602001868152602001851515815260200184815260200183815250898981518110612dd757612dd76149d8565b602002602001018190525087612dec90614cdb565b9750612dfb565b600101612d53565b5050505050806001019050612d1b565b50508152949350505050565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa158015612eae573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052612ef39190810190614d12565b905080515f03613064576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa158015612f6a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f8e9190614681565b905073ffffffffffffffffffffffffffffffffffffffff811615613062576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa15801561301a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261305f9190810190614d12565b91505b505b80515f613072826001614c59565b67ffffffffffffffff81111561308a5761308a614404565b6040519080825280602002602001820160405280156130b3578160200160208202803683370190505b5090505f5b82811015613119578381815181106130d2576130d26149d8565b60200260200101518282815181106130ec576130ec6149d8565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526001016130b8565b508581838151811061312d5761312d6149d8565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015295945050505050565b73ffffffffffffffffffffffffffffffffffffffff851661319f5761319f7f99ef038800000000000000000000000000000000000000000000000000000000610ef4565b73ffffffffffffffffffffffffffffffffffffffff82166131e3576131e37f4bb7c20500000000000000000000000000000000000000000000000000000000610ef4565b5f8381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781556003810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff888116919091179091558251908916938101939093527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00939092909101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905284547f21be050a00000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff16906321be050a90349061333f908c908b908a908890600401614dc6565b5f604051808303818588803b158015613356575f5ffd5b505af1158015613368573d5f5f3e3d5ffd5b50505050505050505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff831661339a57505f612a06565b5f6133d97fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5cb4f54800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301529190911690635cb4f54890602401608060405180830381865afa158015613445573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134699190614e00565b905080604001515f0361347f575f915050612a06565b61348d83826040015161295c565b91506134dc6134d07fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b868360200151856125e9565b509392505050565b5f82515f14613594575f6134f784613ac8565b604081015190915073ffffffffffffffffffffffffffffffffffffffff16158061352357506020810151155b15613531575f9150506117fe565b61353f83826020015161295c565b915061358e6135827fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b878360400151856125e9565b506117fe565b73ffffffffffffffffffffffffffffffffffffffff8416156117fe578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036135ea57505f6117fe565b61361b826136167faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b61295c565b90506117fe61365e7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b8686846125e9565b8115613678576136768583612473565b505b61368286846136f1565b61369a8660405180602001604052805f815250612bc9565b5f6136a3613b70565b90505f6136d2825f856040516020016136be91815260200190565b604051602081830303815290604052613c5d565b90506136df828783613cce565b611152826136eb610baa565b83613cce565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e009284929161374f9084906148e0565b9091555050505050565b5f7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00612a30565b6104a3828260405180602001604052805f815250613d56565b5f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c01000000000000000000000000000000000000000000000000000000008316900361389757815f036138915780548310613850576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115613851575b50919050565b506040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b6104a373ffffffffffffffffffffffffffffffffffffffff831682613e1e565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160315612647573073ffffffffffffffffffffffffffffffffffffffff84160361398f5761263673ffffffffffffffffffffffffffffffffffffffff85168383613e37565b61264773ffffffffffffffffffffffffffffffffffffffff8516848484613e8a565b60606104fb7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01613eec565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd036020526040812080546060929183918291908190613a1e9061469c565b80601f0160208091040260200160405190810160405280929190818152602001828054613a4a9061469c565b8015613a955780601f10613a6c57610100808354040283529160200191613a95565b820191905f5260205f20905b815481529060010190602001808311613a7857829003601f168201915b5050505060018301549196505060ff169350613ab360028201613ef8565b9250613abe81613fcf565b9150509193509193565b613b006040518060600160405280606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5080516020808301919091205f9081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008028252604090819020815160608101835293845280549284019290925260019091015473ffffffffffffffffffffffffffffffffffffffff169082015290565b5f613baf7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f44ab66800000000000000000000000000000000000000000000000000000000081527f526976657241697264726f700000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff91909116906344ab668090602401602060405180830381865afa158015613c39573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fb9190614681565b6040517fdc69fdde0000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063dc69fdde90613cb39086908690600401614e7a565b602060405180830381865afa1580156117da573d5f5f3e3d5ffd5b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390528416906340c10f19906044015f604051808303815f87803b158015613d3b575f5ffd5b505af1158015613d4d573d5f5f3e3d5ffd5b50505050505050565b613d608383613fde565b73ffffffffffffffffffffffffffffffffffffffff83163b15612247577f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00548281035b613db55f868380600101945086614193565b613deb576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110613da357817f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0054146107d6575f5ffd5b5f385f3884865af16104a35763b12d13eb5f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416613e8057803d853b151710613e80576390b8ec185f526004601cfd5b505f603452505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416613ede57803d873b151710613ede57637939f4245f526004601cfd5b505f60605260405250505050565b60605f612a0683614305565b6060815f01805480602002602001604051908101604052809291908181526020015f905b82821015613fc4578382905f5260205f20018054613f399061469c565b80601f0160208091040260200160405190810160405280929190818152602001828054613f659061469c565b8015613fb05780601f10613f8757610100808354040283529160200191613fb0565b820191905f5260205f20905b815481529060010190602001808311613f9357829003601f168201915b505050505081526020019060010190613f1c565b505050509050919050565b60605f612a0683600401613eec565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00545f82900361403a576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146141315780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa46001016140fb565b50815f0361416b576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005550505050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906141ed903390899088908890600401614ec7565b6020604051808303815f875af1925050508015614245575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261424291810190614f17565b60015b6142ba573d808015614272576040519150601f19603f3d011682016040523d82523d5f602084013e614277565b606091505b5080515f036142b2576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506117fe565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561435257602002820191905f5260205f20905b81548152602001906001019080831161433e575b50505050509050919050565b5f5f6020838503121561436f575f5ffd5b823567ffffffffffffffff811115614385575f5ffd5b8301601f81018513614395575f5ffd5b803567ffffffffffffffff8111156143ab575f5ffd5b8560208284010111156143bc575f5ffd5b6020919091019590945092505050565b5f602082840312156143dc575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146108e8575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561445457614454614404565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156144a1576144a1614404565b604052919050565b5f67ffffffffffffffff8211156144c2576144c2614404565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f5f604083850312156144ff575f5ffd5b823561450a816143e3565b9150602083013567ffffffffffffffff811115614525575f5ffd5b830160608186031215614536575f5ffd5b61453e614431565b8135614549816143e3565b81526020820135614559816143e3565b6020820152604082013567ffffffffffffffff811115614577575f5ffd5b80830192505085601f83011261458b575f5ffd5b813561459e614599826144a9565b61445a565b8181528760208386010111156145b2575f5ffd5b816020850160208301375f60208383010152806040840152505080925050509250929050565b67ffffffffffffffff811681146108e8575f5ffd5b5f602082840312156145fd575f5ffd5b8135612a06816145d8565b5f60208284031215614618575f5ffd5b8135612a06816143e3565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f612a066020830184614623565b5f60208284031215614691575f5ffd5b8151612a06816143e3565b600181811c908216806146b057607f821691505b602082108103613891577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f82111561224757805f5260205f20601f840160051c8101602085101561470c5750805b601f840160051c820191505b818110156107d6575f8155600101614718565b815167ffffffffffffffff81111561474557614745614404565b61475981614753845461469c565b846146e7565b6020601f8211600181146147aa575f83156147745750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b1784556107d6565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b828110156147f757878501518255602094850194600190920191016147d7565b508482101561483357868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215614852575f5ffd5b5051919050565b6020815273ffffffffffffffffffffffffffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f60408301516060808401526117fe6080840182614623565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610555576105556148b3565b5f60208284031215614903575f5ffd5b8151612a06816145d8565b5f6020828403121561491e575f5ffd5b815161ffff81168114612a06575f5ffd5b8051801515811461493e575f5ffd5b919050565b5f60208284031215614953575f5ffd5b612a068261492f565b7fffffffff000000000000000000000000000000000000000000000000000000008516815273ffffffffffffffffffffffffffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f6149ce6080830184614623565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b80516020808301519190811015613891577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f60608201858352606060208401528085518083526080850191506020870192505f5b81811015614ab457835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101614a80565b505060409390930193909352509392505050565b80517fffffffff000000000000000000000000000000000000000000000000000000008116811461493e575f5ffd5b5f614b04614599846144a9565b9050828152838383011115614b17575f5ffd5b8282602083015e5f602084830101529392505050565b5f5f5f5f60808587031215614b40575f5ffd5b614b4985614ac8565b93506020850151614b59816143e3565b6040860151909350614b6a816143e3565b606086015190925067ffffffffffffffff811115614b86575f5ffd5b8501601f81018713614b96575f5ffd5b614ba587825160208401614af7565b91505092959194509250565b5f60208284031215614bc1575f5ffd5b815167ffffffffffffffff811115614bd7575f5ffd5b820160608185031215614be8575f5ffd5b614bf0614431565b8151614bfb816143e3565b81526020820151614c0b816143e3565b6020820152604082015167ffffffffffffffff811115614c29575f5ffd5b80830192505084601f830112614c3d575f5ffd5b614c4c85835160208501614af7565b6040820152949350505050565b80820180821115610555576105556148b3565b67ffffffffffffffff8181168382160190811115610555576105556148b3565b8082028115828204841417610555576105556148b3565b5f82614cd6577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614d0b57614d0b6148b3565b5060010190565b5f60208284031215614d22575f5ffd5b815167ffffffffffffffff811115614d38575f5ffd5b8201601f81018413614d48575f5ffd5b805167ffffffffffffffff811115614d6257614d62614404565b8060051b614d726020820161445a565b91825260208184018101929081019087841115614d8d575f5ffd5b6020850194505b83851015614dbb5784519250614da9836143e3565b82825260209485019490910190614d94565b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201525f6149ce6080830184614623565b5f6080828403128015614e11575f5ffd5b506040516080810167ffffffffffffffff81118282101715614e3557614e35614404565b6040528251614e43816143e3565b81526020830151614e53816143e3565b602082015260408381015190820152614e6e6060840161492f565b60608201529392505050565b5f60048410614eb0577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b838252604060208301526117fe6040830184614623565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f6149ce6080830184614623565b5f60208284031215614f27575f5ffd5b612a0682614ac856";
|
|
1512
1512
|
|
|
1513
1513
|
type MembershipFacetConstructorParams =
|
|
1514
1514
|
| [signer?: Signer]
|