@atlasauth/js 0.15.0 → 0.17.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.
Files changed (84) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/account-hints.d.ts +53 -0
  3. package/dist/account-hints.js +114 -0
  4. package/dist/account-hints.js.map +1 -0
  5. package/dist/attempt.d.ts +3 -1
  6. package/dist/attempt.js.map +1 -1
  7. package/dist/captcha-controller.d.ts +21 -0
  8. package/dist/captcha-controller.js +36 -1
  9. package/dist/captcha-controller.js.map +1 -1
  10. package/dist/captcha-widget.d.ts +20 -2
  11. package/dist/captcha-widget.js +79 -4
  12. package/dist/captcha-widget.js.map +1 -1
  13. package/dist/captcha.d.ts +5 -0
  14. package/dist/captcha.js +30 -0
  15. package/dist/captcha.js.map +1 -1
  16. package/dist/compat.d.ts +149 -0
  17. package/dist/compat.js +363 -0
  18. package/dist/compat.js.map +1 -0
  19. package/dist/device-authorization.d.ts +70 -0
  20. package/dist/device-authorization.js +97 -0
  21. package/dist/device-authorization.js.map +1 -0
  22. package/dist/email-code-check.d.ts +60 -0
  23. package/dist/email-code-check.js +51 -0
  24. package/dist/email-code-check.js.map +1 -0
  25. package/dist/environment.d.ts +48 -0
  26. package/dist/environment.js +54 -1
  27. package/dist/environment.js.map +1 -1
  28. package/dist/fapi.d.ts +29 -0
  29. package/dist/fapi.js +90 -7
  30. package/dist/fapi.js.map +1 -1
  31. package/dist/frontchannel-logout.d.ts +36 -0
  32. package/dist/frontchannel-logout.js.map +1 -1
  33. package/dist/impersonation.d.ts +44 -0
  34. package/dist/impersonation.js +47 -0
  35. package/dist/impersonation.js.map +1 -0
  36. package/dist/index.d.ts +12 -0
  37. package/dist/index.js +21 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/instance-settings.d.ts +7 -1
  40. package/dist/instance-settings.js +15 -1
  41. package/dist/instance-settings.js.map +1 -1
  42. package/dist/mfa-enrollment.d.ts +154 -0
  43. package/dist/mfa-enrollment.js +288 -0
  44. package/dist/mfa-enrollment.js.map +1 -0
  45. package/dist/organization-audit-log.d.ts +63 -0
  46. package/dist/organization-audit-log.js +96 -0
  47. package/dist/organization-audit-log.js.map +1 -0
  48. package/dist/organizations.d.ts +330 -0
  49. package/dist/organizations.js +375 -0
  50. package/dist/organizations.js.map +1 -0
  51. package/dist/passkey-sign-in.d.ts +40 -0
  52. package/dist/passkey-sign-in.js +41 -0
  53. package/dist/passkey-sign-in.js.map +1 -0
  54. package/dist/passkey-sign-up.d.ts +46 -0
  55. package/dist/passkey-sign-up.js +104 -0
  56. package/dist/passkey-sign-up.js.map +1 -0
  57. package/dist/passkey.d.ts +58 -2
  58. package/dist/passkey.js +61 -0
  59. package/dist/passkey.js.map +1 -1
  60. package/dist/password-reset.d.ts +12 -0
  61. package/dist/password-reset.js +15 -0
  62. package/dist/password-reset.js.map +1 -1
  63. package/dist/phone-numbers.d.ts +43 -0
  64. package/dist/phone-numbers.js +65 -0
  65. package/dist/phone-numbers.js.map +1 -0
  66. package/dist/profile.d.ts +24 -0
  67. package/dist/profile.js +24 -0
  68. package/dist/profile.js.map +1 -0
  69. package/dist/referral-detect.js +1 -1
  70. package/dist/referral.d.ts +1 -1
  71. package/dist/referral.js +3 -2
  72. package/dist/referral.js.map +1 -1
  73. package/dist/sign-out-guard.d.ts +15 -0
  74. package/dist/sign-out-guard.js +53 -4
  75. package/dist/sign-out-guard.js.map +1 -1
  76. package/dist/sign-out.d.ts +23 -0
  77. package/dist/sign-out.js +37 -2
  78. package/dist/sign-out.js.map +1 -1
  79. package/dist/upstream-logout.d.ts +26 -0
  80. package/dist/upstream-logout.js +60 -0
  81. package/dist/upstream-logout.js.map +1 -0
  82. package/dist/version.d.ts +1 -1
  83. package/dist/version.js +1 -1
  84. package/package.json +13 -2
package/dist/passkey.d.ts CHANGED
@@ -34,6 +34,62 @@ export declare function base64UrlToBuffer(value: string): ArrayBuffer;
34
34
  export declare function passkeysSupported(host?: unknown): boolean;
35
35
  /** Whether conditional-UI (autofill) discovery is available (best-effort). */
36
36
  export declare function conditionalUiAvailable(): Promise<boolean>;
