@dsh-enhanced/lark-channel 0.1.65 → 0.1.67

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 (184) hide show
  1. package/README.md +25 -7
  2. package/cordis.patch.yml +1 -0
  3. package/docs/operations.md +1 -1
  4. package/docs/progress-security.md +3 -0
  5. package/docs/rsi-setup.md +13 -7
  6. package/docs/setup.md +2 -1
  7. package/lib/adapter.d.ts +8 -0
  8. package/lib/adapter.d.ts.map +1 -1
  9. package/lib/adapter.js +44 -7
  10. package/lib/adapter.js.map +1 -1
  11. package/lib/config.d.ts +6 -0
  12. package/lib/config.d.ts.map +1 -1
  13. package/lib/config.js +54 -8
  14. package/lib/config.js.map +1 -1
  15. package/lib/group-thread.d.ts +9 -0
  16. package/lib/group-thread.d.ts.map +1 -1
  17. package/lib/group-thread.js +16 -2
  18. package/lib/group-thread.js.map +1 -1
  19. package/lib/index.d.ts +5 -0
  20. package/lib/index.d.ts.map +1 -1
  21. package/lib/index.js +24 -1
  22. package/lib/index.js.map +1 -1
  23. package/lib/normalize.d.ts.map +1 -1
  24. package/lib/normalize.js +7 -4
  25. package/lib/normalize.js.map +1 -1
  26. package/lib/progress.d.ts +11 -1
  27. package/lib/progress.d.ts.map +1 -1
  28. package/lib/progress.js +13 -1
  29. package/lib/progress.js.map +1 -1
  30. package/lib/rsi-authority-runtime.d.ts +1 -0
  31. package/lib/rsi-authority-runtime.d.ts.map +1 -1
  32. package/lib/rsi-authority-runtime.js +17 -7
  33. package/lib/rsi-authority-runtime.js.map +1 -1
  34. package/lib/rsi-bootstrap-manifest.d.ts +17 -5
  35. package/lib/rsi-bootstrap-manifest.d.ts.map +1 -1
  36. package/lib/rsi-bootstrap-manifest.js +160 -10
  37. package/lib/rsi-bootstrap-manifest.js.map +1 -1
  38. package/lib/rsi-bootstrap.js +3 -3
  39. package/lib/rsi-bootstrap.js.map +1 -1
  40. package/lib/rsi-build.d.ts +12 -0
  41. package/lib/rsi-build.d.ts.map +1 -1
  42. package/lib/rsi-build.js +55 -5
  43. package/lib/rsi-build.js.map +1 -1
  44. package/lib/rsi-creation-build.d.ts +3 -0
  45. package/lib/rsi-creation-build.d.ts.map +1 -1
  46. package/lib/rsi-creation-build.js +45 -0
  47. package/lib/rsi-creation-build.js.map +1 -1
  48. package/lib/rsi-host-update.d.ts +51 -0
  49. package/lib/rsi-host-update.d.ts.map +1 -1
  50. package/lib/rsi-host-update.js +61 -1
  51. package/lib/rsi-host-update.js.map +1 -1
  52. package/lib/rsi-install.d.ts +15 -3
  53. package/lib/rsi-install.d.ts.map +1 -1
  54. package/lib/rsi-install.js +80 -15
  55. package/lib/rsi-install.js.map +1 -1
  56. package/lib/rsi-linux-cgroup-roots.d.ts +3 -0
  57. package/lib/rsi-linux-cgroup-roots.d.ts.map +1 -0
  58. package/lib/rsi-linux-cgroup-roots.js +3 -0
  59. package/lib/rsi-linux-cgroup-roots.js.map +1 -0
  60. package/lib/rsi-linux-creation-build.d.ts +36 -0
  61. package/lib/rsi-linux-creation-build.d.ts.map +1 -0
  62. package/lib/rsi-linux-creation-build.js +213 -0
  63. package/lib/rsi-linux-creation-build.js.map +1 -0
  64. package/lib/rsi-linux-native-materialize.d.ts +31 -0
  65. package/lib/rsi-linux-native-materialize.d.ts.map +1 -0
  66. package/lib/rsi-linux-native-materialize.js +162 -0
  67. package/lib/rsi-linux-native-materialize.js.map +1 -0
  68. package/lib/rsi-linux-native-relocation.d.ts +120 -0
  69. package/lib/rsi-linux-native-relocation.d.ts.map +1 -0
  70. package/lib/rsi-linux-native-relocation.js +1555 -0
  71. package/lib/rsi-linux-native-relocation.js.map +1 -0
  72. package/lib/rsi-linux-native-resources.d.ts +97 -0
  73. package/lib/rsi-linux-native-resources.d.ts.map +1 -0
  74. package/lib/rsi-linux-native-resources.js +521 -0
  75. package/lib/rsi-linux-native-resources.js.map +1 -0
  76. package/lib/rsi-linux-repository-bootstrap.d.ts +17 -0
  77. package/lib/rsi-linux-repository-bootstrap.d.ts.map +1 -0
  78. package/lib/rsi-linux-repository-bootstrap.js +317 -0
  79. package/lib/rsi-linux-repository-bootstrap.js.map +1 -0
  80. package/lib/rsi-linux-runner-states.d.ts +20 -0
  81. package/lib/rsi-linux-runner-states.d.ts.map +1 -0
  82. package/lib/rsi-linux-runner-states.js +70 -0
  83. package/lib/rsi-linux-runner-states.js.map +1 -0
  84. package/lib/rsi-linux-runtime-bootstrap.d.ts +10 -0
  85. package/lib/rsi-linux-runtime-bootstrap.d.ts.map +1 -0
  86. package/lib/rsi-linux-runtime-bootstrap.js +38 -0
  87. package/lib/rsi-linux-runtime-bootstrap.js.map +1 -0
  88. package/lib/rsi-linux-source-build.d.ts +28 -0
  89. package/lib/rsi-linux-source-build.d.ts.map +1 -0
  90. package/lib/rsi-linux-source-build.js +43 -0
  91. package/lib/rsi-linux-source-build.js.map +1 -0
  92. package/lib/rsi-local-install.d.ts +2 -0
  93. package/lib/rsi-local-install.d.ts.map +1 -1
  94. package/lib/rsi-local-install.js +42 -1
  95. package/lib/rsi-local-install.js.map +1 -1
  96. package/lib/rsi-local-pair-install.d.ts +15 -0
  97. package/lib/rsi-local-pair-install.d.ts.map +1 -1
  98. package/lib/rsi-local-pair-install.js +21 -6
  99. package/lib/rsi-local-pair-install.js.map +1 -1
  100. package/lib/rsi-local-resources.d.ts +2 -2
  101. package/lib/rsi-local-resources.d.ts.map +1 -1
  102. package/lib/rsi-local-resources.js +5 -0
  103. package/lib/rsi-local-resources.js.map +1 -1
  104. package/lib/rsi-local-update-build.d.ts +25 -6
  105. package/lib/rsi-local-update-build.d.ts.map +1 -1
  106. package/lib/rsi-local-update-build.js +46 -7
  107. package/lib/rsi-local-update-build.js.map +1 -1
  108. package/lib/rsi-local-update.d.ts +5 -2
  109. package/lib/rsi-local-update.d.ts.map +1 -1
  110. package/lib/rsi-local-update.js +6 -5
  111. package/lib/rsi-local-update.js.map +1 -1
  112. package/lib/rsi-memory-learning.d.ts +7 -1
  113. package/lib/rsi-memory-learning.d.ts.map +1 -1
  114. package/lib/rsi-memory-learning.js +11 -4
  115. package/lib/rsi-memory-learning.js.map +1 -1
  116. package/lib/rsi-native-install.d.ts.map +1 -1
  117. package/lib/rsi-native-install.js +12 -1
  118. package/lib/rsi-native-install.js.map +1 -1
  119. package/lib/rsi-native-profile.d.ts +8 -0
  120. package/lib/rsi-native-profile.d.ts.map +1 -1
  121. package/lib/rsi-native-profile.js +102 -4
  122. package/lib/rsi-native-profile.js.map +1 -1
  123. package/lib/rsi-ordinary-use-learning.d.ts +60 -0
  124. package/lib/rsi-ordinary-use-learning.d.ts.map +1 -0
  125. package/lib/rsi-ordinary-use-learning.js +103 -0
  126. package/lib/rsi-ordinary-use-learning.js.map +1 -0
  127. package/lib/rsi-plugin-creation.d.ts +16 -1
  128. package/lib/rsi-plugin-creation.d.ts.map +1 -1
  129. package/lib/rsi-plugin-creation.js +60 -14
  130. package/lib/rsi-plugin-creation.js.map +1 -1
  131. package/lib/rsi-plugin-revision.d.ts +35 -0
  132. package/lib/rsi-plugin-revision.d.ts.map +1 -0
  133. package/lib/rsi-plugin-revision.js +200 -0
  134. package/lib/rsi-plugin-revision.js.map +1 -0
  135. package/lib/rsi-profile.d.ts +11 -0
  136. package/lib/rsi-profile.d.ts.map +1 -1
  137. package/lib/rsi-profile.js +109 -3
  138. package/lib/rsi-profile.js.map +1 -1
  139. package/lib/rsi-release-build.d.ts +24 -8
  140. package/lib/rsi-release-build.d.ts.map +1 -1
  141. package/lib/rsi-release-build.js +89 -37
  142. package/lib/rsi-release-build.js.map +1 -1
  143. package/lib/rsi-scanner-retirement-config.d.ts +34 -0
  144. package/lib/rsi-scanner-retirement-config.d.ts.map +1 -0
  145. package/lib/rsi-scanner-retirement-config.js +272 -0
  146. package/lib/rsi-scanner-retirement-config.js.map +1 -0
  147. package/lib/rsi-scanner-retirement-runtime.d.ts +23 -0
  148. package/lib/rsi-scanner-retirement-runtime.d.ts.map +1 -0
  149. package/lib/rsi-scanner-retirement-runtime.js +98 -0
  150. package/lib/rsi-scanner-retirement-runtime.js.map +1 -0
  151. package/lib/rsi-scanner-retirement-stage.d.ts +55 -0
  152. package/lib/rsi-scanner-retirement-stage.d.ts.map +1 -0
  153. package/lib/rsi-scanner-retirement-stage.js +183 -0
  154. package/lib/rsi-scanner-retirement-stage.js.map +1 -0
  155. package/lib/rsi-scanner-retirement-transition.d.ts +57 -0
  156. package/lib/rsi-scanner-retirement-transition.d.ts.map +1 -0
  157. package/lib/rsi-scanner-retirement-transition.js +320 -0
  158. package/lib/rsi-scanner-retirement-transition.js.map +1 -0
  159. package/lib/rsi-setup.d.ts +24 -0
  160. package/lib/rsi-setup.d.ts.map +1 -1
  161. package/lib/rsi-setup.js +122 -7
  162. package/lib/rsi-setup.js.map +1 -1
  163. package/lib/rsi-source-maintenance.d.ts +9 -1
  164. package/lib/rsi-source-maintenance.d.ts.map +1 -1
  165. package/lib/rsi-source-maintenance.js +64 -5
  166. package/lib/rsi-source-maintenance.js.map +1 -1
  167. package/lib/rsi-source-update.js +2 -2
  168. package/lib/rsi-source-update.js.map +1 -1
  169. package/lib/sdk.d.ts +3 -1
  170. package/lib/sdk.d.ts.map +1 -1
  171. package/lib/sdk.js +8 -2
  172. package/lib/sdk.js.map +1 -1
  173. package/lib/service.d.ts.map +1 -1
  174. package/lib/service.js +2 -0
  175. package/lib/service.js.map +1 -1
  176. package/lib/setup-profile.d.ts.map +1 -1
  177. package/lib/setup-profile.js +1 -0
  178. package/lib/setup-profile.js.map +1 -1
  179. package/lib/types.d.ts +4 -0
  180. package/lib/types.d.ts.map +1 -1
  181. package/lib/types.js.map +1 -1
  182. package/lib/version.d.ts +1 -1
  183. package/lib/version.js +1 -1
  184. package/package.json +21 -21
