@black-market/sdk 0.8.1 → 0.9.1

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.
Files changed (42) hide show
  1. package/README.md +76 -94
  2. package/assets/abyss-ziggurat-v3-pale-text-1500x500.png +0 -0
  3. package/dist/abyss.d.ts +4 -0
  4. package/dist/abyss.d.ts.map +1 -1
  5. package/dist/abyss.js +1 -0
  6. package/dist/abyss.js.map +1 -1
  7. package/dist/lifecycle/deployments/hmm-dynamic-pool-hook-v1-20261011.d.ts +67 -0
  8. package/dist/lifecycle/deployments/hmm-dynamic-pool-hook-v1-20261011.d.ts.map +1 -0
  9. package/dist/lifecycle/deployments/hmm-dynamic-pool-hook-v1-20261011.js +69 -0
  10. package/dist/lifecycle/deployments/hmm-dynamic-pool-hook-v1-20261011.js.map +1 -0
  11. package/dist/lifecycle/deployments/hmm-fixed-pool-hook-v1-20261011.d.ts +67 -0
  12. package/dist/lifecycle/deployments/hmm-fixed-pool-hook-v1-20261011.d.ts.map +1 -0
  13. package/dist/lifecycle/deployments/hmm-fixed-pool-hook-v1-20261011.js +69 -0
  14. package/dist/lifecycle/deployments/hmm-fixed-pool-hook-v1-20261011.js.map +1 -0
  15. package/dist/lifecycle/hmm.d.ts +125 -0
  16. package/dist/lifecycle/hmm.d.ts.map +1 -0
  17. package/dist/lifecycle/hmm.js +91 -0
  18. package/dist/lifecycle/hmm.js.map +1 -0
  19. package/dist/lifecycle/index.d.ts +1 -0
  20. package/dist/lifecycle/index.d.ts.map +1 -1
  21. package/dist/lifecycle/index.js +1 -0
  22. package/dist/lifecycle/index.js.map +1 -1
  23. package/dist/lifecycle/markets.d.ts +3 -0
  24. package/dist/lifecycle/markets.d.ts.map +1 -1
  25. package/dist/lifecycle/markets.js +24 -1
  26. package/dist/lifecycle/markets.js.map +1 -1
  27. package/dist/lifecycle/presets.d.ts +7 -3
  28. package/dist/lifecycle/presets.d.ts.map +1 -1
  29. package/dist/lifecycle/presets.js +27 -1
  30. package/dist/lifecycle/presets.js.map +1 -1
  31. package/docs/launch-lifecycle.md +80 -0
  32. package/examples/README.md +5 -1
  33. package/examples/hmm-launch-config.ts +29 -0
  34. package/package.json +1 -1
  35. package/src/abyss.ts +1 -0
  36. package/src/lifecycle/deployments/hmm-dynamic-pool-hook-v1-20261011.ts +71 -0
  37. package/src/lifecycle/deployments/hmm-fixed-pool-hook-v1-20261011.ts +71 -0
  38. package/src/lifecycle/hmm.ts +99 -0
  39. package/src/lifecycle/index.ts +1 -0
  40. package/src/lifecycle/markets.ts +22 -1
  41. package/src/lifecycle/presets.ts +29 -1
  42. package/assets/abyss-social.webp +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"markets.js","sourceRoot":"","sources":["../../src/lifecycle/markets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markets.js","sourceRoot":"","sources":["../../src/lifecycle/markets.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,15 @@ export declare enum KnownLifecycleProfile {
6
6
  Abyss2 = "abyss-2",
7
7
  Abyss3 = "abyss-3",
8
8
  V4FixedFeePool = "v4-fixed-fee-pool",
9
- V4DynamicFeePool = "v4-dynamic-fee-pool"
9
+ V4DynamicFeePool = "v4-dynamic-fee-pool",
10
+ V4HmmFixedPool = "v4-hmm-fixed-pool",
11
+ V4HmmDynamicPool = "v4-hmm-dynamic-pool"
10
12
  }
11
13
  export declare enum KnownLifecycleHook {
12
14
  FixedFeePoolV1 = "fixed-fee-pool-v1",
13
- DynamicFeePoolV1 = "dynamic-fee-pool-v1"
15
+ DynamicFeePoolV1 = "dynamic-fee-pool-v1",
16
+ HmmFixedPoolV1 = "hmm-fixed-pool-v1",
17
+ HmmDynamicPoolV1 = "hmm-dynamic-pool-v1"
14
18
  }
15
19
  /** Frozen construction metadata, not a current eligibility or execution observation. */
16
20
  export type LifecycleProfilePreset = {
@@ -58,7 +62,7 @@ export declare function getKnownLifecycleProfile(options: KnownLifecycleDeployme
58
62
  profileId: Hex;
59
63
  key?: never;
60
64
  })): LifecycleProfilePreset | undefined;
61
- /** Stable, frozen order: Abyss variants 0 through 3, then fixed and dynamic pool-bound V4. */
65
+ /** Stable, frozen order: Abyss variants 0 through 3, fixed/dynamic V4, then HMM fixed/dynamic. */
62
66
  export declare function listKnownLifecycleProfiles(options: KnownLifecycleDeploymentIdentity): readonly LifecycleProfilePreset[];
63
67
  export {};
64
68
  //# sourceMappingURL=presets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/lifecycle/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAIzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAInD,oBAAY,qBAAqB;IAC/B,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,cAAc,sBAAsB;IACpC,gBAAgB,wBAAwB;CACzC;AAED,oBAAY,kBAAkB;IAC5B,cAAc,sBAAsB;IACpC,gBAAgB,wBAAwB;CACzC;AAKD,wFAAwF;AACxF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACpC,gGAAgG;IAChG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,8EAA8E;QAC9E,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;QAC9B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;QAChC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;QAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,8FAA8F;AAC9F,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,sDAAsD;QACtD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;KAClC,CAAC;CACH,CAAC;AAEF,KAAK,gCAAgC,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC;AA8O5F,0FAA0F;AAC1F,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gCAAgC,GAAG,yBAAyB,GAAG,SAAS,CAI5H;AAED,uFAAuF;AACvF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,gCAAgC,GAChF,CAAC;IAAE,GAAG,EAAE,qBAAqB,CAAC;IAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,SAAS,EAAE,GAAG,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,GAAG,sBAAsB,GAAG,SAAS,CAU3H;AAED,8FAA8F;AAC9F,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gCAAgC,GAAG,SAAS,sBAAsB,EAAE,CAEvH"}
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/lifecycle/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAIzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOnD,oBAAY,qBAAqB;IAC/B,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,cAAc,sBAAsB;IACpC,gBAAgB,wBAAwB;IACxC,cAAc,sBAAsB;IACpC,gBAAgB,wBAAwB;CACzC;AAED,oBAAY,kBAAkB;IAC5B,cAAc,sBAAsB;IACpC,gBAAgB,wBAAwB;IACxC,cAAc,sBAAsB;IACpC,gBAAgB,wBAAwB;CACzC;AAKD,wFAAwF;AACxF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACpC,gGAAgG;IAChG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,8EAA8E;QAC9E,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;QAC9B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;QAChC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;QAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,8FAA8F;AAC9F,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,sDAAsD;QACtD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;KAClC,CAAC;CACH,CAAC;AAEF,KAAK,gCAAgC,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC;AAmQ5F,0FAA0F;AAC1F,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gCAAgC,GAAG,yBAAyB,GAAG,SAAS,CAI5H;AAED,uFAAuF;AACvF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,gCAAgC,GAChF,CAAC;IAAE,GAAG,EAAE,qBAAqB,CAAC;IAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,SAAS,EAAE,GAAG,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,GAAG,sBAAsB,GAAG,SAAS,CAU3H;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gCAAgC,GAAG,SAAS,sBAAsB,EAAE,CAEvH"}
@@ -1,5 +1,8 @@
1
1
  import { fixedFeePoolHookV1CreationCode } from "./deployments/fixed-fee-pool-hook-v1-20261008.js";
2
2
  import { dynamicFeePoolHookV1CreationCode } from "./deployments/dynamic-fee-pool-hook-v1-20261011.js";
3
+ import { hmmFixedEnvelope, hmmFixedAdapter, hmmFixedRegistration, hmmFixedCreationCode } from "./deployments/hmm-fixed-pool-hook-v1-20261011.js";
4
+ import { hmmDynamicEnvelope, hmmDynamicAdapter, hmmDynamicRegistration, hmmDynamicCreationCode } from "./deployments/hmm-dynamic-pool-hook-v1-20261011.js";
5
+ import { HMM_FIXED_PROFILE_ID, HMM_DYNAMIC_PROFILE_ID } from "./hmm.js";
3
6
  export var KnownLifecycleProfile;
4
7
  (function (KnownLifecycleProfile) {
5
8
  KnownLifecycleProfile["Abyss0"] = "abyss-0";
@@ -8,11 +11,15 @@ export var KnownLifecycleProfile;
8
11
  KnownLifecycleProfile["Abyss3"] = "abyss-3";
9
12
  KnownLifecycleProfile["V4FixedFeePool"] = "v4-fixed-fee-pool";
10
13
  KnownLifecycleProfile["V4DynamicFeePool"] = "v4-dynamic-fee-pool";
14
+ KnownLifecycleProfile["V4HmmFixedPool"] = "v4-hmm-fixed-pool";
15
+ KnownLifecycleProfile["V4HmmDynamicPool"] = "v4-hmm-dynamic-pool";
11
16
  })(KnownLifecycleProfile || (KnownLifecycleProfile = {}));
12
17
  export var KnownLifecycleHook;
13
18
  (function (KnownLifecycleHook) {
14
19
  KnownLifecycleHook["FixedFeePoolV1"] = "fixed-fee-pool-v1";
15
20
  KnownLifecycleHook["DynamicFeePoolV1"] = "dynamic-fee-pool-v1";
21
+ KnownLifecycleHook["HmmFixedPoolV1"] = "hmm-fixed-pool-v1";
22
+ KnownLifecycleHook["HmmDynamicPoolV1"] = "hmm-dynamic-pool-v1";
16
23
  })(KnownLifecycleHook || (KnownLifecycleHook = {}));
17
24
  Object.freeze(KnownLifecycleProfile);
18
25
  Object.freeze(KnownLifecycleHook);
@@ -219,6 +226,23 @@ const dynamicFeePoolPreset = Object.freeze({
219
226
  registrar: dynamicFeePoolAdapter.implementation,
220
227
  }),
221
228
  });