37
+ /**
38
+ * A PRF salt: bytes, or a string (encoded as UTF-8). Use a fixed, app-chosen
39
+ * salt per purpose (for example `"myapp:vault-key:v1"`), so the same passkey
40
+ * always yields the same secret for that purpose.
41
+ */
42
+ export type PasskeyPrfSalt = ArrayBuffer | ArrayBufferView | string;
43
+ /** The salts for one PRF evaluation (`second` asks for a second, independent output). */
44
+ export interface PasskeyPrfValues {
45
+ first: PasskeyPrfSalt;
46
+ second?: PasskeyPrfSalt;
47
+ }
48
+ /**
49
+ * Ask the authenticator for the WebAuthn `prf` extension: a secret derived from
50
+ * the passkey and your salt, which never leaves the browser. Use it to derive a
51
+ * client-side encryption key. `eval` applies to any credential;
52
+ * `evalByCredential` (sign-in only) gives per-credential salts keyed by
53
+ * base64url credential id.
54
+ */
55
+ export interface PasskeyPrfRequest {
56
+ eval?: PasskeyPrfValues;
57
+ evalByCredential?: Record<string, PasskeyPrfValues>;
58
+ }
59
+ /** What the browser answered for `prf`. */
60
+ export interface PasskeyPrfResult {
61
+ /** Registration: whether the new passkey supports PRF. */
62
+ enabled?: boolean;
63
+ /** The PRF outputs (32 bytes each), when the authenticator evaluated them. */
64
+ results?: {
65
+ first: Uint8Array;
66
+ second?: Uint8Array;
67
+ };
68
+ }
69
+ /**
70
+ * The client extension results of a ceremony — returned to YOUR code only. They
71
+ * are never sent to Atlas: the `finish` body is unchanged.
72
+ */
73
+ export interface PasskeyExtensionResults {
74
+ /** The credential the ceremony used (base64url). */
75
+ credentialId: string;
76
+ prf?: PasskeyPrfResult;
77
+ /** Registration: whether a discoverable credential (passkey) was created, when the browser says. */
78
+ credProps?: {
79
+ rk?: boolean;
80
+ };
81
+ }
82
+ /** Options shared by both ceremonies for client extensions. */
83
+ export interface PasskeyExtensionOptions {
84
+ /** Request the `prf` extension (the salts are sent to the authenticator, not to Atlas). */
85
+ prf?: PasskeyPrfRequest;
86
+ /** Receives the client extension results (PRF outputs) after a successful ceremony. */
87
+ onExtensionResults?: (results: PasskeyExtensionResults) => void;
88
+ }
89
+ /** The `extensions` member for a ceremony, or undefined when nothing is requested. */
90
+ export declare function passkeyExtensionsInput(prf: PasskeyPrfRequest | undefined, ceremony: 'create' | 'get'): Record<string, unknown> | undefined;
91
+ /** Read (and normalise) a credential's client extension results. */
92
+ export declare function readExtensionResults(credential: PublicKeyCredential): PasskeyExtensionResults;
37
93
  /** The POST body for /v1/client/me/passkeys/finish. */
38
94
  export interface PasskeyRegistrationBody {
39
95
  challenge: string;
@@ -49,7 +105,7 @@ export interface PasskeyRegistrationBody {
49
105
  export declare function createPasskey(begin: Record<string, unknown>, opts?: {
50
106
  name?: string;
51
107
  host?: WebAuthnHost;
52
- }): Promise<PasskeyRegistrationBody>;
108
+ } & PasskeyExtensionOptions): Promise<PasskeyRegistrationBody>;
53
109
  /** The POST body for /v1/client/sign_ins/passkey/finish. */
54
110
  export interface PasskeyAssertionBody {
55
111
  handle: string;
@@ -67,4 +123,4 @@ export declare function getPasskeyAssertion(begin: Record<string, unknown>, opts
67
123
  host?: WebAuthnHost;
68
124
  mediation?: 'optional' | 'conditional';
69
125
  signal?: AbortSignal;
70
- }): Promise<PasskeyAssertionBody>;
126
+ } & PasskeyExtensionOptions): Promise<PasskeyAssertionBody>;
package/dist/passkey.js CHANGED
@@ -18,6 +18,8 @@ exports.bufferToBase64Url = bufferToBase64Url;
18
18
  exports.base64UrlToBuffer = base64UrlToBuffer;
19
19
  exports.passkeysSupported = passkeysSupported;
20
20
  exports.conditionalUiAvailable = conditionalUiAvailable;
21
+ exports.passkeyExtensionsInput = passkeyExtensionsInput;
22
+ exports.readExtensionResults = readExtensionResults;
21
23
  exports.createPasskey = createPasskey;
22
24
  exports.getPasskeyAssertion = getPasskeyAssertion;
23
25
  const defaultHost = () => {
@@ -61,6 +63,47 @@ async function conditionalUiAvailable() {
61
63
  return false;
62
64
  }
63
65
  }