@@ -0,0 +1,200 @@
1
+ import { createPrivateKey, createPublicKey } from 'node:crypto';
2
+ import { lstatSync, readFileSync, realpathSync } from 'node:fs';
3
+ import { createRequire } from 'node:module';
4
+ import { dirname, isAbsolute, join, resolve } from 'node:path';
5
+ import { pathToFileURL } from 'node:url';
6
+ import { isDeepStrictEqual } from 'node:util';
7
+ import { validateRevisionAcceptanceAuthorityRef, validateRevisionRegressionAcceptanceAuthorityRef } from '@dsh-enhanced/assistant-growth-contract';
8
+ import { rsiAuthorityRoles } from './rsi-authority-resources.js';
9
+ const limits = { revisions: 32, verifications: 32, cases: 4, reviewRuns: 160, regressionRuns: 320,
10
+ runnerDurationMs: 30_000, outputBytes: 262_144, reviewInputBytes: 262_144, reviewOutputTokens: 8_192,
11
+ durationMs: 300_000, receiptTtlMs: 86_400_000 };
12
+ const policy = 'Derive concrete held-out behavior cases from the current authenticated task and feedback. Independently check the exact adopted parent, candidate patch, outputs, scope and lifecycle ownership. Reject ambiguous behavior, unsafe scope and missing evidence; retained parent cases are independently checked by the paired regression authority.';
13
+ const uuid = /^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/u;
14
+ const ownerFields = ['authorityId', 'authorityHash', 'principalId', 'principalRecordId', 'principalVersion', 'workspace', 'agentPreset'];
15
+ function fail(message) { throw new Error(`rsi plugin revision: ${message}`); }
16
+ function exact(value, fields) {
17
+ if (!value || typeof value !== 'object' || Array.isArray(value) || Object.getPrototypeOf(value) !== Object.prototype)
18
+ return false;
19
+ const descriptors = Object.getOwnPropertyDescriptors(value);
20
+ return Reflect.ownKeys(value).length === fields.length
21
+ && Object.keys(descriptors).sort().join('\0') === [...fields].sort().join('\0')
22
+ && Object.values(descriptors).every(field => field.enumerable && 'value' in field);
23
+ }
24
+ function privateDirectory(path) {
25
+ if (typeof path !== 'string' || !isAbsolute(path) || resolve(path) !== path || /[\p{Cc}\\]/u.test(path)
26
+ || realpathSync(path) !== path)
27
+ fail('private directory differs');
28
+ const info = lstatSync(path);
29
+ if (!info.isDirectory() || info.isSymbolicLink() || info.mode & 0o077 || process.getuid && info.uid !== process.getuid()) {
30
+ fail('private directory differs');
31
+ }
32
+ }
33
+ function publicKeyAt(path) {
34
+ if (typeof path !== 'string' || !isAbsolute(path) || resolve(path) !== path || /[\p{Cc}\\]/u.test(path)
35
+ || realpathSync(path) !== path)
36
+ fail('signing identity path differs');
37
+ const info = lstatSync(path);
38
+ if (!info.isFile() || info.isSymbolicLink() || info.nlink !== 1 || info.size < 1 || info.size > 8192
39
+ || info.mode & 0o077 || process.getuid && info.uid !== process.getuid())
40
+ fail('signing identity is not private');
41
+ const key = createPrivateKey(readFileSync(path));
42
+ if (key.asymmetricKeyType !== 'ed25519')
43
+ fail('signing identity must be Ed25519');
44
+ return createPublicKey(key).export({ format: 'pem', type: 'spki' }).toString();
45
+ }
46
+ const requirePeer = createRequire(import.meta.url);
47
+ function validators() {
48
+ const name = '@dsh-enhanced/assistant-verifier';
49
+ try {
50
+ requirePeer.resolve(name);
51
+ }
52
+ catch (error) {
53
+ if (error.code === 'MODULE_NOT_FOUND' || error.code === 'ERR_MODULE_NOT_FOUND') {
54
+ fail(`opted-in plugin revision requires installed peer ${name}`);
55
+ }
56
+ throw error;
57
+ }
58
+ const peer = requirePeer(name);
59
+ if (typeof peer.compileRevisionReviewConfig !== 'function' || typeof peer.compileRevisionRegressionReviewConfig !== 'function') {
60
+ fail('installed revision validators are unavailable; update the verifier peer');
61
+ }
62
+ return { compileRevisionReviewConfig: peer.compileRevisionReviewConfig,
63
+ compileRevisionRegressionReviewConfig: peer.compileRevisionRegressionReviewConfig };
64
+ }
65
+ /** Validate only existing private resources; compilation never creates a ledger or a key. */
66
+ function preparedIdentities(resources) {
67
+ if (!exact(resources, ['schemaVersion', 'root', 'installationId', 'ledgerId', 'identities', 'registry', 'catalog', 'stateRoot', 'configRoot'])
68
+ || resources.schemaVersion !== 1 || typeof resources.root !== 'string' || !uuid.test(resources.installationId) || !uuid.test(resources.ledgerId)
69
+ || resources.installationId === resources.ledgerId || !exact(resources.identities, rsiAuthorityRoles)
70
+ || resources.stateRoot !== join(resources.root, 'state') || resources.configRoot !== join(resources.root, 'config')
71
+ || !exact(resources.registry, ['id', 'root', 'locator']) || resources.registry.id !== `registry-${resources.installationId}`
72
+ || resources.registry.root !== join(resources.root, 'registry') || resources.registry.locator !== pathToFileURL(resources.registry.root).href
73
+ || !exact(resources.catalog, ['id', 'path']) || resources.catalog.id !== `catalog-${resources.installationId}`
74
+ || resources.catalog.path !== join(resources.root, 'catalog.json'))
75
+ fail('prepared resource identity differs');
76
+ privateDirectory(resources.root);
77
+ privateDirectory(resources.stateRoot);
78
+ privateDirectory(resources.configRoot);
79
+ for (const role of rsiAuthorityRoles) {
80
+ const identity = resources.identities[role], authority = `${role}-${resources.installationId}`;
81
+ if (!exact(identity, ['authority', 'keyId', 'keyPath', 'publicKeyPem']) || identity.authority !== authority
82
+ || identity.keyId !== `${authority}-key` || identity.keyPath !== join(resources.root, 'identities', `${role}.pem`)
83
+ || typeof identity.publicKeyPem !== 'string')
84
+ fail('prepared signing identity differs');
85
+ }
86
+ const review = publicKeyAt(resources.identities.review.keyPath), adoption = publicKeyAt(resources.identities.adoption.keyPath);
87
+ if (review !== resources.identities.review.publicKeyPem || adoption !== resources.identities.adoption.publicKeyPem
88
+ || review === adoption)
89
+ fail('prepared signing identities differ or are not independent');
90
+ }
91
+ /** Recompute both purpose-separated authorities from normalized public peer compilers. */
92
+ export function validateRsiPluginRevisionSetup(input, expectedOwner, now = Date.now()) {
93
+ if (!Number.isSafeInteger(now) || now < 0)
94
+ fail('invalid validation time');
95
+ if (!exact(expectedOwner, ownerFields))
96
+ fail('invalid expected owner');
97
+ if (!exact(input, ['reviews', 'regressions', 'revision', 'verifications', 'regressionVerifications']))
98
+ fail('invalid setup fields');
99
+ const setup = input;
100
+ const peer = validators();
101
+ const reviewed = peer.compileRevisionReviewConfig(setup.reviews);
102
+ const regressed = peer.compileRevisionRegressionReviewConfig(setup.regressions);
103
+ const { config: reviews } = reviewed, { config: regressions } = regressed;
104
+ if (!isDeepStrictEqual(reviews.owner, expectedOwner) || !isDeepStrictEqual(regressions.owner, expectedOwner))
105
+ fail('revision owner differs');
106
+ if (!exact(setup.revision, ['id', 'expiresAt', 'maxRevisions', 'namePrefix'])
107
+ || typeof setup.revision.id !== 'string' || !Number.isSafeInteger(setup.revision.expiresAt)
108
+ || setup.revision.expiresAt <= now || setup.revision.maxRevisions !== limits.revisions)
109
+ fail('invalid finite source revision grant');
110
+ const revision = structuredClone(setup.revision);
111
+ const installation = revision.id.startsWith('revision-source-') ? revision.id.slice('revision-source-'.length) : '';
112
+ if (!uuid.test(installation) || revision.namePrefix !== `owner-${installation.slice(0, 8)}-`
113
+ || reviews.namePrefix !== revision.namePrefix || regressions.namePrefix !== revision.namePrefix)
114
+ fail('revision namespace differs');
115
+ if (reviews.expiresAt !== revision.expiresAt || regressions.expiresAt !== revision.expiresAt
116
+ || reviews.runner.expiresAt !== revision.expiresAt || regressions.runner.expiresAt !== revision.expiresAt)
117
+ fail('revision authority expiry differs');
118
+ if (reviews.authorityId !== `revision-review-${installation}` || regressions.authorityId !== `revision-regression-${installation}`
119
+ || reviews.keyId !== `${reviews.authorityId}-key` || regressions.keyId !== `${regressions.authorityId}-key`
120
+ || new Set([revision.id, reviews.authorityId, regressions.authorityId, expectedOwner.authorityId]).size !== 4)
121
+ fail('revision authority identity differs');
122
+ const root = dirname(dirname(reviews.keyPath));
123
+ if (reviews.keyPath !== join(root, 'identities', 'review.pem') || regressions.keyPath !== reviews.keyPath
124
+ || reviews.runner.stateRoot !== join(root, 'state', 'revision-review-runner')
125
+ || regressions.runner.stateRoot !== join(root, 'state', 'revision-regression-runner'))
126
+ fail('revision private roots differ');
127
+ privateDirectory(reviews.runner.stateRoot);
128
+ privateDirectory(regressions.runner.stateRoot);
129
+ if (reviews.maxVerifications !== limits.verifications || regressions.maxVerifications !== limits.verifications
130
+ || reviews.maxCases !== limits.cases || regressions.maxCases !== limits.cases
131
+ || reviews.maxDurationMs !== limits.durationMs || regressions.maxDurationMs !== limits.durationMs
132
+ || reviews.receiptTtlMs !== limits.receiptTtlMs || regressions.receiptTtlMs !== limits.receiptTtlMs
133
+ || reviews.maxInputBytes !== limits.reviewInputBytes || reviews.maxOutputTokens !== limits.reviewOutputTokens
134
+ || reviews.policy !== policy)
135
+ fail('revision finite limits or policy differ');
136
+ for (const [runner, runs] of [[reviews.runner, limits.reviewRuns], [regressions.runner, limits.regressionRuns]]) {
137
+ if (runner.maxRuns !== runs || runner.maxDurationMs !== limits.runnerDurationMs
138
+ || runner.maxTotalDurationMs !== runs * limits.runnerDurationMs || runner.maxOutputBytes !== limits.outputBytes)
139
+ fail('revision runner limits differ');
140
+ }
141
+ const reviewRunner = reviews.runner, regressionRunner = regressions.runner;
142
+ if (!('backend' in reviewRunner) || reviewRunner.backend !== 'linux-native'
143
+ || !('backend' in regressionRunner) || regressionRunner.backend !== 'linux-native'
144
+ || !isDeepStrictEqual(reviewRunner.runtime, regressionRunner.runtime)
145
+ || !isDeepStrictEqual(reviewRunner.cgroupRoots, regressionRunner.cgroupRoots))
146
+ fail('revision runners must share the Linux native family');
147
+ if (!exact(setup.verifications, ['authority', 'publicKey']) || !exact(setup.regressionVerifications, ['authority', 'publicKey']))
148
+ fail('invalid revision verification fields');
149
+ validateRevisionAcceptanceAuthorityRef(setup.verifications.authority);
150
+ validateRevisionRegressionAcceptanceAuthorityRef(setup.regressionVerifications.authority);
151
+ if (!isDeepStrictEqual(setup.verifications.authority, reviewed.authority) || setup.verifications.publicKey !== reviewed.publicKey
152
+ || !isDeepStrictEqual(setup.regressionVerifications.authority, regressed.authority)
153
+ || setup.regressionVerifications.publicKey !== regressed.publicKey || reviewed.publicKey !== regressed.publicKey)
154
+ fail('revision verification authority digest or key differs');
155
+ if (publicKeyAt(join(root, 'identities', 'adoption.pem')) === reviewed.publicKey)
156
+ fail('revision review and adoption signing keys must be independent');
157
+ return { reviews, regressions, revision, verifications: { authority: reviewed.authority, publicKey: reviewed.publicKey },
158
+ regressionVerifications: { authority: regressed.authority, publicKey: regressed.publicKey } };
159
+ }
160
+ /** This produces a candidate grant; installation decides whether new revision authority is authorized. */
161
+ export function createRsiPluginRevisionSetup(input) {
162
+ const { resources, build, owner, now, expiresAt } = input;
163
+ if (input.stateSeals && !exact(input.stateSeals, ['review', 'regression']))
164
+ fail('incomplete revision state seals');
165
+ preparedIdentities(resources);
166
+ const hasBuildDigest = !!build && typeof build === 'object' && Object.hasOwn(build, 'buildRuntimeDigest');
167
+ const buildDigest = hasBuildDigest ? Object.getOwnPropertyDescriptor(build, 'buildRuntimeDigest')?.value : undefined;
168
+ if (!exact(build, ['schemaVersion', 'backend', 'sourceCommit', 'behavior', 'cgroupRoots', ...(hasBuildDigest ? ['buildRuntimeDigest'] : [])])
169
+ || build.schemaVersion !== 3 || build.backend !== 'linux-native' || !/^[a-f0-9]{40}$/u.test(build.sourceCommit)
170
+ || hasBuildDigest && (typeof buildDigest !== 'string' || !/^[a-f0-9]{64}$/u.test(buildDigest))
171
+ || !Number.isSafeInteger(expiresAt) || !Number.isSafeInteger(now) || now < 0 || expiresAt <= now)
172
+ fail('invalid native build or expiry');
173
+ const installation = resources.installationId, namePrefix = `owner-${installation.slice(0, 8)}-`;
174
+ const runner = { backend: 'linux-native', runtime: build.behavior, cgroupRoots: build.cgroupRoots,
175
+ expiresAt, maxDurationMs: limits.runnerDurationMs, maxOutputBytes: limits.outputBytes };
176
+ const reviews = { authorityId: `revision-review-${installation}`, owner, namePrefix,
177
+ keyId: `revision-review-${installation}-key`, keyPath: resources.identities.review.keyPath, expiresAt,
178
+ maxVerifications: limits.verifications, runner: { ...runner, stateRoot: join(resources.stateRoot, 'revision-review-runner'),
179
+ ...(input.stateSeals ? { stateSeal: input.stateSeals.review } : {}),
180
+ maxRuns: limits.reviewRuns, maxTotalDurationMs: limits.reviewRuns * limits.runnerDurationMs },
181
+ policy, maxInputBytes: limits.reviewInputBytes, maxOutputTokens: limits.reviewOutputTokens,
182
+ maxDurationMs: limits.durationMs, maxCases: limits.cases, receiptTtlMs: limits.receiptTtlMs };
183
+ const regressions = { authorityId: `revision-regression-${installation}`, owner, namePrefix,
184
+ keyId: `revision-regression-${installation}-key`, keyPath: resources.identities.review.keyPath, expiresAt,
185
+ maxVerifications: limits.verifications, runner: { ...runner, stateRoot: join(resources.stateRoot, 'revision-regression-runner'),
186
+ ...(input.stateSeals ? { stateSeal: input.stateSeals.regression } : {}),
187
+ maxRuns: limits.regressionRuns, maxTotalDurationMs: limits.regressionRuns * limits.runnerDurationMs },
188
+ maxDurationMs: limits.durationMs, maxCases: limits.cases, receiptTtlMs: limits.receiptTtlMs };
189
+ const peer = validators(), reviewed = peer.compileRevisionReviewConfig(reviews), regressed = peer.compileRevisionRegressionReviewConfig(regressions);
190
+ const setup = validateRsiPluginRevisionSetup({ reviews: reviewed.config, regressions: regressed.config,
191
+ revision: { id: `revision-source-${installation}`, expiresAt, maxRevisions: limits.revisions, namePrefix },
192
+ verifications: { authority: reviewed.authority, publicKey: reviewed.publicKey },
193
+ regressionVerifications: { authority: regressed.authority, publicKey: regressed.publicKey } }, owner, now);
194
+ const native = setup.reviews.runner;
195
+ if (!('backend' in native) || native.backend !== 'linux-native' || native.runtime.runtime.sourceCommit !== build.sourceCommit
196
+ || setup.verifications.publicKey !== resources.identities.review.publicKeyPem)
197
+ fail('prepared revision build or signing identity differs');
198
+ return setup;
199
+ }
200
+ //# sourceMappingURL=rsi-plugin-revision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rsi-plugin-revision.js","sourceRoot":"","sources":["../src/rsi-plugin-revision.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@ import { type Config as ControlPlaneConfig } from '@dsh-enhanced/plugin-control-
4
4
  import { type SourceReviewConfig } from '@dsh-enhanced/assistant-verifier';
