@fnndsc/stratus 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chris/values-openshift.yaml +59 -0
- package/dist/backend.d.ts +9 -3
- package/dist/backend.js +32 -8
- package/dist/backend.js.map +1 -1
- package/dist/cloud/builder.d.ts +16 -1
- package/dist/cloud/builder.js +1 -1
- package/dist/cloud/builder.js.map +1 -1
- package/dist/cloud/fake/builder.d.ts +13 -1
- package/dist/cloud/fake/builder.js +26 -9
- package/dist/cloud/fake/builder.js.map +1 -1
- package/dist/cloud/fake/driver.d.ts +1 -1
- package/dist/cloud/fake/driver.js +9 -9
- package/dist/cloud/fake/driver.js.map +1 -1
- package/dist/cloud/oci/api.js +15 -15
- package/dist/cloud/oci/api.js.map +1 -1
- package/dist/cloud/oci/buildApi.d.ts +11 -0
- package/dist/cloud/oci/buildApi.js +40 -9
- package/dist/cloud/oci/buildApi.js.map +1 -1
- package/dist/cloud/oci/builder.d.ts +42 -1
- package/dist/cloud/oci/builder.js +100 -16
- package/dist/cloud/oci/builder.js.map +1 -1
- package/dist/cloud/oci/driver.d.ts +1 -1
- package/dist/cloud/oci/driver.js +21 -21
- package/dist/cloud/oci/driver.js.map +1 -1
- package/dist/cloud/oci/errors.d.ts +13 -0
- package/dist/cloud/oci/errors.js +16 -0
- package/dist/cloud/oci/errors.js.map +1 -0
- package/dist/cloud/oci/resourceApi.js +22 -22
- package/dist/cloud/oci/resourceApi.js.map +1 -1
- package/dist/cloud/oci/resourceMap.d.ts +3 -3
- package/dist/cloud/oci/resourceMap.js +3 -3
- package/dist/cloud/oci/resourceMap.js.map +1 -1
- package/dist/cloud/oci/rmApi.js +7 -7
- package/dist/cloud/oci/rmApi.js.map +1 -1
- package/dist/cloud/oci/stackVars.d.ts +5 -3
- package/dist/cloud/oci/stackVars.js +3 -3
- package/dist/cloud/oci/stackVars.js.map +1 -1
- package/dist/cluster/chris.d.ts +156 -0
- package/dist/cluster/chris.js +493 -0
- package/dist/cluster/chris.js.map +1 -0
- package/dist/cluster/fakeKube.d.ts +6 -0
- package/dist/cluster/fakeKube.js +21 -0
- package/dist/cluster/fakeKube.js.map +1 -1
- package/dist/cluster/kubeHttp.d.ts +7 -0
- package/dist/cluster/kubeHttp.js +26 -1
- package/dist/cluster/kubeHttp.js.map +1 -1
- package/dist/commands/build.d.ts +33 -0
- package/dist/commands/build.js +123 -22
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/capacity.d.ts +1 -1
- package/dist/commands/capacity.js +2 -2
- package/dist/commands/capacity.js.map +1 -1
- package/dist/commands/domain.js +13 -12
- package/dist/commands/domain.js.map +1 -1
- package/dist/commands/protect.d.ts +10 -0
- package/dist/commands/protect.js +37 -0
- package/dist/commands/protect.js.map +1 -0
- package/dist/commands/size.d.ts +10 -0
- package/dist/commands/size.js +84 -0
- package/dist/commands/size.js.map +1 -0
- package/dist/commands/teardown.js +2 -0
- package/dist/commands/teardown.js.map +1 -1
- package/dist/commands/verify.js +4 -10
- package/dist/commands/verify.js.map +1 -1
- package/dist/domain/adopt.d.ts +11 -1
- package/dist/domain/adopt.js +28 -2
- package/dist/domain/adopt.js.map +1 -1
- package/dist/domain/expect.d.ts +32 -0
- package/dist/domain/expect.js +53 -0
- package/dist/domain/expect.js.map +1 -0
- package/dist/domain/manifests.d.ts +17 -0
- package/dist/domain/manifests.js +36 -0
- package/dist/domain/manifests.js.map +1 -0
- package/dist/domain/readout.d.ts +64 -0
- package/dist/domain/readout.js +188 -0
- package/dist/domain/readout.js.map +1 -0
- package/dist/domain/sizing.d.ts +1 -1
- package/dist/domain/sizing.js +3 -3
- package/dist/domain/sizing.js.map +1 -1
- package/dist/domain/spec.d.ts +1 -1
- package/dist/domain/spec.js +1 -1
- package/dist/domain/spec.js.map +1 -1
- package/dist/domain/state.d.ts +6 -2
- package/dist/domain/state.js +11 -11
- package/dist/domain/state.js.map +1 -1
- package/dist/domain/steps.d.ts +18 -20
- package/dist/domain/steps.js +122 -11
- package/dist/domain/steps.js.map +1 -1
- package/dist/domain/verify.d.ts +39 -0
- package/dist/domain/verify.js +64 -17
- package/dist/domain/verify.js.map +1 -1
- package/dist/domain/view.d.ts +4 -2
- package/dist/domain/view.js +7 -4
- package/dist/domain/view.js.map +1 -1
- package/dist/domains/harborOci.d.ts +1 -1
- package/dist/domains/harborOci.js +1 -1
- package/dist/domains/harborOci.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/installer/account.d.ts +16 -0
- package/dist/installer/account.js +33 -0
- package/dist/installer/account.js.map +1 -0
- package/dist/names.d.ts +1 -1
- package/dist/names.js +2 -2
- package/dist/names.js.map +1 -1
- package/dist/prompt.d.ts +1 -1
- package/dist/prompt.js +2 -2
- package/dist/prompt.js.map +1 -1
- package/dist/stratus.js +5 -2
- package/dist/stratus.js.map +1 -1
- package/dist/vfs/domains.d.ts +3 -0
- package/dist/vfs/domains.js +12 -4
- package/dist/vfs/domains.js.map +1 -1
- package/dist/vfs/resources.d.ts +4 -4
- package/dist/vfs/resources.js +14 -14
- package/dist/vfs/resources.js.map +1 -1
- package/dist/vfs/tenancy.d.ts +3 -3
- package/dist/vfs/tenancy.js +10 -10
- package/dist/vfs/tenancy.js.map +1 -1
- package/manifests/tenant.mise +27 -0
- package/package.json +8 -6
package/dist/cloud/oci/api.js
CHANGED
|
@@ -31,7 +31,7 @@ async function pages_drain(page_get) {
|
|
|
31
31
|
return items;
|
|
32
32
|
}
|
|
33
33
|
/** Tags as the SDK gives them, with absent ones as empty. */
|
|
34
|
-
function
|
|
34
|
+
function tags_build(freeform, defined) {
|
|
35
35
|
return { freeformTags: freeform ?? {}, definedTags: defined ?? {} };
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
@@ -43,7 +43,7 @@ function tags_of(freeform, defined) {
|
|
|
43
43
|
export function ociApi_make(options = {}) {
|
|
44
44
|
const provider = new common.ConfigFileAuthenticationDetailsProvider(options.configFile, options.profile);
|
|
45
45
|
const clients = new Map();
|
|
46
|
-
const
|
|
46
|
+
const identityClient_resolve = (region) => {
|
|
47
47
|
const key = `identity/${region}`;
|
|
48
48
|
let client = clients.get(key);
|
|
49
49
|
if (client === undefined) {
|
|
@@ -53,7 +53,7 @@ export function ociApi_make(options = {}) {
|
|
|
53
53
|
}
|
|
54
54
|
return client;
|
|
55
55
|
};
|
|
56
|
-
const
|
|
56
|
+
const limitsClient_resolve = (region) => {
|
|
57
57
|
const key = `limits/${region}`;
|
|
58
58
|
let client = clients.get(key);
|
|
59
59
|
if (client === undefined) {
|
|
@@ -63,7 +63,7 @@ export function ociApi_make(options = {}) {
|
|
|
63
63
|
}
|
|
64
64
|
return client;
|
|
65
65
|
};
|
|
66
|
-
const
|
|
66
|
+
const computeClient_resolve = (region) => {
|
|
67
67
|
const key = `compute/${region}`;
|
|
68
68
|
let client = clients.get(key);
|
|
69
69
|
if (client === undefined) {
|
|
@@ -82,22 +82,22 @@ export function ociApi_make(options = {}) {
|
|
|
82
82
|
region: homeRegion,
|
|
83
83
|
}),
|
|
84
84
|
async tenancy_get(tenancyId) {
|
|
85
|
-
const answer = await
|
|
85
|
+
const answer = await identityClient_resolve(homeRegion).getTenancy({ tenancyId });
|
|
86
86
|
const tenancy = answer.tenancy;
|
|
87
87
|
return {
|
|
88
88
|
id: tenancy.id ?? tenancyId,
|
|
89
89
|
name: tenancy.name ?? '',
|
|
90
90
|
description: tenancy.description ?? '',
|
|
91
91
|
homeRegionKey: tenancy.homeRegionKey ?? '',
|
|
92
|
-
...
|
|
92
|
+
...tags_build(tenancy.freeformTags, tenancy.definedTags),
|
|
93
93
|
};
|
|
94
94
|
},
|
|
95
95
|
async userName_get(userId) {
|
|
96
|
-
const answer = await
|
|
96
|
+
const answer = await identityClient_resolve(homeRegion).getUser({ userId });
|
|
97
97
|
return answer.user.name;
|
|
98
98
|
},
|
|
99
99
|
async compartments_list(parentId) {
|
|
100
|
-
const client =
|
|
100
|
+
const client = identityClient_resolve(homeRegion);
|
|
101
101
|
const items = await pages_drain(async (page) => {
|
|
102
102
|
const answer = await client.listCompartments({
|
|
103
103
|
compartmentId: parentId,
|
|
@@ -115,22 +115,22 @@ export function ociApi_make(options = {}) {
|
|
|
115
115
|
description: compartment.description,
|
|
116
116
|
lifecycleState: String(compartment.lifecycleState),
|
|
117
117
|
timeCreated: new Date(compartment.timeCreated).toISOString(),
|
|
118
|
-
...
|
|
118
|
+
...tags_build(compartment.freeformTags, compartment.definedTags),
|
|
119
119
|
}));
|
|
120
120
|
},
|
|
121
121
|
async regionSubscriptions_list(tenancyId) {
|
|
122
|
-
const answer = await
|
|
122
|
+
const answer = await identityClient_resolve(homeRegion).listRegionSubscriptions({ tenancyId });
|
|
123
123
|
return answer.items
|
|
124
124
|
.filter((subscription) => String(subscription.status) === 'READY')
|
|
125
125
|
.map((subscription) => subscription.regionName)
|
|
126
126
|
.sort();
|
|
127
127
|
},
|
|
128
128
|
async availabilityDomains_list(region, tenancyId) {
|
|
129
|
-
const answer = await
|
|
129
|
+
const answer = await identityClient_resolve(region).listAvailabilityDomains({ compartmentId: tenancyId });
|
|
130
130
|
return answer.items.map((domain) => domain.name ?? '').filter((name) => name !== '').sort();
|
|
131
131
|
},
|
|
132
132
|
async limitServices_list(region, tenancyId) {
|
|
133
|
-
const client =
|
|
133
|
+
const client = limitsClient_resolve(region);
|
|
134
134
|
const items = await pages_drain(async (page) => {
|
|
135
135
|
const answer = await client.listServices({ compartmentId: tenancyId, ...(page !== undefined ? { page } : {}) });
|
|
136
136
|
return { items: answer.items, opcNextPage: answer.opcNextPage };
|
|
@@ -138,7 +138,7 @@ export function ociApi_make(options = {}) {
|
|
|
138
138
|
return items.map((service) => service.name ?? '').filter((name) => name !== '').sort();
|
|
139
139
|
},
|
|
140
140
|
async limitValues_list(region, tenancyId, service) {
|
|
141
|
-
const client =
|
|
141
|
+
const client = limitsClient_resolve(region);
|
|
142
142
|
const items = await pages_drain(async (page) => {
|
|
143
143
|
const answer = await client.listLimitValues({ compartmentId: tenancyId, serviceName: service, ...(page !== undefined ? { page } : {}) });
|
|
144
144
|
return { items: answer.items, opcNextPage: answer.opcNextPage };
|
|
@@ -151,7 +151,7 @@ export function ociApi_make(options = {}) {
|
|
|
151
151
|
}));
|
|
152
152
|
},
|
|
153
153
|
async resourceAvailability_get(region, tenancyId, service, limitName, availabilityDomain) {
|
|
154
|
-
const answer = await
|
|
154
|
+
const answer = await limitsClient_resolve(region).getResourceAvailability({
|
|
155
155
|
serviceName: service,
|
|
156
156
|
limitName,
|
|
157
157
|
compartmentId: tenancyId,
|
|
@@ -163,7 +163,7 @@ export function ociApi_make(options = {}) {
|
|
|
163
163
|
return { used: availability.used, available: availability.available };
|
|
164
164
|
},
|
|
165
165
|
async shapes_list(region, tenancyId) {
|
|
166
|
-
const client =
|
|
166
|
+
const client = computeClient_resolve(region);
|
|
167
167
|
const items = await pages_drain(async (page) => {
|
|
168
168
|
const answer = await client.listShapes({ compartmentId: tenancyId, ...(page !== undefined ? { page } : {}) });
|
|
169
169
|
return { items: answer.items, opcNextPage: answer.opcNextPage };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/cloud/oci/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAuB,MAAM,kBAAkB,CAAC;AA2E5E;;;;;GAKG;AACH,KAAK,UAAU,WAAW,CAAI,QAAwD;IACpF,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,KAAK,GAAuB,SAAS,CAAC;IAC1C,GAAG,CAAC;QACF,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,KAAK,GAAG,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IACjE,CAAC,QAAQ,KAAK,KAAK,SAAS,EAAE;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6DAA6D;AAC7D,SAAS,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/cloud/oci/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,17 @@ export interface OciBuildApi {
|
|
|
23
23
|
}>;
|
|
24
24
|
/** A compartment's lifecycle state. */
|
|
25
25
|
compartmentState_get(compartmentId: string): Promise<string>;
|
|
26
|
+
/** The compartment a DNS zone of a name lives in, anywhere in the tenancy, or null. */
|
|
27
|
+
zoneCompartment_find(zone: string): Promise<string | null>;
|
|
28
|
+
/** The names of the DNS zones anywhere in the tenancy, sorted. */
|
|
29
|
+
zoneNames_list(): Promise<string[]>;
|
|
30
|
+
/** The compartment a tag namespace of a name lives in, anywhere in the tenancy, or null. Its name is the tenancy's, not a compartment's. */
|
|
31
|
+
tagNamespaceCompartment_find(namespace: string): Promise<string | null>;
|
|
32
|
+
/** An active compartment of a name directly under a parent, made (with the tags given) when there is none; its id. */
|
|
33
|
+
compartmentChild_ensure(parentId: string, name: string, description: string, tags: Record<string, string>): Promise<{
|
|
34
|
+
id: string;
|
|
35
|
+
made: boolean;
|
|
36
|
+
}>;
|
|
26
37
|
/** Whether a tag namespace holds a tag, in a compartment. */
|
|
27
38
|
tag_exists(compartmentId: string, namespace: string, tag: string): Promise<boolean>;
|
|
28
39
|
/** How many of a limit are free, region-wide. */
|
|
@@ -4,15 +4,7 @@ import * as dns from 'oci-dns';
|
|
|
4
4
|
import * as identity from 'oci-identity';
|
|
5
5
|
import * as limits from 'oci-limits';
|
|
6
6
|
import * as objectstorage from 'oci-objectstorage';
|
|
7
|
-
|
|
8
|
-
* Whether an SDK error is a not-found.
|
|
9
|
-
*
|
|
10
|
-
* @param error - The error.
|
|
11
|
-
* @returns True for a 404.
|
|
12
|
-
*/
|
|
13
|
-
function notFound(error) {
|
|
14
|
-
return error.statusCode === 404;
|
|
15
|
-
}
|
|
7
|
+
import { notFound } from './errors.js';
|
|
16
8
|
/**
|
|
17
9
|
* The build's calls over the SDK.
|
|
18
10
|
*
|
|
@@ -29,6 +21,12 @@ export function ociBuildApi_make(options) {
|
|
|
29
21
|
const blocks = regional(new core.BlockstorageClient({ authenticationDetailsProvider: provider }));
|
|
30
22
|
const tenancyId = provider.getTenantId();
|
|
31
23
|
let namespace = null;
|
|
24
|
+
// The root and every active compartment beneath it: where a shared thing
|
|
25
|
+
// (the zone, the tag namespace) may live.
|
|
26
|
+
const compartments_all = async () => {
|
|
27
|
+
const beneath = (await ident.listCompartments({ compartmentId: tenancyId, compartmentIdInSubtree: true, lifecycleState: identity.models.Compartment.LifecycleState.Active })).items;
|
|
28
|
+
return [tenancyId, ...beneath.map((compartment) => compartment.id).filter((id) => typeof id === 'string')];
|
|
29
|
+
};
|
|
32
30
|
const namespace_get = async () => {
|
|
33
31
|
if (namespace === null)
|
|
34
32
|
namespace = (await store.getNamespace({ compartmentId: tenancyId })).value;
|
|
@@ -42,6 +40,39 @@ export function ociBuildApi_make(options) {
|
|
|
42
40
|
async compartmentState_get(compartmentId) {
|
|
43
41
|
return String((await ident.getCompartment({ compartmentId })).compartment.lifecycleState);
|
|
44
42
|
},
|
|
43
|
+
async zoneCompartment_find(zone) {
|
|
44
|
+
for (const compartmentId of await compartments_all()) {
|
|
45
|
+
const zones = (await dnsClient.listZones({ compartmentId, name: zone })).items;
|
|
46
|
+
if (zones.length > 0)
|
|
47
|
+
return compartmentId;
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
},
|
|
51
|
+
async zoneNames_list() {
|
|
52
|
+
const names = new Set();
|
|
53
|
+
for (const compartmentId of await compartments_all()) {
|
|
54
|
+
for (const zone of (await dnsClient.listZones({ compartmentId })).items)
|
|
55
|
+
if (typeof zone.name === 'string')
|
|
56
|
+
names.add(zone.name);
|
|
57
|
+
}
|
|
58
|
+
return [...names].sort();
|
|
59
|
+
},
|
|
60
|
+
async tagNamespaceCompartment_find(namespaceName) {
|
|
61
|
+
for (const compartmentId of await compartments_all()) {
|
|
62
|
+
const spaces = (await ident.listTagNamespaces({ compartmentId })).items;
|
|
63
|
+
if (spaces.some((space) => space.name === namespaceName))
|
|
64
|
+
return compartmentId;
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
},
|
|
68
|
+
async compartmentChild_ensure(parentId, name, description, tags) {
|
|
69
|
+
const children = (await ident.listCompartments({ compartmentId: parentId, lifecycleState: identity.models.Compartment.LifecycleState.Active })).items;
|
|
70
|
+
const found = children.find((child) => child.name === name);
|
|
71
|
+
if (found?.id !== undefined)
|
|
72
|
+
return { id: found.id, made: false };
|
|
73
|
+
const made = (await ident.createCompartment({ createCompartmentDetails: { compartmentId: parentId, name, description, freeformTags: tags } })).compartment;
|
|
74
|
+
return { id: made.id ?? '', made: true };
|
|
75
|
+
},
|
|
45
76
|
async tag_exists(compartmentId, namespaceName, tag) {
|
|
46
77
|
const spaces = (await ident.listTagNamespaces({ compartmentId, lifecycleState: identity.models.TagNamespace.LifecycleState.Active })).items;
|
|
47
78
|
const space = spaces.find((entry) => entry.name === namespaceName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildApi.js","sourceRoot":"","sources":["../../../src/cloud/oci/buildApi.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAC/B,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"buildApi.js","sourceRoot":"","sources":["../../../src/cloud/oci/buildApi.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAC/B,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAuDvC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA2B;IAC1D,MAAM,QAAQ,GAAmD,IAAI,MAAM,CAAC,uCAAuC,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACzJ,MAAM,QAAQ,GAAG,CAAkC,MAAS,EAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACzH,MAAM,KAAK,GAA4B,QAAQ,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC1H,MAAM,KAAK,GAAwB,QAAQ,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClH,MAAM,SAAS,GAAkB,QAAQ,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC1G,MAAM,KAAK,GAAsC,QAAQ,CAAC,IAAI,aAAa,CAAC,mBAAmB,CAAC,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9I,MAAM,MAAM,GAA4B,QAAQ,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,6BAA6B,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC3H,MAAM,SAAS,GAAW,QAAQ,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,yEAAyE;IACzE,0CAA0C;IAC1C,MAAM,gBAAgB,GAAG,KAAK,IAAuB,EAAE;QACrD,MAAM,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACpL,OAAO,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;IACnI,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,KAAK,IAAqB,EAAE;QAChD,IAAI,SAAS,KAAK,IAAI;YAAE,SAAS,GAAG,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACnG,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,OAAO;QACL,KAAK,CAAC,WAAW;YACf,MAAM,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAChE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QACnE,CAAC;QACD,KAAK,CAAC,oBAAoB,CAAC,aAAa;YACtC,OAAO,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC5F,CAAC;QACD,KAAK,CAAC,oBAAoB,CAAC,IAAI;YAC7B,KAAK,MAAM,aAAa,IAAI,MAAM,gBAAgB,EAAE,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC/E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,aAAa,CAAC;YAC7C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,cAAc;YAClB,MAAM,KAAK,GAAgB,IAAI,GAAG,EAAE,CAAC;YACrC,KAAK,MAAM,aAAa,IAAI,MAAM,gBAAgB,EAAE,EAAE,CAAC;gBACrD,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK;oBAAE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;wBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnI,CAAC;YACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,4BAA4B,CAAC,aAAa;YAC9C,KAAK,MAAM,aAAa,IAAI,MAAM,gBAAgB,EAAE,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;oBAAE,OAAO,aAAa,CAAC;YAC1F,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;YAC7D,MAAM,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACtJ,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACrE,IAAI,KAAK,EAAE,EAAE,KAAK,SAAS;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YAC3J,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,GAAG;YAChD,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5I,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAW,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YAC5E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC/D,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,QAAQ,CAAC,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAClC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI;YAC/B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;YACxH,OAAO,MAAM,CAAC,oBAAoB,CAAC,SAAS,IAAI,IAAI,CAAC;QACvD,CAAC;QACD,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa;YAC3C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAC9E,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5G,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa;YACvC,MAAM,aAAa,GAAW,MAAM,aAAa,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;gBAClC,MAAM,KAAK,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5Q,CAAC;QACH,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;YAC3C,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,MAAM,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3L,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM;YAChC,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,MAAM,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7G,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;YACpC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;YAC7C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,6BAA6B,CAAC;gBACvD,aAAa,EAAE,MAAM,aAAa,EAAE;gBACpC,UAAU,EAAE,MAAM;gBAClB,oCAAoC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,oCAAoC,CAAC,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE;aACtL,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,uBAAuB,CAAC;YAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,IAAI,yBAAyB,OAAO,CAAC,MAAM,mBAAmB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QAC3H,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM;YAC9B,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,6BAA6B,CAAC,EAAE,aAAa,EAAE,MAAM,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACzH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;YACpC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa;YACpD,MAAM,SAAS,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACxL,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,QAAQ;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;YACpC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa;YAC3C,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;YAC/F,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -20,6 +20,8 @@ export interface OciBuilderOptions {
|
|
|
20
20
|
readonly zip_fetch?: () => Promise<Buffer>;
|
|
21
21
|
/** How often a job is asked again, in milliseconds. */
|
|
22
22
|
readonly pollMs?: number;
|
|
23
|
+
/** How long a call may answer not found for something just made before the step fails; ten minutes when absent. */
|
|
24
|
+
readonly visibleWaitMs?: number;
|
|
23
25
|
/** The build's other OCI calls in a region; absent, only adoption and re-plans work. */
|
|
24
26
|
readonly api?: (region: string) => OciBuildApi;
|
|
25
27
|
/** The read driver, for the fit per availability domain. */
|
|
@@ -65,6 +67,10 @@ export declare function stackZip_fetch(): Promise<Buffer>;
|
|
|
65
67
|
* @throws Error - When it is not.
|
|
66
68
|
*/
|
|
67
69
|
export declare function stackZip_check(zip: Buffer): Buffer;
|
|
70
|
+
/** The tag namespace the stack attributes what it makes with: one per tenancy. */
|
|
71
|
+
export declare const TAG_NAMESPACE: string;
|
|
72
|
+
/** The compartment every built domain's own compartment sits in, under the tenancy root. */
|
|
73
|
+
export declare const DOMAINS_COMPARTMENT: string;
|
|
68
74
|
/** OCI's build half, over Resource Manager. */
|
|
69
75
|
export declare class OciBuilder implements CloudBuilder {
|
|
70
76
|
private readonly options;
|
|
@@ -122,7 +128,42 @@ export declare class OciBuilder implements CloudBuilder {
|
|
|
122
128
|
* @returns The calls.
|
|
123
129
|
* @throws Error - When the builder was made without them.
|
|
124
130
|
*/
|
|
125
|
-
private
|
|
131
|
+
private api_resolve;
|
|
132
|
+
zones_list(region: string): Promise<string[]>;
|
|
133
|
+
/**
|
|
134
|
+
* The domain's compartment, `domains/<name>` under the tenancy root.
|
|
135
|
+
* Compartments are free; making one is still a change to the tenancy, so
|
|
136
|
+
* it runs in the build (the `tasks` tier), never at `domain new`.
|
|
137
|
+
*
|
|
138
|
+
* @param request - The domain, and the region its calls go through.
|
|
139
|
+
* @param call - The step's log and stop.
|
|
140
|
+
* @returns The compartment's id, and whether this call made it.
|
|
141
|
+
*/
|
|
142
|
+
compartment_ensure(request: {
|
|
143
|
+
domain: string;
|
|
144
|
+
region: string;
|
|
145
|
+
}, call: BuildCall): Promise<{
|
|
146
|
+
id: string;
|
|
147
|
+
made: boolean;
|
|
148
|
+
}>;
|
|
149
|
+
/**
|
|
150
|
+
* Runs a call again while the cloud answers not found, for a bounded time:
|
|
151
|
+
* what was just made is not at once visible everywhere.
|
|
152
|
+
*
|
|
153
|
+
* @param run - The call.
|
|
154
|
+
* @param waiting - What the log says while it waits.
|
|
155
|
+
* @param call - The step's log and stop.
|
|
156
|
+
* @returns What the call answered.
|
|
157
|
+
*/
|
|
158
|
+
private notFound_outwait;
|
|
159
|
+
/**
|
|
160
|
+
* Waits until a compartment is active: a new one takes a moment to be usable.
|
|
161
|
+
*
|
|
162
|
+
* @param api - The build calls.
|
|
163
|
+
* @param id - The compartment.
|
|
164
|
+
* @param call - The step's log and stop.
|
|
165
|
+
*/
|
|
166
|
+
private compartment_awaitActive;
|
|
126
167
|
preflight(request: {
|
|
127
168
|
domain: string;
|
|
128
169
|
spec: DomainSpec;
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
import { createHash } from 'node:crypto';
|
|
24
24
|
import { Readable } from 'node:stream';
|
|
25
25
|
import { planRows_read } from './planRead.js';
|
|
26
|
-
import {
|
|
26
|
+
import { notFound } from './errors.js';
|
|
27
|
+
import { familyShape_resolve, stackVariables_build } from './stackVars.js';
|
|
27
28
|
import { specFit_read } from '../../domain/sizing.js';
|
|
28
29
|
/** The stack release stratus builds with: Oracle's zip of `create-cluster`, pinned. */
|
|
29
30
|
export const STACK_RELEASE = {
|
|
@@ -90,6 +91,10 @@ function poll_wait(ms, signal) {
|
|
|
90
91
|
signal.addEventListener('abort', () => { clearTimeout(timer); resolve(); }, { once: true });
|
|
91
92
|
});
|
|
92
93
|
}
|
|
94
|
+
/** The tag namespace the stack attributes what it makes with: one per tenancy. */
|
|
95
|
+
export const TAG_NAMESPACE = 'openshift-tags';
|
|
96
|
+
/** The compartment every built domain's own compartment sits in, under the tenancy root. */
|
|
97
|
+
export const DOMAINS_COMPARTMENT = 'domains';
|
|
93
98
|
/** OCI's build half, over Resource Manager. */
|
|
94
99
|
export class OciBuilder {
|
|
95
100
|
options;
|
|
@@ -202,13 +207,79 @@ export class OciBuilder {
|
|
|
202
207
|
* @returns The calls.
|
|
203
208
|
* @throws Error - When the builder was made without them.
|
|
204
209
|
*/
|
|
205
|
-
|
|
210
|
+
api_resolve(region) {
|
|
206
211
|
if (this.options.api === undefined)
|
|
207
212
|
throw new Error('this builder adopts and re-plans only');
|
|
208
213
|
return this.options.api(region);
|
|
209
214
|
}
|
|
215
|
+
async zones_list(region) {
|
|
216
|
+
return await this.api_resolve(region).zoneNames_list();
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* The domain's compartment, `domains/<name>` under the tenancy root.
|
|
220
|
+
* Compartments are free; making one is still a change to the tenancy, so
|
|
221
|
+
* it runs in the build (the `tasks` tier), never at `domain new`.
|
|
222
|
+
*
|
|
223
|
+
* @param request - The domain, and the region its calls go through.
|
|
224
|
+
* @param call - The step's log and stop.
|
|
225
|
+
* @returns The compartment's id, and whether this call made it.
|
|
226
|
+
*/
|
|
227
|
+
async compartment_ensure(request, call) {
|
|
228
|
+
const api = this.api_resolve(request.region);
|
|
229
|
+
const tenancy = await api.tenancy_get();
|
|
230
|
+
const parent = await api.compartmentChild_ensure(tenancy.id, DOMAINS_COMPARTMENT, 'The Trusted Domains stratus builds, one compartment each', { 'mise-role': 'domains' });
|
|
231
|
+
call.log(parent.made ? `made the compartment ${DOMAINS_COMPARTMENT} under ${tenancy.name}` : `${DOMAINS_COMPARTMENT} is there`);
|
|
232
|
+
await this.compartment_awaitActive(api, parent.id, call);
|
|
233
|
+
// A compartment just made may answer not found for a while, even after it reads ACTIVE.
|
|
234
|
+
const own = await this.notFound_outwait(() => api.compartmentChild_ensure(parent.id, request.domain, `The Trusted Domain ${request.domain}`, { 'mise-domain': request.domain }), `${DOMAINS_COMPARTMENT} is not yet usable`, call);
|
|
235
|
+
call.log(own.made ? `made the compartment ${DOMAINS_COMPARTMENT}/${request.domain}` : `${DOMAINS_COMPARTMENT}/${request.domain} is there`);
|
|
236
|
+
await this.compartment_awaitActive(api, own.id, call);
|
|
237
|
+
return own;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Runs a call again while the cloud answers not found, for a bounded time:
|
|
241
|
+
* what was just made is not at once visible everywhere.
|
|
242
|
+
*
|
|
243
|
+
* @param run - The call.
|
|
244
|
+
* @param waiting - What the log says while it waits.
|
|
245
|
+
* @param call - The step's log and stop.
|
|
246
|
+
* @returns What the call answered.
|
|
247
|
+
*/
|
|
248
|
+
async notFound_outwait(run, waiting, call) {
|
|
249
|
+
const pollMs = this.options.pollMs ?? 10_000;
|
|
250
|
+
const until = Date.now() + (this.options.visibleWaitMs ?? 600_000);
|
|
251
|
+
for (;;) {
|
|
252
|
+
try {
|
|
253
|
+
return await run();
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
if (!notFound(error) || Date.now() >= until || call.signal.aborted)
|
|
257
|
+
throw error;
|
|
258
|
+
call.log(`${waiting}; waiting`);
|
|
259
|
+
await poll_wait(pollMs, call.signal);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Waits until a compartment is active: a new one takes a moment to be usable.
|
|
265
|
+
*
|
|
266
|
+
* @param api - The build calls.
|
|
267
|
+
* @param id - The compartment.
|
|
268
|
+
* @param call - The step's log and stop.
|
|
269
|
+
*/
|
|
270
|
+
async compartment_awaitActive(api, id, call) {
|
|
271
|
+
for (;;) {
|
|
272
|
+
const state = await this.notFound_outwait(() => api.compartmentState_get(id), `${id} is not yet found`, call);
|
|
273
|
+
if (state === 'ACTIVE')
|
|
274
|
+
return;
|
|
275
|
+
if (call.signal.aborted)
|
|
276
|
+
throw new Error(`stopped while ${id} was ${state}`);
|
|
277
|
+
call.log(`compartment ${state.toLowerCase()}; waiting`);
|
|
278
|
+
await poll_wait(this.options.pollMs ?? 5000, call.signal);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
210
281
|
async preflight(request, call) {
|
|
211
|
-
const api = this.
|
|
282
|
+
const api = this.api_resolve(request.region);
|
|
212
283
|
const checks = [];
|
|
213
284
|
const check = async (name, run) => {
|
|
214
285
|
let result;
|
|
@@ -229,13 +300,14 @@ export class OciBuilder {
|
|
|
229
300
|
return { ok: state.toUpperCase() === 'ACTIVE', note: state.toLowerCase() };
|
|
230
301
|
});
|
|
231
302
|
await check('attribution tag', async () => {
|
|
232
|
-
const
|
|
233
|
-
|
|
303
|
+
const home = await api.tagNamespaceCompartment_find(TAG_NAMESPACE);
|
|
304
|
+
const ok = home !== null && await api.tag_exists(home, TAG_NAMESPACE, 'openshift-resource');
|
|
305
|
+
return { ok, note: ok ? `${TAG_NAMESPACE}.openshift-resource exists${home === request.compartmentId ? '' : ', shared from another compartment'}` : `${TAG_NAMESPACE}.openshift-resource is missing in the tenancy` };
|
|
234
306
|
});
|
|
235
307
|
await check('spec', async () => {
|
|
236
308
|
if (request.spec.workers.count > 0)
|
|
237
309
|
return { ok: false, note: 'workers are not proven on OCI yet: a compact cluster (workers 0) only' };
|
|
238
|
-
|
|
310
|
+
familyShape_resolve(request.spec.family);
|
|
239
311
|
return { ok: true, note: `${request.spec.family}, compact, ${request.spec.controlPlane.count} nodes` };
|
|
240
312
|
});
|
|
241
313
|
await check('room', async () => {
|
|
@@ -250,7 +322,10 @@ export class OciBuilder {
|
|
|
250
322
|
return { ok: free !== null && free >= 3, note: `3 needed, ${free ?? 'unknown'} free` };
|
|
251
323
|
});
|
|
252
324
|
await check('zone', async () => {
|
|
253
|
-
const
|
|
325
|
+
const zoneHome = await api.zoneCompartment_find(request.baseDomain);
|
|
326
|
+
if (zoneHome === null)
|
|
327
|
+
return { ok: false, note: `no zone ${request.baseDomain} in the tenancy` };
|
|
328
|
+
const served = await api.zoneNameservers_get(request.baseDomain, zoneHome);
|
|
254
329
|
const resolved = this.options.nameservers_resolve === undefined ? [] : (await this.options.nameservers_resolve(request.baseDomain)).map((name) => name.replace(/\.$/, '')).sort();
|
|
255
330
|
const same = served.length > 0 && JSON.stringify(served) === JSON.stringify(resolved);
|
|
256
331
|
return { ok: same, note: same ? `${request.baseDomain} is delegated to OCI's name servers` : `${request.baseDomain}: OCI serves ${served.join(' ') || 'nothing'}, the world asks ${resolved.join(' ') || 'nobody'}` };
|
|
@@ -262,13 +337,16 @@ export class OciBuilder {
|
|
|
262
337
|
return checks;
|
|
263
338
|
}
|
|
264
339
|
async iso_store(request, call) {
|
|
265
|
-
const api = this.
|
|
340
|
+
const api = this.api_resolve(request.region);
|
|
266
341
|
const bucket = this.options.bucket ?? ISO_BUCKET;
|
|
267
342
|
const object = `${request.domain}-discovery.iso`;
|
|
268
343
|
await api.bucket_ensure(bucket, request.compartmentId);
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
344
|
+
// A bucket just made may refuse an object as not found for a while; the image is a stream, so each try fetches it again.
|
|
345
|
+
await this.notFound_outwait(async () => {
|
|
346
|
+
const image = await (this.options.iso_fetch ?? iso_fetch)(request.url);
|
|
347
|
+
call.log(`copying the discovery image into ${bucket}/${object}${image.length !== undefined ? ` (${Math.round(image.length / 1_048_576)} MiB)` : ''}`);
|
|
348
|
+
await api.object_put(bucket, object, image.body, image.length);
|
|
349
|
+
}, `${bucket} is not yet usable`, call);
|
|
272
350
|
const expires = new Date(Date.now() + (this.options.linkDays ?? 7) * 24 * 3600 * 1000);
|
|
273
351
|
const link = await api.link_create(bucket, object, `${object}-link`, expires);
|
|
274
352
|
call.log(`linked until ${expires.toISOString().slice(0, 10)}`);
|
|
@@ -284,9 +362,12 @@ export class OciBuilder {
|
|
|
284
362
|
const sshPublicKey = this.options.sshPublicKey?.() ?? null;
|
|
285
363
|
if (sshPublicKey === null)
|
|
286
364
|
throw new Error('no SSH public key on the host');
|
|
287
|
-
const
|
|
365
|
+
const api = this.api_resolve(request.region);
|
|
366
|
+
const tenancyId = (await api.tenancy_get()).id;
|
|
367
|
+
const tagHome = await api.tagNamespaceCompartment_find(TAG_NAMESPACE);
|
|
288
368
|
const variables = stackVariables_build({
|
|
289
369
|
domain: request.domain, spec: request.spec, tenancyId, compartmentId: request.compartmentId, region: request.region,
|
|
370
|
+
...(tagHome !== null ? { tagNamespaceCompartmentId: tagHome } : {}),
|
|
290
371
|
baseDomain: request.baseDomain, isoLink: request.isoLink, sshPublicKey: sshPublicKey.trim(),
|
|
291
372
|
});
|
|
292
373
|
const stack = await rm.stack_create({
|
|
@@ -326,11 +407,13 @@ export class OciBuilder {
|
|
|
326
407
|
};
|
|
327
408
|
}
|
|
328
409
|
async dns_upsert(request, call) {
|
|
329
|
-
const api = this.
|
|
410
|
+
const api = this.api_resolve(request.region);
|
|
330
411
|
const cluster = `${request.domain}.${request.baseDomain}`;
|
|
331
412
|
const records = [[`api.${cluster}`, request.outputs.apiIp], [`api-int.${cluster}`, request.outputs.apiIntIp], [`*.apps.${cluster}`, request.outputs.appsIp]];
|
|
413
|
+
// The zone is shared and lives where it was made, not in the domain's own compartment.
|
|
414
|
+
const zoneHome = (await api.zoneCompartment_find(request.baseDomain)) ?? request.compartmentId;
|
|
332
415
|
for (const [name, address] of records) {
|
|
333
|
-
await api.record_upsert(request.baseDomain, name, address,
|
|
416
|
+
await api.record_upsert(request.baseDomain, name, address, zoneHome);
|
|
334
417
|
call.log(`${name} -> ${address}`);
|
|
335
418
|
}
|
|
336
419
|
return records.map(([name]) => name);
|
|
@@ -339,15 +422,16 @@ export class OciBuilder {
|
|
|
339
422
|
return this.options.rm(request.region).stackResources_count(request.stackRef);
|
|
340
423
|
}
|
|
341
424
|
async teardown_run(request, call) {
|
|
342
|
-
const api = this.
|
|
425
|
+
const api = this.api_resolve(request.region);
|
|
343
426
|
const gone = [];
|
|
344
427
|
if (request.stackRef !== undefined) {
|
|
345
428
|
await this.job_run(this.options.rm(request.region), request.stackRef, { kind: 'destroy' }, `${request.domain}: destroy`, call);
|
|
346
429
|
gone.push(`the stack's resources (${request.stackRef})`);
|
|
347
430
|
}
|
|
348
431
|
const cluster = `${request.domain}.${request.baseDomain}`;
|
|
432
|
+
const zoneHome = (await api.zoneCompartment_find(request.baseDomain)) ?? request.compartmentId;
|
|
349
433
|
for (const name of [`api.${cluster}`, `api-int.${cluster}`, `*.apps.${cluster}`]) {
|
|
350
|
-
await api.record_delete(request.baseDomain, name,
|
|
434
|
+
await api.record_delete(request.baseDomain, name, zoneHome);
|
|
351
435
|
call.log(`record ${name} removed`);
|
|
352
436
|
}
|
|
353
437
|
gone.push('3 DNS records');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/cloud/oci/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/cloud/oci/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,uFAAuF;AACvF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,QAAQ;IACjB,GAAG,EAAE,uGAAuG;IAC5G,MAAM,EAAE,kEAAkE;CAClE,CAAC;AAEX,mFAAmF;AACnF,MAAM,CAAC,MAAM,UAAU,GAAW,aAAa,CAAC;AAEhD,iDAAiD;AACjD,MAAM,QAAQ,GAA0B,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AA4B5E,sEAAsE;AACtE,MAAM,CAAC,MAAM,UAAU,GAAW,aAAa,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5G,MAAM,MAAM,GAAW,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7E,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAiC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7H,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,aAAa,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,SAAS,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IACvH,MAAM,GAAG,GAAW,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9D,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,MAAM,GAAW,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,IAAI,MAAM,KAAK,aAAa,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,aAAa,CAAC,OAAO,YAAY,MAAM,sBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACnJ,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,EAAU,EAAE,MAAmB;IAChD,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACxD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAmB,EAAQ,EAAE;QACrD,MAAM,KAAK,GAAkC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAW,gBAAgB,CAAC;AAEtD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,mBAAmB,GAAW,SAAS,CAAC;AAErD,+CAA+C;AAC/C,MAAM,OAAO,UAAU;IAIQ;IAHpB,EAAE,GAAW,KAAK,CAAC;IACpB,GAAG,GAAkB,IAAI,CAAC;IAElC,YAA6B,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAE3D,qCAAqC;IAC7B,KAAK,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;YAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,cAAc,CAAC,EAAE,CAAC;QACrF,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,OAAO,CAAC,EAAS,EAAE,OAAe,EAAE,SAAsB,EAAE,IAAY,EAAE,IAAe;QAC7F,IAAI,GAAG,GAAgB,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,oBAAoB,SAAS,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,KAAK,GAAW,CAAC,CAAC;QACtB,IAAI,WAAW,GAAY,KAAK,CAAC;QACjC,SAAS,CAAC;YACR,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;gBACxC,WAAW,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,qCAAqC,GAAG,CAAC,EAAE,kDAAkD,CAAC,CAAC;gBACxG,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,MAAM;YACxC,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,KAAK,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvK,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,UAAU,CAAC,EAAS,EAAE,KAAa,EAAE,KAAa,EAAE,IAAe;QAC/E,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,OAA0I,EAAE,IAAe;QAC3K,4GAA4G;QAC5G,IAAI,OAAO,CAAC,YAAY,KAAK,aAAa,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,CAAC,YAAY,IAAI,YAAY,yBAAyB,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACrM,MAAM,EAAE,GAAU,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,kHAAkH;QAClH,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAW,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QACpK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,cAAc,OAAO,CAAC,aAAa,eAAe,UAAU,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrL,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,sBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,gDAAgD,CAAC,CAAC;YAClI,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;QACtB,CAAC;QACD,MAAM,GAAG,GAAW,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,qBAAqB;YACnD,WAAW,EAAE,OAAO,OAAO,CAAC,MAAM,2CAA2C,aAAa,CAAC,OAAO,uCAAuC;YACzI,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACjC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,EAAE,YAAY,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,oCAAoC,EAAE,IAAI,CAAC,CAAC;QACjK,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CAAC,MAAc;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,CAAC;IACzD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAA2C,EAAE,IAAe;QACnF,MAAM,GAAG,GAAgB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,EAAE,mBAAmB,EAAE,0DAA0D,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1K,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,mBAAmB,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,mBAAmB,WAAW,CAAC,CAAC;QAChI,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzD,wFAAwF;QACxF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,sBAAsB,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,mBAAmB,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACnO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,mBAAmB,IAAI,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC;QAC3I,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,gBAAgB,CAAI,GAAqB,EAAE,OAAe,EAAE,IAAe;QACvF,MAAM,MAAM,GAAW,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;QACrD,MAAM,KAAK,GAAW,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;QAC3E,SAAS,CAAC;YACR,IAAI,CAAC;gBACH,OAAO,MAAM,GAAG,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM,KAAK,CAAC;gBAChF,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC;gBAChC,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,uBAAuB,CAAC,GAAgB,EAAE,EAAU,EAAE,IAAe;QACjF,SAAS,CAAC;YACR,MAAM,KAAK,GAAW,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;YACtH,IAAI,KAAK,KAAK,QAAQ;gBAAE,OAAO;YAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,QAAQ,KAAK,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACxD,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAwG,EAAE,IAAe;QACvI,MAAM,GAAG,GAAgB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,EAAE,IAAY,EAAE,GAAiD,EAAiB,EAAE;YACrG,IAAI,MAAqC,CAAC;YAC1C,IAAI,CAAC;gBAAC,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBAAC,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,CAAC;YAC9I,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC;QACF,MAAM,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtJ,MAAM,KAAK,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YACpC,IAAI,OAAO,CAAC,aAAa,KAAK,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAC;YAC7G,MAAM,KAAK,GAAW,MAAM,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5E,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7E,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,IAAI,GAAkB,MAAM,GAAG,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;YAClF,MAAM,EAAE,GAAY,IAAI,KAAK,IAAI,IAAI,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;YACrG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,6BAA6B,IAAI,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,+CAA+C,EAAE,CAAC;QACvN,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC7B,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,uEAAuE,EAAE,CAAC;YACxI,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,cAAc,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzG,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;YACvG,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACnG,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAW,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC/D,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,MAAM,uBAAuB,CAAC,CAAC,CAAC,iCAAiC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC5L,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,IAAI,GAAkB,MAAM,GAAG,CAAC,aAAa,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAC1F,OAAO,EAAE,EAAE,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,IAAI,IAAI,SAAS,OAAO,EAAE,CAAC;QACzF,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC7B,MAAM,QAAQ,GAAkB,MAAM,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACnF,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,OAAO,CAAC,UAAU,iBAAiB,EAAE,CAAC;YAClG,MAAM,MAAM,GAAa,MAAM,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACrF,MAAM,QAAQ,GAAa,IAAI,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5M,MAAM,IAAI,GAAY,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,qCAAqC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,gBAAgB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,oBAAoB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE,EAAE,CAAC;QACxN,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAChC,MAAM,GAAG,GAAkB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,IAAI,IAAI,CAAC;YACjE,OAAO,EAAE,EAAE,EAAE,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACjH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAA+E,EAAE,IAAe;QAC9G,MAAM,GAAG,GAAgB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAW,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;QACzD,MAAM,MAAM,GAAW,GAAG,OAAO,CAAC,MAAM,gBAAgB,CAAC;QACzD,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACvD,yHAAyH;QACzH,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAmB,EAAE;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvE,IAAI,CAAC,GAAG,CAAC,oCAAoC,MAAM,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtJ,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,EAAE,GAAG,MAAM,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,OAAO,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QAC7F,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAkK,EAAE,IAAe;QAClM,MAAM,EAAE,GAAU,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,QAAQ,GAAuB,OAAO,CAAC,QAAQ,CAAC;QACpD,IAAI,IAAwB,CAAC;QAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;YAC7N,MAAM,YAAY,GAAkB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,IAAI,IAAI,CAAC;YAC1E,IAAI,YAAY,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC5E,MAAM,GAAG,GAAgB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAW,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,GAAkB,MAAM,GAAG,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;YACrF,MAAM,SAAS,GAA2B,oBAAoB,CAAC;gBAC7D,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM;gBACnH,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE;aAC5F,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC;gBAClC,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,qBAAqB;gBACnD,WAAW,EAAE,OAAO,OAAO,CAAC,MAAM,2CAA2C,aAAa,CAAC,OAAO,qBAAqB;gBACvH,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACpD,SAAS;gBACT,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE;aACvC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,EAAE,YAAY,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;YAC/D,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,GAAgB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7G,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChI,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA+E,EAAE,IAAe;QAChH,MAAM,QAAQ,GAAuB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/E,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACpE,MAAM,EAAE,GAAU,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,GAAG,GAAgB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5I,MAAM,OAAO,GAA2B,MAAM,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,CAAC,GAAW,EAAU,EAAE;YACnC,MAAM,KAAK,GAAuB,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;YACrF,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,OAAO;YACL,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC;YACrC,QAAQ,EAAE,IAAI,CAAC,4BAA4B,CAAC;YAC5C,MAAM,EAAE,IAAI,CAAC,yBAAyB,CAAC;YACvC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC;SACnG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA6G,EAAE,IAAe;QAC7I,MAAM,GAAG,GAAgB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAW,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAClE,MAAM,OAAO,GAA4B,CAAC,CAAC,OAAO,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACtL,uFAAuF;QACvF,MAAM,QAAQ,GAAW,CAAC,MAAM,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC;QACvG,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;YACtC,MAAM,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAmB,EAAU,EAAE,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAA6C;QACtE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAwB,EAAE,IAAe;QAC1D,MAAM,GAAG,GAAgB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,WAAW,EAAE,IAAI,CAAC,CAAC;YAC/H,IAAI,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,OAAO,GAAW,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAW,CAAC,MAAM,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC;QACvG,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,OAAO,EAAE,EAAE,WAAW,OAAO,EAAE,EAAE,UAAU,OAAO,EAAE,CAAC,EAAE,CAAC;YACjF,MAAM,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAW,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;QACzD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACtF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,SAAS,eAAe,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,UAAU,QAAQ,UAAU,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,2BAA2B,CAAC,CAAC;QACpG,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|