66
+ function saltBytes(salt) {
67
+ if (typeof salt === 'string')
68
+ return new TextEncoder().encode(salt);
69
+ if (salt instanceof ArrayBuffer)
70
+ return new Uint8Array(salt);
71
+ return new Uint8Array(salt.buffer, salt.byteOffset, salt.byteLength);
72
+ }
73
+ function prfValues(v) {
74
+ return { first: saltBytes(v.first), ...(v.second !== undefined ? { second: saltBytes(v.second) } : {}) };
75
+ }
76
+ /** The `extensions` member for a ceremony, or undefined when nothing is requested. */
77
+ function passkeyExtensionsInput(prf, ceremony) {
78
+ if (!prf)
79
+ return undefined;
80
+ const out = {};
81
+ if (prf.eval)
82
+ out.eval = prfValues(prf.eval);
83
+ if (ceremony === 'get' && prf.evalByCredential) {
84
+ out.evalByCredential = Object.fromEntries(Object.entries(prf.evalByCredential).map(([id, v]) => [id, prfValues(v)]));
85
+ }
86
+ return { prf: out };
87
+ }
88
+ const toBytes = (v) => v instanceof ArrayBuffer ? new Uint8Array(v) : ArrayBuffer.isView(v) ? new Uint8Array(v.buffer, v.byteOffset, v.byteLength) : undefined;
89
+ /** Read (and normalise) a credential's client extension results. */
90
+ function readExtensionResults(credential) {
91
+ const raw = credential.getClientExtensionResults?.() ?? {};
92
+ const out = { credentialId: bufferToBase64Url(credential.rawId) };
93
+ const prf = raw.prf;
94
+ if (prf && typeof prf === 'object') {
95
+ const first = toBytes(prf.results?.first);
96
+ const second = toBytes(prf.results?.second);
97
+ out.prf = {
98
+ ...(typeof prf.enabled === 'boolean' ? { enabled: prf.enabled } : {}),
99
+ ...(first ? { results: { first, ...(second ? { second } : {}) } } : {}),
100
+ };
101
+ }
102
+ const credProps = raw.credProps;
103
+ if (credProps && typeof credProps === 'object')
104
+ out.credProps = typeof credProps.rk === 'boolean' ? { rk: credProps.rk } : {};
105
+ return out;
106
+ }
64
107
  /**
65
108
  * Run navigator.credentials.create from a `/passkeys/begin` response and return
66
109
  * the `/finish` body. `begin` is the JSON the server sent (challenge, rp, user,
@@ -79,11 +122,16 @@ async function createPasskey(begin, opts = {}) {
79
122
  authenticatorSelection: begin.authenticatorSelection,
80
123
  timeout: begin.timeout,
81
124
  attestation: begin.attestation,
125
+ ...extensionsMember(passkeyExtensionsInput(opts.prf, 'create'), begin.extensions),
82
126
  };
83
127
  const credential = (await host.credentials.create({ publicKey }));
84
128
  if (!credential)
85
129
  throw new Error('Passkey registration was cancelled.');
86
130
  const response = credential.response;
131
+ // Client extension results (PRF outputs) go to the app's callback only —
132
+ // never into the finish body, so Atlas never sees them.
133
+ if (opts.onExtensionResults)
134
+ opts.onExtensionResults(readExtensionResults(credential));
87
135
  return {
88
136
  // Echo the server's challenge string — the server matched/stored it.
89
137
  challenge: begin.challenge,
@@ -105,6 +153,7 @@ async function getPasskeyAssertion(begin, opts = {}) {
105
153
  allowCredentials: allow.map((c) => ({ type: c.type, id: base64UrlToBuffer(c.id) })),
106
154
  userVerification: begin.userVerification,
107
155
  timeout: begin.timeout,
156
+ ...extensionsMember(passkeyExtensionsInput(opts.prf, 'get'), begin.extensions),
108
157
  };
109
158
  const credential = (await host.credentials.get({
110
159
  publicKey,
@@ -114,6 +163,8 @@ async function getPasskeyAssertion(begin, opts = {}) {
114
163
  if (!credential)
115
164
  throw new Error('Passkey sign-in was cancelled.');
116
165
  const response = credential.response;
166
+ if (opts.onExtensionResults)
167
+ opts.onExtensionResults(readExtensionResults(credential));
117
168
  return {
118
169
  handle: begin.handle,
119
170
  challenge: begin.challenge,
@@ -123,4 +174,14 @@ async function getPasskeyAssertion(begin, opts = {}) {
123
174
  signature: bufferToBase64Url(response.signature),
124
175
  };
125
176
  }
177
+ /**
178
+ * The ceremony's `extensions`: what the server's begin response asked for
179
+ * (when it asks for any), with the app's PRF request merged in.
180
+ */
181
+ function extensionsMember(app, server) {
182
+ const fromServer = server && typeof server === 'object' && !Array.isArray(server) ? server : undefined;
183
+ if (!app && !fromServer)
184
+ return {};
185
+ return { extensions: { ...(fromServer ?? {}), ...(app ?? {}) } };
186
+ }
126
187
  //# sourceMappingURL=passkey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"passkey.js","sourceRoot":"","sources":["../src/passkey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"passkey.js","sourceRoot":"","sources":["../src/passkey.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,12 @@ import type { FapiClient } from './fapi';
16
16
  export interface ResetAttempt {
17
17
  id: string;
18
18
  status: string;
19
+ /**
20
+ * Present when the application resets by emailed link: poll
21
+ * {@link pollPasswordReset} with it until the link is opened (perhaps on
22
+ * another device), then carry on from the new status.
23
+ */
24
+ poll_secret?: string;
19
25
  }
