@towns-protocol/generated 0.0.256 → 0.0.257

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.
@@ -229,6 +229,25 @@
229
229
  ],
230
230
  "stateMutability": "view"
231
231
  },
232
+ {
233
+ "type": "function",
234
+ "name": "getAppDuration",
235
+ "inputs": [
236
+ {
237
+ "name": "app",
238
+ "type": "address",
239
+ "internalType": "address"
240
+ }
241
+ ],
242
+ "outputs": [
243
+ {
244
+ "name": "",
245
+ "type": "uint48",
246
+ "internalType": "uint48"
247
+ }
248
+ ],
249
+ "stateMutability": "view"
250
+ },
232
251
  {
233
252
  "type": "function",
234
253
  "name": "getAppPrice",
@@ -229,6 +229,25 @@ export default [
229
229
  ],
230
230
  "stateMutability": "view"
231
231
  },
232
+ {
233
+ "type": "function",
234
+ "name": "getAppDuration",
235
+ "inputs": [
236
+ {
237
+ "name": "app",
238
+ "type": "address",
239
+ "internalType": "address"
240
+ }
241
+ ],
242
+ "outputs": [
243
+ {
244
+ "name": "",
245
+ "type": "uint48",
246
+ "internalType": "uint48"
247
+ }
248
+ ],
249
+ "stateMutability": "view"
250
+ },
232
251
  {
233
252
  "type": "function",
234
253
  "name": "getAppPrice",
@@ -188,7 +188,7 @@
188
188
  "internalType": "uint16"
189
189
  },
190
190
  {
191
- "name": "collectPosterFeeToSpace",
191
+ "name": "forwardPosterFee",
192
192
  "type": "bool",
193
193
  "internalType": "bool"
194
194
  }
@@ -218,7 +218,7 @@
218
218
  "internalType": "uint16"
219
219
  },
220
220
  {
221
- "name": "collectPosterFeeToSpace",
221
+ "name": "forwardPosterFee",
222
222
  "type": "bool",
223
223
  "internalType": "bool"
224
224
  }
@@ -366,7 +366,7 @@
366
366
  "internalType": "uint16"
367
367
  },