5
5
  import type { RsiServiceEnvironments } from './rsi-service-setup.js';
6
6
  import { type RsiMemoryLearningSetup } from './rsi-memory-learning.js';
7
+ import { type RsiOrdinaryUseLearningSetup } from './rsi-ordinary-use-learning.js';
7
8
  import { type RsiPluginCreationSetup } from './rsi-plugin-creation.js';
9
+ import { type RsiPluginRevisionSetup } from './rsi-plugin-revision.js';
8
10
  /** Private, owner supplied input for the two-host RSI overlay. */
9
11
  export interface RsiSetupManifest {
10
12
  schemaVersion: 1;
@@ -15,7 +17,16 @@ export interface RsiSetupManifest {
15
17
  growthDriver: AssistantGrowthDriverConfig;
16
18
  sourceReviews: SourceReviewConfig;
17
19
  memoryLearning?: RsiMemoryLearningSetup;
20
+ /** Fresh-install ordinary-use rings that need no new signing-key material. */
21
+ ordinaryUseLearning?: RsiOrdinaryUseLearningSetup;
18
22
  pluginCreation?: RsiPluginCreationSetup;
23
+ pluginRevision?: RsiPluginRevisionSetup;
24
+ /** Frozen initial Linux build/observer pairing; retained generations require a separate handoff. */
25
+ linuxBuild?: {
26
+ schemaVersion: 1;
27
+ sourceBuildDigest: string;
28
+ behaviorRuntimeDigest?: string;
29
+ };
19
30
  coordinator: {
20
31
  budgetId: string;
21
32
  budgetAmount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"rsi-profile.d.ts","sourceRoot":"","sources":["../src/rsi-profile.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAmB,KAAK,2BAA2B,EAAE,MAAM,uCAAuC,CAAA;AACzG,OAAO,EAA+B,KAAK,MAAM,IAAI,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACnH,OAAO,EAA8B,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAGtG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAEpE,OAAO,EAAkC,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACtG,OAAO,EAAkC,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEtG,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,CAAC,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,sBAAsB,CAAA;IAC3C,YAAY,EAAE,kBAAkB,CAAA;IAChC,YAAY,EAAE,2BAA2B,CAAA;IACzC,aAAa,EAAE,kBAAkB,CAAA;IACjC,cAAc,CAAC,EAAE,sBAAsB,CAAA;IACvC,cAAc,CAAC,EAAE,sBAAsB,CAAA;IACvC,WAAW,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1E,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACpJ;AAoMD,kGAAkG;AAClG,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/D,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;CACxF,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAU1B;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,sBAAsB,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,CAmIzT"}
1
+ {"version":3,"file":"rsi-profile.d.ts","sourceRoot":"","sources":["../src/rsi-profile.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,14 @@ import { isAbsolute, join, resolve } from 'node:path';
2
2
  import { isDeepStrictEqual } from 'node:util';
3
3
  import {} from '@dsh-enhanced/assistant-delivery';
4
4
  import { normalizeConfig } from '@dsh-enhanced/assistant-growth-driver';
5
- import { normalizeControlPlaneConfig } from '@dsh-enhanced/plugin-control-plane';
5
+ import { controlPlaneDigest, normalizeControlPlaneConfig } from '@dsh-enhanced/plugin-control-plane';
6
6
  import { validateSourceReviewConfig } from '@dsh-enhanced/assistant-verifier';
7
7
  import { isMap, isSeq, parseDocument } from 'yaml';
8
8
  import { resolveRsiOwnerRoute, rsiCoordinatorAutomationDatabasePath } from './rsi-owner-profile.js';
9
9
  import { validateRsiMemoryLearningSetup } from './rsi-memory-learning.js';
10
+ import { validateRsiOrdinaryUseLearningSetup } from './rsi-ordinary-use-learning.js';
10
11
  import { validateRsiPluginCreationSetup } from './rsi-plugin-creation.js';
12
+ import { validateRsiPluginRevisionSetup } from './rsi-plugin-revision.js';
11
13
  const targetBundles = [
12
14
  'dsh-enhanced-personal-assistant', 'dsh-enhanced-assistant-delivery', 'dsh-enhanced-lark-channel',
13
15
  'dsh-enhanced-assistant-evaluation', 'dsh-enhanced-assistant-goals', 'dsh-enhanced-assistant-skills',
@@ -69,6 +71,7 @@ function json(item, label) {
69
71
  fail(`${label} must be an object`);
70
72
  return value;
71
73
  }
74
+ function nodeJson(node) { return node.toJSON(); }
72
75
  function profile(value, label) {
73
76
  if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/u.test(value))
74
77
  fail(`invalid ${label}`);
@@ -108,6 +111,22 @@ function absolute(value, label) { if (!isAbsolute(value) || resolve(value) !== v
108
111
  function same(value, expected, label) { if (!isDeepStrictEqual(value, expected))
109
112
  fail(`${label} does not match owner scope`); }
110
113
  function validatedCreation(manifest, expectedOwner) {
114
+ const build = manifest.controlPlane.sourceBuild, binding = manifest.linuxBuild;
115
+ if (build && 'backend' in build && build.backend === 'linux-native') {
116
+ const behavior = manifest.pluginCreation?.reviews.runner;
117
+ const keys = ['schemaVersion', 'sourceBuildDigest', ...(behavior ? ['behaviorRuntimeDigest'] : [])];
118
+ if (!binding || Object.keys(binding).sort().join() !== keys.sort().join() || binding.schemaVersion !== 1
119
+ || binding.sourceBuildDigest !== controlPlaneDigest(build)
120
+ || behavior && (!('backend' in behavior) || behavior.backend !== 'linux-native'
121
+ || binding.behaviorRuntimeDigest !== controlPlaneDigest(behavior.runtime)
122
+ || behavior.runtime.runtime.sourceCommit !== build.runtime.sourceCommit
123
+ || behavior.runtime.runtime.lockSha256 !== build.runtime.lockSha256
124
+ || !isDeepStrictEqual(behavior.cgroupRoots, build.cgroupRoots))) {
125
+ fail('Linux source build or creation family differs from its frozen binding');
126
+ }
127
+ }
128
+ else if (binding !== undefined)
129
+ fail('Linux build binding requires the native repository backend');
111
130
  const jobs = manifest.controlPlane.sourceJobs;
112
131
  const creation = manifest.pluginCreation === undefined ? undefined
113
132
  : validateRsiPluginCreationSetup(manifest.pluginCreation, expectedOwner);
@@ -133,6 +152,33 @@ function validatedCreation(manifest, expectedOwner) {
133
152
  }
134
153
  return creation;
135
154
  }
155
+ function validatedRevision(manifest, expectedOwner, creation) {
156
+ const jobs = manifest.controlPlane.sourceJobs;
157
+ const revision = manifest.pluginRevision === undefined ? undefined
158
+ : validateRsiPluginRevisionSetup(manifest.pluginRevision, expectedOwner);
159
+ const growth = normalizeConfig(manifest.growthDriver);
160
+ if (!revision) {
161
+ if (jobs?.revision || manifest.controlPlane.revisionVerifications || manifest.controlPlane.revisionRegressions
162
+ || growth.pluginSourceProposals.allowRevision)
163
+ fail('revision requires a complete independent review and regression setup');
164
+ return undefined;
165
+ }
166
+ same(jobs?.revision, revision.revision, 'source revision grant');
167
+ same(manifest.controlPlane.revisionVerifications, revision.verifications, 'revision verification authority');
168
+ same(manifest.controlPlane.revisionRegressions, revision.regressionVerifications, 'revision regression authority');
169
+ if (!creation || !jobs || !growth.pluginSourceProposals.allowRevision || !growth.pluginSourceProposals.allowCreation
170
+ || revision.revision.expiresAt > jobs.expiresAt || revision.revision.expiresAt !== creation.creation.expiresAt
171
+ || revision.revision.namePrefix !== creation.creation.namePrefix
172
+ || !manifest.controlPlane.sourceBuild || !('backend' in manifest.controlPlane.sourceBuild)
173
+ || manifest.controlPlane.sourceBuild.backend !== 'linux-native'
174
+ || !('backend' in creation.reviews.runner) || creation.reviews.runner.backend !== 'linux-native'
175
+ || !('backend' in revision.reviews.runner) || revision.reviews.runner.backend !== 'linux-native'
176
+ || !isDeepStrictEqual(creation.reviews.runner.runtime, revision.reviews.runner.runtime)
177
+ || !isDeepStrictEqual(creation.reviews.runner.cgroupRoots, revision.reviews.runner.cgroupRoots)) {
178
+ fail('revision requires the same finite native creation family');
179
+ }
180
+ return revision;
181
+ }
136
182
  function assertManifest(input) {
137
183
  if (!input || input.schemaVersion !== 1)
138
184
  fail('unsupported manifest schema');
@@ -143,6 +189,13 @@ function assertManifest(input) {
143
189
  const l = input.limits;
144
190
  if (!l || !['periodMs', 'reviews', 'discovery', 'source', 'observations', 'coordinator'].every(key => Object.hasOwn(l, key)) || !Number.isSafeInteger(l.periodMs) || l.periodMs < 1_000 || Object.values(l).some(value => !Number.isSafeInteger(value) || value < 1))
145
191
  fail('invalid limits');
192
+ if (input.ordinaryUseLearning !== undefined) {
193
+ validateRsiOrdinaryUseLearningSetup(input.ordinaryUseLearning);
194
+ const memory = input.memoryLearning;
195
+ if (!memory || memory.learning.workItemExperiences !== true || memory.reviews.workItemExperiences !== true
196
+ || memory.adoption.workItemExperiences !== true)
197
+ fail('ordinary-use learning requires the flagged memory learning, review and adoption grants');
198
+ }
146
199
  }
147
200
  function assertBudget(document, policy, id, limit, periodMs, scope) {
148
201
  const budgets = seq(policy.get('budgets', true), 'assistantPolicy.budgets');
@@ -219,6 +272,10 @@ function targetPolicy(document, personal, manifest, scope, budgetIds, memory, cr
219
272
  function configurePersonal(document, personal, manifest, scope, budgetIds, memory, creation) {
220
273
  if (memory) {
221
274
  const personalMemory = map(personal.get('personalMemory', true), 'personalMemory config');
275
+ const existing = personalMemory.get('automaticLearning', true);
276
+ if (existing !== undefined && !isDeepStrictEqual(nodeJson(existing), memory.adoption)) {
277
+ fail('existing memory adoption grant differs from the frozen owner grant');
278
+ }
222
279
  replaceNode(document, personalMemory, 'automaticLearning', memory.adoption);
223
280
  }
224
281
  targetPolicy(document, personal, manifest, scope, budgetIds, memory, creation);
@@ -230,6 +287,7 @@ export function compileRsiPersonalAssistantOptions(input) {
230
287
  const memory = input.manifest.memoryLearning === undefined ? undefined
231
288
  : validateRsiMemoryLearningSetup(input.manifest.memoryLearning, input.manifest.sourceReviews.owner);
232
289
  const creation = validatedCreation(input.manifest, input.manifest.sourceReviews.owner);
290
+ validatedRevision(input.manifest, input.manifest.sourceReviews.owner, creation);
233
291
  if (creation)
234
292
  same(input.scope, { workspace: creation.capabilities.owner.workspace,
235
293
  preset: creation.capabilities.owner.agentPreset, principal: creation.capabilities.owner.principalId }, 'creation Policy scope');
@@ -268,7 +326,10 @@ export async function compileRsiProfiles(input) {
268
326
  validateSourceReviewConfig(input.manifest.sourceReviews);
269
327
  const memory = input.manifest.memoryLearning === undefined ? undefined
270
328
  : validateRsiMemoryLearningSetup(input.manifest.memoryLearning, expectedOwner);
329
+ const ordinary = input.manifest.ordinaryUseLearning === undefined ? undefined
330
+ : validateRsiOrdinaryUseLearningSetup(input.manifest.ordinaryUseLearning);
271
331
  const creation = validatedCreation(input.manifest, expectedOwner);
332
+ const revision = validatedRevision(input.manifest, expectedOwner, creation);
272
333
  const cp = structuredClone(input.manifest.controlPlane);
273
334
  if (!cp.sourceBuild || !cp.sourceApprovals || !cp.sourceReleases || !cp.sourceReleaseExecution || !cp.sourceAdoptions || !cp.runtimeObserver || !cp.foregroundDeployments || !cp.taskObservations)
274
335
  fail('target controlPlane lacks a complete source adoption chain');
@@ -324,10 +385,19 @@ export async function compileRsiProfiles(input) {
324
385
  const verifier = cloneEffectiveConfig(target, effective, 'dsh-enhanced-assistant-verifier');
325
386
  // Keep all existing verifier settings, replacing only the finite review grant.
326
387
  replaceNode(target.document, verifier, 'sourceReviews', input.manifest.sourceReviews);
327
- if (memory)
388
+ if (memory) {
389
+ const existing = verifier.get('memoryReviews', true);
390
+ if (existing !== undefined && !isDeepStrictEqual(nodeJson(existing), memory.reviews)) {
391
+ fail('existing memory review grant differs from the frozen owner grant');
392
+ }
328
393
  replaceNode(target.document, verifier, 'memoryReviews', memory.reviews);
394
+ }
329
395
  if (creation)
330
396
  replaceNode(target.document, verifier, 'creationReviews', creation.reviews);
397
+ if (revision) {
398
+ replaceNode(target.document, verifier, 'revisionReviews', revision.reviews);
399
+ replaceNode(target.document, verifier, 'revisionRegressions', revision.regressions);
400
+ }
331
401
  if (memory) {
332
402
  let learner = row(target.rows, 'dsh-enhanced-assistant-memory-learning');
333
403
  if (!learner) {
@@ -342,10 +412,46 @@ export async function compileRsiProfiles(input) {
342
412
  learner.set('disabled', false);
343
413
  replaceNode(target.document, learner, 'config', memory.learning);
344
414
  }
415
+ if (ordinary) {
416
+ const proactiveEntry = required(effective.rows, 'dsh-enhanced-assistant-proactive', 'target effective profile');
417
+ if (proactiveEntry.get('name') !== '@dsh-enhanced/assistant-proactive')
418
+ fail('assistant-proactive row has a different package');
419
+ const proactive = cloneEffectiveConfig(target, effective, 'dsh-enhanced-assistant-proactive', true);
420
+ const currentEvaluation = proactive.get('intakeEvaluation', true);
421
+ if (currentEvaluation !== undefined && !isDeepStrictEqual(nodeJson(currentEvaluation), ordinary.intakeEvaluation)) {
422
+ fail('existing assistant-proactive intake evaluation differs from the frozen fresh-install setup');
423
+ }
424
+ replaceNode(target.document, proactive, 'intakeEvaluation', ordinary.intakeEvaluation);
425
+ const workItemsEntry = required(effective.rows, 'dsh-enhanced-assistant-work-items', 'target effective profile');
426
+ if (workItemsEntry.get('name') !== '@dsh-enhanced/assistant-work-items')
427
+ fail('assistant-work-items row has a different package');
428
+ const workItems = cloneEffectiveConfig(target, effective, 'dsh-enhanced-assistant-work-items', true);
429
+ if (workItems.get('enabled') !== true)
430
+ fail('ordinary-use learning requires assistant-work-items.enabled: true');
431
+ const ledgerNode = workItems.get('intakeLedger', true);
432
+ const ledger = ledgerNode === undefined ? map(target.document.createNode({}), 'assistant-work-items intakeLedger') : map(ledgerNode, 'assistant-work-items intakeLedger');
433
+ if (ledgerNode === undefined)
434
+ workItems.set('intakeLedger', ledger);
435
+ if (ledger.get('enabled') !== true)
436
+ fail('ordinary-use learning requires assistant-work-items.intakeLedger.enabled: true');
437
+ const evaluationNode = ledger.get('evaluation', true);
438
+ const evaluation = evaluationNode === undefined
439
+ ? map(target.document.createNode({}), 'assistant-work-items intake evaluation')
440
+ : map(evaluationNode, 'assistant-work-items intake evaluation');
441
+ if (evaluationNode === undefined)
442
+ ledger.set('evaluation', evaluation);
443
+ if (evaluation.get('enabled') !== undefined && evaluation.get('enabled') !== true) {
444
+ fail('existing assistant-work-items intake evaluation is disabled; a retry cannot silently re-enable it');
445
+ }
446
+ evaluation.set('enabled', true);
447
+ }
345
448
  cloneEffectiveConfig(target, effective, 'dsh-enhanced-assistant-growth-driver', true);
346
449
  replaceNode(target.document, required(target.rows, 'dsh-enhanced-assistant-growth-driver'), 'config', input.manifest.growthDriver);
347
450
  cloneEffectiveConfig(target, effective, 'dsh-enhanced-plugin-control-plane');
348
- replaceNode(target.document, required(target.rows, 'dsh-enhanced-plugin-control-plane'), 'config', cp);
451
+ // Native review authorities share immutable runtime descriptors in memory.
452
+ // Emit independent YAML values so a subsequent raw Loader digest has no aliases.
453
+ const nativeCp = 'backend' in cp.sourceBuild && cp.sourceBuild.backend === 'linux-native';
454
+ required(target.rows, 'dsh-enhanced-plugin-control-plane').set('config', target.document.createNode(cp, { aliasDuplicateObjects: !nativeCp }));
349
455
  // Coordinator is intentionally sparse. Base rows must match the installed
350
456
  // base patch exactly, while enhanced rows are an explicit three-bundle set.
351
457
  const allowedBase = baseRows(input.coordinatorBase);
@@ -1 +1 @@
1
- {"version":3,"file":"rsi-profile.js","sourceRoot":"","sources":["../src/rsi-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAA+B,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAoC,MAAM,uCAAuC,CAAA;AACzG,OAAO,EAAE,2BAA2B,EAAqC,MAAM,oCAAoC,CAAA;AACnH,OAAO,EAAE,0BAA0B,EAA2B,MAAM,kCAAkC,CAAA;AACtG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAwD,MAAM,MAAM,CAAA;AAGxG,OAAO,EAAE,oBAAoB,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAA;AACnG,OAAO,EAAE,8BAA8B,EAA+B,MAAM,0BAA0B,CAAA;AACtG,OAAO,EAAE,8BAA8B,EAA+B,MAAM,0BAA0B,CAAA;AAkBtG,MAAM,aAAa,GAAG;IACpB,iCAAiC,EAAE,iCAAiC,EAAE,2BAA2B;IACjG,mCAAmC,EAAE,8BAA8B,EAAE,+BAA+B;IACpG,iCAAiC,EAAE,sCAAsC,EAAE,mCAAmC;CACtG,CAAA;AACV,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,+BAA+B,EAAE,oCAAoC,EAAE,mCAAmC,CAAC,CAAC,CAAA;AAChJ,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,CAAC,+BAA+B,EAAE,gCAAgC,CAAC;IACnE,CAAC,oCAAoC,EAAE,qCAAqC,CAAC;IAC7E,CAAC,mCAAmC,EAAE,oCAAoC,CAAC;CAC5E,CAAC,CAAA;AACF,MAAM,SAAS,GAAG,YAAY,CAAA;AAE9B,SAAS,IAAI,CAAC,OAAe,IAAW,MAAM,IAAI,KAAK,CAAC,cAAc,OAAO,EAAE,CAAC,CAAA,CAAC,CAAC;AAClF,SAAS,GAAG,CAAC,KAAuB,EAAE,KAAa,IAAa,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAAE,IAAI,CAAC,GAAG,KAAK,yBAAyB,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA,CAAC,CAAC;AAC1I,SAAS,GAAG,CAAC,KAAuB,EAAE,KAAa,IAAa,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAAE,IAAI,CAAC,GAAG,KAAK,0BAA0B,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA,CAAC,CAAC;AAC3I,SAAS,KAAK,CAAC,KAAa,EAAE,KAAa;IACzC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM;QAAE,IAAI,CAAC,WAAW,KAAK,UAAU,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,CAAC,CAAA;IACzF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,SAAS,EAAE,KAAK,CAAC,EAAE,CAAA;AACvE,CAAC;AACD,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM;QAAE,IAAI,CAAC,kCAAkC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,CAAC,CAAA;IACjG,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,SAAS,EAAE,kBAAkB,CAAC,CAAA;IAC1E,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,GAAG,CAAC,SAAiB,EAAE,4BAA4B,CAAC,CAAA;QACjE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,iDAAiD,CAAC,CAAA;QAC3G,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAqB,EAAE,yBAAyB,CAAC,CAAA;QAC7F,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAa,EAAE,sBAAsB,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAClG,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,8CAA8C,CAAC,CAAA;YAC9I,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,IAAI,CAAC,8BAA8B,CAAC,CAAA;IACtD,OAAO,MAAM,CAAA;AACf,CAAC;AACD,SAAS,GAAG,CAAC,IAAa,EAAE,EAAU,IAAyB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAwB,CAAA,CAAC,CAAC;AAC5J,SAAS,QAAQ,CAAC,IAAa,EAAE,EAAU,EAAE,KAAK,GAAG,SAAS;IAC5D,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAAC,IAAI,CAAC,MAAM;QAAE,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,aAAa,CAAC,CAAA;IAChF,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI;QAAE,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,cAAc,CAAC,CAAA;IAC3E,OAAO,MAAM,CAAA;AACf,CAAC;AACD,SAAS,MAAM,CAAC,IAAa,EAAE,EAAU,IAAa,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAqB,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA,CAAC,CAAC;AAChI,SAAS,IAAI,CAAC,IAAa,EAAE,KAAa;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC3B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAA;IACnG,OAAO,KAA4B,CAAA;AACrC,CAAC;AACD,SAAS,OAAO,CAAC,KAAa,EAAE,KAAa;IAC3C,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAA;IAC/E,OAAO,KAAK,CAAA;AACd,CAAC;AACD,SAAS,oBAAoB,CAAC,GAAS,EAAE,SAAe,EAAE,EAAU,EAAE,YAAY,GAAG,KAAK;IACxF,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC1H,IAAI,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QAAC,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAAC,CAAC;IACrH,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI;QAAE,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAA;IAC/E,8EAA8E;IAC9E,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACjC,OAAO,MAAM,CAAA;AACf,CAAC;AACD,SAAS,WAAW,CAAC,QAAkB,EAAE,MAAe,EAAE,GAAW,EAAE,KAAc,IAAU,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC;AAC5I,SAAS,UAAU,CAAC,QAAkB,EAAE,MAAe,EAAE,KAA8B;IACrF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,CAAA;IACxF,IAAI,KAAK,GAAG,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;;QAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAC9G,CAAC;AACD,SAAS,cAAc,CAAC,MAAe;IACrC,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,OAAQ,IAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAM,IAAgB,CAAC,GAAG,CAAC,IAAI,CAAY,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChK,CAAC;AACH,CAAC;AACD,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAa,IAAY,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK;IAAE,IAAI,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA,CAAC,CAAC;AACzK,SAAS,IAAI,CAAC,KAAc,EAAE,QAAiB,EAAE,KAAa,IAAU,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAE,IAAI,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAA,CAAC,CAAC;AAE9J,SAAS,iBAAiB,CAAC,QAA0B,EAAE,aAAyD;IAC9G,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAA;IAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;QAChE,CAAC,CAAC,8BAA8B,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAC1E,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAA;QAChE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,qBAAqB,EAAE,QAAQ,CAAC,aAAa,EAAE,iCAAiC,CAAC,CAAA;QAC5G,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,EAAE,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAA;QAClG,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACrD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,aAAa,CAAC,WAAW;eACzG,IAAI,CAAC,SAAS,KAAK,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,WAAW;eACvF,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,OAAO;eACnF,MAAM,CAAC,qBAAqB,CAAC,eAAe,KAAK,SAAS;eAC1D,MAAM,CAAC,qBAAqB,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,aAAa;eAC1G,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS;gBACtE,MAAM,EAAE,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC;eACpH,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAClF,IAAI,CAAC,kEAAkE,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,EAAE,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC,qBAAqB;WACnE,QAAQ,CAAC,YAAY,CAAC,oBAAoB,IAAI,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;QAC9H,IAAI,CAAC,oEAAoE,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAGD,SAAS,cAAc,CAAC,KAAuB;IAC7C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;QAAE,IAAI,CAAC,6BAA6B,CAAC,CAAA;IAC5E,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAA;IACtG,IAAI,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,kBAAkB;QAAE,IAAI,CAAC,6CAA6C,CAAC,CAAA;IACzG,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;IACtB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAC9R,CAAC;AACD,SAAS,YAAY,CAAC,QAAkB,EAAE,MAAe,EAAE,EAAU,EAAE,KAAa,EAAE,QAAgB,EAAE,KAAa;IACnH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAqB,EAAE,yBAAyB,CAAC,CAAA;IAC/F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IAChF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;IAC3D,MAAM,eAAe,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,iBAAiB,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtQ,IAAI,eAAe,CAAC,MAAM;QAAE,IAAI,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAA;IACtF,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;AAC1F,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAe,EAAE,EAAU,EAAE,KAAa,EAAE,QAAgB,EACzF,KAA8B;IAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAqB,EAAE,yBAAyB,CAAC,CAAA;IAC/F,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IAClF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAE,OAAO,CAAC,CAAC,CAAa,CAAC,MAAM,EAAE,EACnG,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAAE,IAAI,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAA;IAC1G,IAAI,KAAK,KAAK,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;WACvF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,iBAAiB,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,WAAW;WAC7E,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,kCAAkC,EAAE,0CAA0C,CAAC,CAAA;IACtF,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,QAAkB,EAAE,QAAiB,EAAE,QAA0B,EAAE,KAA+D,EAAE,SAAuF,EAAE,MAA+B,EAAE,QAAiC;IACnT,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAqB,EAAE,wBAAwB,CAAC,CAAA;IACvG,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAqB,EAAE,6BAA6B,CAAC,CAAA;IACrH,IAAI,UAAU,CAAC,GAAG,CAAC,0BAA0B,CAAC,KAAK,IAAI;QAAE,IAAI,CAAC,6DAA6D,CAAC,CAAA;IAC5H,UAAU,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA;IACxC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC9G,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACnH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC7G,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACzH,IAAI,QAAQ,CAAC,YAAY,CAAC,iBAAiB;QAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAClM,IAAI,MAAM,EAAE,CAAC;QACX,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QACzH,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACrH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QAC1H,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACxH,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAqB,EAAE,uBAAuB,CAAC,CAAC;IAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAChH,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,OAAe,EAAE,MAA+B,EAAE,YAAoB,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;IAC/W,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,wBAAwB,EAAE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,6BAA6B,EAAE,cAAc,CAAC,EAAE,CAAC,aAAa,EAAE,wCAAwC,EAAE,yBAAyB,CAAC,CAAU,EAAE,CAAC;QACrP,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,IAAI,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;QAC9F,0EAA0E;QAC1E,kCAAkC;QAClC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,IAAI,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;IAC/F,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;QAC5C,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,yBAAyB,EAAE,yCAAyC,EAAE,WAAW,EAAE,2BAA2B,CAAC,CAAC,CAAA;QACvJ,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,uBAAuB,EAAE,2BAA2B,EAAE,SAAS,EAAE,2BAA2B,CAAC,CAAC,CAAA;IACvI,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,2BAA2B,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;QAC/H,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAU,EAAE,CAAC;YACxK,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,UAAU,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;gBACxF,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;QAC9H,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAU,EAAE,CAAC;YACtG,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,IAAI,YAAY,EAAE,2BAA2B,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;YAC3H,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,IAAI,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAA;QAC1G,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACzG,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAU;QAAE,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;IAC7P,IAAI,QAAQ;QAAE,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;YAC1G,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;YACrH,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAA;IAC1C,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;AAChO,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAkB,EAAE,QAAiB,EAAE,QAA0B,EAC1F,KAA+D,EAC/D,SAAuF,EACvF,MAA+B,EAAE,QAAiC;IAClE,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAqB,EAAE,uBAAuB,CAAC,CAAA;QAC7G,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7E,CAAC;IACD,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;AAChF,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,kCAAkC,CAAC,KAKlD;IACC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3F,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,SAAS,EAAE,4BAA4B,CAAC,CAAA;IAClF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;QACpE,CAAC,CAAC,8BAA8B,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACrG,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACtF,IAAI,QAAQ;QAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS;YAChF,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,uBAAuB,CAAC,CAAA;IACjI,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACrG,OAAO,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAAoN;IAC3P,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAA;IAC5H,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,8BAA8B,CAAC,CAAA;IAChK,KAAK,MAAM,EAAE,IAAI,aAAa;QAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAA;IACxF,MAAM,qBAAqB,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAA;IACvF,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI;QAAE,IAAI,CAAC,yDAAyD,CAAC,CAAA;IAC5I,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAA;IACnD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;QAAE,IAAI,CAAC,0CAA0C,CAAC,CAAA;IAC3F,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,iCAAiC,CAAC,EAAE,oBAAoB,CAAC,CAAA;IAC1G,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAC9H,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,IAAI,CAAC,iDAAiD,CAAC,CAAA;IAC/M,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,OAAO,IAAI,MAAM,CAAC,qBAAqB,CAAC,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,qBAAqB,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QAAE,IAAI,CAAC,sEAAsE,CAAC,CAAA;IAC1e,0EAA0E;IAC1E,+EAA+E;IAC/E,MAAM,aAAa,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,CAAA;IAC1Q,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC;QAAE,IAAI,CAAC,kDAAkD,CAAC,CAAA;IACnI,0BAA0B,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS;QACpE,CAAC,CAAC,8BAA8B,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAChF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;IAEjE,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IACvD,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC,sBAAsB,IAAI,CAAC,EAAE,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC,qBAAqB,IAAI,CAAC,EAAE,CAAC,gBAAgB;QAAE,IAAI,CAAC,4DAA4D,CAAC,CAAA;IACrQ,IAAI,EAAE,CAAC,mBAAmB;QAAE,IAAI,CAAC,0DAA0D,CAAC,CAAA;IAC5F,IAAI,EAAE,CAAC,WAAW,CAAC,UAAU,KAAK,OAAO;QAAE,IAAI,CAAC,4CAA4C,CAAC,CAAA;IAC7F,IAAI,EAAE,CAAC,sBAAsB,CAAC,iBAAiB,KAAK,IAAI;QAAE,IAAI,CAAC,mDAAmD,CAAC,CAAA;IACnH,IAAI,EAAE,CAAC,sBAAsB,CAAC,kBAAkB,KAAK,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY;QAAE,IAAI,CAAC,iFAAiF,CAAC,CAAA;IACvL,IAAI,EAAE,CAAC,eAAe,CAAC,OAAO,KAAK,KAAK,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,eAAe,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,WAAW,KAAK,EAAE,CAAC,eAAe,CAAC,WAAW;QAAE,IAAI,CAAC,4DAA4D,CAAC,CAAA;IAC7S,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAAE,IAAI,CAAC,iDAAiD,CAAC,CAAA;IAC5N,2BAA2B,CAAC,EAAE,CAAC,CAAA;IAE/B,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAA;IAC/J,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAiB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QAAE,IAAI,CAAC,6DAA6D,CAAC,CAAA;IAC1R,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAA;QACjF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAc,GAAG,CAAC;eACrG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,sDAAsD,CAAC,CAAA;IAC/K,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ;YAChF,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACnE,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,YAAY;eACxD,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,IAAI,CAAC,gDAAgD,CAAC,CAAA;QAC3J,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,wCAAwC,CAAC,CAAA;QACnI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAChF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAY,CAAA;QACzC,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAqB,CAAA;QAC5E,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,yCAAyC;eAChE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;mBAC1D,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,oBAAoB,CAAC;uBAC9D,iBAAiB,CAAE,oBAAgC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACzF,IAAI,CAAC,8FAA8F,CAAC,CAAA;QACtG,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAA;QACtE,IAAI,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI;YAAE,IAAI,CAAC,oDAAoD,CAAC,CAAA;IACnH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,iCAAiC,CAAC,CAAA;QACnG,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAqB,EAAE,sBAAsB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IAC7I,CAAC;IACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,iCAAiC,CAAC,CAAA;IAC3F,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAChE,SAAyF,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC9G,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,iCAAiC,CAAC,CAAA;IAC3F,+EAA+E;IAC/E,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IACrF,IAAI,MAAM;QAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IACnF,IAAI,QAAQ;QAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IACzF,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,wCAAwC,CAAC,CAAA;QACxE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,wCAAwC,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAA;YACtH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,gDAAgD,CAAC,CAAA;QAClL,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,yCAAyC;YAAE,IAAI,CAAC,yCAAyC,CAAC,CAAA;QAC7I,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,yCAAyC,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAC9B,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAClE,CAAC;IACD,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,sCAAsC,EAAE,IAAI,CAAC,CAAA;IACrF,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,sCAAsC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IAClI,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,mCAAmC,CAAC,CAAA;IAC5E,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,mCAAmC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;IAEtG,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IACnD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7C,KAAK,MAAM,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,uDAAuD,CAAC,CAAA;QAC/E,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAClD,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,IAAI,CAAC,2DAA2D,CAAC,CAAA;QACxJ,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC3B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACtE,IAAI,QAAQ,KAAK,IAAI;YAAE,IAAI,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAA;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAqB,CAAA;QAC/D,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YACvE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,IAAI,CAAC,kDAAkD,CAAC,CAAA;QAC3G,CAAC;QACD,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,UAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAqB,CAAC,CAAC,CAAC,SAAS,CAAA;QACtH,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,CAAA;IAC3H,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,kBAAkB;QAAE,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,EAAE,+BAA+B,CAAC,CAAA;IAC7G,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IACvF,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAA;IAChD,IAAI,CAAC,eAAe;QAAE,IAAI,CAAC,oCAAoC,CAAC,CAAA;IAChE,MAAM,aAAa,GAAuB,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI;QAC3H,mBAAmB,EAAE,EAAE,aAAa,EAAE,eAAe,CAAC,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC,mDAAmD,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,CAAA;IAC/Z,2BAA2B,CAAC,aAAa,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,EAAE,oBAAoB,EAAE,+BAA+B,CAAC,CAAA;IACvG,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAA;IACtF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAqB,EAAE,4BAA4B,CAAC,CAAA;IAClG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IACvN,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAqB,EAAE,0BAA0B,CAAC,CAAC;IAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACnH,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,2CAA2C,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1J,MAAM,4BAA4B,GAAG,EAAE,GAAG,kBAAkB,EAAE,EAAE,EAAE,wBAAwB,EAAE,CAAA;IAC5F,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,uBAAuB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,wBAAwB,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;IACnQ,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,qBAAqB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,wBAAwB,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;IACzQ,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,WAAW,EAAE,oBAAoB,EAAE,oCAAoC,CAAC,CAAA;IACtH,IAAI,gBAAgB,CAAC,GAAG,CAAC,0BAA0B,CAAC,KAAK,IAAI;QAAE,IAAI,CAAC,oDAAoD,CAAC,CAAA;IACzH,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA;IAC9C,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,oCAAoC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC3J,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IACnF,oBAAoB,CAAC,WAAW,EAAE,oBAAoB,EAAE,mCAAmC,CAAC,CAAA;IAC5F,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,mCAAmC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;IAC3H,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AACvI,CAAC"}
1
+ {"version":3,"file":"rsi-profile.js","sourceRoot":"","sources":["../src/rsi-profile.ts"],"names":[],"mappings":"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"}