20
26
  export interface ResetFlowState {
21
27
  attempt: ResetAttempt | null;
@@ -39,3 +45,9 @@ export declare function advancePasswordReset(client: FapiClient, state: ResetFlo
39
45
  /** The step a reset flow is on — what the UI should collect next. */
40
46
  export type ResetStep = 'request' | 'collect_email_code' | 'collect_second_factor' | 'collect_new_password' | 'done' | 'unknown';
41
47
  export declare function resetStep(state: ResetFlowState): ResetStep;
48
+ /**
49
+ * Link mode: check whether the emailed reset link was opened. Resolves the
50
+ * flow at its current status (`needs_new_password` / `needs_second_factor`
51
+ * once it was); unchanged while still waiting or when the server can't say.
52
+ */
53
+ export declare function pollPasswordReset(client: FapiClient, state: ResetFlowState): Promise<ResetFlowState>;
@@ -4,6 +4,7 @@ exports.initialResetFlow = void 0;
4
4
  exports.startPasswordReset = startPasswordReset;
5
5
  exports.advancePasswordReset = advancePasswordReset;
6
6
  exports.resetStep = resetStep;
7
+ exports.pollPasswordReset = pollPasswordReset;
7
8
  exports.initialResetFlow = {
8
9
  attempt: null,
9
10
  errors: [],
@@ -77,4 +78,18 @@ function resetStep(state) {
77
78
  return 'unknown';
78
79
  }
79
80
  }
81
+ /**
82
+ * Link mode: check whether the emailed reset link was opened. Resolves the
83
+ * flow at its current status (`needs_new_password` / `needs_second_factor`
84
+ * once it was); unchanged while still waiting or when the server can't say.
85
+ */
86
+ async function pollPasswordReset(client, state) {
87
+ const attempt = state.attempt;
88
+ if (!attempt?.poll_secret)
89
+ return state;
90
+ const res = await client.get(`/v1/client/password_resets/${attempt.id}?poll_secret=${encodeURIComponent(attempt.poll_secret)}`);
91
+ if (!res.ok || !res.data)
92
+ return state;
93
+ return { ...state, attempt: { id: res.data.id, status: res.data.status, poll_secret: attempt.poll_secret } };
94
+ }
80
95
  //# sourceMappingURL=password-reset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"password-reset.js","sourceRoot":"","sources":["../src/password-reset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"password-reset.js","sourceRoot":"","sources":["../src/password-reset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { FapiClient } from './fapi';
2
+ /**
3
+ * Self-service phone numbers — a signed-in user adds, verifies (texted code),
4
+ * picks a primary and removes their OWN numbers over `/v1/client/me/phone_numbers`.
5
+ * Cookie-authenticated through the {@link FapiClient}.
6
+ *
7
+ * Adding a number from a session that has not re-authenticated recently, and
8
+ * making one primary or removing one at any time after the step-up window,
9
+ * fails with a {@link PhoneNumberRequestError} whose `code` is
10
+ * `STEP_UP_REQUIRED`. Re-authenticate (`reauthenticate()`), then retry.
11
+ */
12
+ export interface UserPhoneNumber {
13
+ object: 'phone_number';
14
+ id: string;
15
+ /** E.164. */
16
+ phone_number: string;
17
+ verified: boolean;
18
+ /** Where account SMS goes. Only a verified number can be primary. */
19
+ primary: boolean;
20
+ created_at?: number;
21
+ }
22
+ /** A refused request. `code` is the server's stable error code. */
23
+ export declare class PhoneNumberRequestError extends Error {
24
+ readonly code: string;
25
+ readonly status: number;
26
+ readonly param?: string;
27
+ readonly reason?: string;
28
+ constructor(status: number, code: string, message: string, param?: string, reason?: string);
29
+ /** True when the action needs a fresh re-authentication first. */
30
+ get needsReverification(): boolean;
31
+ }
32
+ /** The user's numbers, verified or not. */
33
+ export declare function listPhoneNumbers(client: FapiClient): Promise<UserPhoneNumber[]>;
34
+ /** Add a number (E.164, e.g. `+15551234567`); a verification code is texted to it. */
35
+ export declare function addPhoneNumber(client: FapiClient, phoneNumber: string): Promise<UserPhoneNumber>;
36
+ /** Text a fresh code to a number the user holds but has not verified. */
37
+ export declare function preparePhoneNumberVerification(client: FapiClient, id: string): Promise<UserPhoneNumber>;
38
+ /** Verify a number with the texted code. The first verified number becomes primary. */
39
+ export declare function attemptPhoneNumberVerification(client: FapiClient, id: string, code: string): Promise<UserPhoneNumber>;
40
+ /** Make a verified number primary. Needs a recent re-authentication. */
41
+ export declare function setPrimaryPhoneNumber(client: FapiClient, id: string): Promise<UserPhoneNumber>;
42
+ /** Remove a number. Needs a recent re-authentication; the last way to sign in is refused. */
43
+ export declare function removePhoneNumber(client: FapiClient, id: string): Promise<void>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PhoneNumberRequestError = void 0;
4
+ exports.listPhoneNumbers = listPhoneNumbers;
5
+ exports.addPhoneNumber = addPhoneNumber;
6
+ exports.preparePhoneNumberVerification = preparePhoneNumberVerification;
7
+ exports.attemptPhoneNumberVerification = attemptPhoneNumberVerification;
8
+ exports.setPrimaryPhoneNumber = setPrimaryPhoneNumber;
9
+ exports.removePhoneNumber = removePhoneNumber;
10
+ /** A refused request. `code` is the server's stable error code. */
11
+ class PhoneNumberRequestError extends Error {
12
+ code;
13
+ status;
14
+ param;
15
+ reason;
16
+ constructor(status, code, message, param, reason) {
17
+ super(message);
18
+ this.name = 'PhoneNumberRequestError';
19
+ this.status = status;
20
+ this.code = code;
21
+ this.param = param;
22
+ if (reason)
23
+ this.reason = reason;
24
+ }
25
+ /** True when the action needs a fresh re-authentication first. */
26
+ get needsReverification() {
27
+ return this.code === 'STEP_UP_REQUIRED';
28
+ }
29
+ }
30
+ exports.PhoneNumberRequestError = PhoneNumberRequestError;
31
+ const BASE = '/v1/client/me/phone_numbers';
32
+ async function call(client, path, init = {}) {
33
+ const res = await client.request(path, init);
34
+ if (!res.ok || !res.data) {
35
+ const first = res.errors[0];
36
+ throw new PhoneNumberRequestError(res.status, first?.code ?? 'UNKNOWN', first?.message ?? 'The request failed.', first?.param, first?.reason);
37
+ }
38
+ return res.data;
39
+ }
40
+ const json = (body) => ({ method: 'POST', body: JSON.stringify(body) });
41
+ /** The user's numbers, verified or not. */
42
+ async function listPhoneNumbers(client) {
43
+ return (await call(client, BASE, { method: 'GET' })).data ?? [];
44
+ }
45
+ /** Add a number (E.164, e.g. `+15551234567`); a verification code is texted to it. */
46
+ function addPhoneNumber(client, phoneNumber) {
47
+ return call(client, BASE, json({ phone_number: phoneNumber }));
48
+ }
49
+ /** Text a fresh code to a number the user holds but has not verified. */
50
+ function preparePhoneNumberVerification(client, id) {
51
+ return call(client, `${BASE}/${encodeURIComponent(id)}/prepare_verification`, { method: 'POST' });
52
+ }
53
+ /** Verify a number with the texted code. The first verified number becomes primary. */
54
+ function attemptPhoneNumberVerification(client, id, code) {
55
+ return call(client, `${BASE}/${encodeURIComponent(id)}/attempt_verification`, json({ code }));
56
+ }
57
+ /** Make a verified number primary. Needs a recent re-authentication. */
58
+ function setPrimaryPhoneNumber(client, id) {
59
+ return call(client, `${BASE}/${encodeURIComponent(id)}/primary`, { method: 'POST' });
60
+ }
61
+ /** Remove a number. Needs a recent re-authentication; the last way to sign in is refused. */
62
+ async function removePhoneNumber(client, id) {
63
+ await call(client, `${BASE}/${encodeURIComponent(id)}`, { method: 'DELETE' });
64
+ }
65
+ //# sourceMappingURL=phone-numbers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone-numbers.js","sourceRoot":"","sources":["../src/phone-numbers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { FapiClient } from './fapi';
2
+ import type { FieldError } from './attempt';
3
+ /**
4
+ * Update the signed-in user's own profile (`PATCH /v1/client/me`). `traits`
5
+ * sets identity traits the application marked user-editable — each is typed
6
+ * and checked by the server against the trait schema (a refused value comes
7
+ * back as an error whose `param` is `traits.<key>`); `null` removes an optional
8
+ * one. Cookie-authenticated through the {@link FapiClient}.
9
+ */
10
+ export interface ProfileUpdate {
11
+ firstName?: string;
12
+ lastName?: string;
13
+ username?: string;
14
+ locale?: string;
15
+ unsafeMetadata?: Record<string, unknown>;
16
+ traits?: Record<string, unknown>;
17
+ }
18
+ export declare function updateProfile(client: FapiClient, update: ProfileUpdate): Promise<{
19
+ ok: true;
20
+ user: Record<string, unknown>;
21
+ } | {
22
+ ok: false;
23
+ errors: FieldError[];
24
+ }>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateProfile = updateProfile;
4
+ async function updateProfile(client, update) {
5
+ const body = {};
6
+ if (update.firstName !== undefined)
7
+ body.first_name = update.firstName;
8
+ if (update.lastName !== undefined)
9
+ body.last_name = update.lastName;
10
+ if (update.username !== undefined)
11
+ body.username = update.username;
12
+ if (update.locale !== undefined)
13
+ body.locale = update.locale;
14
+ if (update.unsafeMetadata !== undefined)
15
+ body.unsafe_metadata = update.unsafeMetadata;
16
+ if (update.traits !== undefined)
17
+ body.traits = update.traits;
18
+ const response = await client.request('/v1/client/me', {
19
+ method: 'PATCH',
20
+ body: JSON.stringify(body),
21
+ });
22
+ return response.ok && response.data ? { ok: true, user: response.data } : { ok: false, errors: response.errors };
23
+ }
24
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":";;AAmBA,sCAgBC;AAhBM,KAAK,UAAU,aAAa,CACjC,MAAkB,EAClB,MAAqB;IAErB,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;IACvE,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpE,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACnE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7D,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS;QAAE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC;IACtF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAA0B,eAAe,EAAE;QAC9E,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AACnH,CAAC"}
@@ -116,7 +116,7 @@ function found(source, code, clickId, anonId, at) {
116
116
  }
117
117
  /** Each known source: where its script or cookie keeps the referral. */
118
118
  const READERS = {
119
- // Referally's aff.js: aff.getReferral() → {code, clickId, anonId, ts}.
119
+ // Referalli's aff.js: aff.getReferral() → {code, clickId, anonId, ts}.
120
120
  referally: ({ win }) => {
121
121
  const aff = prop(win, 'aff');
122
122
  const r = call(prop(aff, 'getReferral'), aff);
@@ -8,7 +8,7 @@
8
8
  * mixing fields across sources:
9
9
  * 1. the app's own reader (`referralSource`), for any referral program;
10
10
  * 2. a referral program's script on the page, among the instance's
11
- * `browser_sources` (Referally's `aff.getReferral()`, Rewardful, Tolt,
11
+ * `browser_sources` (Referalli's `aff.getReferral()`, Rewardful, Tolt,
12
12
  * PromoteKit; see ./referral-detect);
13
13
  * 3. explicit `ref_*` parameters (`ref`, `ref_click_id`, `ref_anon_id`,
14
14
  * `ref_consent`, `ref_captured_at`) on the page URL;
package/dist/referral.js CHANGED
@@ -9,7 +9,7 @@
9
9
  * mixing fields across sources:
10
10
  * 1. the app's own reader (`referralSource`), for any referral program;
11
11
  * 2. a referral program's script on the page, among the instance's
12
- * `browser_sources` (Referally's `aff.getReferral()`, Rewardful, Tolt,
12
+ * `browser_sources` (Referalli's `aff.getReferral()`, Rewardful, Tolt,
13
13
  * PromoteKit; see ./referral-detect);
14
14
  * 3. explicit `ref_*` parameters (`ref`, `ref_click_id`, `ref_anon_id`,
15
15
  * `ref_consent`, `ref_captured_at`) on the page URL;
@@ -397,6 +397,7 @@ function captureReferral(config, page, appConsent, customSource) {
397
397
  /** The FAPI POST paths that take `referral`: every sign-in / sign-up start and the steps that continue one. */
398
398
  const REFERRAL_EXACT = new Set([
399
399
  '/v1/client/sign_ups',
400
+ '/v1/client/sign_ups/passkey',
400
401
  '/v1/client/sign_ins',
401
402
  '/v1/client/sign_ins/oauth',
402
403
  '/v1/client/sign_ins/sso',
@@ -415,7 +416,7 @@ const REFERRAL_EXACT = new Set([
415
416
  '/v1/oauth/siwf/nonce',
416
417
  '/v1/oauth/siwf/verify',
417
418
  ]);
418
- const REFERRAL_STEP = /^\/v1\/client\/(sign_ins\/[^/]+\/(prepare_first_factor|attempt_first_factor)|sign_ups\/[^/]+\/(prepare_verification|attempt_verification))$/;
419
+ const REFERRAL_STEP = /^\/v1\/client\/(sign_ins\/[^/]+\/(prepare_first_factor|attempt_first_factor)|sign_ups\/[^/]+\/(prepare_verification|attempt_verification|passkey\/finish))$/;
419
420
  /** Whether a FAPI POST path starts or continues a sign-in / sign-up (and so takes `referral`). */
420
421
  function acceptsReferral(path) {
421
422
  const p = path.split('?')[0] ?? path;
@@ -1 +1 @@
1
- {"version":3,"file":"referral.js","sourceRoot":"","sources":["../src/referral.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;;;AAoGH,sCAIC;AAMD,gDA8BC;AAGD,wDAaC;AAGD,4CAwBC;AAGD,oCAQC;AAiBD,kDAgCC;AAGD,0CAOC;AASD,wDAyBC;AAwBD,gDAiBC;AAGD,gEAqBC;AAqCD,0CAsCC;AA0BD,0CAGC;AAqBD,0DAKC;AAaD,4DAEC;AAGD,0DAEC;AAKD,kDAEC;AAOD,gDAGC;AAGD,oDAKC;AAUD,gDAiBC;AA6BD,0CA0BC;AAOD,8DAUC;AA8BD,wCAiCC;AAGD,gDAWC;AAyCD,wBAEC;AAGD,wBAEC;AAkBD,gDA+BC;AA9xBD,uDAQ2B;AAI3B,4GAA4G;AAC5G,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AA6DjF,yFAAyF;AACzF,MAAM,eAAe,GAAG,CAAC,WAAW,CAAC,CAAC;AAEzB,QAAA,wBAAwB,GAA6B,MAAM,CAAC,MAAM,CAAC;IAC9E,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,EAAc;IACvB,eAAe,EAAE,MAAM;IACvB,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,WAAW;IAC5B,uBAAuB,EAAE,WAAW;IACpC,wBAAwB,EAAE,SAAS;IACnC,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,KAAK;CACvB,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,uBAAuB,CAAC;AACtC,MAAM,KAAK,GAAG,wBAAwB,CAAC;AACvC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAE7C,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAgC,EAAE,CAC5D,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpD,6DAA6D;AAC7D,SAAgB,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,IAAa;IAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,GAAG,gCAAwB,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC/G,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAC1C,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAChG,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAChD,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACnH,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;IACzB,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO;QACP,eAAe,EACb,OAAO,GAAG,CAAC,gBAAgB,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM;QAC5H,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QACzD,aAAa,EACX,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;QAC5G,eAAe,EACb,OAAO,GAAG,CAAC,gBAAgB,KAAK,QAAQ,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW;QACvG,uBAAuB,EACrB,OAAO,GAAG,CAAC,yBAAyB,KAAK,QAAQ,IAAI,GAAG,CAAC,yBAAyB;YAChF,CAAC,CAAC,GAAG,CAAC,yBAAyB;YAC/B,CAAC,CAAC,IAAI;QACV,wBAAwB,EAAE,GAAG,CAAC,0BAA0B,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC5F,aAAa,EACX,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5H,CAAC,CAAC,GAAG,CAAC,eAAe;YACrB,CAAC,CAAC,IAAI;QACV,eAAe,EAAE,GAAG,CAAC,iBAAiB,KAAK,IAAI;KAChD,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,SAAgB,sBAAsB,CAAC,MAAiC,EAAE,MAAyB;IACjG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,KAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+GAA+G;AAC/G,SAAgB,gBAAgB,CAAC,QAA2B,EAAE,IAAa;IACzE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,CAAC,CAA4B,EAAE,EAAE;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,QAAQ;QAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,EAAE,CAAC;YACnH,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,IAAI,CAAC;gBACH,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,SAAgB,YAAY,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1E,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAWD;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,KAAgC,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;IAC5F,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAkC,EAAE;QACzD,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAY,CAAC;YACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC;QAC/C,MAAM,GAAG,GAAyB;YAChC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAC7B,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC;YACnD,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;SACjD,CAAC;QACF,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE;YAAE,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED,iEAAiE;AACjE,SAAgB,eAAe,CAAC,OAAkC,EAAE,IAAY;IAC9E,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,sBAAsB,CACpC,MAA2E,EAC3E,WAAoB,EACpB,UAAuC;IAEvC,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAE,WAAqC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACpI,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACxC,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,uBAAuB;YAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC1G,OAAO,CAAC,KAAK,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,QAAQ,GAAY,UAAU,CAAC;IACnC,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC;AACrD,CAAC;AAoBD,8GAA8G;AAC9G,MAAM,gBAAgB,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;AAE3F,iGAAiG;AACjG,SAAgB,kBAAkB,CAAC,GAAY;IAC7C,IAAI,CAAU,CAAC;IACf,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAE,GAAiC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QACpH,CAAC,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAE,GAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,GAAG,GAAyB;QAChC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3B,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC;QAC/C,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC;KAC7C,CAAC;IACF,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,EAAE;QAAE,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;IAC5B,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC;AAED,sGAAsG;AACtG,SAAgB,0BAA0B,CACxC,MAAiC;IAEjC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,KAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC;IACvD,MAAM,GAAG,GAAuD;QAC9D,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/C,cAAc,EAAE,OAAO;KACxB,CAAC;IACF,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACtD,IAAI,EAAE;QAAE,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;IAC5B,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC;AAED,0GAA0G;AAC1G,SAAS,SAAS,CAChB,MAA4B,EAC5B,OAA+C,EAC/C,UAAkB,EAClB,IAAY;IAEZ,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC;IAChC,MAAM,GAAG,GAAoB;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACrC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QACnC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;QACzC,WAAW,EAAE,MAAM,CAAC,UAAU,IAAI,UAAU;QAC5C,MAAM,EAAE,IAAI;QACZ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjD,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED,oGAAoG;AACpG,SAAS,UAAU,CAAC,IAAkB;IACpC,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC;IAC5C,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,MAAsB,EACtB,IAAkB,EAClB,UAA4B,EAC5B,YAAmC;IAEnC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,OAAqD,CAAC;IAC1D,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,CAAC,OAAO,KAAK,IAAA,+BAAa,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE;QACxF,QAAQ,EAAE,MAAM,CAAC,eAAe;QAChC,UAAU;KACX,CAAC,CAAC,CAAC;IACN,MAAM,YAAY,GAAG,CAAC,CAA0B,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC;IAClD,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAElD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAA,gCAAc,EAAC,YAAY,CAAC,CAAC,CAAC;IAC1D,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAA,sCAAoB,EAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACvH,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,IAAI;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACpH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtH,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,OAAO,YAAY,CAAC,IAAA,sCAAoB,EAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,+GAA+G;AAC/G,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,qBAAqB;IACrB,qBAAqB;IACrB,2BAA2B;IAC3B,yBAAyB;IACzB,0BAA0B;IAC1B,+BAA+B;IAC/B,8BAA8B;IAC9B,oCAAoC;IACpC,kCAAkC;IAClC,0BAA0B;IAC1B,oCAAoC;IACpC,oBAAoB;IACpB,sBAAsB;IACtB,uBAAuB;IACvB,sBAAsB;IACtB,uBAAuB;IACvB,sBAAsB;IACtB,uBAAuB;CACxB,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,6IAA6I,CAAC;AAEpK,kGAAkG;AAClG,SAAgB,eAAe,CAAC,IAAY;IAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACrC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AASD,MAAM,OAAO,GAAG,GAAyB,EAAE,CACzC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,MAAmC,CAAC;AAE9E,2FAA2F;AAC3F,MAAM,eAAe,GAAa,EAAE,CAAC;AACrC,IAAI,SAAS,GAAkB,IAAI,CAAC;AAEpC;;;;GAIG;AACH,SAAgB,uBAAuB;IACrC,MAAM,MAAM,GAAG,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO;IACxD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,SAAS,KAAK,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACzC,CAAC;AACD,uBAAuB,EAAE,CAAC;AAC1B,iGAAiG;AACjG,IAAI,OAAO,EAAE;IAAE,IAAA,qCAAmB,EAAC,OAAO,EAAE,CAAC,CAAC;AAE9C,IAAI,WAAW,GAA2B,EAAE,CAAC;AAE7C;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,OAA+B;IACtE,WAAW,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED,uEAAuE;AACvE,SAAgB,uBAAuB;IACrC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;AAE3D,+FAA+F;AAC/F,SAAgB,mBAAmB,CAAC,OAAkC,EAAE,cAAsB;IAC5F,OAAO,GAAG,OAAO,IAAI,EAAE,IAAI,cAAc,EAAE,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,eAAwB;IAC3E,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC;QAAE,OAAO;IAC5E,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,+EAA+E;AAC/E,SAAgB,oBAAoB;IAClC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,SAAS,GAAG,IAAI,CAAC;IACjB,WAAW,GAAG,EAAE,CAAC;AACnB,CAAC;AASD,kGAAkG;AAClG,SAAgB,kBAAkB,CAAC,MAAsB;IACvD,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpC,4EAA4E;QAC5E,oBAAoB;QACpB,MAAM,MAAM,GAAG,GAAmB,EAAE;YAClC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO;gBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtD,OAAO,EAAE,GAAG,gCAAwB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACxD,CAAC,CAAC;QACF,OAAO,GAAG,MAAM;aACb,GAAG,CAAU,wBAAwB,CAAC;aACtC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aAC3D,KAAK,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,MAAsB;IACzC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACpC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM;QACvB,eAAe,CAAC,MAAM,GAAG,CAAC;QAC1B,IAAA,gCAAc,EAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,KAAK,IAAI;QAChE,IAAA,sCAAoB,EAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,0CAAwB,CAAC,KAAK,IAAI,CACzG,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAsB;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC;IACnC,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ;QAC9C,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,WAAW,CAAC,eAAe;QACnE,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,WAAW,CAAC,cAAc;KACjE,CAAC;AACJ,CAAC;AAED,0GAA0G;AACnG,KAAK,UAAU,eAAe,CAAC,MAAsB;IAC1D,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACjC,IAAA,qCAAmB,EAAC,GAAG,CAAC,CAAC;QACzB,OAAO,eAAe,CACpB,MAAM,EACN;YACE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC;YACvC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI;YACrC,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI;YACxB,UAAU,EAAE,SAAS,IAAI,SAAS;SACnC,EACD,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,cAAc,CACvB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,yBAAyB,CAAC,MAAsB;IACpE,IAAI,CAAC,OAAO,EAAE,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACpG,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,wBAAwB,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAwBD;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,UAAmC,EAAE;IAClE,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAC,QAAQ,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IACpF,IAAI,CAAC;QACH,MAAM,MAAM,GAAmB,OAAO,CAAC,MAAM,EAAE,OAAO;YACpD,CAAC,CAAC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAC,EAAE,GAAG,gCAAwB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,0CAAwB,CAAC,EAAE,CAAC;QAC7H,IAAA,qCAAmB,EAAC,GAAG,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,eAAe,CACzB,MAAM,EACN;YACE,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,eAAe,CAAC;YAC1D,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI;YACrC,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI;YACxB,UAAU,EAAE,SAAS,IAAI,SAAS;SACnC,EACD,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,eAAe,EAC9C,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,cAAc,CAC7C,CAAC;QACF,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,IAAI,GAAG,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,IAAI,GAAG,CAAC,QAAQ;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,IAAI,GAAG,CAAC,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/C,IAAI,GAAG,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,IAAI,GAAG,CAAC,UAAU;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,2GAA2G;AAC3G,SAAgB,kBAAkB,CAAC,GAAW,EAAE,UAAmC,EAAE;IACnF,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC;IAC/B,IAAI,CAAM,CAAC;IACX,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM;QAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAiBD,SAAS,SAAS,CAAC,IAA2B,EAAE,OAA8B;IAC5E,IAAI,OAAO,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,WAAW,EAAE,CAAC;IAClH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,WAAW;QAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACjF,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,EAAE,CAAC,IAA2B,EAAE,OAA8B;IACrE,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK;QAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,MAAM,CAAC,OAA8B;IACnD,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,kDAAkD;AAClD,SAAgB,MAAM,CAAC,OAA8B;IACnD,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAYD;;;;;GAKG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAyE,EACzE,IAAY,EACZ,UAA4D,EAAE;IAE9D,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC;IAC7E,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjF,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE;YAC5E,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAY,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpE,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,CAAC,OAAO,IAAI,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvG,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"referral.js","sourceRoot":"","sources":["../src/referral.ts"],"names":[],"mappings":"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"}