368
368
  {
369
- "name": "collectPosterFeeToSpace",
369
+ "name": "forwardPosterFee",
370
370
  "type": "bool",
371
371
  "indexed": false,
372
372
  "internalType": "bool"
@@ -188,7 +188,7 @@ export default [
188
188
  "internalType": "uint16"
189
189
  },
190
190
  {
191
- "name": "collectPosterFeeToSpace",
191
+ "name": "forwardPosterFee",
192
192
  "type": "bool",
193
193
  "internalType": "bool"
194
194
  }
@@ -218,7 +218,7 @@ export default [
218
218
  "internalType": "uint16"
219
219
  },
220
220
  {
221
- "name": "collectPosterFeeToSpace",
221
+ "name": "forwardPosterFee",
222
222
  "type": "bool",
223
223
  "internalType": "bool"
224
224
  }
@@ -366,7 +366,7 @@ export default [
366
366
  "internalType": "uint16"
367
367
  },
368
368
  {
369
- "name": "collectPosterFeeToSpace",
369
+ "name": "forwardPosterFee",
370
370
  "type": "bool",
371
371
  "indexed": false,
372
372
  "internalType": "bool"
@@ -53,7 +53,7 @@
53
53
  "internalType": "uint16"
54
54
  },
55
55
  {
56
- "name": "collectPosterFeeToSpace",
56
+ "name": "forwardPosterFee",
57
57
  "type": "bool",
58
58
  "indexed": false,
59
59
  "internalType": "bool"
@@ -53,7 +53,7 @@ export default [
53
53
  "internalType": "uint16"
54
54
  },
55
55
  {
56
- "name": "collectPosterFeeToSpace",
56
+ "name": "forwardPosterFee",
57
57
  "type": "bool",
58
58
  "indexed": false,
59
59
  "internalType": "bool"
@@ -138,6 +138,7 @@ export interface IAppRegistryInterface extends utils.Interface {
138
138
  "createApp((string,bytes32[],address,uint256,uint48))": FunctionFragment;
139
139
  "getAppByClient(address)": FunctionFragment;
140
140
  "getAppById(bytes32)": FunctionFragment;
141
+ "getAppDuration(address)": FunctionFragment;
141
142
  "getAppPrice(address)": FunctionFragment;
142
143
  "getAppSchema()": FunctionFragment;
143
144
  "getAppSchemaId()": FunctionFragment;
@@ -157,6 +158,7 @@ export interface IAppRegistryInterface extends utils.Interface {
157
158
  | "createApp"
158
159
  | "getAppByClient"
159
160
  | "getAppById"
161
+ | "getAppDuration"
160
162
  | "getAppPrice"
161
163
  | "getAppSchema"
162
164
  | "getAppSchemaId"
@@ -193,6 +195,10 @@ export interface IAppRegistryInterface extends utils.Interface {
193
195
  functionFragment: "getAppById",
194
196
  values: [PromiseOrValue<BytesLike>]
195
197
  ): string;
198
+ encodeFunctionData(
199
+ functionFragment: "getAppDuration",
200
+ values: [PromiseOrValue<string>]
201
+ ): string;
196
202
  encodeFunctionData(
197
203
  functionFragment: "getAppPrice",
198
204
  values: [PromiseOrValue<string>]
@@ -260,6 +266,10 @@ export interface IAppRegistryInterface extends utils.Interface {
260
266
  data: BytesLike
261
267
  ): Result;
262
268
  decodeFunctionResult(functionFragment: "getAppById", data: BytesLike): Result;
269
+ decodeFunctionResult(
270
+ functionFragment: "getAppDuration",
271
+ data: BytesLike
272
+ ): Result;
263
273
  decodeFunctionResult(
264
274
  functionFragment: "getAppPrice",
265
275
  data: BytesLike
@@ -464,6 +474,11 @@ export interface IAppRegistry extends BaseContract {
464
474
  overrides?: CallOverrides
465
475
  ): Promise<[IAppRegistryBase.AppStructOutput]>;
466
476
 
477
+ getAppDuration(
478
+ app: PromiseOrValue<string>,
479
+ overrides?: CallOverrides
480
+ ): Promise<[number]>;
481
+
467
482
  getAppPrice(
468
483
  app: PromiseOrValue<string>,
469
484
  overrides?: CallOverrides
@@ -543,6 +558,11 @@ export interface IAppRegistry extends BaseContract {
543
558
  overrides?: CallOverrides
544
559
  ): Promise<IAppRegistryBase.AppStructOutput>;
545
560
 
561
+ getAppDuration(
562
+ app: PromiseOrValue<string>,
563
+ overrides?: CallOverrides
564
+ ): Promise<number>;
565
+
546
566
  getAppPrice(
547
567
  app: PromiseOrValue<string>,
548
568
  overrides?: CallOverrides
@@ -622,6 +642,11 @@ export interface IAppRegistry extends BaseContract {
622
642
  overrides?: CallOverrides
623
643
  ): Promise<IAppRegistryBase.AppStructOutput>;
624
644
 
645
+ getAppDuration(
646
+ app: PromiseOrValue<string>,
647
+ overrides?: CallOverrides
648
+ ): Promise<number>;
649
+
625
650
  getAppPrice(
626
651
  app: PromiseOrValue<string>,
627
652
  overrides?: CallOverrides
@@ -785,6 +810,11 @@ export interface IAppRegistry extends BaseContract {
785
810
  overrides?: CallOverrides
786
811
  ): Promise<BigNumber>;
787
812
 
813
+ getAppDuration(
814
+ app: PromiseOrValue<string>,
815
+ overrides?: CallOverrides
816
+ ): Promise<BigNumber>;
817
+
788
818
  getAppPrice(
789
819
  app: PromiseOrValue<string>,
790
820
  overrides?: CallOverrides
@@ -865,6 +895,11 @@ export interface IAppRegistry extends BaseContract {
865
895
  overrides?: CallOverrides
866
896
  ): Promise<PopulatedTransaction>;
867
897
 
898
+ getAppDuration(
899
+ app: PromiseOrValue<string>,
900
+ overrides?: CallOverrides
901
+ ): Promise<PopulatedTransaction>;
902
+
868
903
  getAppPrice(
869
904
  app: PromiseOrValue<string>,
870
905
  overrides?: CallOverrides
@@ -214,7 +214,7 @@ export type SwapExecutedEventFilter = TypedEventFilter<SwapExecutedEvent>;
214
214
 
215
215
  export interface SwapFeeConfigUpdatedEventObject {
216
216
  posterFeeBps: number;
217
- collectPosterFeeToSpace: boolean;
217
+ forwardPosterFee: boolean;
218
218
  }
219
219
  export type SwapFeeConfigUpdatedEvent = TypedEvent<
220
220
  [number, boolean],
@@ -283,7 +283,7 @@ export interface ISwapFacet extends BaseContract {
283
283
  [number, number, boolean] & {
284
284
  protocolBps: number;
285
285
  posterBps: number;
286
- collectPosterFeeToSpace: boolean;
286
+ forwardPosterFee: boolean;
287
287
  }
288
288
  >;
289
289
 
@@ -291,7 +291,7 @@ export interface ISwapFacet extends BaseContract {
291
291
 
292
292
  setSwapFeeConfig(
293
293
  posterFeeBps: PromiseOrValue<BigNumberish>,
294
- collectPosterFeeToSpace: PromiseOrValue<boolean>,
294
+ forwardPosterFee: PromiseOrValue<boolean>,
295
295
  overrides?: Overrides & { from?: PromiseOrValue<string> }
296
296
  ): Promise<ContractTransaction>;
297
297
  };
@@ -317,7 +317,7 @@ export interface ISwapFacet extends BaseContract {
317
317
  [number, number, boolean] & {
318
318
  protocolBps: number;
319
319
  posterBps: number;
320
- collectPosterFeeToSpace: boolean;
320
+ forwardPosterFee: boolean;
321
321
  }
322
322
  >;
323
323
 
@@ -325,7 +325,7 @@ export interface ISwapFacet extends BaseContract {
325
325
 
326
326
  setSwapFeeConfig(
327
327
  posterFeeBps: PromiseOrValue<BigNumberish>,
328
- collectPosterFeeToSpace: PromiseOrValue<boolean>,
328
+ forwardPosterFee: PromiseOrValue<boolean>,
329
329
  overrides?: Overrides & { from?: PromiseOrValue<string> }
330
330
  ): Promise<ContractTransaction>;
331
331
 
@@ -351,7 +351,7 @@ export interface ISwapFacet extends BaseContract {
351
351
  [number, number, boolean] & {
352
352
  protocolBps: number;
353
353
  posterBps: number;
354
- collectPosterFeeToSpace: boolean;
354
+ forwardPosterFee: boolean;
355
355
  }
356
356
  >;
357
357
 
@@ -359,7 +359,7 @@ export interface ISwapFacet extends BaseContract {
359
359
 
360
360
  setSwapFeeConfig(
361
361
  posterFeeBps: PromiseOrValue<BigNumberish>,
362
- collectPosterFeeToSpace: PromiseOrValue<boolean>,
362
+ forwardPosterFee: PromiseOrValue<boolean>,
363
363
  overrides?: CallOverrides
364
364
  ): Promise<void>;
365
365
  };
@@ -418,11 +418,11 @@ export interface ISwapFacet extends BaseContract {
418
418
 
419
419
  "SwapFeeConfigUpdated(uint16,bool)"(
420
420
  posterFeeBps?: null,
421
- collectPosterFeeToSpace?: null
421
+ forwardPosterFee?: null
422
422
  ): SwapFeeConfigUpdatedEventFilter;
423
423
  SwapFeeConfigUpdated(
424
424
  posterFeeBps?: null,
425
- collectPosterFeeToSpace?: null
425
+ forwardPosterFee?: null
426
426
  ): SwapFeeConfigUpdatedEventFilter;
427
427
 
428
428
  "SwapRouterInitialized(address)"(
@@ -455,7 +455,7 @@ export interface ISwapFacet extends BaseContract {
455
455
 
456
456
  setSwapFeeConfig(
457
457
  posterFeeBps: PromiseOrValue<BigNumberish>,
458
- collectPosterFeeToSpace: PromiseOrValue<boolean>,
458
+ forwardPosterFee: PromiseOrValue<boolean>,
459
459
  overrides?: Overrides & { from?: PromiseOrValue<string> }
460
460
  ): Promise<BigNumber>;
461
461
  };
@@ -482,7 +482,7 @@ export interface ISwapFacet extends BaseContract {
482
482
 
483
483
  setSwapFeeConfig(
484
484
  posterFeeBps: PromiseOrValue<BigNumberish>,
485
- collectPosterFeeToSpace: PromiseOrValue<boolean>,
485
+ forwardPosterFee: PromiseOrValue<boolean>,
486
486
  overrides?: Overrides & { from?: PromiseOrValue<string> }
487
487
  ): Promise<PopulatedTransaction>;
488
488
  };
@@ -237,6 +237,25 @@ const _abi = [
237
237
  ],
238
238
  stateMutability: "view",
239
239
  },
240
+ {
241
+ type: "function",
242
+ name: "getAppDuration",
243
+ inputs: [
244
+ {
245
+ name: "app",
246
+ type: "address",
247
+ internalType: "address",
248
+ },
249
+ ],
250
+ outputs: [
251
+ {
252
+ name: "",
253
+ type: "uint48",
254
+ internalType: "uint48",
255
+ },
256
+ ],
257
+ stateMutability: "view",
258
+ },
240
259
  {
241
260
  type: "function",
242
261
  name: "getAppPrice",
@@ -196,7 +196,7 @@ const _abi = [
196
196
  internalType: "uint16",
197
197
  },
198
198
  {
199
- name: "collectPosterFeeToSpace",
199
+ name: "forwardPosterFee",
200
200
  type: "bool",
201
201
  internalType: "bool",
202
202
  },
@@ -226,7 +226,7 @@ const _abi = [
226
226
  internalType: "uint16",
227
227
  },
228
228
  {
229
- name: "collectPosterFeeToSpace",
229
+ name: "forwardPosterFee",
230
230
  type: "bool",
231
231
  internalType: "bool",
232
232
  },
@@ -374,7 +374,7 @@ const _abi = [
374
374
  internalType: "uint16",
375
375
  },
376
376
  {
377
- name: "collectPosterFeeToSpace",
377
+ name: "forwardPosterFee",
378
378
  type: "bool",
379
379
  indexed: false,
380
380
  internalType: "bool",
@@ -1513,7 +1513,7 @@ const _abi = [
1513
1513
  ] as const;
1514
1514
 
1515
1515
  const _bytecode =
1516
- "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b6152e1806100ca5f395ff3fe608060405260043610610162575f3560e01c806379dda585116100c657806393b13cb71161007c578063a5a4103111610057578063a5a41031146103ab578063df9a9fe6146103bf578063e847abdd146103de575f5ffd5b806393b13cb71461035757806395d600c81461037857806397fb7c1e1461038c575f5ffd5b80638120f0ba116100ac5780638120f0ba146102f857806383f3f0dc146103255780638c625b0614610344575f5ffd5b806379dda585146102d15780637c9669ac146102e5575f5ffd5b80635becd24a1161011b578063686f768411610101578063686f76841461028b57806369d5f38a1461029e578063706b8e09146102bd575f5ffd5b80635becd24a14610233578063657e45e814610252575f5ffd5b806317c957091161014b57806317c95709146101ae5780633e9491a2146102025780635803909f14610214575f5ffd5b80630ef1be5f146101665780631278076a14610187575b5f5ffd5b348015610171575f5ffd5b50610185610180366004614719565b6103f2565b005b348015610192575f5ffd5b5061019b6104a7565b6040519081526020015b60405180910390f35b3480156101b9575f5ffd5b5061019b6101c8366004614787565b5f9081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602052604090205467ffffffffffffffff1690565b34801561020d575f5ffd5b504761019b565b34801561021f575f5ffd5b5061019b61022e366004614787565b610500565b34801561023e575f5ffd5b5061018561024d366004614787565b61055b565b34801561025d575f5ffd5b50610266610642565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a5565b6101856102993660046148a9565b610681565b3480156102a9575f5ffd5b506101856102b8366004614787565b6106c5565b3480156102c8575f5ffd5b5061019b6107dd565b3480156102dc575f5ffd5b506102666107e6565b6101856102f3366004614787565b610825565b348015610303575f5ffd5b5061030c610868565b60405167ffffffffffffffff90911681526020016101a5565b348015610330575f5ffd5b5061018561033f3660046149a8565b610871565b6101856103523660046149c3565b6108eb565b348015610362575f5ffd5b5061036b61091e565b6040516101a59190614a2a565b348015610383575f5ffd5b5061019b610928565b348015610397575f5ffd5b506101856103a6366004614787565b610951565b3480156103b6575f5ffd5b5061019b610a3b565b3480156103ca575f5ffd5b506101856103d93660046149c3565b610a92565b3480156103e9575f5ffd5b50610266610b6b565b6103fa610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610465576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6104a382828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610c6a92505050565b5050565b5f6104fb6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610c95565b905090565b5f610555826105507f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610f0c565b92915050565b610563610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105c9576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b5f6105f27fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b9050801580159061060257508082115b15610630576106307fc3983b9100000000000000000000000000000000000000000000000000000000611066565b6106398261106e565b6104a382611112565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd21268540361069f5763ab143c065f526004601cfd5b3068929eee149b4bd21268556106b582826111d0565b3868929eee149b4bd21268555050565b6106cd610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610733576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b61073c816112d4565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb608546040517f91b7f5ed0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906391b7f5ed906024015f604051808303815f87803b1580156107c4575f5ffd5b505af11580156107d6573d5f5f3e3d5ffd5b5050505050565b5f6104fb61137c565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd2126854036108435763ab143c065f526004601cfd5b3068929eee149b4bd21268556108593382611447565b3868929eee149b4bd212685550565b5f6104fb6115cb565b610879610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108df576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b6108e88161168e565b50565b3068929eee149b4bd2126854036109095763ab143c065f526004601cfd5b3068929eee149b4bd212685561085981611709565b60606104fb6117b2565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b610959610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109bf576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b610a1381610a0e7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b611864565b6108e8817fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60355565b5f6104fb610a8d6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b611895565b610a9a610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b00576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b610b0981611a08565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905550565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610c40573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c649190614a3c565b91505090565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60c6104a38282614ae6565b5f5f610c9f61137c565b90505f610ce07fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b90505f610ceb6107e6565b905073ffffffffffffffffffffffffffffffffffffffff8216610d7e578073ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d51573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d759190614bfd565b95945050505050565b6040517f5cf4ee91000000000000000000000000000000000000000000000000000000008152600481018490526024810186905273ffffffffffffffffffffffffffffffffffffffff831690635cf4ee9190604401602060405180830381865afa158015610dee573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e129190614bfd565b93505f8173ffffffffffffffffffffffffffffffffffffffff16631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e5e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e829190614bfd565b905080851015610f03578173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef99190614bfd565b9695505050505050565b50505050919050565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60081610f376107e6565b90505f8173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f83573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa79190614bfd565b5f8781526009850160205260409020549091508015610fd457818110828218028118945050505050610555565b5f8373ffffffffffffffffffffffffffffffffffffffff16631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561101e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110429190614bfd565b90505f61104e88610c95565b90508181108282180281189998505050505050505050565b805f5260045ffd5b6110766107e6565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110be573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e29190614bfd565b8111156108e8576108e87fc3983b9100000000000000000000000000000000000000000000000000000000611066565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6078190557fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009082907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f905f90a25050565b6111d982611b41565b5f6111e2611c37565b90505f81156111f6576111f3611cd0565b90505b6112008484611d62565b5f836040516020016112129190614c14565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290507f686f7684000000000000000000000000000000000000000000000000000000005f6112798761127484338388611e07565b611e39565b90505f5f61128989338589611f74565b91509150806112c95781156112bf5786156112a7576112a783611fef565b6112b1838a612168565b6112ba896121f3565b6112c9565b6112c9838a6122e2565b505050505050505050565b5f6112dd6107e6565b73ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611325573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113499190614bfd565b9050808210156104a3576104a37f3447ac8e00000000000000000000000000000000000000000000000000000000611066565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d545f907fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009060ff16156113d35760070154919050565b6113db6107e6565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611423573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c649190614bfd565b5f61145182612348565b905073ffffffffffffffffffffffffffffffffffffffff8116611497576114977f5fbd571700000000000000000000000000000000000000000000000000000000611066565b5f6114a06115cb565b67ffffffffffffffff1690505f6114fc846105507f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90503481111561152f5761152f7f34a7a93d00000000000000000000000000000000000000000000000000000000611066565b5f61153a8683612352565b90505f6115478284614c9b565b9050801561155b57611559878261241a565b505b5f6115668434614c9b565b905080156115b7576115b76115af7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b308a84612590565b6115c187866125f4565b5050505050505050565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065474010000000000000000000000000000000000000000900467ffffffffffffffff165f81900361168b5761161f6107e6565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611667573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fb9190614cae565b90565b61169781612722565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb606805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b61171281611b41565b5f61171b611c37565b90505f811561172f5761172c611cd0565b90505b5f638c625b0660e01b90505f6117598561127484338960405180602001604052805f815250611e07565b90505f5f61176987338588611f74565b91509150806117a957811561179f5785156117875761178783612818565b6117918388612168565b61179a876121f3565b6117a9565b6117a983886122e2565b50505050505050565b60607fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600c0180546117e390614a57565b80601f016020809104026020016040519081016040528092919081815260200182805461180f90614a57565b801561185a5780601f106118315761010080835404028352916020019161185a565b820191905f5260205f20905b81548152906001019060200180831161183d57829003601f168201915b5050505050905090565b808210156104a3576104a37fccc9aa2e00000000000000000000000000000000000000000000000000000000611066565b5f5f61189f6107e6565b90505f8173ffffffffffffffffffffffffffffffffffffffff16631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118eb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061190f9190614bfd565b90508084101561198e578173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611962573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119869190614bfd565b949350505050565b611986848373ffffffffffffffffffffffffffffffffffffffff16639f6542aa6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119ff9190614cc9565b61ffff16612936565b73ffffffffffffffffffffffffffffffffffffffff8116611a4c57611a4c7f0e88bf4b00000000000000000000000000000000000000000000000000000000611066565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff166040517f8df80bd600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301529190911690638df80bd690602401602060405180830381865afa158015611af0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b149190614cfe565b6108e8576108e87f0e88bf4b00000000000000000000000000000000000000000000000000000000611066565b73ffffffffffffffffffffffffffffffffffffffff8116611b8557611b857f5fbd571700000000000000000000000000000000000000000000000000000000611066565b5f611bae7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b90508015801590611c09575080611c067f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b10155b156104a3576104a37f7efcdb4900000000000000000000000000000000000000000000000000000000611066565b5f5f611c847f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f611c8f61137c565b90505f611c9a612989565b905082821115611cad575f935050505090565b8015611cc657611cbd60016129b2565b5f935050505090565b6001935050505090565b5f5f611d206104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b9050611d2b816129ef565b915081341015611d5e57611d5e7fb1296a8a00000000000000000000000000000000000000000000000000000000611066565b5090565b602081015173ffffffffffffffffffffffffffffffffffffffff16156104a3578173ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff161480611dd95750602081015173ffffffffffffffffffffffffffffffffffffffff1633145b156104a3576104a37f5fbd571700000000000000000000000000000000000000000000000000000000611066565b606084848484604051602001611e209493929190614d17565b6040516020818303038152906040529050949350505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660208201524360348201525f908190605401604051602081830303815290604052805190602001209050611f1881611eec8387611e9f86612a1f565b6040805160208082019590955273ffffffffffffffffffffffffffffffffffffffff9390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b91505f611f2483612a65565b511115611f5457611f547ff82e65c300000000000000000000000000000000000000000000000000000000611066565b611f5e8284612b45565b3415611f6d57611f6d82612b9d565b5092915050565b5f5f5f611fb56040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250612bfb565b9050611fc18188612d93565b15611fd35760015f9250925050611fe6565b611fe08188888888612fae565b92509250505b94509492505050565b5f61203e6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f61204a826129ef565b90505f5f5f5f61205987612a65565b80602001905181019061206c9190614dee565b929650909450925090507fffffffff0000000000000000000000000000000000000000000000000000000084167f686f768400000000000000000000000000000000000000000000000000000000146120e8576120e87fda6153bd00000000000000000000000000000000000000000000000000000000611066565b5f818060200190518101906120fd9190614e72565b90505f5f61210b868a612352565b90505f61211c87855f01518c61313b565b90505f61213388866020015187604001518e6132a8565b90508082612141858d614c9b565b61214b9190614c9b565b6121559190614c9b565b93505050506112c98986868a858d61342a565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e01602052604090205480156121ee576121a583826134b5565b6121ee6121e67fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b308484612590565b505050565b5f6121fc61351d565b9050612280816122506104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b5f9182527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb609602052604090912055565b61228b826001613544565b61229c816122976115cb565b6125f4565b604051819073ffffffffffffffffffffffffffffffffffffffff8416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b576905f90a35050565b6122fa8260405180602001604052805f815250612b45565b6123048282612168565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f905f90a25050565b5f6105558261355d565b5f61235c82611895565b905061055561239f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b846123a86107e6565b73ffffffffffffffffffffffffffffffffffffffff16634ccb20c06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124149190614a3c565b84612590565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6008161247b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b90507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8216016124dd578382600a015f8282546124cd9190614f1a565b9091555084935061055592505050565b5f6124fe73ffffffffffffffffffffffffffffffffffffffff83163061368e565b905061250c82873088612590565b5f61252d73ffffffffffffffffffffffffffffffffffffffff84163061368e565b90505f61253a8383614c9b565b905086811461256c5761256c7fb1296a8a00000000000000000000000000000000000000000000000000000000611066565b8085600a015f82825461257f9190614f1a565b909155509098975050505050505050565b80156125ee577fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8516016125e2576125dd82826136c1565b6125ee565b6125ee848484846136e1565b50505050565b5f8281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602081905260409091205467ffffffffffffffff16801580159061263a57505f5b15612674576040517ff7d2131a0000000000000000000000000000000000000000000000000000000081526004810185905260240161045c565b5f428267ffffffffffffffff161115612698576126918483614f2d565b90506126a5565b6126a28442614f2d565b90505b5f858152602084815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff8516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b5f61272b6107e6565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612773573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127979190614cae565b67ffffffffffffffff1690508167ffffffffffffffff165f036127dd576127dd7f82323d2e00000000000000000000000000000000000000000000000000000000611066565b808267ffffffffffffffff1611156104a3576104a37f82323d2e00000000000000000000000000000000000000000000000000000000611066565b5f6128676104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f612873826129ef565b90505f5f5f61288186612a65565b8060200190518101906128949190614dee565b50919450925090507fffffffff0000000000000000000000000000000000000000000000000000000083167f8c625b06000000000000000000000000000000000000000000000000000000001461290e5761290e7fda6153bd00000000000000000000000000000000000000000000000000000000611066565b5f6129198387612352565b90505f6129268287614c9b565b90506115c188858589858c61342a565b5f61271082111561296b5761296b7f197f19620000000000000000000000000000000000000000000000000000000083613775565b6127106129788385614f4d565b6129829190614f64565b9392505050565b5f7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005b54919050565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c008054829082905f906129e6908490614c9b565b90915550505050565b5f5f6129f9612989565b90508015612a0957505f92915050565b825f03612a1857505f92915050565b5090919050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0060208190526040822080549083612a5a83614f9c565b909155509392505050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040902080546060917f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0091612ac190614a57565b80601f0160208091040260200160405190810160405280929190818152602001828054612aed90614a57565b8015612b385780601f10612b0f57610100808354040283529160200191612b38565b820191905f5260205f20905b815481529060010190602001808311612b1b57829003601f168201915b5050505050915050919050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00906125ee8382614ae6565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00923492916129e6908490614f1a565b60605f612c06613781565b80519091505f8167ffffffffffffffff811115612c2557612c256147bf565b604051908082528060200260200182016040528015612c8857816020015b612c756040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081612c435790505b50855160208701209091505f90815b84811015612d87575f5f5f5f612cc58a8681518110612cb857612cb8614fd3565b60200260200101516137ac565b93509350935093505f5b8251811015612d775786838281518110612ceb57612ceb614fd3565b60200260200101518051906020012003612d6f576040518060a001604052808c8881518110612d1c57612d1c614fd3565b60200260200101518152602001868152602001851515815260200184815260200183815250898981518110612d5357612d53614fd3565b602002602001018190525087612d6890614f9c565b9750612d77565b600101612ccf565b5050505050806001019050612c97565b50508152949350505050565b5f5f612d9e83613898565b90505f5b8451811015612fa457848181518110612dbd57612dbd614fd3565b602002602001015160400151612f9c575f5b858281518110612de157612de1614fd3565b60200260200101516080015151811015612f9a575f868381518110612e0857612e08614fd3565b6020026020010151608001518281518110612e2557612e25614fd3565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e78573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e9c9190614cfe565b158015612f7f57508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5335f5f1b866040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250604051602001612f0a9190615000565b604051602081830303815290604052612f2290615016565b6040518463ffffffff1660e01b8152600401612f4093929190615058565b602060405180830381865afa158015612f5b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f7f9190614cfe565b15612f91576001945050505050610555565b50600101612dcf565b505b600101612da2565b505f949350505050565b5f8080805b885181101561312c57888181518110612fce57612fce614fd3565b602002602001015160400151613124575f5b898281518110612ff257612ff2614fd3565b60200260200101516080015151811015613122575f8a838151811061301957613019614fd3565b602002602001015160800151828151811061303657613036614fd3565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015613089573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130ad9190614cfe565b1561311957836130ea576130e18a8a8a848f88815181106130d0576130d0614fd3565b60200260200101515f01518c613bdc565b60019350613114565b6131148a8a8a848f888151811061310357613103614fd3565b60200260200101515f01515f613bdc565b600194505b50600101612fe0565b505b600101612fb3565b505f9250509550959350505050565b5f73ffffffffffffffffffffffffffffffffffffffff831661315e57505f612982565b5f61319d7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5cb4f54800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301529190911690635cb4f54890602401608060405180830381865afa158015613209573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061322d91906150c3565b905080604001515f03613243575f915050612982565b613251838260400151612936565b91506132a06132947fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b86836020015185612590565b509392505050565b5f82515f14613358575f6132bb84613ccc565b604081015190915073ffffffffffffffffffffffffffffffffffffffff1615806132e757506020810151155b156132f5575f915050611986565b613303838260200151612936565b91506133526133467fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b87836040015185612590565b50611986565b73ffffffffffffffffffffffffffffffffffffffff841615611986578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036133ae57505f611986565b6133df826133da7faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b612936565b90506119866134227fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b868684612590565b811561343c5761343a858361241a565b505b61344686846134b5565b61345e8660405180602001604052805f815250612b45565b5f613467613d74565b90505f613496825f8560405160200161348291815260200190565b604051602081830303815290604052613e47565b90506134a3828783613eb8565b6115c1826134af610baa565b83613eb8565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092849291613513908490614c9b565b9091555050505050565b5f7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df006129ac565b6104a3828260405180602001604052805f815250613f37565b5f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c01000000000000000000000000000000000000000000000000000000008316900361365b57815f036136555780548310613614576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115613615575b50919050565b506040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b6104a373ffffffffffffffffffffffffffffffffffffffff831682613fff565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603156125ee573073ffffffffffffffffffffffffffffffffffffffff841603613753576125dd73ffffffffffffffffffffffffffffffffffffffff85168383614018565b6125ee73ffffffffffffffffffffffffffffffffffffffff851684848461406b565b815f528060045260245ffd5b60606104fb7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd016140cd565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260408120805460609291839182919081906137ee90614a57565b80601f016020809104026020016040519081016040528092919081815260200182805461381a90614a57565b80156138655780601f1061383c57610100808354040283529160200191613865565b820191905f5260205f20905b81548152906001019060200180831161384857829003601f168201915b5050505060018301549196505060ff169350613883600282016140d9565b925061388e816141b0565b9150509193509193565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa15801561392f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613974919081019061513d565b905080515f03613ae5576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa1580156139eb573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a0f9190614a3c565b905073ffffffffffffffffffffffffffffffffffffffff811615613ae3576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015613a9b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613ae0919081019061513d565b91505b505b80515f613af3826001614f1a565b67ffffffffffffffff811115613b0b57613b0b6147bf565b604051908082528060200260200182016040528015613b34578160200160208202803683370190505b5090505f5b82811015613b9a57838181518110613b5357613b53614fd3565b6020026020010151828281518110613b6d57613b6d614fd3565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101613b39565b5085818381518110613bae57613bae614fd3565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015295945050505050565b613be78684836141bf565b5f7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e005f8681526001828101602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909117815560030180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716179055905080546040805173ffffffffffffffffffffffffffffffffffffffff89811660208301526117a99316918a9189918891889101604051602081830303815290604052614278565b613d046040518060600160405280606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5080516020808301919091205f9081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008028252604090819020815160608101835293845280549284019290925260019091015473ffffffffffffffffffffffffffffffffffffffff169082015290565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f44ab66800000000000000000000000000000000000000000000000000000000081527f526976657241697264726f700000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff909116906344ab668090602401602060405180830381865afa158015613e23573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fb9190614a3c565b6040517fdc69fdde0000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063dc69fdde90613e9d90869086906004016151f1565b602060405180830381865afa158015611962573d5f5f3e3d5ffd5b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390528416906340c10f19906044015f604051808303815f87803b158015613f25575f5ffd5b505af11580156117a9573d5f5f3e3d5ffd5b613f418383614399565b73ffffffffffffffffffffffffffffffffffffffff83163b156121ee577f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00548281035b613f965f86838060010194508661454e565b613fcc576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110613f8457817f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0054146107d6575f5ffd5b5f385f3884865af16104a35763b12d13eb5f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661406157803d853b151710614061576390b8ec185f526004601cfd5b505f603452505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166140bf57803d873b1517106140bf57637939f4245f526004601cfd5b505f60605260405250505050565b60605f612982836146c0565b6060815f01805480602002602001604051908101604052809291908181526020015f905b828210156141a5578382905f5260205f2001805461411a90614a57565b80601f016020809104026020016040519081016040528092919081815260200182805461414690614a57565b80156141915780601f1061416857610100808354040283529160200191614191565b820191905f5260205f20905b81548152906001019060200180831161417457829003601f168201915b5050505050815260200190600101906140fd565b505050509050919050565b60605f612982836004016140cd565b348111156141f0576141f07ff4e95a4100000000000000000000000000000000000000000000000000000000611066565b73ffffffffffffffffffffffffffffffffffffffff8316614234576142347f99ef038800000000000000000000000000000000000000000000000000000000611066565b73ffffffffffffffffffffffffffffffffffffffff82166121ee576121ee7f4bb7c20500000000000000000000000000000000000000000000000000000000611066565b811561430b576040517f21be050a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716906321be050a9084906142d890899089908990889060040161523e565b5f604051808303818588803b1580156142ef575f5ffd5b505af1158015614301573d5f5f3e3d5ffd5b5050505050614391565b6040517f21be050a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716906321be050a9061436390889088908890879060040161523e565b5f604051808303815f87803b15801561437a575f5ffd5b505af115801561438c573d5f5f3e3d5ffd5b505050505b505050505050565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00545f8290036143f5576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146144ec5780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa46001016144b6565b50815f03614526576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005550505050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906145a8903390899088908890600401615278565b6020604051808303815f875af1925050508015614600575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526145fd918101906152c8565b60015b614675573d80801561462d576040519150601f19603f3d011682016040523d82523d5f602084013e614632565b606091505b5080515f0361466d576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611986565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561470d57602002820191905f5260205f20905b8154815260200190600101908083116146f9575b50505050509050919050565b5f5f6020838503121561472a575f5ffd5b823567ffffffffffffffff811115614740575f5ffd5b8301601f81018513614750575f5ffd5b803567ffffffffffffffff811115614766575f5ffd5b856020828401011115614777575f5ffd5b6020919091019590945092505050565b5f60208284031215614797575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146108e8575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561480f5761480f6147bf565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561485c5761485c6147bf565b604052919050565b5f67ffffffffffffffff82111561487d5761487d6147bf565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f5f604083850312156148ba575f5ffd5b82356148c58161479e565b9150602083013567ffffffffffffffff8111156148e0575f5ffd5b8301606081860312156148f1575f5ffd5b6148f96147ec565b81356149048161479e565b815260208201356149148161479e565b6020820152604082013567ffffffffffffffff811115614932575f5ffd5b80830192505085601f830112614946575f5ffd5b813561495961495482614864565b614815565b81815287602083860101111561496d575f5ffd5b816020850160208301375f60208383010152806040840152505080925050509250929050565b67ffffffffffffffff811681146108e8575f5ffd5b5f602082840312156149b8575f5ffd5b813561298281614993565b5f602082840312156149d3575f5ffd5b81356129828161479e565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61298260208301846149de565b5f60208284031215614a4c575f5ffd5b81516129828161479e565b600181811c90821680614a6b57607f821691505b602082108103613655577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f8211156121ee57805f5260205f20601f840160051c81016020851015614ac75750805b601f840160051c820191505b818110156107d6575f8155600101614ad3565b815167ffffffffffffffff811115614b0057614b006147bf565b614b1481614b0e8454614a57565b84614aa2565b6020601f821160018114614b65575f8315614b2f5750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b1784556107d6565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015614bb25787850151825560209485019460019092019101614b92565b5084821015614bee57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215614c0d575f5ffd5b5051919050565b6020815273ffffffffffffffffffffffffffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f604083015160608084015261198660808401826149de565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561055557610555614c6e565b5f60208284031215614cbe575f5ffd5b815161298281614993565b5f60208284031215614cd9575f5ffd5b815161ffff81168114612982575f5ffd5b80518015158114614cf9575f5ffd5b919050565b5f60208284031215614d0e575f5ffd5b61298282614cea565b7fffffffff000000000000000000000000000000000000000000000000000000008516815273ffffffffffffffffffffffffffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f610ef960808301846149de565b80517fffffffff0000000000000000000000000000000000000000000000000000000081168114614cf9575f5ffd5b5f614dc561495484614864565b9050828152838383011115614dd8575f5ffd5b8282602083015e5f602084830101529392505050565b5f5f5f5f60808587031215614e01575f5ffd5b614e0a85614d89565b93506020850151614e1a8161479e565b6040860151909350614e2b8161479e565b606086015190925067ffffffffffffffff811115614e47575f5ffd5b8501601f81018713614e57575f5ffd5b614e6687825160208401614db8565b91505092959194509250565b5f60208284031215614e82575f5ffd5b815167ffffffffffffffff811115614e98575f5ffd5b820160608185031215614ea9575f5ffd5b614eb16147ec565b8151614ebc8161479e565b81526020820151614ecc8161479e565b6020820152604082015167ffffffffffffffff811115614eea575f5ffd5b80830192505084601f830112614efe575f5ffd5b614f0d85835160208501614db8565b6040820152949350505050565b8082018082111561055557610555614c6e565b67ffffffffffffffff818116838216019081111561055557610555614c6e565b808202811582820484141761055557610555614c6e565b5f82614f97577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614fcc57614fcc614c6e565b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b80516020808301519190811015613655577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f60608201858352606060208401528085518083526080850191506020870192505f5b818110156150af57835173ffffffffffffffffffffffffffffffffffffffff1683526020938401939092019160010161507b565b505060409390930193909352509392505050565b5f60808284031280156150d4575f5ffd5b506040516080810167ffffffffffffffff811182821017156150f8576150f86147bf565b60405282516151068161479e565b815260208301516151168161479e565b60208201526040838101519082015261513160608401614cea565b60608201529392505050565b5f6020828403121561514d575f5ffd5b815167ffffffffffffffff811115615163575f5ffd5b8201601f81018413615173575f5ffd5b805167ffffffffffffffff81111561518d5761518d6147bf565b8060051b61519d60208201614815565b918252602081840181019290810190878411156151b8575f5ffd5b6020850194505b838510156151e657845192506151d48361479e565b828252602094850194909101906151bf565b979650505050505050565b5f60048410615227577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8382526040602083015261198660408301846149de565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201525f610ef960808301846149de565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f610ef960808301846149de565b5f602082840312156152d8575f5ffd5b61298282614d8956";
1516
+ "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b6152d5806100ca5f395ff3fe608060405260043610610162575f3560e01c806379dda585116100c657806393b13cb71161007c578063a5a4103111610057578063a5a41031146103ab578063df9a9fe6146103bf578063e847abdd146103de575f5ffd5b806393b13cb71461035757806395d600c81461037857806397fb7c1e1461038c575f5ffd5b80638120f0ba116100ac5780638120f0ba146102f857806383f3f0dc146103255780638c625b0614610344575f5ffd5b806379dda585146102d15780637c9669ac146102e5575f5ffd5b80635becd24a1161011b578063686f768411610101578063686f76841461028b57806369d5f38a1461029e578063706b8e09146102bd575f5ffd5b80635becd24a14610233578063657e45e814610252575f5ffd5b806317c957091161014b57806317c95709146101ae5780633e9491a2146102025780635803909f14610214575f5ffd5b80630ef1be5f146101665780631278076a14610187575b5f5ffd5b348015610171575f5ffd5b5061018561018036600461470d565b6103f2565b005b348015610192575f5ffd5b5061019b6104a7565b6040519081526020015b60405180910390f35b3480156101b9575f5ffd5b5061019b6101c836600461477b565b5f9081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602052604090205467ffffffffffffffff1690565b34801561020d575f5ffd5b504761019b565b34801561021f575f5ffd5b5061019b61022e36600461477b565b610500565b34801561023e575f5ffd5b5061018561024d36600461477b565b61055b565b34801561025d575f5ffd5b50610266610642565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a5565b61018561029936600461489d565b610681565b3480156102a9575f5ffd5b506101856102b836600461477b565b6106c5565b3480156102c8575f5ffd5b5061019b6107dd565b3480156102dc575f5ffd5b506102666107e6565b6101856102f336600461477b565b610825565b348015610303575f5ffd5b5061030c610868565b60405167ffffffffffffffff90911681526020016101a5565b348015610330575f5ffd5b5061018561033f36600461499c565b610871565b6101856103523660046149b7565b6108eb565b348015610362575f5ffd5b5061036b61091e565b6040516101a59190614a1e565b348015610383575f5ffd5b5061019b610928565b348015610397575f5ffd5b506101856103a636600461477b565b610951565b3480156103b6575f5ffd5b5061019b610a3b565b3480156103ca575f5ffd5b506101856103d93660046149b7565b610a92565b3480156103e9575f5ffd5b50610266610b6b565b6103fa610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610465576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6104a382828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610c6a92505050565b5050565b5f6104fb6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610c95565b905090565b5f610555826105507f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610f0c565b92915050565b610563610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105c9576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b5f6105f27fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b9050801580159061060257508082115b15610630576106307fc3983b9100000000000000000000000000000000000000000000000000000000611066565b6106398261106e565b6104a382611112565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd21268540361069f5763ab143c065f526004601cfd5b3068929eee149b4bd21268556106b582826111d0565b3868929eee149b4bd21268555050565b6106cd610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610733576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b61073c816112d4565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb608546040517f91b7f5ed0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906391b7f5ed906024015f604051808303815f87803b1580156107c4575f5ffd5b505af11580156107d6573d5f5f3e3d5ffd5b5050505050565b5f6104fb61137c565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd2126854036108435763ab143c065f526004601cfd5b3068929eee149b4bd21268556108593382611447565b3868929eee149b4bd212685550565b5f6104fb6115cb565b610879610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108df576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b6108e88161168e565b50565b3068929eee149b4bd2126854036109095763ab143c065f526004601cfd5b3068929eee149b4bd212685561085981611709565b60606104fb6117b2565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b610959610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109bf576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b610a1381610a0e7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b611864565b6108e8817fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60355565b5f6104fb610a8d6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b611895565b610a9a610baa565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b00576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161045c565b610b0981611a08565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905550565b5f6104fb7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610c40573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c649190614a30565b91505090565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60c6104a38282614ada565b5f5f610c9f61137c565b90505f610ce07fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b90505f610ceb6107e6565b905073ffffffffffffffffffffffffffffffffffffffff8216610d7e578073ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d51573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d759190614bf1565b95945050505050565b6040517f5cf4ee91000000000000000000000000000000000000000000000000000000008152600481018490526024810186905273ffffffffffffffffffffffffffffffffffffffff831690635cf4ee9190604401602060405180830381865afa158015610dee573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e129190614bf1565b93505f8173ffffffffffffffffffffffffffffffffffffffff16631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e5e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e829190614bf1565b905080851015610f03578173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef99190614bf1565b9695505050505050565b50505050919050565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60081610f376107e6565b90505f8173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f83573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa79190614bf1565b5f8781526009850160205260409020549091508015610fd457818110828218028118945050505050610555565b5f8373ffffffffffffffffffffffffffffffffffffffff16631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561101e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110429190614bf1565b90505f61104e88610c95565b90508181108282180281189998505050505050505050565b805f5260045ffd5b6110766107e6565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110be573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e29190614bf1565b8111156108e8576108e87fc3983b9100000000000000000000000000000000000000000000000000000000611066565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6078190557fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009082907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f905f90a25050565b6111d982611b41565b5f6111e2611c37565b90505f81156111f6576111f3611cd0565b90505b6112008484611d62565b5f836040516020016112129190614c08565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290507f686f7684000000000000000000000000000000000000000000000000000000005f6112798761127484338388611e07565b611e39565b90505f5f61128989338589611f74565b91509150806112c95781156112bf5786156112a7576112a783611fef565b6112b1838a612168565b6112ba896121f3565b6112c9565b6112c9838a6122e2565b505050505050505050565b5f6112dd6107e6565b73ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611325573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113499190614bf1565b9050808210156104a3576104a37f3447ac8e00000000000000000000000000000000000000000000000000000000611066565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d545f907fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009060ff16156113d35760070154919050565b6113db6107e6565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611423573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c649190614bf1565b5f61145182612348565b905073ffffffffffffffffffffffffffffffffffffffff8116611497576114977f5fbd571700000000000000000000000000000000000000000000000000000000611066565b5f6114a06115cb565b67ffffffffffffffff1690505f6114fc846105507f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90503481111561152f5761152f7f34a7a93d00000000000000000000000000000000000000000000000000000000611066565b5f61153a8683612352565b90505f6115478284614c8f565b9050801561155b57611559878261241a565b505b5f6115668434614c8f565b905080156115b7576115b76115af7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b308a84612590565b6115c187866125e8565b5050505050505050565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065474010000000000000000000000000000000000000000900467ffffffffffffffff165f81900361168b5761161f6107e6565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611667573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fb9190614ca2565b90565b61169781612716565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb606805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b61171281611b41565b5f61171b611c37565b90505f811561172f5761172c611cd0565b90505b5f638c625b0660e01b90505f6117598561127484338960405180602001604052805f815250611e07565b90505f5f61176987338588611f74565b91509150806117a957811561179f578515611787576117878361280c565b6117918388612168565b61179a876121f3565b6117a9565b6117a983886122e2565b50505050505050565b60607fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600c0180546117e390614a4b565b80601f016020809104026020016040519081016040528092919081815260200182805461180f90614a4b565b801561185a5780601f106118315761010080835404028352916020019161185a565b820191905f5260205f20905b81548152906001019060200180831161183d57829003601f168201915b5050505050905090565b808210156104a3576104a37fccc9aa2e00000000000000000000000000000000000000000000000000000000611066565b5f5f61189f6107e6565b90505f8173ffffffffffffffffffffffffffffffffffffffff16631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118eb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061190f9190614bf1565b90508084101561198e578173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611962573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119869190614bf1565b949350505050565b611986848373ffffffffffffffffffffffffffffffffffffffff16639f6542aa6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119db573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119ff9190614cbd565b61ffff1661292a565b73ffffffffffffffffffffffffffffffffffffffff8116611a4c57611a4c7f0e88bf4b00000000000000000000000000000000000000000000000000000000611066565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff166040517f8df80bd600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301529190911690638df80bd690602401602060405180830381865afa158015611af0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b149190614cf2565b6108e8576108e87f0e88bf4b00000000000000000000000000000000000000000000000000000000611066565b73ffffffffffffffffffffffffffffffffffffffff8116611b8557611b857f5fbd571700000000000000000000000000000000000000000000000000000000611066565b5f611bae7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b90508015801590611c09575080611c067f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b10155b156104a3576104a37f7efcdb4900000000000000000000000000000000000000000000000000000000611066565b5f5f611c847f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f611c8f61137c565b90505f611c9a61297d565b905082821115611cad575f935050505090565b8015611cc657611cbd60016129a6565b5f935050505090565b6001935050505090565b5f5f611d206104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b9050611d2b816129e3565b915081341015611d5e57611d5e7fb1296a8a00000000000000000000000000000000000000000000000000000000611066565b5090565b602081015173ffffffffffffffffffffffffffffffffffffffff16156104a3578173ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff161480611dd95750602081015173ffffffffffffffffffffffffffffffffffffffff1633145b156104a3576104a37f5fbd571700000000000000000000000000000000000000000000000000000000611066565b606084848484604051602001611e209493929190614d0b565b6040516020818303038152906040529050949350505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660208201524360348201525f908190605401604051602081830303815290604052805190602001209050611f1881611eec8387611e9f86612a13565b6040805160208082019590955273ffffffffffffffffffffffffffffffffffffffff9390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b91505f611f2483612a59565b511115611f5457611f547ff82e65c300000000000000000000000000000000000000000000000000000000611066565b611f5e8284612b39565b3415611f6d57611f6d82612b91565b5092915050565b5f5f5f611fb56040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250612bef565b9050611fc18188612d87565b15611fd35760015f9250925050611fe6565b611fe08188888888612fa2565b92509250505b94509492505050565b5f61203e6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f61204a826129e3565b90505f5f5f5f61205987612a59565b80602001905181019061206c9190614de2565b929650909450925090507fffffffff0000000000000000000000000000000000000000000000000000000084167f686f768400000000000000000000000000000000000000000000000000000000146120e8576120e87fda6153bd00000000000000000000000000000000000000000000000000000000611066565b5f818060200190518101906120fd9190614e66565b90505f5f61210b868a612352565b90505f61211c87855f01518c61312f565b90505f61213388866020015187604001518e61329c565b90508082612141858d614c8f565b61214b9190614c8f565b6121559190614c8f565b93505050506112c98986868a858d61341e565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e01602052604090205480156121ee576121a583826134a9565b6121ee6121e67fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b308484612590565b505050565b5f6121fc613511565b9050612280816122506104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b5f9182527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb609602052604090912055565b61228b826001613538565b61229c816122976115cb565b6125e8565b604051819073ffffffffffffffffffffffffffffffffffffffff8416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b576905f90a35050565b6122fa8260405180602001604052805f815250612b39565b6123048282612168565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f905f90a25050565b5f61055582613551565b5f61235c82611895565b905061055561239f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b846123a86107e6565b73ffffffffffffffffffffffffffffffffffffffff16634ccb20c06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123f0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124149190614a30565b84612590565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6008161247b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b90507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8216016124dd578382600a015f8282546124cd9190614f0e565b9091555084935061055592505050565b5f6124fe73ffffffffffffffffffffffffffffffffffffffff831630613682565b905061250c82873088612590565b5f61252d73ffffffffffffffffffffffffffffffffffffffff841630613682565b90505f61253a8383614c8f565b905086811461256c5761256c7fb1296a8a00000000000000000000000000000000000000000000000000000000611066565b8085600a015f82825461257f9190614f0e565b909155509098975050505050505050565b80156125e25773ffffffffffffffffffffffffffffffffffffffff841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146125d8576125d3848484846136b5565b6125e2565b6125e28282613749565b50505050565b5f8281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602081905260409091205467ffffffffffffffff16801580159061262e57505f5b15612668576040517ff7d2131a0000000000000000000000000000000000000000000000000000000081526004810185905260240161045c565b5f428267ffffffffffffffff16111561268c576126858483614f21565b9050612699565b6126968442614f21565b90505b5f858152602084815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff8516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b5f61271f6107e6565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612767573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061278b9190614ca2565b67ffffffffffffffff1690508167ffffffffffffffff165f036127d1576127d17f82323d2e00000000000000000000000000000000000000000000000000000000611066565b808267ffffffffffffffff1611156104a3576104a37f82323d2e00000000000000000000000000000000000000000000000000000000611066565b5f61285b6104f67f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f612867826129e3565b90505f5f5f61287586612a59565b8060200190518101906128889190614de2565b50919450925090507fffffffff0000000000000000000000000000000000000000000000000000000083167f8c625b060000000000000000000000000000000000000000000000000000000014612902576129027fda6153bd00000000000000000000000000000000000000000000000000000000611066565b5f61290d8387612352565b90505f61291a8287614c8f565b90506115c188858589858c61341e565b5f61271082111561295f5761295f7f197f19620000000000000000000000000000000000000000000000000000000083613769565b61271061296c8385614f41565b6129769190614f58565b9392505050565b5f7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005b54919050565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c008054829082905f906129da908490614c8f565b90915550505050565b5f5f6129ed61297d565b905080156129fd57505f92915050565b825f03612a0c57505f92915050565b5090919050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0060208190526040822080549083612a4e83614f90565b909155509392505050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040902080546060917f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0091612ab590614a4b565b80601f0160208091040260200160405190810160405280929190818152602001828054612ae190614a4b565b8015612b2c5780601f10612b0357610100808354040283529160200191612b2c565b820191905f5260205f20905b815481529060010190602001808311612b0f57829003601f168201915b5050505050915050919050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00906125e28382614ada565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00923492916129da908490614f0e565b60605f612bfa613775565b80519091505f8167ffffffffffffffff811115612c1957612c196147b3565b604051908082528060200260200182016040528015612c7c57816020015b612c696040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081612c375790505b50855160208701209091505f90815b84811015612d7b575f5f5f5f612cb98a8681518110612cac57612cac614fc7565b60200260200101516137a0565b93509350935093505f5b8251811015612d6b5786838281518110612cdf57612cdf614fc7565b60200260200101518051906020012003612d63576040518060a001604052808c8881518110612d1057612d10614fc7565b60200260200101518152602001868152602001851515815260200184815260200183815250898981518110612d4757612d47614fc7565b602002602001018190525087612d5c90614f90565b9750612d6b565b600101612cc3565b5050505050806001019050612c8b565b50508152949350505050565b5f5f612d928361388c565b90505f5b8451811015612f9857848181518110612db157612db1614fc7565b602002602001015160400151612f90575f5b858281518110612dd557612dd5614fc7565b60200260200101516080015151811015612f8e575f868381518110612dfc57612dfc614fc7565b6020026020010151608001518281518110612e1957612e19614fc7565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e6c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e909190614cf2565b158015612f7357508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5335f5f1b866040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250604051602001612efe9190614ff4565b604051602081830303815290604052612f169061500a565b6040518463ffffffff1660e01b8152600401612f349392919061504c565b602060405180830381865afa158015612f4f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f739190614cf2565b15612f85576001945050505050610555565b50600101612dc3565b505b600101612d96565b505f949350505050565b5f8080805b885181101561312057888181518110612fc257612fc2614fc7565b602002602001015160400151613118575f5b898281518110612fe657612fe6614fc7565b60200260200101516080015151811015613116575f8a838151811061300d5761300d614fc7565b602002602001015160800151828151811061302a5761302a614fc7565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561307d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130a19190614cf2565b1561310d57836130de576130d58a8a8a848f88815181106130c4576130c4614fc7565b60200260200101515f01518c613bd0565b60019350613108565b6131088a8a8a848f88815181106130f7576130f7614fc7565b60200260200101515f01515f613bd0565b600194505b50600101612fd4565b505b600101612fa7565b505f9250509550959350505050565b5f73ffffffffffffffffffffffffffffffffffffffff831661315257505f612976565b5f6131917fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5cb4f54800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301529190911690635cb4f54890602401608060405180830381865afa1580156131fd573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061322191906150b7565b905080604001515f03613237575f915050612976565b61324583826040015161292a565b91506132946132887fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b86836020015185612590565b509392505050565b5f82515f1461334c575f6132af84613cc0565b604081015190915073ffffffffffffffffffffffffffffffffffffffff1615806132db57506020810151155b156132e9575f915050611986565b6132f783826020015161292a565b915061334661333a7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b87836040015185612590565b50611986565b73ffffffffffffffffffffffffffffffffffffffff841615611986578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036133a257505f611986565b6133d3826133ce7faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b61292a565b90506119866134167fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b868684612590565b81156134305761342e858361241a565b505b61343a86846134a9565b6134528660405180602001604052805f815250612b39565b5f61345b613d68565b90505f61348a825f8560405160200161347691815260200190565b604051602081830303815290604052613e3b565b9050613497828783613eac565b6115c1826134a3610baa565b83613eac565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092849291613507908490614c8f565b9091555050505050565b5f7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df006129a0565b6104a3828260405180602001604052805f815250613f2b565b5f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c01000000000000000000000000000000000000000000000000000000008316900361364f57815f036136495780548310613608576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115613609575b50919050565b506040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603156125e25773ffffffffffffffffffffffffffffffffffffffff83163014613728576125d373ffffffffffffffffffffffffffffffffffffffff8516848484613ff3565b6125e273ffffffffffffffffffffffffffffffffffffffff85168383614055565b6104a373ffffffffffffffffffffffffffffffffffffffff8316826140a8565b815f528060045260245ffd5b60606104fb7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd016140c1565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260408120805460609291839182919081906137e290614a4b565b80601f016020809104026020016040519081016040528092919081815260200182805461380e90614a4b565b80156138595780601f1061383057610100808354040283529160200191613859565b820191905f5260205f20905b81548152906001019060200180831161383c57829003601f168201915b5050505060018301549196505060ff169350613877600282016140cd565b9250613882816141a4565b9150509193509193565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa158015613923573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526139689190810190615131565b905080515f03613ad9576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa1580156139df573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a039190614a30565b905073ffffffffffffffffffffffffffffffffffffffff811615613ad7576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015613a8f573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613ad49190810190615131565b91505b505b80515f613ae7826001614f0e565b67ffffffffffffffff811115613aff57613aff6147b3565b604051908082528060200260200182016040528015613b28578160200160208202803683370190505b5090505f5b82811015613b8e57838181518110613b4757613b47614fc7565b6020026020010151828281518110613b6157613b61614fc7565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101613b2d565b5085818381518110613ba257613ba2614fc7565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015295945050505050565b613bdb8684836141b3565b5f7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e005f8681526001828101602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909117815560030180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716179055905080546040805173ffffffffffffffffffffffffffffffffffffffff89811660208301526117a99316918a918991889188910160405160208183030381529060405261426c565b613cf86040518060600160405280606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5080516020808301919091205f9081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008028252604090819020815160608101835293845280549284019290925260019091015473ffffffffffffffffffffffffffffffffffffffff169082015290565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f44ab66800000000000000000000000000000000000000000000000000000000081527f526976657241697264726f700000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff909116906344ab668090602401602060405180830381865afa158015613e17573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fb9190614a30565b6040517fdc69fdde0000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063dc69fdde90613e9190869086906004016151e5565b602060405180830381865afa158015611962573d5f5f3e3d5ffd5b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390528416906340c10f19906044015f604051808303815f87803b158015613f19575f5ffd5b505af11580156117a9573d5f5f3e3d5ffd5b613f35838361438d565b73ffffffffffffffffffffffffffffffffffffffff83163b156121ee577f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00548281035b613f8a5f868380600101945086614542565b613fc0576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110613f7857817f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0054146107d6575f5ffd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f51141661404757803d873b15171061404757637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661409e57803d853b15171061409e576390b8ec185f526004601cfd5b505f603452505050565b5f385f3884865af16104a35763b12d13eb5f526004601cfd5b60605f612976836146b4565b6060815f01805480602002602001604051908101604052809291908181526020015f905b82821015614199578382905f5260205f2001805461410e90614a4b565b80601f016020809104026020016040519081016040528092919081815260200182805461413a90614a4b565b80156141855780601f1061415c57610100808354040283529160200191614185565b820191905f5260205f20905b81548152906001019060200180831161416857829003601f168201915b5050505050815260200190600101906140f1565b505050509050919050565b60605f612976836004016140c1565b348111156141e4576141e47ff4e95a4100000000000000000000000000000000000000000000000000000000611066565b73ffffffffffffffffffffffffffffffffffffffff8316614228576142287f99ef038800000000000000000000000000000000000000000000000000000000611066565b73ffffffffffffffffffffffffffffffffffffffff82166121ee576121ee7f4bb7c20500000000000000000000000000000000000000000000000000000000611066565b81156142ff576040517f21be050a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716906321be050a9084906142cc908990899089908890600401615232565b5f604051808303818588803b1580156142e3575f5ffd5b505af11580156142f5573d5f5f3e3d5ffd5b5050505050614385565b6040517f21be050a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716906321be050a90614357908890889088908790600401615232565b5f604051808303815f87803b15801561436e575f5ffd5b505af1158015614380573d5f5f3e3d5ffd5b505050505b505050505050565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00545f8290036143e9576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146144e05780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa46001016144aa565b50815f0361451a576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005550505050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061459c90339089908890889060040161526c565b6020604051808303815f875af19250505080156145f4575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526145f1918101906152bc565b60015b614669573d808015614621576040519150601f19603f3d011682016040523d82523d5f602084013e614626565b606091505b5080515f03614661576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050611986565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561470157602002820191905f5260205f20905b8154815260200190600101908083116146ed575b50505050509050919050565b5f5f6020838503121561471e575f5ffd5b823567ffffffffffffffff811115614734575f5ffd5b8301601f81018513614744575f5ffd5b803567ffffffffffffffff81111561475a575f5ffd5b85602082840101111561476b575f5ffd5b6020919091019590945092505050565b5f6020828403121561478b575f5ffd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146108e8575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715614803576148036147b3565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614850576148506147b3565b604052919050565b5f67ffffffffffffffff821115614871576148716147b3565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f5f604083850312156148ae575f5ffd5b82356148b981614792565b9150602083013567ffffffffffffffff8111156148d4575f5ffd5b8301606081860312156148e5575f5ffd5b6148ed6147e0565b81356148f881614792565b8152602082013561490881614792565b6020820152604082013567ffffffffffffffff811115614926575f5ffd5b80830192505085601f83011261493a575f5ffd5b813561494d61494882614858565b614809565b818152876020838601011115614961575f5ffd5b816020850160208301375f60208383010152806040840152505080925050509250929050565b67ffffffffffffffff811681146108e8575f5ffd5b5f602082840312156149ac575f5ffd5b813561297681614987565b5f602082840312156149c7575f5ffd5b813561297681614792565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61297660208301846149d2565b5f60208284031215614a40575f5ffd5b815161297681614792565b600181811c90821680614a5f57607f821691505b602082108103613649577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b601f8211156121ee57805f5260205f20601f840160051c81016020851015614abb5750805b601f840160051c820191505b818110156107d6575f8155600101614ac7565b815167ffffffffffffffff811115614af457614af46147b3565b614b0881614b028454614a4b565b84614a96565b6020601f821160018114614b59575f8315614b235750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b1784556107d6565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015614ba65787850151825560209485019460019092019101614b86565b5084821015614be257868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215614c01575f5ffd5b5051919050565b6020815273ffffffffffffffffffffffffffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f604083015160608084015261198660808401826149d2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561055557610555614c62565b5f60208284031215614cb2575f5ffd5b815161297681614987565b5f60208284031215614ccd575f5ffd5b815161ffff81168114612976575f5ffd5b80518015158114614ced575f5ffd5b919050565b5f60208284031215614d02575f5ffd5b61297682614cde565b7fffffffff000000000000000000000000000000000000000000000000000000008516815273ffffffffffffffffffffffffffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f610ef960808301846149d2565b80517fffffffff0000000000000000000000000000000000000000000000000000000081168114614ced575f5ffd5b5f614db961494884614858565b9050828152838383011115614dcc575f5ffd5b8282602083015e5f602084830101529392505050565b5f5f5f5f60808587031215614df5575f5ffd5b614dfe85614d7d565b93506020850151614e0e81614792565b6040860151909350614e1f81614792565b606086015190925067ffffffffffffffff811115614e3b575f5ffd5b8501601f81018713614e4b575f5ffd5b614e5a87825160208401614dac565b91505092959194509250565b5f60208284031215614e76575f5ffd5b815167ffffffffffffffff811115614e8c575f5ffd5b820160608185031215614e9d575f5ffd5b614ea56147e0565b8151614eb081614792565b81526020820151614ec081614792565b6020820152604082015167ffffffffffffffff811115614ede575f5ffd5b80830192505084601f830112614ef2575f5ffd5b614f0185835160208501614dac565b6040820152949350505050565b8082018082111561055557610555614c62565b67ffffffffffffffff818116838216019081111561055557610555614c62565b808202811582820484141761055557610555614c62565b5f82614f8b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614fc057614fc0614c62565b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b80516020808301519190811015613649577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f60608201858352606060208401528085518083526080850191506020870192505f5b818110156150a357835173ffffffffffffffffffffffffffffffffffffffff1683526020938401939092019160010161506f565b505060409390930193909352509392505050565b5f60808284031280156150c8575f5ffd5b506040516080810167ffffffffffffffff811182821017156150ec576150ec6147b3565b60405282516150fa81614792565b8152602083015161510a81614792565b60208201526040838101519082015261512560608401614cde565b60608201529392505050565b5f60208284031215615141575f5ffd5b815167ffffffffffffffff811115615157575f5ffd5b8201601f81018413615167575f5ffd5b805167ffffffffffffffff811115615181576151816147b3565b8060051b61519160208201614809565b918252602081840181019290810190878411156151ac575f5ffd5b6020850194505b838510156151da57845192506151c883614792565b828252602094850194909101906151b3565b979650505050505050565b5f6004841061521b577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8382526040602083015261198660408301846149d2565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201525f610ef960808301846149d2565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f610ef960808301846149d2565b5f602082840312156152cc575f5ffd5b61297682614d7d56";
1517
1517
 
1518
1518
  type MembershipFacetConstructorParams =
1519
1519
  | [signer?: Signer]
@@ -502,7 +502,7 @@ const _abi = [
502
502
  ] as const;
503
503
 
504
504
  const _bytecode =
505
- "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b610904806100ca5f395ff3fe60806040526004361061003e575f3560e01c806306499d7f1461004257806327bc79f114610057578063aabe967d14610088578063b6a45cd61461009c575b5f5ffd5b61005561005036600461083f565b6100b0565b005b348015610062575f5ffd5b5061007661007136600461083f565b6102ec565b60405190815260200160405180910390f35b348015610093575f5ffd5b506100556103d4565b3480156100a7575f5ffd5b50610076610462565b3068929eee149b4bd2126854036100ce5763ab143c065f526004601cfd5b3068929eee149b4bd2126855805f03610113576040517f305b66fd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60654604080517f0eac306d00000000000000000000000000000000000000000000000000000000815290517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009273ffffffffffffffffffffffffffffffffffffffff16915f918391630eac306d9160048083019260209291908290030181865afa1580156101c3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e79190610856565b6101f1908561089a565b905080341461022c576040517fcd27698700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61023584610490565b600480840154604080517f4ccb20c0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff928316935f93871692634ccb20c092818301926020928290030181865afa1580156102a6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ca91906108b7565b90506102d882338386610500565b50505050503868929eee149b4bd212685550565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60654604080517f0eac306d00000000000000000000000000000000000000000000000000000000815290515f927fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009273ffffffffffffffffffffffffffffffffffffffff909116918291630eac306d9160048083019260209291908290030181865afa15801561039e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c29190610856565b6103cc908561089a565b949350505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610437576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104607f9751b85800000000000000000000000000000000000000000000000000000000610564565b565b5f61048b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005490565b905090565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c008054829082905f906104c49084906108f1565b90915550506040518281527fad9b877dcdf275e10be629bbe390dc68f7b5de14e3cc5f11f1745d300bb3852e9060200160405180910390a15050565b801561055e577fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8516016105525761054d82826106b9565b61055e565b61055e848484846106dd565b50505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16610638577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561066a565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b6106d973ffffffffffffffffffffffffffffffffffffffff831682610771565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16031561055e573073ffffffffffffffffffffffffffffffffffffffff84160361074f5761054d73ffffffffffffffffffffffffffffffffffffffff8516838361078a565b61055e73ffffffffffffffffffffffffffffffffffffffff85168484846107dd565b5f385f3884865af16106d95763b12d13eb5f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f5114166107d357803d853b1517106107d3576390b8ec185f526004601cfd5b505f603452505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f51141661083157803d873b15171061083157637939f4245f526004601cfd5b505f60605260405250505050565b5f6020828403121561084f575f5ffd5b5035919050565b5f60208284031215610866575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820281158282048414176108b1576108b161086d565b92915050565b5f602082840312156108c7575f5ffd5b815173ffffffffffffffffffffffffffffffffffffffff811681146108ea575f5ffd5b9392505050565b808201808211156108b1576108b161086d56";
505
+ "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b6108f8806100ca5f395ff3fe60806040526004361061003e575f3560e01c806306499d7f1461004257806327bc79f114610057578063aabe967d14610088578063b6a45cd61461009c575b5f5ffd5b610055610050366004610833565b6100b0565b005b348015610062575f5ffd5b50610076610071366004610833565b6102ec565b60405190815260200160405180910390f35b348015610093575f5ffd5b506100556103d4565b3480156100a7575f5ffd5b50610076610462565b3068929eee149b4bd2126854036100ce5763ab143c065f526004601cfd5b3068929eee149b4bd2126855805f03610113576040517f305b66fd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60654604080517f0eac306d00000000000000000000000000000000000000000000000000000000815290517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009273ffffffffffffffffffffffffffffffffffffffff16915f918391630eac306d9160048083019260209291908290030181865afa1580156101c3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e7919061084a565b6101f1908561088e565b905080341461022c576040517fcd27698700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61023584610490565b600480840154604080517f4ccb20c0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff928316935f93871692634ccb20c092818301926020928290030181865afa1580156102a6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102ca91906108ab565b90506102d882338386610500565b50505050503868929eee149b4bd212685550565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60654604080517f0eac306d00000000000000000000000000000000000000000000000000000000815290515f927fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009273ffffffffffffffffffffffffffffffffffffffff909116918291630eac306d9160048083019260209291908290030181865afa15801561039e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103c2919061084a565b6103cc908561088e565b949350505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610437576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104607f9751b85800000000000000000000000000000000000000000000000000000000610558565b565b5f61048b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005490565b905090565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c008054829082905f906104c49084906108e5565b90915550506040518281527fad9b877dcdf275e10be629bbe390dc68f7b5de14e3cc5f11f1745d300bb3852e9060200160405180910390a15050565b80156105525773ffffffffffffffffffffffffffffffffffffffff841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461054857610543848484846106ad565b610552565b6105528282610741565b50505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff1661062c577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561065e565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603156105525773ffffffffffffffffffffffffffffffffffffffff831630146107205761054373ffffffffffffffffffffffffffffffffffffffff8516848484610765565b61055273ffffffffffffffffffffffffffffffffffffffff851683836107c7565b61076173ffffffffffffffffffffffffffffffffffffffff83168261081a565b5050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166107b957803d873b1517106107b957637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661081057803d853b151710610810576390b8ec185f526004601cfd5b505f603452505050565b5f385f3884865af16107615763b12d13eb5f526004601cfd5b5f60208284031215610843575f5ffd5b5035919050565b5f6020828403121561085a575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820281158282048414176108a5576108a5610861565b92915050565b5f602082840312156108bb575f5ffd5b815173ffffffffffffffffffffffffffffffffffffffff811681146108de575f5ffd5b9392505050565b808201808211156108a5576108a561086156";
506
506
 
507
507
  type PrepayFacetConstructorParams =
508
508
  | [signer?: Signer]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@towns-protocol/generated",
3
- "version": "0.0.256",
3
+ "version": "0.0.257",
4
4
  "packageManager": "yarn@3.8.0",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -17,5 +17,5 @@
17
17
  "make-config": "node ./scripts/make-config.js",
18
18
  "preinstall": "node ./scripts/make-config.js"
19
19
  },
20
- "gitHead": "3bbbc9aa2748e77c7a1f3c9872111018951e7119"
20
+ "gitHead": "2826690d274fb2b6468825799001f5d0caba54d4"
21
21
  }