229
+ function hmmPreset(key, id, envelope, adapter, registration, creationCode) {
230
+ return Object.freeze({
231
+ key, supported: true,
232
+ profile: Object.freeze({
233
+ id, registration, adapter,
234
+ topology: Object.freeze({ hookTopology: 2, configVersion: 6,
235
+ hookDeployer: envelope.graph.hookDeployer, hookCreationCodeHash: envelope.graph.hookCreationCodeHash }),
236
+ venueKind: "uniswap-v4", envelope,
237
+ developerTerms: Object.freeze({ adapter: adapter.implementation, beneficiary: envelope.beneficiary,
238
+ maximumDeveloperFeeBps: envelope.maximumDeveloperFeeBps, termsDigest: envelope.termsDigest, enabled: true }),
239
+ protocolMaximumDeveloperFeeBps: 2400,
240
+ }),
241
+ boundHook: Object.freeze({ creationCode, deployer: envelope.graph.hookDeployer,
242
+ poolManager: envelope.graph.manager, oracleFactory: envelope.graph.oracleFactory,
243
+ liquidityLocker: envelope.graph.locker, registrar: adapter.implementation }),
244
+ });
245
+ }
222
246
  const knownDeployment = Object.freeze({
223
247
  chainId: 4663n,
224
248
  orchestrator: "0x91560876033d568d25CDe98C78c33ff8FC43962c",
@@ -233,6 +257,8 @@ const knownDeployment = Object.freeze({
233
257
  abyssPreset(KnownLifecycleProfile.Abyss3, "0xe1bd95e086469e6afd9791ccc957e4d22b735012cb3db4a747f703673c62c306"),
234
258
  fixedFeePoolPreset,
235
259
  dynamicFeePoolPreset,
260
+ hmmPreset(KnownLifecycleProfile.V4HmmFixedPool, HMM_FIXED_PROFILE_ID, hmmFixedEnvelope, hmmFixedAdapter, hmmFixedRegistration, hmmFixedCreationCode),
261
+ hmmPreset(KnownLifecycleProfile.V4HmmDynamicPool, HMM_DYNAMIC_PROFILE_ID, hmmDynamicEnvelope, hmmDynamicAdapter, hmmDynamicRegistration, hmmDynamicCreationCode),
236
262
  ]),
237
263
  provenance: Object.freeze({ sourceCommit: "e174ce695c7010f50ca9211b07b9f178c990beac", deploymentBlock: 82880546n }),
238
264
  });
@@ -264,7 +290,7 @@ export function getKnownLifecycleProfile(options) {
264
290
  }
265
291
  return undefined;
266
292
  }
267
- /** Stable, frozen order: Abyss variants 0 through 3, then fixed and dynamic pool-bound V4. */
293
+ /** Stable, frozen order: Abyss variants 0 through 3, fixed/dynamic V4, then HMM fixed/dynamic. */
268
294
  export function listKnownLifecycleProfiles(options) {
269
295
  return getKnownLifecycleDeployment(options)?.profiles ?? noProfiles;
270
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/lifecycle/presets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/lifecycle/presets.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,86 @@ The canonical authorities are the registry/certification/adapter/config contract
7
7
  in the protocol repository. Plan identity is `LaunchPlanV1`. Pool-bound V4 uses **config 6**,
8
8
  canonical Abyss uses **config 1**, and generic current shared-V4 support uses **config 4**.
9
9
 
10
+ ## 0.9.1 release: Abyss 0.01% fee tier
11
+
12
+ `ABYSS_FEE_TIERS` now includes `{ feePips: 100, tickSpacing: 1, label: "0.01%" }`.
13
+ Pass `fee: 100` to `deriveLaunchPoolRecipe` to derive spacing-one geometry without
14
+ an explicit spacing override. Use `tickSpacing: 1` when passing that recipe to
15
+ `deriveLaunchPositionRanges`; the permanent boundary tail reaches tick `887272`
16
+ for launch token0 or `-887272` for launch token1. Abyss config1 lifecycle planning
17
+ derives this spacing from the canonical catalog automatically.
18
+
19
+ The Robinhood chain 4663 factory has enabled fee 100 with spacing 1. Other
20
+ deployments must enable the tier before execution; local recipe construction is
21
+ not evidence of live profile admission. Existing tiers and defaults are unchanged.
22
+
23
+ ## 0.9.0 release: HMM pool hooks
24
+
25
+ The October11 registered **HMM Fixed** and **HMM Dynamic** use
26
+ `KnownLifecycleProfile.V4HmmFixedPool` (`v4-hmm-fixed-pool`) and
27
+ `KnownLifecycleProfile.V4HmmDynamicPool` (`v4-hmm-dynamic-pool`), with hook keys
28
+ `KnownLifecycleHook.HmmFixedPoolV1` / `HmmDynamicPoolV1`. Their frozen profile,
29
+ adapter, envelope, graph, runtime hashes and creation code come from Black Market
30
+ main `1ca9881`, admissions `20261011T214314Z-hmm-fixed` and
31
+ `20261011T220032Z-hmm-dynamic`. Each graph has its own HMM collector/deployer and
32
+ locker; these are not aliases for the existing fixed/dynamic hooks.
33
+ Live `readLifecycleProfiles` remains the authority for `admitted`, not the presets.
34
+
35
+ Both require `lpFeePips: 0` and `developerFeeBps: 0`. Fixed uses `hookFeePips`
36
+ as the static trading fee; Dynamic uses the same minimum/maximum/sensitivity
37
+ policy as the Dynamic Fee Hook. Config6 requires `hmmLaunchConfig`:
38
+
39
+ ```ts
40
+ const hmmLaunchConfig = defaultHmmLaunchConfig({
41
+ tokenBudget: marketTokenBudget, quoteAsset: "USDG", quoteDecimals: 6,
42
+ });
43
+ // Optional explicit UI choices:
44
+ hmmLaunchConfig.strategyShareBps = 2500; // 25%; default 50%; 100% is also valid.
45
+ hmmLaunchConfig.strategy.premiumDecaySeconds = 259200; // 72h; default off (0).
46
+ const config = encodePoolBoundV4LifecycleMarketConfig({
47
+ ...reviewedV6Fields, lpFeePips: 0, developerFeeBps: 0, hmmLaunchConfig,
48
+ });
49
+ ```
50
+
51
+ `HmmStrategyConfig` / `HmmLaunchConfig` mirror Solidity
52
+ `HMMStrategyConfigV1` / `HMMLaunchConfigV1`; `encodeHmmLaunchTail` produces exactly
53
+ `abi.encode(HMMLaunchConfigV1)` (448 bytes). The V6 codec automatically appends it
54
+ only for HMM profile IDs and rejects a missing tail. Decoding preserves the typed
55
+ tail through `prepareAndPlanLifecycleLaunch` salt mining and recovery; plain V6,
56
+ noncanonical prefixes and incorrectly sized tails are rejected before RPC planning.
57
+ The full plan hash includes the tail. The hook constructor's market-economics
58
+ commitment hashes only the canonical V6 prefix with zero salt, exactly as the
59
+ HMM collector factory does.
60
+
61
+ `validateHmmLaunchConfig` mirrors the collector factory: share <=10,000 bps;
62
+ positive bid/ask widths and stale displacement, nonnegative gap, positive stale
63
+ seconds and harvest thresholds; resale premium <=5,000 bps; 1–8 asks; exposure
64
+ >= ask count and minimum token harvest; inventory >= minimum token harvest;
65
+ both caps <= uint128 max. Solidity int24/uint32/uint256 widths are enforced.
66
+ Minimum quote deployment may be zero; premium decay is any uint32.
67
+ Widths, gap and displacement are **tick spacings**, not raw ticks.
68
+
69
+ Defaults: 50% share; widths 5/5, gap 1, stale 86,400 seconds/displacement 5,
70
+ resale premium 500 bps, 4 asks, decay off. Token thresholds are raw market-budget
71
+ ratios: harvest budget/100,000, ask exposure budget/10, acquired inventory budget.
72
+ Budgets too small to produce a positive harvest or above uint128 are rejected.
73
+ WETH minimum quote deploy/harvest is 0.0005/0.005 ETH; USDG is 1/10 six-decimal
74
+ units. Symbols and canonical catalog addresses work; supplied decimals must match.
75
+ Other quotes require explicit `minQuoteDeploy` and `minQuoteHarvest` raw values.
76
+ Do not infer USD prices or units for unsupported assets.
77
+
78
+ Each harvest sends the share of collected **QUOTE** fees to the per-market manager;
79
+ the remainder follows the normal owner/holder-reward split. Token-side fees are
80
+ untouched. The fee owner may call `HMMFeeCollectorV1.setStrategyShareBps` later.
81
+ The manager bids below price and re-sells acquired inventory at/above realized
82
+ cost plus premium; it never touches the locked launch positions.
83
+
84
+ Independent Solidity ABI fixtures are generated by
85
+ `node scripts/generate-hmm-fixtures.mjs` (Foundry `cast abi-encode`). Snapshot
86
+ regeneration uses `node --experimental-transform-types scripts/generate-hmm-presets.mjs
87
+ /path/to/black-market`; it reads hash-checked storage-child runtime code from
88
+ Robinhood without modifying the evidence checkout.
89
+
10
90
  ## 0.8.1 release
11
91
 
12
92
  Adds the Robinhood October11 Dynamic Fee Hook preset:
@@ -1,12 +1,15 @@
1
1
  # Examples
2
2
 
3
- The launch examples use the public `@black-market/sdk` 0.8.1 package and viem.
3
+ The launch examples use the public `@black-market/sdk` 0.9.0 package and viem.
4
4
  Build this checkout before running its examples; in a consumer project install
5
5
  `@black-market/sdk@0.8.0` or later for the `positionGaps` and recovery APIs.
6
6
  The default chain-4663 launch cases retain
7
7
  the October8 mined fixed pool-bound V4 config6/V2 and canonical Abyss config1 deployment.
8
8
  The SDK additionally knows the October11 zero-author-royalty Dynamic Fee Hook;
9
9
  its registration does not change the fixed cases' selection or fee schedule.
10
+ HMM Fixed/Dynamic are additional October11 presets; their required typed launch
11
+ tail and defaults are demonstrated by `hmm-launch-config.ts`. Existing fixed
12
+ cases are intentionally unchanged. See the HMM section in the lifecycle guide.
10
13
  Historical October5 config5 evidence is not relabeled as these graphs. Discovery
11
14
  is read-only; fixed launch examples default to an unsigned dry run. Only
12
15
  `--broadcast` (or deliberate `--resume` continuation) authorizes real writes.
@@ -19,6 +22,7 @@ examples; their relative support imports use explicit `.ts` extensions for Node
19
22
  | Script | Behavior |
20
23
  | --- | --- |
21
24
  | `quickstart.ts` | Reads the current mainnet orchestrator, checks its registry binding, and discovers admitted profiles. No wallet or writes. |
25
+ | `hmm-launch-config.ts` | Pure HMM fixed/dynamic config construction with typed defaults and an automatically appended launch tail; no RPC, signatures or writes. |
22
26
  | `launch.ts` | Reviews/reconstructs an explicit saved plan and selected atomic/staged mode; optional offchain config6/V2 salt mining. Prints simulation, progress, and an admitted unsigned next transaction when evidence permits. |
23
27
  | `generate-lifecycle-commitment-fixture.ts` | Frozen independent historical config4/Abyss ABI bytes/hash/identity vector. Its pre-cutover allocations are not an executable 0.7.1 plan. |
24
28
  | `launch-lifecycle-smoke.ts` | Actual SDK launch/recovery/custody/fee operations, only on an explicitly authorized owned disposable loopback graph. |
@@ -0,0 +1,29 @@
1
+ // Pure configuration example; not a priced/admitted launch and never signs or broadcasts.
2
+ import { keccak256, zeroHash } from "viem";
3
+ import {
4
+ KnownLifecycleProfile, defaultHmmLaunchConfig, encodeHmmLaunchTail,
5
+ encodePoolBoundV4LifecycleMarketConfig, getKnownLifecycleProfile,
6
+ } from "@black-market/sdk";
7
+
8
+ const identity = { chainId: 4663n, orchestrator: "0x91560876033d568d25CDe98C78c33ff8FC43962c" as const };
9
+ const tokenBudget = 1000000n * 10n ** 18n;
10
+ for (const key of [KnownLifecycleProfile.V4HmmFixedPool, KnownLifecycleProfile.V4HmmDynamicPool]) {
11
+ const preset = getKnownLifecycleProfile({ ...identity, key })!;
12
+ const envelope = preset.profile.envelope!;
13
+ const hmmLaunchConfig = defaultHmmLaunchConfig({ tokenBudget, quoteAsset: "USDG", quoteDecimals: 6 });
14
+ // Optional explicit choices: share 2500/5000/10000 bps; decay off/259200 (72h).
15
+ const config = encodePoolBoundV4LifecycleMarketConfig({
16
+ version: 6, lpFeePips: 0, tickSpacing: 60, sqrtPriceX96: 1n << 96n,
17
+ hookFeePips: 10000, minimumHookFeePips: 1000, feeSensitivityPipsSecondsPerTick: 7654321,
18
+ feeMode: 0, protocolFeeDenominator: envelope.protocolFeeDenominator,
19
+ treasury: envelope.protocolTreasury, externalLiquidityDisabled: true,
20
+ oracleConfigId: keccak256("0x01"), hookSalt: zeroHash, profileId: preset.profile.id,
21
+ termsDigest: envelope.termsDigest, developerBeneficiary: envelope.beneficiary, developerFeeBps: 0,
22
+ // Illustrative only: derive actual budget-funded one-sided ranges/price and
23
+ // select a real admitted oracle before prepareAndPlanLifecycleLaunch.
24
+ positions: [{ tickLower: 0, tickUpper: 887220, liquidity: 1000n, salt: zeroHash, maxTokenAmount: tokenBudget }],
25
+ hmmLaunchConfig,
26
+ });
27
+ console.log(key, { profileId: preset.profile.id, configBytes: (config.length - 2) / 2,
28
+ tailBytes: (encodeHmmLaunchTail(hmmLaunchConfig).length - 2) / 2 });
29
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@black-market/sdk",
3
- "version": "0.8.1",
3
+ "version": "0.9.1",
4
4
  "description": "TypeScript SDK for Abyss token launches, swaps, and lending.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/abyss.ts CHANGED
@@ -18,6 +18,7 @@ export type AbyssPoolKey = {
18
18
  };
19
19
 
20
20
  export const ABYSS_FEE_TIERS = [
21
+ { feePips: 100, tickSpacing: 1, label: "0.01%" },
21
22
  { feePips: 500, tickSpacing: 10, label: "0.05%" },
22
23
  { feePips: 3_000, tickSpacing: 60, label: "0.30%" },
23
24
  { feePips: 10_000, tickSpacing: 200, label: "1%" },
@@ -0,0 +1,71 @@
1
+ import type { Hex } from "viem";
2
+ import type { LaunchEnvelopeV2, AdapterRegistrationV1, ProfileRegistrationV1 } from "../schema.js";
3
+
4
+ // Black Market main 1ca9881: pool-hook-template-v1/20261011T220032Z-hmm-dynamic.
5
+ // Generated by scripts/generate-hmm-presets.mjs from admission bytes and hash-checked live storage children.
6
+ export const hmmDynamicEnvelope = Object.freeze({
7
+ artifactDigest: "0x3b8b7ab8614512ce93d65c6aeb6ed18bb150ef7d74417c7282075ff683f1e35b",
8
+ reviewManifestDigest: "0x8a82a2331225d17a1bf0f167bfaab0bfba5e7fdf7c83455e13f43610fc17feb3",
9
+ configBoundsDigest: "0x72e0b2d542556d472a47f9c38b2c91079c72793af847dee77933f0eca203129d",
10
+ termsDigest: "0x9863cba9dbd05d748983e5833210bb6a67a02dae396cfca3744ea1c35af59910",
11
+ topology: 2,
12
+ configVersion: 6,
13
+ economicVersion: 3,
14
+ capabilities: 123n,
15
+ flags: 0n,
16
+ callbackFlags: 6908,
17
+ callbackMask: 16383,
18
+ protocolTreasury: "0x961981916AB6575C3af3eeCecbf6A3b7Fad7C9e1",
19
+ protocolFeeDenominator: 6,
20
+ beneficiary: "0x7cb44b8693b3C350A2BcD4b681aF85365aa27783",
21
+ maximumDeveloperFeeBps: 0,
22
+ bounds: Object.freeze({
23
+ minimumTickSpacing: 1,
24
+ maximumTickSpacing: 32767,
25
+ maximumPositions: 32,
26
+ maximumOracleCardinality: 4096,
27
+ feeModeFlags: 3,
28
+ }),
29
+ graph: Object.freeze({
30
+ manager: "0x8366a39CC670B4001A1121B8F6A443A643e40951",
31
+ hookRoot: "0x0000000000000000000000000000000000000000",
32
+ oracleFactory: "0xe7feF2BC860B25bbdEB6F6AB96d88bAAa77ddad7",
33
+ locker: "0xAF96E3594942Ba12DC34e5da7fD4A3f61C2721Bc",
34
+ collectorFactory: "0xf86670535e6444735a84025408F47F417d4cAeeA",
35
+ collectorDeployer: "0x4F4305423Ad0D8e9fa7CD77be6Fe2bfc50A4BEbA",
36
+ hookDeployer: "0x7B7E967E4F0db00a397317Ec3d84903D3bc6eF85",
37
+ coreCodeHash: "0x9fb8f46c3b980b9db25dfdb487a69a308a86be145860269b4036a4e74480787b",
38
+ managerCodeHash: "0xbd3881180b547f5fe817545743cfb4343e96b1bc6640dcd70c106b0066e95626",
39
+ hookRuntimeCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
40
+ oracleFactoryCodeHash: "0x974fb5c72d91ccb99f1eb4679a5d4432c82bbaa0906b1c2917ec4da3499b7b98",
41
+ lockerCodeHash: "0xd2dc1ff8416e7524d777d937f7071fc91871fe0e85ce674e1b8a23420e44a3fc",
42
+ collectorFactoryCodeHash: "0xc298ea4bb51ed399f84572e9ad2324bf6ada59b5f40c4ddfdd05869abf9a2e25",
43
+ collectorDeployerCodeHash: "0x5761744b5ce04faf6a0a1ffcb3ac837d8e048f4420b0be131dfa289559b18c76",
44
+ hookDeployerCodeHash: "0x540ae006e2bc08cd7a38a18e72fddd29c73d1fab0c39a42e87297e67f335b982",
45
+ hookCreationCodeHash: "0x3b8b7ab8614512ce93d65c6aeb6ed18bb150ef7d74417c7282075ff683f1e35b",
46
+ codeChunk0: "0x81abA522890dae0aBC1623C135F0DbD662378d47",
47
+ codeChunk0Hash: "0xa46f41e8834c1e19b0d2eac0d296e3911c2c9e717159be00720a8cb4cc535b60",
48
+ codeChunk1: "0xf9Aa8888648b5f8C9806c772978F8803645ff44A",
49
+ codeChunk1Hash: "0x6976fbf3fcdb32312abfbc7bdd91706b1d70930d3978821cfd47b8943f656fc2",
50
+ sharedHookSalt: "0x0000000000000000000000000000000000000000000000000000000000000000",
51
+ }),
52
+ }) satisfies LaunchEnvelopeV2;
53
+ export const hmmDynamicAdapter = Object.freeze({
54
+ implementation: "0xb2a163646bB3661230f6e6A3c258e809514a748A",
55
+ codeHash: "0x087ffe3f38742a8cb94ea30b18c2c6150278685bf24e78b406ffb1ff77d4f4bc",
56
+ capabilities: 123n,
57
+ configVersion: 6,
58
+ enabled: true,
59
+ }) satisfies AdapterRegistrationV1;
60
+ export const hmmDynamicRegistration = Object.freeze({
61
+ adapterId: "0x7fbf1836bab81414a0820c856b45d769a85a60853e92e4a9554e2eedf047dbcf",
62
+ configSchema: "0x51c5ca14c40012f78425cd1afb1ea77980da3fed0490a00911a8a4ed34792045",
63
+ dependencyDigest: "0x9fc926ed5da5a2132d3eb08c93531cf70b992d600f2a54b319801375d22451f5",
64
+ venue: "0x8366a39CC670B4001A1121B8F6A443A643e40951",
65
+ factory: "0x0000000000000000000000000000000000000000",
66
+ hook: "0x0000000000000000000000000000000000000000",
67
+ capabilities: 123n,
68
+ enabled: true,
69
+ }) satisfies ProfileRegistrationV1;
70
+ // 29434 bytes; keccak256 0x3b8b7ab8614512ce93d65c6aeb6ed18bb150ef7d74417c7282075ff683f1e35b; append 640-byte V2 constructor.
71
+ export const hmmDynamicCreationCode: Hex = "0x610260604052348015610010575f5ffd5b506040516172fa3803806172fa83398101604081905261002f91610c9f565b808061003a81610471565b611afc613fff30161461006057604051632a96f9e160e21b815260040160405180910390fd5b80516001600160a01b039081166080908152602080840151831660a0908152604080860151851660c0526060860151851660e0529285015184166101005284015190921661012052516100b591839101610e24565b60408051808303601f1901815291905280516020909101206101609081526102408201516101809081526101208301516001600160a01b039081166101a05261026084015163ffffffff166101c052908301519183015160189290921b66ffffffff0000001662ffffff909216919091176101e05260a082015160c08301519082169116105f8161014a578260a00151610150565b8260c001515b90505f82610162578360c00151610168565b8360a001515b6001600160a01b038084166102008190529082166102208190526040805160a081018252928352602083019190915260e087015162ffffff169082015261010086015160020b60608201523060808201529091506101c78160a0902090565b6101405280515f80546001600160a01b03199081166001600160a01b03938416178255602080850151600180546040808901516060808b0151958a166001600160b81b031990941693909317600160a01b62ffffff928316021762ffffff60b81b1916600160b81b91909516029390931782556080808901516002805490971690891617909555825161012081018452958652938b015186169285019290925260c08a0151909416938301939093526101a088015191929083019160ff169081111561029557610295610fc9565b60018111156102a6576102a6610fc9565b815261014087015162ffffff166020808301919091526101c088015160ff166040808401919091526101e08901516001600160a01b039081166060808601919091526102008b0151151560808601526102208b015160a0909501949094528451600380549183166001600160a01b031992831617815593860151600480549184169183169190911790559185015160058054919092169281168317825593850151929390916001600160a81b031990911617600160a01b83600181111561036f5761036f610fc9565b0217905550608082015160028201805460a08086015160ff16600160c01b0260ff60c01b1962ffffff909516600160a81b029490941663ffffffff60a81b199092169190911792909217905560c08084015160038401805460e08701511515600160a01b026001600160a81b03199091166001600160a01b03938416171790556101009094015160049093019290925588015190880151908216911610610240525050506102208301515f925082915061042890610b1e565b6016805461ffff909216600160e01b0261ffff60e01b1962ffffff909416600160c81b029390931664ffffffffff60c81b19909216919091179190911790555061103a92505050565b80516001600160a01b03163b1580610495575060208101516001600160a01b03163b155b806104ac575060408101516001600160a01b03163b155b806104c3575060608101516001600160a01b03163b155b806104da575060808101516001600160a01b03163b155b806104f1575060c08101516001600160a01b03163b155b80610507575060a08101516001600160a01b0316155b8061052b57508060c001516001600160a01b03168160a001516001600160a01b0316145b80610542575060a08101516001600160a01b031630145b80610566575080606001516001600160a01b031681602001516001600160a01b0316145b806105895750805f01516001600160a01b031681602001516001600160a01b0316145b806105a0575060208101516001600160a01b031630145b806105b7575060608101516001600160a01b031630145b806105ce575060808101516001600160a01b031630145b806105f15750805f01516001600160a01b031681608001516001600160a01b0316145b80610604575060e081015162ffffff1615155b8061061a5750600160020b81610100015160020b125b806106315750610100810151617fff60029190910b135b8061065757506401000276a36001600160a01b03168161012001516001600160a01b0316105b8061068d575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b03168161012001516001600160a01b031610155b806106a95750620f424062ffffff1681610140015162ffffff16115b806106c7575080610140015162ffffff1681610160015162ffffff16115b806106dd5750600160ff16816101a0015160ff16115b8061071457506101c081015160ff161580159061071457506004816101c0015160ff1610806107145750600a816101c0015160ff16115b8061073d57506101c081015160ff161580159061073d57506101e08101516001600160a01b0316155b8061075557506101e08101516001600160a01b031630145b806107795750805f01516001600160a01b0316816101e001516001600160a01b0316145b8061079e575080608001516001600160a01b0316816101e001516001600160a01b0316145b806107ac5750610240810151155b806107c0575061026081015163ffffffff16155b806107d65750602081610260015163ffffffff16115b156107f45760405163c52a9bd360e01b815260040160405180910390fd5b5f816020015190505f8260800151905082606001516001600160a01b0316826001600160a01b031663f2f4eb266040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108729190610fdd565b6001600160a01b03161415806108fc5750825f01516001600160a01b0316826001600160a01b031663dc4c90d36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f09190610fdd565b6001600160a01b031614155b8061097c575082604001516001600160a01b0316826001600160a01b031663c7f7fb906040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109709190610fdd565b6001600160a01b031614155b806109fc575082608001516001600160a01b0316826001600160a01b031663d7b96d4e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f09190610fdd565b6001600160a01b031614155b80610a7c575082602001516001600160a01b0316816001600160a01b03166316eebd1e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a709190610fdd565b6001600160a01b031614155b80610afb5750825f01516001600160a01b0316816001600160a01b031663dc4c90d36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610acb573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aef9190610fdd565b6001600160a01b031614155b15610b195760405163c52a9bd360e01b815260040160405180910390fd5b505050565b5f5f60c0516001600160a01b031663deee4135846040518263ffffffff1660e01b8152600401610b5091815260200190565b6040805180830381865afa158015610b6a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8e9190610fff565b909250905062ffffff82161580610bac5750620d89e862ffffff8316115b80610bbb575060028161ffff16105b80610bcb575061100061ffff8216115b15610be95760405163c52a9bd360e01b815260040160405180910390fd5b915091565b60405161028081016001600160401b0381118282101715610c1d57634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114610c37575f5ffd5b50565b8051610c4581610c23565b919050565b805162ffffff81168114610c45575f5ffd5b8051600281900b8114610c45575f5ffd5b805163ffffffff81168114610c45575f5ffd5b805160ff81168114610c45575f5ffd5b80518015158114610c45575f5ffd5b5f610280828403128015610cb1575f5ffd5b50610cba610bee565b610cc383610c3a565b8152610cd160208401610c3a565b6020820152610ce260408401610c3a565b6040820152610cf360608401610c3a565b6060820152610d0460808401610c3a565b6080820152610d1560a08401610c3a565b60a0820152610d2660c08401610c3a565b60c0820152610d3760e08401610c4a565b60e0820152610d496101008401610c5c565b610100820152610d5c6101208401610c3a565b610120820152610d6f6101408401610c4a565b610140820152610d826101608401610c4a565b610160820152610d956101808401610c6d565b610180820152610da86101a08401610c80565b6101a0820152610dbb6101c08401610c80565b6101c0820152610dce6101e08401610c3a565b6101e0820152610de16102008401610c90565b61020082015261022083810151908201526102408084015190820152610e0a6102608401610c6d565b6102608201529392505050565b6001600160a01b03169052565b5f61028082019050610e37828451610e17565b6020830151610e496020840182610e17565b506040830151610e5c6040840182610e17565b506060830151610e6f6060840182610e17565b506080830151610e826080840182610e17565b5060a0830151610e9560a0840182610e17565b5060c0830151610ea860c0840182610e17565b5060e0830151610ebf60e084018262ffffff169052565b50610100830151610ed661010084018260020b9052565b50610120830151610eeb610120840182610e17565b50610140830151610f0461014084018262ffffff169052565b50610160830151610f1d61016084018262ffffff169052565b50610180830151610f3761018084018263ffffffff169052565b506101a0830151610f4e6101a084018260ff169052565b506101c0830151610f656101c084018260ff169052565b506101e0830151610f7a6101e0840182610e17565b50610200830151610f9061020084018215159052565b50610220830151610220830152610240830151610240830152610260830151610fc261026084018263ffffffff169052565b5092915050565b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215610fed575f5ffd5b8151610ff881610c23565b9392505050565b5f5f60408385031215611010575f5ffd5b61101983610c4a565b9150602083015161ffff8116811461102f575f5ffd5b809150509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051610200516102205161024051615fef61130b5f395f8181613dd401526142b901525f81816121ac015281816122b201526135e501525f818161216b0152818161227701526135c401525f8181610494015281816105b101526132c001525f818161056f015261372401525f81816104e0015261137f01525f61071001525f61040601525f818161036b0152818161098301528181610d8601528181611105015281816113ee0152818161160a0152818161170c01528181611a2a01528181611e6301528181611fa20152818161224c01528181612732015281816128b301528181612be701528181613242015281816132ef015281816134bd015281816136b1015281816136ec01526143e901525f818161089f01528181612da40152818161396601526144c901525f818161054801528181610d4e01528181610fde0152818161115301528181611fee01528181612059015281816120c30152818161222601528181612758015281816127fc0152818161289001526135a301525f818161084401528181612df3015281816139b5015261442101525f818161068301526111dd01525f81816102db0152818161090901528181610c820152818161134201528181612e3d0152818161379801526144a601525f818161074001528181610af801528181610b8e01528181610edf015281816110e4015281816112b101528181611478015281816115e90152818161167c0152818161191a01528181611b8101528181611da00152818161220501528181612a1b01528181612aaa01528181612b270152818161326901528181613327015281816134e2015281816135560152818161358201528181613c660152818161458501528181614764015281816147f301528181614870015281816149380152818161498301526149f00152615fef5ff3fe608060405234801561000f575f5ffd5b5060043610610244575f3560e01c80630268e293146102485780630581555f1461025d5780630885f7321461027757806321d0ee7014610297578063259982e5146102c35780632b20e397146102d65780633382743814610315578063359b4f301461031f5780633e451d6a1461034057806342ea83e01461035357806347f8496c1461036657806350fb3a3a1461038d5780635524d548146103a0578063575e24b4146103c35780635955d09a1461040157806360f89f2e14610428578063654f631c1461043b5780636fe7e6eb1461046c578063747a68cd1461047f5780637dbeb94e14610492578063847211a6146104c85780638bc801c1146104db57806391dd734614610502578063921b0bed146105225780639759164a146105435780639e5fe0621461056a578063a3f4bac7146105a6578063a8691114146105af578063aae49d70146105d8578063ac4e4054146105e2578063ac5555aa146105eb578063b47b2fb1146105fe578063b6a8b0fa14610634578063c5c51dca14610647578063c5fbb2981461065c578063c67046af1461066f578063c7f7fb901461067e578063ca266dfe146106a5578063ce1b8e4f1461070b578063d2be662514610732578063dc4c90d31461073b578063dd71cea814610762578063e1b4af69146107af578063e2e65ec1146107c2578063f11457c7146107d5578063f2f4eb261461083f578063f399150c14610866578063f9bc70e714610887578063fc0c546a1461089a578063fd5b6d5b146108c1575b5f5ffd5b61025b610256366004615362565b6108d4565b005b5f5b60405161ffff90911681526020015b60405180910390f35b61028a61028536600461537c565b6109d7565b60405161026e91906153dd565b6102aa6102a53660046154d8565b610aec565b6040516001600160e01b0319909116815260200161026e565b6102aa6102d13660046154d8565b610b82565b6102fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161026e565b62010016546102fd565b61033261032d366004615558565b610c1f565b60405190815260200161026e565b61033261034e366004615586565b610c3c565b61025b6103613660046155a1565b610c4d565b6103327f000000000000000000000000000000000000000000000000000000000000000081565b61025b61039b3660046155ef565b610de1565b6103b36103ae36600461537c565b610ebc565b604051901515815260200161026e565b6103d66103d1366004615622565b610ed1565b604080516001600160e01b03199094168452602084019290925262ffffff169082015260600161026e565b6103327f000000000000000000000000000000000000000000000000000000000000000081565b61025b61043636600461567b565b6110d5565b61044e61044936600461537c565b6111bb565b6040805162ffffff909316835261ffff90911660208301520161026e565b6102aa61047a3660046156d3565b6112a5565b61033261048d366004615586565b611445565b7f00000000000000000000000000000000000000000000000000000000000000005b60405162ffffff909116815260200161026e565b6103326104d636600461537c565b611459565b6102fd7f000000000000000000000000000000000000000000000000000000000000000081565b61051561051036600461572a565b61146b565b60405161026e9190615768565b61053561053036600461579d565b611590565b60405161026e929190615815565b6102fd7f000000000000000000000000000000000000000000000000000000000000000081565b6105917f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161026e565b6102fd613fff81565b7f000000000000000000000000000000000000000000000000000000000000000060181c610591565b6104b4620f424081565b6102fd611afc81565b6103b36105f936600461537c565b611655565b61061161060c3660046158a1565b61166f565b604080516001600160e01b03199093168352600f9190910b60208301520161026e565b6102aa610642366004615921565b61190e565b61064f6119c0565b60405161026e919061597a565b61033261066a36600461537c565b611a6b565b600160405161026e91906159bc565b6102fd7f000000000000000000000000000000000000000000000000000000000000000081565b6106b86106b336600461537c565b611a8d565b60405161026e919081516001600160a01b03908116825260208084015182169083015260408084015162ffffff169083015260608084015160020b90830152608092830151169181019190915260a00190565b6103327f000000000000000000000000000000000000000000000000000000000000000081565b61025f61100081565b6102fd7f000000000000000000000000000000000000000000000000000000000000000081565b6107756107703660046159cf565b611b17565b6040805163ffffffff909516855260069390930b60208501526001600160a01b03909116918301919091521515606082015260800161026e565b6102aa6107bd366004615921565b611b75565b6103326107d0366004615558565b611c2f565b6107e86107e336600461537c565b611c4d565b6040805161ffff998a168152978916602089015295881695870195909552600293840b60608701526001600160401b039283166080870152911660a0850152900b60c083015290911660e08201526101000161026e565b6102fd7f000000000000000000000000000000000000000000000000000000000000000081565b610879610874366004615362565b611cc2565b60405161026e9291906159ef565b6104b46108953660046159fd565b611ecc565b6102fd7f000000000000000000000000000000000000000000000000000000000000000081565b6103326108cf366004615558565b611f39565b3068929eee149b4bd2126854036108f25763ab143c065f526004601cfd5b3068929eee149b4bd2126855336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610946576040516282b42960e81b815260040160405180910390fd5b61094f81611f57565b60135415610970576040516304c7cf6760e51b815260040160405180910390fd5b4260135561097c611f96565b60405142907f0000000000000000000000000000000000000000000000000000000000000000907ff1bac50d2c6f6c83cb8ff6fac488b03adc5fb0cc9fae30db2077588d5d9e5fbd905f90a33868929eee149b4bd212685550565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152610a2882611fa0565b6040805161012081018252600380546001600160a01b039081168352600454811660208401526005549081169383019390935290916060830190600160a01b900460ff166001811115610a7d57610a7d6153a0565b6001811115610a8e57610a8e6153a0565b8152600282015462ffffff600160a81b820416602083015260ff600160c01b9091048116604083015260038301546001600160a01b0381166060840152600160a01b9004161515608082015260049091015460a09091015292915050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b35576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd212685403610b535763ab143c065f526004601cfd5b610b5c85611f57565b610b668685611fdf565b610b6f84612134565b5063021d0ee760e41b5b95945050505050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bcb576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd212685403610be95763ab143c065f526004601cfd5b610bf285611f57565b610bfc8685611fdf565b610c0461213d565b610c0d84612134565b5063259982e560e01b95945050505050565b5f610c2983611fa0565b610c3282612168565b5490505b92915050565b5f610c4682612168565b5492915050565b3068929eee149b4bd212685403610c6b5763ab143c065f526004601cfd5b3068929eee149b4bd2126855336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cbf576040516282b42960e81b815260040160405180910390fd5b610ce0610cdb610cd436859003850185615a6b565b60a0902090565b611fa0565b60125460ff1615610d0457604051630ea075bf60e21b815260040160405180910390fd5b610d0d81612203565b610d168161250c565b610d236020820182615586565b600380546001600160a01b0319166001600160a01b039283161790556012805460ff191660011790557f000000000000000000000000000000000000000000000000000000000000000016610d7b6020830183615586565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000007ffafdbdd88ac30f0aa936e576be61816ea751908540523fa81b80c4a406ad7bec60405160405180910390a43868929eee149b4bd21268555050565b3068929eee149b4bd212685403610dff5763ab143c065f526004601cfd5b610e0882611fa0565b6016805461ffff600160e01b90910481169083161115610e32578054600160e01b900461ffff1691505b8054600160201b900461ffff165f610e4c6017838661251e565b835461ffff60201b1916600160201b61ffff838116918202929092178655919250831614610eb5576040805161ffff80851682528316602082015286917f04f592d3848fffa22f73de92a2fd8da837e6d597f468af77c6fc619b478362ae910160405180910390a25b5050505050565b5f610ec682611fa0565b505060125460ff1690565b5f8080336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f1c576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd212685403610f3a5763ab143c065f526004601cfd5b60155460ff1615610f5e5760405163558a1e0360e11b815260040160405180910390fd5b610f6787611f57565b610f6f61213d565b60035f610f7c8a896125b1565b90505f610f898a8a6125e9565b90505f62ffffff831615801590610fa75750610fa7828c8c87612627565b15610fc557610fc2610fbc8b602001356126ab565b846126e6565b90505b6040516364b3357d60e11b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c9666afa90611017908f908f908790600401615bcc565b602060405180830381865afa158015611032573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110569190615bf7565b90506110928c61106960208e018e615c0e565b611073575f611075565b825b61108260208f018f615c0e565b61108c5783612724565b5f612724565b81156110b4576110b483838760020160189054906101000a900460ff16612911565b506315d7892d60e21b965060801b94505f9350505050955095509592505050565b6110de83611f57565b5f6111297f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612c56565b5050600354919250506001600160a01b03848116911614158061117e5750816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614155b8061119057506001600160a01b038116155b156111ad5760405162820f3560e61b815260040160405180910390fd5b6111b5612d08565b50505050565b60405163deee413560e01b8152600481018290525f9081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063deee4135906024016040805180830381865afa158015611221573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112459190615c27565b909250905062ffffff821615806112635750620d89e862ffffff8316115b80611272575060028161ffff16105b80611282575061100061ffff8216115b156112a05760405163c52a9bd360e01b815260040160405180910390fd5b915091565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112ee576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd21268540361130c5763ab143c065f526004601cfd5b611321610cdb610cd436879003870187615a6b565b60125460ff16158061133a5750601254610100900460ff165b8061137757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b806113b457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b156113d15760405162820f3560e61b815260040160405180910390fd5b6113da82612eed565b6012805461ff0019166101001790556040517f0000000000000000000000000000000000000000000000000000000000000000907febcc9ffea17e08841d7588f2ecd87720e1cfb444bb3b5e662c4a5005c3c94ab2905f90a250636fe7e6eb60e01b5b949350505050565b5f61144f82612168565b6003015492915050565b5f61146382611fa0565b505060135490565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114b5576040516282b42960e81b815260040160405180910390fd5b60145415806114dd575060145483836040516114d2929190615c54565b604051809103902014155b156114fb5760405163f7a632f560e01b815260040160405180910390fd5b5f601481905561150d83850185615a6b565b905061151d610cdb8260a0902090565b601254610100900460ff166115445760405162820f3560e61b815260040160405180910390fd5b5f611551825f0151612ef6565b90505f6115618360200151612ef6565b905081816040516020016115769291906159ef565b604051602081830303815290604052935050505092915050565b60608061159c85611fa0565b6016805462010000900461ffff165f036115c9576040516329d9e10560e01b815260040160405180910390fd5b805461164890429087908790600160301b810460020b9061ffff1661162e7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612f8f565b875460179695949392919062010000900461ffff16613012565b9250925050935093915050565b5f61165f82611fa0565b5050601254610100900460ff1690565b5f80336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116b9576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd2126854036116d75763ab143c065f526004601cfd5b60155460ff16156116fb5760405163558a1e0360e11b815260040160405180910390fd5b61170487611f57565b5f61173260107f00000000000000000000000000000000000000000000000000000000000000008b8a61316d565b905061173f885f5f612724565b60035f61174c8a8a6125e9565b90505f61175c60208c018c615586565b6001600160a01b0316826001600160a01b0316146117865761178160208c018c615586565b611796565b61179660408c0160208d01615586565b905062ffffff8416158015906117b357506117b3828c8c86612627565b1561184c575f6117cf6117c98c602001356126ab565b866126e6565b9050801561184a575f6117e560208e018e615586565b6001600160a01b0316846001600160a01b03161461180c576118078b600f0b90565b611816565b6118168b60801d90565b90506118268260208e0135615c77565b81600f0b146118485760405163161b48a960e21b815260040160405180910390fd5b505b505b5f62ffffff8516158015906118685750611868828d8d87612627565b156118e9575f61187b60208e018e615586565b6001600160a01b0316836001600160a01b0316146118a25761189d8b600f0b90565b6118ac565b6118ac8b60801d90565b90506118c36118bd82600f0b6126ab565b876126e6565b915081156118e7576118e783838760020160189054906101000a900460ff16612911565b505b6118f48c8c8c6131db565b63b47b2fb160e01b9d909c509a5050505050505050505050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611957576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd2126854036119755763ab143c065f526004601cfd5b60155460ff16156119995760405163558a1e0360e11b815260040160405180910390fd5b6119a286611f57565b6119ad868686612724565b50635b54587d60e11b9695505050505050565b60125460609060ff166119d3575f6119d6565b60015b60ff166001600160401b038111156119f0576119f0615a17565b604051908082528060200260200182016040528015611a19578160200160208202803683370190505b5060125490915060ff1615611a68577f0000000000000000000000000000000000000000000000000000000000000000815f81518110611a5b57611a5b615c9e565b6020026020010181815250505b90565b5f611a7582611fa0565b601654600160881b90046001600160401b0316610c36565b6040805160a0810182525f80825260208201819052918101829052606081018290526080810191909152611ac082611fa0565b50506040805160a0810182525f546001600160a01b039081168252600154808216602084015262ffffff600160a01b82041693830193909352600160b81b909204600290810b606083015254909116608082015290565b5f5f5f5f611b2486611fa0565b5f60178661ffff8110611b3957611b39615c9e565b015463ffffffff811698600160201b820460060b9850600160581b82046001600160a01b03169750600160f81b90910460ff1695509350505050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611bbe576040516282b42960e81b815260040160405180910390fd5b60155460ff1615611be25760405163558a1e0360e11b815260040160405180910390fd5b3068929eee149b4bd212685403611c005763ab143c065f526004601cfd5b611c0986611f57565b611c14865f5f612724565b611c1c6131eb565b5063e1b4af6960e01b9695505050505050565b5f611c3983611fa0565b611c4282612168565b600101549392505050565b5f5f5f5f5f5f5f5f611c5e89611fa0565b505060165461ffff8082169962010000830482169950600160201b830482169850600160301b8304600290810b98506001600160401b03600160481b850481169850600160881b8504169650600160c81b8404900b9450600160e01b909204169150565b5f5f3068929eee149b4bd212685403611ce25763ab143c065f526004601cfd5b3068929eee149b4bd212685560155460ff1615611d125760405163558a1e0360e11b815260040160405180910390fd5b611d1b83611f57565b6003546001600160a01b03163314611d45576040516282b42960e81b815260040160405180910390fd5b600854151580611d565750600c5415155b15611e57575f83604051602001611d6d9190615cb2565b60408051601f1981840301815290829052805160208201206014556348c8949160e01b825291505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906348c8949190611dd5908590600401615768565b5f604051808303815f875af1158015611df0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611e179190810190615cc0565b60145490915015611e3b5760405163f7a632f560e01b815260040160405180910390fd5b80806020019051810190611e4f9190615d52565b909450925050505b336001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000007f4a93be8d0a356d70b54fdf016f78a2ed8b8a3c420952848eb4f4b2c4546405b68484604051611eb39291906159ef565b60405180910390a33868929eee149b4bd2126855915091565b5f3068929eee149b4bd212685403611eeb5763ab143c065f526004601cfd5b601254610100900460ff16611f125760405162820f3560e61b815260040160405180910390fd5b611f1a612d08565b5f611f24836131f3565b509050611f30816133d7565b9150505b919050565b5f611f4383611fa0565b611f4c82612168565b600201549392505050565b611f6c610cdb610cd436849003840184615a6b565b601254610100900460ff16611f935760405162820f3560e61b815260040160405180910390fd5b50565b611f9e613472565b565b7f00000000000000000000000000000000000000000000000000000000000000008114611f935760405162820f3560e61b815260040160405180910390fd5b60155460ff16801561203057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415806120305750604081013515155b1561204e5760405163558a1e0360e11b815260040160405180910390fd5b6013545f036120ad577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316146120a957604051637cd5a0ad60e01b815260040160405180910390fd5b5050565b600654600160a01b900460ff1680156120f857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b8015612116575060155460ff1680612116575061211482613483565b155b156120a957604051630af9fb3360e21b815260040160405180910390fd5b611f9381613491565b601554610100900460ff161561214f57565b612157612d08565b6015805461ff001916610100179055565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036121aa57506008919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036121eb5750600c919050565b60405162820f3560e61b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f612270837f0000000000000000000000000000000000000000000000000000000000000000612c56565b50505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b5f14806122d557506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163b155b806122e857506001600160a01b03811615155b8061231457506001600160a01b0382166123086040860160208701615586565b6001600160a01b031614155b8061234257506005546001600160a01b03166123366060860160408701615586565b6001600160a01b031614155b8061238a5750600554600160a01b900460ff166001811115612366576123666153a0565b6123766080860160608701615d74565b6001811115612387576123876153a0565b14155b806123b75750600554600160a81b900462ffffff166123af60a0860160808701615d92565b62ffffff1614155b806123e05750600554600160c01b900460ff166123da60c0860160a08701615dad565b60ff1614155b8061240e57506006546001600160a01b031661240260e0860160c08701615586565b6001600160a01b031614155b806124395750600654600160a01b900460ff161515612434610100860160e08701615c0e565b151514155b8061244b575060075461010085013514155b8061246a575061245e6020850185615586565b6001600160a01b03163b155b8061249257506001600160a01b0382166124876020860186615586565b6001600160a01b0316145b806124b15750306124a66020860186615586565b6001600160a01b0316145b806124d957506001600160a01b0383166124ce6020860186615586565b6001600160a01b0316145b156124f75760405163c52a9bd360e01b815260040160405180910390fd5b6111b56125076020860186615586565b613580565b61251581613a3f565b611f9381613aa1565b5f8261ffff165f03612543576040516329d9e10560e01b815260040160405180910390fd5b8261ffff168261ffff16116125595750816125aa565b825b8261ffff168161ffff1610156125a5576001858261ffff1661ffff811061258457612584615c9e565b01805463ffffffff191663ffffffff9290921691909117905560010161255b565b508190505b9392505050565b5f5f5f6125bd846131f3565b604082015191935091506125d46010848888613b3c565b93506125e08282613bba565b50505092915050565b5f6125f76020830183615c0e565b15155f6020840135121461261a576126156040840160208501615586565b6125aa565b6125aa6020840184615586565b5f8060016002840154600160a01b900460ff16600181111561264b5761264b6153a0565b146126835761265d6020850185615c0e565b612676576126716040860160208701615586565b612692565b6126716020860186615586565b60028301546001600160a01b03165b6001600160a01b03878116911614915050949350505050565b5f600160ff1b82036126d057604051637e2df70960e11b815260040160405180910390fd5b5f82126126dd5781610c36565b610c3682615dcd565b5f6126fa838362ffffff16620f4240613bc4565b905060016001607f1b03811115610c3657604051637e2df70960e11b815260040160405180910390fd5b60405162e568cf60e71b81527f000000000000000000000000000000000000000000000000000000000000000060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906372b4678090602401602060405180830381865afa1580156127a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127c99190615bf7565b5f036127d457505050565b6015805460ff191660011790556040516381f8a9d160e01b81525f9081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906381f8a9d19061283590889088908890600401615de7565b60408051808303815f875af1158015612850573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128749190615d52565b6015805460ff1916905560405191935091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016907f0000000000000000000000000000000000000000000000000000000000000000907fa30ca6140dfb2cac1c1021c5303d8dc7de0cd4db47221fb3ad068fac7ef8185e9061290290869086906159ef565b60405180910390a35050505050565b3068929eee149b4bd21268540361292f5763ab143c065f526004601cfd5b3068929eee149b4bd2126855825f61294682612168565b90505f8160020154825f015461295c9190615e06565b905061296f8160016001607f1b03615e06565b85111561298157612981868383613c52565b5f60ff8516156129b457606461299a60ff871688615e2d565b6129a590607d615e40565b6129af9190615e2d565b6129b6565b5f5b905085835f015f8282546129ca9190615e57565b9250508190555080836001015f8282546129e49190615e57565b9250508190555085836003015f8282546129fe9190615e57565b9091555050604051627eeac760e11b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e90612a519030908990600401615e6a565b602060405180830381865afa158015612a6c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a909190615bf7565b604051630ab714fb60e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063156e29f690612ae390309089908c90600401615e84565b5f604051808303815f87803b158015612afa575f5ffd5b505af1158015612b0c573d5f5f3e3d5ffd5b5050604051627eeac760e11b81525f92506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915062fdd58e90612b5e9030908a90600401615e6a565b602060405180830381865afa158015612b79573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b9d9190615bf7565b905081811080612baf57508782820314155b80612bbd5750846003015481105b15612bdb5760405163104eed1d60e31b815260040160405180910390fd5b856001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000007f2616e25de5abcc9e6a698b140fb6c92f55ace21b7a57f76172f195dbbf693af68a86604051612c379291906159ef565b60405180910390a35050505050503868929eee149b4bd2126855505050565b5f5f5f5f5f612c6486613cf6565b604051631e2eaeaf60e01b8152600481018290529091505f906001600160a01b03891690631e2eaeaf90602401602060405180830381865afa158015612cac573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cd09190615bf7565b90506001600160a01b03811695508060a01c60020b945062ffffff8160b81c16935062ffffff8160d01c169250505092959194509250565b601554610100900460ff1615612d1a57565b6003546001600160a01b03165f612d40612d3b83630d96a1bf60e21b613d32565b613d4c565b90505f612d628263537df88f60e11b6001600160a01b038616602460c0613d5e565b9050606081015160a01c815160a01c1715612d7b575f5ffd5b60a081015160808201511760101c15612d92575f5ffd5b60c081016040525f6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016612dd8612d3b8563514526c360e11b613d32565b6001600160a01b0316141580612e3357506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016612e27612d3b8563056a0fbf60e31b613d32565b6001600160a01b031614155b80612e68575081517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614155b80612e7c57505f612e7a836020015190565b145b80612e9057505f612e8e836040015190565b145b80612ea457505f612ea2836060015190565b145b80612ebd57508061ffff16612eba8360a0015190565b14155b80612ecf5750608082015160a0830151115b156111b55760405163c52a9bd360e01b815260040160405180910390fd5b611f9381613d93565b5f8181612f0282612168565b80549091505f819003612f1957505f949350505050565b612f338583846002015484612f2e9190615e06565b613c52565b6001820180545f808555918290556002840191909155612f538183615e06565b600654909550612f6e9085906001600160a01b031683613ea1565b600354612f869085906001600160a01b031687613ea1565b50505050919050565b5f5f612f9a83613cf6565b90505f612fa8600383615e57565b604051631e2eaeaf60e01b8152600481018290529091506001600160a01b03861690631e2eaeaf90602401602060405180830381865afa158015612fee573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b799190615bf7565b6060808261ffff165f03613039576040516329d9e10560e01b815260040160405180910390fd5b866001600160401b0381111561305157613051615a17565b60405190808252806020026020018201604052801561307a578160200160208202803683370190505b509150866001600160401b0381111561309557613095615a17565b6040519080825280602002602001820160405280156130be578160200160208202803683370190505b5090505f5b8781101561315f576131008b8b8b8b858181106130e2576130e2615c9e565b90506020020160208101906130f79190615ea8565b8a8a8a8a613f31565b84838151811061311257613112615c9e565b6020026020010184848151811061312b5761312b615c9e565b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508060010190506130c3565b509850989650505050505050565b60018401545f9063ffffffff16801580613192575061318d8585856140dd565b865414155b156131b3576040516001620787ab60e51b0319815260040160405180910390fd5b6131be600182615ecb565b5f87556001909601805463ffffffff191690555093949350505050565b6131e6838383614112565b505050565b611f9e614131565b61323f60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b5f7f000000000000000000000000000000000000000000000000000000000000000081808061328e7f000000000000000000000000000000000000000000000000000000000000000085612c56565b509250925092508062ffffff165f146132ba5760405163c52a9bd360e01b815260040160405180910390fd5b8194505f7f000000000000000000000000000000000000000000000000000000000000000090506040518061012001604052807f00000000000000000000000000000000000000000000000000000000000000008152602001856001600160a01b0316815260200161334c7f000000000000000000000000000000000000000000000000000000000000000088612f8f565b6001600160801b0316815260200189602001358152602001895f0160208101906133769190615c0e565b1515815260055462ffffff600160a81b8204811660208401528416604083015263ffffffff601885901c16606083015260809091019060ff600160a01b9091041660018111156133c8576133c86153a0565b81525096505050505050915091565b5f600160ff1b82606001510361340057604051637e2df70960e11b815260040160405180910390fd5b60a082015160c083015161341384614142565b92508162ffffff168362ffffff16111561344057604051637e2df70960e11b815260040160405180910390fd5b8062ffffff168362ffffff16101561346b576040516302cce67760e31b815260040160405180910390fd5b5050919050565b611f9e632520a12d60e11b5f6141a3565b5f610c368262010016541490565b604081013515806134b35750601654600160481b90046001600160401b031643145b156134bb5750565b7f00000000000000000000000000000000000000000000000000000000000000005f6135077f000000000000000000000000000000000000000000000000000000000000000083612c56565b5090925061351b9150506020840184615ee7565b60020b8160020b128061354357506135396040840160208501615ee7565b60020b8160020b12155b1561354d57505050565b6131e68161357b7f000000000000000000000000000000000000000000000000000000000000000085612f8f565b614243565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000005f613619612d3b87630d96a1bf60e21b613d32565b90505f613627878585614322565b90506001600160a01b038616613647612d3b8963dc4c90d360e01b613d32565b6001600160a01b031614158061368257506001600160a01b038516613676612d3b89636bdcb6a760e11b613d32565b6001600160a01b031614155b806136a957503061369d612d3b89636620eee760e11b613d32565b6001600160a01b031614155b806136e457507f00000000000000000000000000000000000000000000000000000000000000006136e188631f06e1a760e11b613d32565b14155b8061371757507f0000000000000000000000000000000000000000000000000000000000000000613714886143bd565b14155b80613758575063ffffffff7f00000000000000000000000000000000000000000000000000000000000000001661375588634f2ff03160e11b613d32565b14155b8061378857506001600160a01b03861661377c612d3b8763dc4c90d360e01b613d32565b6001600160a01b031614155b806137d857506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166137cc612d3b87630b775e8f60e11b613d32565b6001600160a01b031614155b806137f257505f6137ef8662e568cf60e71b6143e0565b14155b80613811575061381161380c86630323715f60e11b6143e0565b614411565b8061382c57505f61382986635c0af38360e01b6143e0565b14155b8061385357505f613847612d3b87630961712f60e01b6143e0565b6001600160a01b031614155b8061385c575080155b8061386f57506001600160a01b0382163b155b8061388257506001600160a01b03821630145b8061389e5750866001600160a01b0316826001600160a01b0316145b806138ba5750846001600160a01b0316826001600160a01b0316145b806138d65750856001600160a01b0316826001600160a01b0316145b806138f25750836001600160a01b0316826001600160a01b0316145b8061390e5750826001600160a01b0316826001600160a01b0316145b8061392657506006546001600160a01b038381169116145b8061393e57506006546001600160a01b038881169116145b1561395c5760405163c52a9bd360e01b815260040160405180910390fd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661399a612d3b8463514526c360e11b613d32565b6001600160a01b03161415806139f557506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166139e9612d3b8463056a0fbf60e31b613d32565b6001600160a01b031614155b80613a0f5750613a0f61380c8363b3f05b9760e01b613d32565b15613a2d5760405163c52a9bd360e01b815260040160405180910390fd5b613a368261441f565b50505050505050565b5f5f613a4f8361010001356111bb565b6016549193509150600283810b600160c81b909204900b141580613a83575060165461ffff828116600160e01b9092041614155b156131e65760405163c52a9bd360e01b815260040160405180910390fd5b5f613aaf6020830183615586565b90506306704e8760e31b637f5a7c7b60e01b5f80613af8565b5f604051838152602081600483865afa601f3d118116613ae6575f5ffd5b5051905060a081901c15610c36575f5ffd5b613b028486613ac8565b915030613b0f8484613ac8565b14905080613b305760405163c52a9bd360e01b815260040160405180910390fd5b50620100165550505050565b60018401545f9063ffffffff1615613b6a576040516001620787ab60e51b0319815260040160405180910390fd5b8351613b75856133d7565b9150613b828185856140dd565b8655613b9462ffffff83166001615f00565b600196909601805463ffffffff191663ffffffff90971696909617909555949350505050565b6120a982826146ff565b82820281838583041485151702613c4b575f198385098181108201900382848609835f038416828511613bfe5763ae47f7025f526004601cfd5b93849004938382119092035f8390038390046001010292030417600260038302811880840282030280840282030280840282030280840282030280840282030280840290910302026125aa565b0492915050565b805f03613c5e57505050565b8281613c8a827f0000000000000000000000000000000000000000000000000000000000000000614722565b1015613ca9576040516365169c1d60e01b815260040160405180910390fd5b81836003015f828254613cbc9190615e06565b90915550613ccd905081848461474c565b613cd8843084614924565b81836002015f828254613ceb9190615e57565b909155505050505050565b6040515f90613d15908390600690602001918252602082015260400190565b604051602081830303815290604052805190602001209050919050565b5f80613d4384848360046020613d5e565b51949350505050565b5f8160a01c15613d5a575f5ffd5b5090565b6040518481526023198301613d74578360048201525b81818483895afa613d87573d5f823e3d81fd5b813d1015610b79575f5ffd5b6016613da0601742614a72565b825465ffffffff00001916600160201b61ffff9283160263ffff0000191617620100009290911691909102178155613df8827f0000000000000000000000000000000000000000000000000000000000000000614ab2565b8154600160301b600160881b031916600160301b62ffffff9290921691909102600160481b600160881b03191617600160481b436001600160401b039081169190910291909117600160881b600160c81b031916600160881b42929092169190910217808255600290600160e01b900461ffff16811115613e8257508054600160e01b900461ffff165b815461ffff8216600160201b0261ffff60201b19909116178255505050565b805f03613ead57505050565b5f613eb88430614722565b90505f613ec58585614722565b9050613ed2858585614ac7565b5f613edd8630614722565b90505f613eea8787614722565b905083821180613efc57508482850314155b80613f0657508281105b80613f1357508483820314155b15613a3657604051631dc418c360e31b815260040160405180910390fd5b5f5f8663ffffffff165f03613fd7575f898661ffff1661ffff8110613f5857613f58615c9e565b60408051608081018252919092015463ffffffff808216808452600160201b830460060b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a1614613fc357613fc0818a8988614b11565b90505b8060200151816040015192509250506140d1565b8688035f80613feb8c8c858c8c8c8c614bb7565b91509150815f015163ffffffff168363ffffffff160361401b5781602001518260400151945094505050506140d1565b805f015163ffffffff168363ffffffff16036140475780602001518160400151945094505050506140d1565b5f825f0151825f01510390505f835f0151850390508063ffffffff168263ffffffff1660060b856020015185602001510360060b8161408857614088615e19565b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816140c0576140c0615e19565b048560400151019650965050505050505b97509795505050505050565b5f8383836040516020016140f393929190615f1c565b6040516020818303038152906040528051906020012090509392505050565b608081811c15159082901b1515166111b5632f02d37f60e21b826141a3565b611f9e6309f17b8160e31b5f6141a3565b60c081015160a082015160e08301515f92919062ffffff808316908416148061416f575063ffffffff8116155b1561417d5750909392505050565b5f5f614187614d92565b915091506141988585858585614e02565b979650505050505050565b62010016546001600160a01b0381166141bb57505050565b5f612710603f6141cf622dc6c06040615e40565b6141d99190615e2d565b6141e39190615e57565b905063c52a9bd360e01b7f6e819d90474482ea53f17905af71585dac910232de1a68f42349cd60badb2874825a101561421e57815f5260045ffd5b855f52846004525f5f60245f5f88622dc6c0f161423b578060205fa15b505050505050565b6016805461427a9060179061ffff808216914291600160301b820460020b918891620100008204811691600160201b900416614eb1565b825463ffffffff19166201000061ffff9283160261ffff1916179116178082556142dd90600160301b8104600290810b918691600160c81b909104900b7f000000000000000000000000000000000000000000000000000000000000000061502d565b8154600160301b600160881b031916600160301b62ffffff9290921691909102600160481b600160881b03191617600160481b436001600160401b0316021790555050565b5f8061433a856371a9730560e01b8360046020613d5e565b80519091506001600160a01b0380861691908516903d906001600160401b038111601f1983018211171561436c575f5ffd5b602081863e8451602080838503030481116001600160401b0382111715614391575f5ffd5b600281036143b057604060208301873e83602087015114858751141696505b5050505050509392505050565b5f806143d58363182148ef60e01b83600460a0613d5e565b60a090209392505050565b5f5f613d4384847f000000000000000000000000000000000000000000000000000000000000000060246020613d5e565b5f6001821115613d5a575f5ffd5b7f00000000000000000000000000000000000000000000000000000000000000005f6144588263086fce0d60e11b836004610160613d5e565b90505f6005905080604083015111602083015160201c1715614478575f5ffd5b6101408201606083015b818110156144a057805160a01c15614498575f5ffd5b602001614482565b505081517f000000000000000000000000000000000000000000000000000000000000000091507f0000000000000000000000000000000000000000000000000000000000000000908015806144fb57506001604085015114155b8061451957506001600160a01b038316614516856060015190565b14155b8061453757506001600160a01b038316614534856080015190565b14155b8061455557506001600160a01b0382166145528560a0015190565b14155b8061457557506005546001600160a01b03166145728560c0015190565b14155b806145b357506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166145b08560e0015190565b14155b156145d0576040516282b42960e81b815260040160405180910390fd5b5f6145dc856020015190565b90506145f586636373dff160e11b8460246101c0613d5e565b94505f600190505f600590508060a0880151118260808901511117604088015160a01c1715614622575f5ffd5b610120870160c088015b8181101561464a57805160a01c15614642575f5ffd5b60200161462c565b50506101a0870161012088015b8181101561467557805160201c1561466d575f5ffd5b602001614657565b5050865184925090501415806146905750600160a086015114155b806146ae57506001600160a01b0383166146ab8660c0015190565b14155b806146cc57506001600160a01b0387166146c98660e0015190565b14155b806146e2575061014085015163ffffffff821610155b15613a36576040516282b42960e81b815260040160405180910390fd5b601654600160481b90046001600160401b031643146120a9576120a98282614243565b5f816014526370a0823160601b5f5260208060246010865afa601f3d111660205102905092915050565b604051627eeac760e11b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e9061479a9030908890600401615e6a565b602060405180830381865afa1580156147b5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906147d99190615bf7565b604051637a94c56560e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f5298aca9061482c90309088908790600401615e84565b5f604051808303815f87803b158015614843575f5ffd5b505af1158015614855573d5f5f3e3d5ffd5b5050604051627eeac760e11b81525f92506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915062fdd58e906148a79030908990600401615e6a565b602060405180830381865afa1580156148c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906148e69190615bf7565b9050818111806148f857508281830314155b806149065750836003015481105b15610eb55760405163104eed1d60e31b815260040160405180910390fd5b805f0361493057505050565b825f61495c827f0000000000000000000000000000000000000000000000000000000000000000614722565b90505f6149698386614722565b604051630b0d9c0960e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630b0d9c09906149bc90899089908990600401615e84565b5f604051808303815f87803b1580156149d3575f5ffd5b505af11580156149e5573d5f5f3e3d5ffd5b505050505f614a14847f0000000000000000000000000000000000000000000000000000000000000000614722565b90505f614a218588614722565b905083821180614a3357508582850314155b80614a3d57508281105b80614a4a57508583820314155b15614a6857604051631dc418c360e31b815260040160405180910390fd5b5050505050505050565b6040805160808101825263ffffffff83168082525f602083018190529282019290925260016060909101819052600160f81b9091178355805b9250929050565b5f81614abe57826125aa565b6125aa83615f3f565b816014528060345263a9059cbb60601b5f5260205f604460105f875af18060015f511416614b0757803d853b151710614b07576390b8ec185f526004601cfd5b505f603452505050565b614b19615326565b5f855f01518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020015f856001600160801b031611614b6a576001614b6c565b845b6001600160801b031663ffffffff60801b608085901b1681614b9057614b90615e19565b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b614bbf615326565b614bc7615326565b888561ffff1661ffff8110614bde57614bde615c9e565b60408051608081018252919092015463ffffffff8116808352600160201b820460060b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff16151560608201529250614c3c9089908961508b565b15614c75578663ffffffff16825f015163ffffffff1614614c695781614c6483898988614b11565b614c6c565b81815b915091506140d1565b8883614c82876001615f5f565b614c8c9190615f79565b61ffff1661ffff8110614ca157614ca1615c9e565b60408051608081018252929091015463ffffffff81168352600160201b810460060b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614d4a57604080516080810182528a5463ffffffff81168252600160201b810460060b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614d5888835f01518961508b565b614d7557604051636ffbbccd60e11b815260040160405180910390fd5b614d828989898887615149565b9150915097509795505050505050565b5f5f60165461ffff8160101c166001811115614dfc5761ffff82168060170154826001840383010660170154915063ffffffff828203168015614df8578260201c8260201c0360060b8181059050808660301c60020b0397505063ffffffff8342031695505b5050505b50509091565b5f8462ffffff168662ffffff1610614e1b575083610b79565b5f83131580614e2e575063ffffffff8216155b80614e3d575063ffffffff8416155b15614e49575084610b79565b63ffffffff82811687870362ffffff160290849086168281614e6d57614e6d615e19565b04811115614e7f578692505050610b79565b8363ffffffff168663ffffffff16820281614e9c57614e9c615e19565b048862ffffff16019250505095945050505050565b5f5f5f898961ffff1661ffff8110614ecb57614ecb615c9e565b60408051608081018252919092015463ffffffff808216808452600160201b830460060b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089169003614f3457888592509250506140d1565b8461ffff168461ffff16118015614f5c5750614f51600186615f9c565b61ffff168961ffff16145b614f665784614f68565b835b915081614f768a6001615f5f565b614f809190615f79565b9250614f8e81898989614b11565b8a8461ffff1661ffff8110614fa557614fa5615c9e565b825191018054602084015160408501516060909501511515600160f81b026001600160f81b036001600160a01b03909616600160581b02959095166001600160581b0366ffffffffffffff909216600160201b026001600160581b031990931663ffffffff909516949094179190911716919091179190911790555097509795505050505050565b5f5f8560020b61503d8685614ab2565b60020b61504a9190615fb6565b9050600284900b808213156150615780915061507d565b61506a81615dcd565b82121561507d5761507a81615dcd565b91505b61419882600289900b615c77565b5f8363ffffffff168363ffffffff16111580156150b457508363ffffffff168263ffffffff1611155b156150d0578163ffffffff168363ffffffff16111590506125aa565b5f8463ffffffff168463ffffffff16116150fd576150f863ffffffff8516600160201b615e57565b615105565b8363ffffffff165b90505f8563ffffffff168463ffffffff16116151345761512f63ffffffff8516600160201b615e57565b61513c565b8363ffffffff165b9091111595945050505050565b615151615326565b615159615326565b5f83615166866001615f5f565b6151709190615f79565b61ffff1690505f60018561ffff16836151899190615e57565b6151939190615e06565b90505b5f60026151a38385615e57565b6151ad9190615e2d565b9050896151be61ffff881683615fdc565b61ffff81106151cf576151cf615c9e565b60408051608081018252929091015463ffffffff81168352600160201b810460060b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061523b57615233816001615e57565b925050615196565b8961ffff871661524c836001615e57565b6152569190615fdc565b61ffff811061526757615267615c9e565b60408051608081018252929091015463ffffffff81168352600160201b810460060b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094505f906152ca908b908b61508b565b90508080156152e257506152e28a8a875f015161508b565b156152ee57505061531a565b80615305576152fe600183615e06565b9250615313565b615310826001615e57565b93505b5050615196565b50509550959350505050565b604080516080810182525f80825260208201819052918101829052606081019190915290565b5f60a0828403121561535c575f5ffd5b50919050565b5f60a08284031215615372575f5ffd5b6125aa838361534c565b5f6020828403121561538c575f5ffd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b5f52602160045260245ffd5b60028110611f9357634e487b7160e01b5f52602160045260245ffd5b6153d9816153b4565b9052565b81516001600160a01b0390811682526020808401519091169082015260408083015161012083019161541190840182615393565b50606083015161542460608401826153d0565b50608083015161543b608084018262ffffff169052565b5060a083015161545060a084018260ff169052565b5060c083015161546360c0840182615393565b5060e083015161547760e084018215159052565b5061010092830151919092015290565b6001600160a01b0381168114611f93575f5ffd5b5f5f83601f8401126154ab575f5ffd5b5081356001600160401b038111156154c1575f5ffd5b602083019150836020828501011115614aab575f5ffd5b5f5f5f5f5f8587036101608112156154ee575f5ffd5b86356154f981615487565b9550615508886020890161534c565b9450608060bf198201121561551b575f5ffd5b5060c0860192506101408601356001600160401b0381111561553b575f5ffd5b6155478882890161549b565b969995985093965092949392505050565b5f5f60408385031215615569575f5ffd5b82359150602083013561557b81615487565b809150509250929050565b5f60208284031215615596575f5ffd5b81356125aa81615487565b5f5f8284036101c08112156155b4575f5ffd5b6155be858561534c565b9250610120609f19820112156155d2575f5ffd5b5060a0830190509250929050565b61ffff81168114611f93575f5ffd5b5f5f60408385031215615600575f5ffd5b82359150602083013561557b816155e0565b5f6060828403121561535c575f5ffd5b5f5f5f5f5f6101408688031215615637575f5ffd5b853561564281615487565b9450615651876020880161534c565b93506156608760c08801615612565b92506101208601356001600160401b0381111561553b575f5ffd5b5f5f5f60e0848603121561568d575f5ffd5b615697858561534c565b925060a08401356156a781615487565b915060c08401356156b781615487565b809150509250925092565b8035600281900b8114611f34575f5ffd5b5f5f5f5f61010085870312156156e7575f5ffd5b84356156f281615487565b9350615701866020870161534c565b925060c085013561571181615487565b915061571f60e086016156c2565b905092959194509250565b5f5f6020838503121561573b575f5ffd5b82356001600160401b03811115615750575f5ffd5b61575c8582860161549b565b90969095509350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f5f604084860312156157af575f5ffd5b8335925060208401356001600160401b038111156157cb575f5ffd5b8401601f810186136157db575f5ffd5b80356001600160401b038111156157f0575f5ffd5b8660208260051b8401011115615804575f5ffd5b939660209190910195509293505050565b604080825283519082018190525f9060208501906060840190835b8181101561585157835160060b835260209384019390920191600101615830565b5050838103602080860191909152855180835291810192508501905f5b818110156158955782516001600160a01b031684526020938401939092019160010161586e565b50919695505050505050565b5f5f5f5f5f5f61016087890312156158b7575f5ffd5b86356158c281615487565b95506158d1886020890161534c565b94506158e08860c08901615612565b935061012087013592506101408701356001600160401b03811115615903575f5ffd5b61590f89828a0161549b565b979a9699509497509295939492505050565b5f5f5f5f5f5f6101208789031215615937575f5ffd5b863561594281615487565b9550615951886020890161534c565b945060c0870135935060e087013592506101008701356001600160401b03811115615903575f5ffd5b602080825282518282018190525f918401906040840190835b818110156159b1578351835260209384019390920191600101615993565b509095945050505050565b602081016159c9836153b4565b91905290565b5f5f604083850312156159e0575f5ffd5b50508035926020909101359150565b918252602082015260400190565b5f60608284031215615a0d575f5ffd5b6125aa8383615612565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715615a5357615a53615a17565b604052919050565b62ffffff81168114611f93575f5ffd5b5f60a0828403128015615a7c575f5ffd5b5060405160a081016001600160401b0381118282101715615a9f57615a9f615a17565b6040528235615aad81615487565b81526020830135615abd81615487565b60208201526040830135615ad081615a5b565b6040820152615ae1606084016156c2565b60608201526080830135615af481615487565b60808201529392505050565b8035615b0b81615487565b6001600160a01b031682526020810135615b2481615487565b6001600160a01b031660208301526040810135615b4081615a5b565b62ffffff166040830152615b56606082016156c2565b60020b60608301526080810135615b6c81615487565b6001600160a01b03166080929092019190915250565b80358015158114611f34575f5ffd5b615b9a81615b82565b15158252602081810135908301526040810135615bb681615487565b6001600160a01b03166040929092019190915250565b6101208101615bdb8286615b00565b615be860a0830185615b91565b82610100830152949350505050565b5f60208284031215615c07575f5ffd5b5051919050565b5f60208284031215615c1e575f5ffd5b6125aa82615b82565b5f5f60408385031215615c38575f5ffd5b8251615c4381615a5b565b602084015190925061557b816155e0565b818382375f9101908152919050565b634e487b7160e01b5f52601160045260245ffd5b8082018281125f831280158216821582161715615c9657615c96615c63565b505092915050565b634e487b7160e01b5f52603260045260245ffd5b60a08101610c368284615b00565b5f60208284031215615cd0575f5ffd5b81516001600160401b03811115615ce5575f5ffd5b8201601f81018413615cf5575f5ffd5b80516001600160401b03811115615d0e57615d0e615a17565b615d21601f8201601f1916602001615a2b565b818152856020838501011115615d35575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f5f60408385031215615d63575f5ffd5b505080516020909101519092909150565b5f60208284031215615d84575f5ffd5b8135600281106125aa575f5ffd5b5f60208284031215615da2575f5ffd5b81356125aa81615a5b565b5f60208284031215615dbd575f5ffd5b813560ff811681146125aa575f5ffd5b5f600160ff1b8201615de157615de1615c63565b505f0390565b60e08101615df58286615b00565b60a082019390935260c00152919050565b81810381811115610c3657610c36615c63565b634e487b7160e01b5f52601260045260245ffd5b5f82615e3b57615e3b615e19565b500490565b8082028115828204841417610c3657610c36615c63565b80820180821115610c3657610c36615c63565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f60208284031215615eb8575f5ffd5b813563ffffffff811681146125aa575f5ffd5b63ffffffff8281168282160390811115610c3657610c36615c63565b5f60208284031215615ef7575f5ffd5b6125aa826156c2565b63ffffffff8181168382160190811115610c3657610c36615c63565b8381526001600160a01b038316602082015260a0810161143d6040830184615b91565b5f8160020b627fffff198103615f5757615f57615c63565b5f0392915050565b61ffff8181168382160190811115610c3657610c36615c63565b5f61ffff831680615f8c57615f8c615e19565b8061ffff84160691505092915050565b61ffff8281168282160390811115610c3657610c36615c63565b8181035f831280158383131683831282161715615fd557615fd5615c63565b5092915050565b5f82615fea57615fea615e19565b50069056";