@iann29/rastro 0.10.8 → 0.11.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/README.md +8 -0
- package/agent/integration.md +45 -0
- package/agent/manifest.json +4 -4
- package/dist/client/federation.d.ts +82 -9
- package/dist/client/federation.d.ts.map +1 -1
- package/dist/client/federation.js +40 -2
- package/dist/client/federation.js.map +1 -1
- package/dist/client/index.d.ts +464 -8
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +259 -7
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +10 -0
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +273 -21
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/_generated/server.d.ts +2 -0
- package/dist/component/_generated/server.d.ts.map +1 -1
- package/dist/component/_generated/server.js.map +1 -1
- package/dist/component/constants.d.ts +31 -0
- package/dist/component/constants.d.ts.map +1 -1
- package/dist/component/constants.js +31 -0
- package/dist/component/constants.js.map +1 -1
- package/dist/component/convex.config.d.ts +2 -0
- package/dist/component/convex.config.js +7 -0
- package/dist/component/convex.config.js.map +1 -1
- package/dist/component/errors.d.ts +1 -1
- package/dist/component/errors.d.ts.map +1 -1
- package/dist/component/errors.js.map +1 -1
- package/dist/component/http.d.ts.map +1 -1
- package/dist/component/http.js +64 -0
- package/dist/component/http.js.map +1 -1
- package/dist/component/leadAdsValidators.d.ts +1092 -0
- package/dist/component/leadAdsValidators.d.ts.map +1 -0
- package/dist/component/leadAdsValidators.js +304 -0
- package/dist/component/leadAdsValidators.js.map +1 -0
- package/dist/component/leadFormRules.d.ts +60 -0
- package/dist/component/leadFormRules.d.ts.map +1 -0
- package/dist/component/leadFormRules.js +140 -0
- package/dist/component/leadFormRules.js.map +1 -0
- package/dist/component/leadFormStore.d.ts +16 -0
- package/dist/component/leadFormStore.d.ts.map +1 -0
- package/dist/component/leadFormStore.js +92 -0
- package/dist/component/leadFormStore.js.map +1 -0
- package/dist/component/leadgenToken.d.ts +56 -0
- package/dist/component/leadgenToken.d.ts.map +1 -0
- package/dist/component/leadgenToken.js +262 -0
- package/dist/component/leadgenToken.js.map +1 -0
- package/dist/component/leads.d.ts +76 -7
- package/dist/component/leads.d.ts.map +1 -1
- package/dist/component/leads.js +112 -78
- package/dist/component/leads.js.map +1 -1
- package/dist/component/meta.d.ts.map +1 -1
- package/dist/component/meta.js +21 -1
- package/dist/component/meta.js.map +1 -1
- package/dist/component/metaCapi.d.ts.map +1 -1
- package/dist/component/metaCapi.js +10 -0
- package/dist/component/metaCapi.js.map +1 -1
- package/dist/component/metaFake.d.ts +44 -0
- package/dist/component/metaFake.d.ts.map +1 -1
- package/dist/component/metaFake.js +400 -1
- package/dist/component/metaFake.js.map +1 -1
- package/dist/component/metaGraph.d.ts +91 -0
- package/dist/component/metaGraph.d.ts.map +1 -1
- package/dist/component/metaGraph.js +217 -0
- package/dist/component/metaGraph.js.map +1 -1
- package/dist/component/metaLeads.d.ts +681 -0
- package/dist/component/metaLeads.d.ts.map +1 -0
- package/dist/component/metaLeads.js +2634 -0
- package/dist/component/metaLeads.js.map +1 -0
- package/dist/component/schema.d.ts +414 -5
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +169 -1
- package/dist/component/schema.js.map +1 -1
- package/dist/component/validators.d.ts +235 -11
- package/dist/component/validators.d.ts.map +1 -1
- package/dist/component/validators.js +14 -1
- package/dist/component/validators.js.map +1 -1
- package/dist/tracker/generated.d.ts +1 -1
- package/dist/tracker/generated.js +1 -1
- package/dist/ui/campaigns/CampaignsView.d.ts +5 -1
- package/dist/ui/campaigns/CampaignsView.d.ts.map +1 -1
- package/dist/ui/campaigns/CampaignsView.js.map +1 -1
- package/dist/ui/campaigns/Drawer.d.ts.map +1 -1
- package/dist/ui/campaigns/Drawer.js +8 -26
- package/dist/ui/campaigns/Drawer.js.map +1 -1
- package/dist/ui/campaigns/labels.d.ts +29 -1
- package/dist/ui/campaigns/labels.d.ts.map +1 -1
- package/dist/ui/campaigns/labels.js +77 -2
- package/dist/ui/campaigns/labels.js.map +1 -1
- package/dist/ui/campaigns/model.js +2 -2
- package/dist/ui/campaigns/model.js.map +1 -1
- package/dist/ui/forms/FirstContact.d.ts +19 -0
- package/dist/ui/forms/FirstContact.d.ts.map +1 -0
- package/dist/ui/forms/FirstContact.js +81 -0
- package/dist/ui/forms/FirstContact.js.map +1 -0
- package/dist/ui/forms/FormLead.d.ts +28 -0
- package/dist/ui/forms/FormLead.d.ts.map +1 -0
- package/dist/ui/forms/FormLead.js +199 -0
- package/dist/ui/forms/FormLead.js.map +1 -0
- package/dist/ui/forms/FormRulesDrawer.d.ts +49 -0
- package/dist/ui/forms/FormRulesDrawer.d.ts.map +1 -0
- package/dist/ui/forms/FormRulesDrawer.js +149 -0
- package/dist/ui/forms/FormRulesDrawer.js.map +1 -0
- package/dist/ui/forms/FormsView.d.ts +10 -0
- package/dist/ui/forms/FormsView.d.ts.map +1 -0
- package/dist/ui/forms/FormsView.js +215 -0
- package/dist/ui/forms/FormsView.js.map +1 -0
- package/dist/ui/forms/Icons.d.ts +46 -0
- package/dist/ui/forms/Icons.d.ts.map +1 -0
- package/dist/ui/forms/Icons.js +45 -0
- package/dist/ui/forms/Icons.js.map +1 -0
- package/dist/ui/forms/RuleRow.d.ts +37 -0
- package/dist/ui/forms/RuleRow.d.ts.map +1 -0
- package/dist/ui/forms/RuleRow.js +80 -0
- package/dist/ui/forms/RuleRow.js.map +1 -0
- package/dist/ui/forms/WhatsAppButtonGuide.d.ts +33 -0
- package/dist/ui/forms/WhatsAppButtonGuide.d.ts.map +1 -0
- package/dist/ui/forms/WhatsAppButtonGuide.js +90 -0
- package/dist/ui/forms/WhatsAppButtonGuide.js.map +1 -0
- package/dist/ui/forms/index.d.ts +11 -0
- package/dist/ui/forms/index.d.ts.map +1 -0
- package/dist/ui/forms/index.js +7 -0
- package/dist/ui/forms/index.js.map +1 -0
- package/dist/ui/forms/journey.d.ts +19 -0
- package/dist/ui/forms/journey.d.ts.map +1 -0
- package/dist/ui/forms/journey.js +54 -0
- package/dist/ui/forms/journey.js.map +1 -0
- package/dist/ui/forms/model.d.ts +239 -0
- package/dist/ui/forms/model.d.ts.map +1 -0
- package/dist/ui/forms/model.js +556 -0
- package/dist/ui/forms/model.js.map +1 -0
- package/dist/ui/forms/sample.d.ts +36 -0
- package/dist/ui/forms/sample.d.ts.map +1 -0
- package/dist/ui/forms/sample.js +444 -0
- package/dist/ui/forms/sample.js.map +1 -0
- package/dist/ui/forms/types.d.ts +454 -0
- package/dist/ui/forms/types.d.ts.map +1 -0
- package/dist/ui/forms/types.js +2 -0
- package/dist/ui/forms/types.js.map +1 -0
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +4 -0
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/integrations/Overlay.d.ts +3 -1
- package/dist/ui/integrations/Overlay.d.ts.map +1 -1
- package/dist/ui/integrations/Overlay.js +2 -2
- package/dist/ui/integrations/Overlay.js.map +1 -1
- package/dist/ui/portfolio/PortfolioView.d.ts +4 -1
- package/dist/ui/portfolio/PortfolioView.d.ts.map +1 -1
- package/dist/ui/portfolio/PortfolioView.js.map +1 -1
- package/dist/ui/sample.d.ts +3 -1
- package/dist/ui/sample.d.ts.map +1 -1
- package/dist/ui/sample.js +2 -0
- package/dist/ui/sample.js.map +1 -1
- package/dist/ui/seed.d.ts +1 -1
- package/dist/ui/ui.css +2301 -0
- package/docs/federation.md +19 -0
- package/docs/meta-ads.md +713 -7
- package/docs/upgrading.md +75 -0
- package/llms.txt +1 -0
- package/package.json +1 -1
- package/src/component/_generated/api.ts +10 -0
- package/src/component/_generated/component.ts +289 -20
- package/src/component/_generated/server.ts +2 -0
- package/src/component/constants.ts +33 -0
- package/src/component/convex.config.ts +7 -0
- package/src/component/errors.ts +3 -1
- package/src/component/http.ts +75 -0
- package/src/component/leadAdsValidators.ts +365 -0
- package/src/component/leadFormRules.ts +202 -0
- package/src/component/leadFormStore.ts +129 -0
- package/src/component/leadgenToken.ts +348 -0
- package/src/component/leads.ts +136 -84
- package/src/component/meta.ts +21 -1
- package/src/component/metaCapi.ts +13 -1
- package/src/component/metaFake.ts +485 -1
- package/src/component/metaGraph.ts +327 -0
- package/src/component/metaLeads.ts +3101 -0
- package/src/component/schema.ts +187 -1
- package/src/component/validators.ts +17 -1
- package/src/tracker/generated.ts +1 -1
|
@@ -1186,12 +1186,16 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
1186
1186
|
sourceUrl?: string | undefined;
|
|
1187
1187
|
title?: string | undefined;
|
|
1188
1188
|
} | undefined;
|
|
1189
|
-
channel: "whatsapp";
|
|
1189
|
+
channel: "form" | "whatsapp";
|
|
1190
1190
|
column?: string | undefined;
|
|
1191
1191
|
columnAt?: number | undefined;
|
|
1192
1192
|
dayStart: number;
|
|
1193
1193
|
entryPoint?: string | undefined;
|
|
1194
1194
|
firstAt: number;
|
|
1195
|
+
form?: {
|
|
1196
|
+
formId: string;
|
|
1197
|
+
pageId: string;
|
|
1198
|
+
} | undefined;
|
|
1195
1199
|
label?: string | undefined;
|
|
1196
1200
|
leadKey: string;
|
|
1197
1201
|
originKey: string;
|
|
@@ -1206,7 +1210,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
1206
1210
|
}, {
|
|
1207
1211
|
siteId: import("convex/values").VId<import("convex/values").GenericId<"sites">, "required">;
|
|
1208
1212
|
leadKey: import("convex/values").VString<string, "required">;
|
|
1209
|
-
channel: import("convex/values").VLiteral<"whatsapp", "required">;
|
|
1213
|
+
channel: import("convex/values").VUnion<"form" | "whatsapp", [import("convex/values").VLiteral<"whatsapp", "required">, import("convex/values").VLiteral<"form", "required">], "required", never>;
|
|
1210
1214
|
entryPoint: import("convex/values").VString<string | undefined, "optional">;
|
|
1211
1215
|
originKey: import("convex/values").VString<string, "required">;
|
|
1212
1216
|
ad: import("convex/values").VObject<{
|
|
@@ -1233,8 +1237,15 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
1233
1237
|
wonAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
1234
1238
|
column: import("convex/values").VString<string | undefined, "optional">;
|
|
1235
1239
|
columnAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
1240
|
+
form: import("convex/values").VObject<{
|
|
1241
|
+
formId: string;
|
|
1242
|
+
pageId: string;
|
|
1243
|
+
} | undefined, {
|
|
1244
|
+
formId: import("convex/values").VString<string, "required">;
|
|
1245
|
+
pageId: import("convex/values").VString<string, "required">;
|
|
1246
|
+
}, "optional", "formId" | "pageId">;
|
|
1236
1247
|
updatedAt: import("convex/values").VFloat64<number, "required">;
|
|
1237
|
-
}, "required", "ad" | "ad.adId" | "ad.ctwaClid" | "ad.sourceApp" | "ad.sourceUrl" | "ad.title" | "channel" | "column" | "columnAt" | "dayStart" | "entryPoint" | "firstAt" | "label" | "leadKey" | "originKey" | "qualifiedAt" | "revenueCents" | "siteId" | "stage" | "stageAt" | "updatedAt" | "visitorId" | "wonAt">, {
|
|
1248
|
+
}, "required", "ad" | "ad.adId" | "ad.ctwaClid" | "ad.sourceApp" | "ad.sourceUrl" | "ad.title" | "channel" | "column" | "columnAt" | "dayStart" | "entryPoint" | "firstAt" | "form" | "form.formId" | "form.pageId" | "label" | "leadKey" | "originKey" | "qualifiedAt" | "revenueCents" | "siteId" | "stage" | "stageAt" | "updatedAt" | "visitorId" | "wonAt">, {
|
|
1238
1249
|
by_siteId_and_ad_and_firstAt: ["siteId", "ad.adId", "firstAt", "_creationTime"];
|
|
1239
1250
|
by_siteId_and_firstAt: ["siteId", "firstAt", "_creationTime"];
|
|
1240
1251
|
by_siteId_and_leadKey: ["siteId", "leadKey", "_creationTime"];
|
|
@@ -1259,7 +1270,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
1259
1270
|
}, {}, {}>;
|
|
1260
1271
|
leadDailyRollups: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
1261
1272
|
dayStart: number;
|
|
1262
|
-
dimension: "ad" | "origin";
|
|
1273
|
+
dimension: "ad" | "form" | "origin";
|
|
1263
1274
|
key: string;
|
|
1264
1275
|
leads: number;
|
|
1265
1276
|
qualified: number;
|
|
@@ -1269,7 +1280,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
1269
1280
|
}, {
|
|
1270
1281
|
siteId: import("convex/values").VId<import("convex/values").GenericId<"sites">, "required">;
|
|
1271
1282
|
dayStart: import("convex/values").VFloat64<number, "required">;
|
|
1272
|
-
dimension: import("convex/values").VUnion<"ad" | "origin", [import("convex/values").VLiteral<"origin", "required">, import("convex/values").VLiteral<"ad", "required">], "required", never>;
|
|
1283
|
+
dimension: import("convex/values").VUnion<"ad" | "form" | "origin", [import("convex/values").VLiteral<"origin", "required">, import("convex/values").VLiteral<"ad", "required">, import("convex/values").VLiteral<"form", "required">], "required", never>;
|
|
1273
1284
|
key: import("convex/values").VString<string, "required">;
|
|
1274
1285
|
leads: import("convex/values").VFloat64<number, "required">;
|
|
1275
1286
|
qualified: import("convex/values").VFloat64<number, "required">;
|
|
@@ -1876,6 +1887,404 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
1876
1887
|
}, "required", "Lead" | "Purchase" | "QualifiedLead" | "Schedule" | "dayStart" | "shard" | "siteId">, {
|
|
1877
1888
|
by_siteId_and_dayStart_and_shard: ["siteId", "dayStart", "shard", "_creationTime"];
|
|
1878
1889
|
}, {}, {}>;
|
|
1890
|
+
metaPages: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
1891
|
+
connectionId: import("convex/values").GenericId<"metaConnections">;
|
|
1892
|
+
createdAt: number;
|
|
1893
|
+
invalidSince?: number | undefined;
|
|
1894
|
+
leadsAllowed: boolean;
|
|
1895
|
+
listed: boolean;
|
|
1896
|
+
name: string;
|
|
1897
|
+
ownerKey: string;
|
|
1898
|
+
pageId: string;
|
|
1899
|
+
tasks: string[];
|
|
1900
|
+
tokenCipher: string;
|
|
1901
|
+
tokenIv: string;
|
|
1902
|
+
updatedAt: number;
|
|
1903
|
+
}, {
|
|
1904
|
+
ownerKey: import("convex/values").VString<string, "required">;
|
|
1905
|
+
connectionId: import("convex/values").VId<import("convex/values").GenericId<"metaConnections">, "required">;
|
|
1906
|
+
pageId: import("convex/values").VString<string, "required">;
|
|
1907
|
+
name: import("convex/values").VString<string, "required">;
|
|
1908
|
+
tokenCipher: import("convex/values").VString<string, "required">;
|
|
1909
|
+
tokenIv: import("convex/values").VString<string, "required">;
|
|
1910
|
+
/** The Page tasks Meta granted the login: `ADVERTISE`, `MANAGE`… */
|
|
1911
|
+
tasks: import("convex/values").VArray<string[], import("convex/values").VString<string, "required">, "required">;
|
|
1912
|
+
/** The login was granted `leads_retrieval` for this Page. */
|
|
1913
|
+
leadsAllowed: import("convex/values").VBoolean<boolean, "required">;
|
|
1914
|
+
/** False once a new listing left the Page out; kept while linked. */
|
|
1915
|
+
listed: import("convex/values").VBoolean<boolean, "required">;
|
|
1916
|
+
/** When Meta refused the Page's token; a new listing clears it. */
|
|
1917
|
+
invalidSince: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
1918
|
+
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
1919
|
+
updatedAt: import("convex/values").VFloat64<number, "required">;
|
|
1920
|
+
}, "required", "connectionId" | "createdAt" | "invalidSince" | "leadsAllowed" | "listed" | "name" | "ownerKey" | "pageId" | "tasks" | "tokenCipher" | "tokenIv" | "updatedAt">, {
|
|
1921
|
+
by_connectionId_and_pageId: ["connectionId", "pageId", "_creationTime"];
|
|
1922
|
+
by_pageId: ["pageId", "_creationTime"];
|
|
1923
|
+
}, {}, {}>;
|
|
1924
|
+
sitePages: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
1925
|
+
connectionId: import("convex/values").GenericId<"metaConnections">;
|
|
1926
|
+
createdAt: number;
|
|
1927
|
+
failures?: number | undefined;
|
|
1928
|
+
lastError?: string | undefined;
|
|
1929
|
+
lastLeadAt?: number | undefined;
|
|
1930
|
+
lastReconcileAt?: number | undefined;
|
|
1931
|
+
name: string;
|
|
1932
|
+
nextReconcileAt: number;
|
|
1933
|
+
ownerKey: string;
|
|
1934
|
+
pageId: string;
|
|
1935
|
+
reconcileFrom: number;
|
|
1936
|
+
runId?: string | undefined;
|
|
1937
|
+
siteId: import("convex/values").GenericId<"sites">;
|
|
1938
|
+
subscribedAt?: number | undefined;
|
|
1939
|
+
subscriptionCheckedAt?: number | undefined;
|
|
1940
|
+
updatedAt: number;
|
|
1941
|
+
}, {
|
|
1942
|
+
siteId: import("convex/values").VId<import("convex/values").GenericId<"sites">, "required">;
|
|
1943
|
+
pageId: import("convex/values").VString<string, "required">;
|
|
1944
|
+
name: import("convex/values").VString<string, "required">;
|
|
1945
|
+
/** The owner whose connection (and Page token) the link reads with. */
|
|
1946
|
+
ownerKey: import("convex/values").VString<string, "required">;
|
|
1947
|
+
connectionId: import("convex/values").VId<import("convex/values").GenericId<"metaConnections">, "required">;
|
|
1948
|
+
/** When Meta confirmed the `leadgen` subscription. */
|
|
1949
|
+
subscribedAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
1950
|
+
/**
|
|
1951
|
+
* When the reconciliation last made sure the app is still subscribed to
|
|
1952
|
+
* the Page: the subscription is the Page's and the app's, shared by every
|
|
1953
|
+
* host, so another host unlinking the Page may have taken it off.
|
|
1954
|
+
*/
|
|
1955
|
+
subscriptionCheckedAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
1956
|
+
/** Leads created from here on are the link's (ms). */
|
|
1957
|
+
reconcileFrom: import("convex/values").VFloat64<number, "required">;
|
|
1958
|
+
nextReconcileAt: import("convex/values").VFloat64<number, "required">;
|
|
1959
|
+
/** The run holding the link, as in the spend sync. */
|
|
1960
|
+
runId: import("convex/values").VString<string | undefined, "optional">;
|
|
1961
|
+
lastReconcileAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
1962
|
+
lastLeadAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
1963
|
+
failures: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
1964
|
+
lastError: import("convex/values").VString<string | undefined, "optional">;
|
|
1965
|
+
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
1966
|
+
updatedAt: import("convex/values").VFloat64<number, "required">;
|
|
1967
|
+
}, "required", "connectionId" | "createdAt" | "failures" | "lastError" | "lastLeadAt" | "lastReconcileAt" | "name" | "nextReconcileAt" | "ownerKey" | "pageId" | "reconcileFrom" | "runId" | "siteId" | "subscribedAt" | "subscriptionCheckedAt" | "updatedAt">, {
|
|
1968
|
+
by_connectionId: ["connectionId", "_creationTime"];
|
|
1969
|
+
by_nextReconcileAt: ["nextReconcileAt", "_creationTime"];
|
|
1970
|
+
by_pageId: ["pageId", "_creationTime"];
|
|
1971
|
+
by_siteId: ["siteId", "_creationTime"];
|
|
1972
|
+
}, {}, {}>;
|
|
1973
|
+
metaForms: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
1974
|
+
createdTime?: number | undefined;
|
|
1975
|
+
cursor?: {
|
|
1976
|
+
linkId: import("convex/values").GenericId<"sitePages">;
|
|
1977
|
+
sec: number;
|
|
1978
|
+
} | undefined;
|
|
1979
|
+
formId: string;
|
|
1980
|
+
lastLead?: {
|
|
1981
|
+
at: number;
|
|
1982
|
+
siteId: import("convex/values").GenericId<"sites">;
|
|
1983
|
+
} | undefined;
|
|
1984
|
+
name: string;
|
|
1985
|
+
pageId: string;
|
|
1986
|
+
questions: {
|
|
1987
|
+
key: string;
|
|
1988
|
+
label: string;
|
|
1989
|
+
options?: {
|
|
1990
|
+
key: string;
|
|
1991
|
+
value: string;
|
|
1992
|
+
}[] | undefined;
|
|
1993
|
+
type: string;
|
|
1994
|
+
}[];
|
|
1995
|
+
status: string;
|
|
1996
|
+
syncedAt: number;
|
|
1997
|
+
whatsappButton?: boolean | undefined;
|
|
1998
|
+
}, {
|
|
1999
|
+
pageId: import("convex/values").VString<string, "required">;
|
|
2000
|
+
formId: import("convex/values").VString<string, "required">;
|
|
2001
|
+
name: import("convex/values").VString<string, "required">;
|
|
2002
|
+
status: import("convex/values").VString<string, "required">;
|
|
2003
|
+
questions: import("convex/values").VArray<{
|
|
2004
|
+
key: string;
|
|
2005
|
+
label: string;
|
|
2006
|
+
options?: {
|
|
2007
|
+
key: string;
|
|
2008
|
+
value: string;
|
|
2009
|
+
}[] | undefined;
|
|
2010
|
+
type: string;
|
|
2011
|
+
}[], import("convex/values").VObject<{
|
|
2012
|
+
key: string;
|
|
2013
|
+
label: string;
|
|
2014
|
+
options?: {
|
|
2015
|
+
key: string;
|
|
2016
|
+
value: string;
|
|
2017
|
+
}[] | undefined;
|
|
2018
|
+
type: string;
|
|
2019
|
+
}, {
|
|
2020
|
+
key: import("convex/values").VString<string, "required">;
|
|
2021
|
+
label: import("convex/values").VString<string, "required">;
|
|
2022
|
+
type: import("convex/values").VString<string, "required">;
|
|
2023
|
+
options: import("convex/values").VArray<{
|
|
2024
|
+
key: string;
|
|
2025
|
+
value: string;
|
|
2026
|
+
}[] | undefined, import("convex/values").VObject<{
|
|
2027
|
+
key: string;
|
|
2028
|
+
value: string;
|
|
2029
|
+
}, {
|
|
2030
|
+
key: import("convex/values").VString<string, "required">;
|
|
2031
|
+
value: import("convex/values").VString<string, "required">;
|
|
2032
|
+
}, "required", "key" | "value">, "optional">;
|
|
2033
|
+
}, "required", "key" | "label" | "options" | "type">, "required">;
|
|
2034
|
+
/** The end screen's WhatsApp button; absent when Meta does not say. */
|
|
2035
|
+
whatsappButton: import("convex/values").VBoolean<boolean | undefined, "optional">;
|
|
2036
|
+
createdTime: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
2037
|
+
syncedAt: import("convex/values").VFloat64<number, "required">;
|
|
2038
|
+
/**
|
|
2039
|
+
* How far the reconciliation read this form's leads (Meta's seconds),
|
|
2040
|
+
* for the link it read them for: a new link starts from its own time.
|
|
2041
|
+
*/
|
|
2042
|
+
cursor: import("convex/values").VObject<{
|
|
2043
|
+
linkId: import("convex/values").GenericId<"sitePages">;
|
|
2044
|
+
sec: number;
|
|
2045
|
+
} | undefined, {
|
|
2046
|
+
linkId: import("convex/values").VId<import("convex/values").GenericId<"sitePages">, "required">;
|
|
2047
|
+
sec: import("convex/values").VFloat64<number, "required">;
|
|
2048
|
+
}, "optional", "linkId" | "sec">;
|
|
2049
|
+
/** The last lead that came in from the form, for the site it fed. */
|
|
2050
|
+
lastLead: import("convex/values").VObject<{
|
|
2051
|
+
at: number;
|
|
2052
|
+
siteId: import("convex/values").GenericId<"sites">;
|
|
2053
|
+
} | undefined, {
|
|
2054
|
+
siteId: import("convex/values").VId<import("convex/values").GenericId<"sites">, "required">;
|
|
2055
|
+
at: import("convex/values").VFloat64<number, "required">;
|
|
2056
|
+
}, "optional", "at" | "siteId">;
|
|
2057
|
+
}, "required", "createdTime" | "cursor" | "cursor.linkId" | "cursor.sec" | "formId" | "lastLead" | "lastLead.at" | "lastLead.siteId" | "name" | "pageId" | "questions" | "status" | "syncedAt" | "whatsappButton">, {
|
|
2058
|
+
by_formId: ["formId", "_creationTime"];
|
|
2059
|
+
by_pageId: ["pageId", "_creationTime"];
|
|
2060
|
+
by_pageId_and_status: ["pageId", "status", "_creationTime"];
|
|
2061
|
+
}, {}, {}>;
|
|
2062
|
+
formRules: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
2063
|
+
entryColumn?: string | undefined;
|
|
2064
|
+
firstContact: {
|
|
2065
|
+
brakes?: {
|
|
2066
|
+
businessHoursOnly: boolean;
|
|
2067
|
+
maxPerHour: number;
|
|
2068
|
+
waitMinutes: number;
|
|
2069
|
+
} | undefined;
|
|
2070
|
+
mode: "automatic" | "lead_starts" | "one_click";
|
|
2071
|
+
text?: string | undefined;
|
|
2072
|
+
};
|
|
2073
|
+
formId: string;
|
|
2074
|
+
rules: {
|
|
2075
|
+
answers: string[];
|
|
2076
|
+
questionKey: string;
|
|
2077
|
+
to: {
|
|
2078
|
+
column: string;
|
|
2079
|
+
} | {
|
|
2080
|
+
discard: string;
|
|
2081
|
+
};
|
|
2082
|
+
}[];
|
|
2083
|
+
setBy?: string | undefined;
|
|
2084
|
+
signatures: string[];
|
|
2085
|
+
siteId: import("convex/values").GenericId<"sites">;
|
|
2086
|
+
updatedAt: number;
|
|
2087
|
+
whatsappButtonConfirmed?: boolean | undefined;
|
|
2088
|
+
}, {
|
|
2089
|
+
siteId: import("convex/values").VId<import("convex/values").GenericId<"sites">, "required">;
|
|
2090
|
+
formId: import("convex/values").VString<string, "required">;
|
|
2091
|
+
entryColumn: import("convex/values").VString<string | undefined, "optional">;
|
|
2092
|
+
rules: import("convex/values").VArray<{
|
|
2093
|
+
answers: string[];
|
|
2094
|
+
questionKey: string;
|
|
2095
|
+
to: {
|
|
2096
|
+
column: string;
|
|
2097
|
+
} | {
|
|
2098
|
+
discard: string;
|
|
2099
|
+
};
|
|
2100
|
+
}[], import("convex/values").VObject<{
|
|
2101
|
+
answers: string[];
|
|
2102
|
+
questionKey: string;
|
|
2103
|
+
to: {
|
|
2104
|
+
column: string;
|
|
2105
|
+
} | {
|
|
2106
|
+
discard: string;
|
|
2107
|
+
};
|
|
2108
|
+
}, {
|
|
2109
|
+
questionKey: import("convex/values").VString<string, "required">;
|
|
2110
|
+
answers: import("convex/values").VArray<string[], import("convex/values").VString<string, "required">, "required">;
|
|
2111
|
+
to: import("convex/values").VUnion<{
|
|
2112
|
+
column: string;
|
|
2113
|
+
} | {
|
|
2114
|
+
discard: string;
|
|
2115
|
+
}, [import("convex/values").VObject<{
|
|
2116
|
+
column: string;
|
|
2117
|
+
}, {
|
|
2118
|
+
column: import("convex/values").VString<string, "required">;
|
|
2119
|
+
}, "required", "column">, import("convex/values").VObject<{
|
|
2120
|
+
discard: string;
|
|
2121
|
+
}, {
|
|
2122
|
+
discard: import("convex/values").VString<string, "required">;
|
|
2123
|
+
}, "required", "discard">], "required", "column" | "discard">;
|
|
2124
|
+
}, "required", "answers" | "questionKey" | "to" | "to.column" | "to.discard">, "required">;
|
|
2125
|
+
/** Each rule's identity, for its monthly count (see leadFormRules.ts). */
|
|
2126
|
+
signatures: import("convex/values").VArray<string[], import("convex/values").VString<string, "required">, "required">;
|
|
2127
|
+
firstContact: import("convex/values").VObject<{
|
|
2128
|
+
brakes?: {
|
|
2129
|
+
businessHoursOnly: boolean;
|
|
2130
|
+
maxPerHour: number;
|
|
2131
|
+
waitMinutes: number;
|
|
2132
|
+
} | undefined;
|
|
2133
|
+
mode: "automatic" | "lead_starts" | "one_click";
|
|
2134
|
+
text?: string | undefined;
|
|
2135
|
+
}, {
|
|
2136
|
+
mode: import("convex/values").VUnion<"automatic" | "lead_starts" | "one_click", [import("convex/values").VLiteral<"lead_starts", "required">, import("convex/values").VLiteral<"one_click", "required">, import("convex/values").VLiteral<"automatic", "required">], "required", never>;
|
|
2137
|
+
text: import("convex/values").VString<string | undefined, "optional">;
|
|
2138
|
+
brakes: import("convex/values").VObject<{
|
|
2139
|
+
businessHoursOnly: boolean;
|
|
2140
|
+
maxPerHour: number;
|
|
2141
|
+
waitMinutes: number;
|
|
2142
|
+
} | undefined, {
|
|
2143
|
+
waitMinutes: import("convex/values").VFloat64<number, "required">;
|
|
2144
|
+
maxPerHour: import("convex/values").VFloat64<number, "required">;
|
|
2145
|
+
businessHoursOnly: import("convex/values").VBoolean<boolean, "required">;
|
|
2146
|
+
}, "optional", "businessHoursOnly" | "maxPerHour" | "waitMinutes">;
|
|
2147
|
+
}, "required", "brakes" | "brakes.businessHoursOnly" | "brakes.maxPerHour" | "brakes.waitMinutes" | "mode" | "text">;
|
|
2148
|
+
whatsappButtonConfirmed: import("convex/values").VBoolean<boolean | undefined, "optional">;
|
|
2149
|
+
/** The owner that saved them, when the host named one. */
|
|
2150
|
+
setBy: import("convex/values").VString<string | undefined, "optional">;
|
|
2151
|
+
updatedAt: import("convex/values").VFloat64<number, "required">;
|
|
2152
|
+
}, "required", "entryColumn" | "firstContact" | "firstContact.brakes" | "firstContact.brakes.businessHoursOnly" | "firstContact.brakes.maxPerHour" | "firstContact.brakes.waitMinutes" | "firstContact.mode" | "firstContact.text" | "formId" | "rules" | "setBy" | "signatures" | "siteId" | "updatedAt" | "whatsappButtonConfirmed">, {
|
|
2153
|
+
by_siteId_and_formId: ["siteId", "formId", "_creationTime"];
|
|
2154
|
+
}, {}, {}>;
|
|
2155
|
+
formLeads: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
2156
|
+
adId?: string | undefined;
|
|
2157
|
+
adsetId?: string | undefined;
|
|
2158
|
+
answers: {
|
|
2159
|
+
answers: string[];
|
|
2160
|
+
questionKey: string;
|
|
2161
|
+
}[];
|
|
2162
|
+
campaignId?: string | undefined;
|
|
2163
|
+
createdAt: number;
|
|
2164
|
+
decision: {
|
|
2165
|
+
column: string | null;
|
|
2166
|
+
} | {
|
|
2167
|
+
discard: string;
|
|
2168
|
+
};
|
|
2169
|
+
formId: string;
|
|
2170
|
+
isOrganic: boolean;
|
|
2171
|
+
leadId: import("convex/values").GenericId<"leads">;
|
|
2172
|
+
leadgenId: string;
|
|
2173
|
+
pageId: string;
|
|
2174
|
+
platform?: string | undefined;
|
|
2175
|
+
receivedAt: number;
|
|
2176
|
+
returned?: {
|
|
2177
|
+
at: number;
|
|
2178
|
+
reason: string;
|
|
2179
|
+
} | undefined;
|
|
2180
|
+
ruleIndex?: number | undefined;
|
|
2181
|
+
rulePath: number[];
|
|
2182
|
+
ruleSignature?: string | undefined;
|
|
2183
|
+
siteId: import("convex/values").GenericId<"sites">;
|
|
2184
|
+
}, {
|
|
2185
|
+
siteId: import("convex/values").VId<import("convex/values").GenericId<"sites">, "required">;
|
|
2186
|
+
pageId: import("convex/values").VString<string, "required">;
|
|
2187
|
+
formId: import("convex/values").VString<string, "required">;
|
|
2188
|
+
leadgenId: import("convex/values").VString<string, "required">;
|
|
2189
|
+
leadId: import("convex/values").VId<import("convex/values").GenericId<"leads">, "required">;
|
|
2190
|
+
receivedAt: import("convex/values").VFloat64<number, "required">;
|
|
2191
|
+
adId: import("convex/values").VString<string | undefined, "optional">;
|
|
2192
|
+
adsetId: import("convex/values").VString<string | undefined, "optional">;
|
|
2193
|
+
campaignId: import("convex/values").VString<string | undefined, "optional">;
|
|
2194
|
+
platform: import("convex/values").VString<string | undefined, "optional">;
|
|
2195
|
+
isOrganic: import("convex/values").VBoolean<boolean, "required">;
|
|
2196
|
+
answers: import("convex/values").VArray<{
|
|
2197
|
+
answers: string[];
|
|
2198
|
+
questionKey: string;
|
|
2199
|
+
}[], import("convex/values").VObject<{
|
|
2200
|
+
answers: string[];
|
|
2201
|
+
questionKey: string;
|
|
2202
|
+
}, {
|
|
2203
|
+
questionKey: import("convex/values").VString<string, "required">;
|
|
2204
|
+
answers: import("convex/values").VArray<string[], import("convex/values").VString<string, "required">, "required">;
|
|
2205
|
+
}, "required", "answers" | "questionKey">, "required">;
|
|
2206
|
+
decision: import("convex/values").VUnion<{
|
|
2207
|
+
column: string | null;
|
|
2208
|
+
} | {
|
|
2209
|
+
discard: string;
|
|
2210
|
+
}, [import("convex/values").VObject<{
|
|
2211
|
+
column: string | null;
|
|
2212
|
+
}, {
|
|
2213
|
+
column: import("convex/values").VUnion<string | null, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "required", never>;
|
|
2214
|
+
}, "required", "column">, import("convex/values").VObject<{
|
|
2215
|
+
discard: string;
|
|
2216
|
+
}, {
|
|
2217
|
+
discard: import("convex/values").VString<string, "required">;
|
|
2218
|
+
}, "required", "discard">], "required", "column" | "discard">;
|
|
2219
|
+
rulePath: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
|
|
2220
|
+
ruleIndex: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
2221
|
+
ruleSignature: import("convex/values").VString<string | undefined, "optional">;
|
|
2222
|
+
/** A discarded lead sent back to the funnel, and the reason it had. */
|
|
2223
|
+
returned: import("convex/values").VObject<{
|
|
2224
|
+
at: number;
|
|
2225
|
+
reason: string;
|
|
2226
|
+
} | undefined, {
|
|
2227
|
+
at: import("convex/values").VFloat64<number, "required">;
|
|
2228
|
+
reason: import("convex/values").VString<string, "required">;
|
|
2229
|
+
}, "optional", "at" | "reason">;
|
|
2230
|
+
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
2231
|
+
}, "required", "adId" | "adsetId" | "answers" | "campaignId" | "createdAt" | "decision" | "decision.column" | "decision.discard" | "formId" | "isOrganic" | "leadId" | "leadgenId" | "pageId" | "platform" | "receivedAt" | "returned" | "returned.at" | "returned.reason" | "ruleIndex" | "rulePath" | "ruleSignature" | "siteId">, {
|
|
2232
|
+
by_leadId: ["leadId", "_creationTime"];
|
|
2233
|
+
by_leadgenId: ["leadgenId", "_creationTime"];
|
|
2234
|
+
by_siteId_and_formId_and_receivedAt: ["siteId", "formId", "receivedAt", "_creationTime"];
|
|
2235
|
+
by_siteId_and_formId_and_ruleSignature_and_receivedAt: ["siteId", "formId", "ruleSignature", "receivedAt", "_creationTime"];
|
|
2236
|
+
by_siteId_and_receivedAt: ["siteId", "receivedAt", "_creationTime"];
|
|
2237
|
+
}, {}, {}>;
|
|
2238
|
+
formLeadTombstones: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
2239
|
+
leadgenId: string;
|
|
2240
|
+
removedAt: number;
|
|
2241
|
+
}, {
|
|
2242
|
+
leadgenId: import("convex/values").VString<string, "required">;
|
|
2243
|
+
removedAt: import("convex/values").VFloat64<number, "required">;
|
|
2244
|
+
}, "required", "leadgenId" | "removedAt">, {
|
|
2245
|
+
by_leadgenId: ["leadgenId", "_creationTime"];
|
|
2246
|
+
}, {}, {}>;
|
|
2247
|
+
formLeadFailures: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
2248
|
+
attempts: number;
|
|
2249
|
+
formId: string;
|
|
2250
|
+
lastAt: number;
|
|
2251
|
+
lastCode: string;
|
|
2252
|
+
leadgenId: string;
|
|
2253
|
+
pageId: string;
|
|
2254
|
+
skippedAt?: number | undefined;
|
|
2255
|
+
}, {
|
|
2256
|
+
leadgenId: import("convex/values").VString<string, "required">;
|
|
2257
|
+
pageId: import("convex/values").VString<string, "required">;
|
|
2258
|
+
formId: import("convex/values").VString<string, "required">;
|
|
2259
|
+
attempts: import("convex/values").VFloat64<number, "required">;
|
|
2260
|
+
lastCode: import("convex/values").VString<string, "required">;
|
|
2261
|
+
lastAt: import("convex/values").VFloat64<number, "required">;
|
|
2262
|
+
skippedAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
2263
|
+
}, "required", "attempts" | "formId" | "lastAt" | "lastCode" | "leadgenId" | "pageId" | "skippedAt">, {
|
|
2264
|
+
by_leadgenId: ["leadgenId", "_creationTime"];
|
|
2265
|
+
}, {}, {}>;
|
|
2266
|
+
metaFormLeadHandler: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
2267
|
+
handle: string;
|
|
2268
|
+
key: "handler";
|
|
2269
|
+
updatedAt: number;
|
|
2270
|
+
}, {
|
|
2271
|
+
key: import("convex/values").VLiteral<"handler", "required">;
|
|
2272
|
+
handle: import("convex/values").VString<string, "required">;
|
|
2273
|
+
updatedAt: import("convex/values").VFloat64<number, "required">;
|
|
2274
|
+
}, "required", "handle" | "key" | "updatedAt">, {
|
|
2275
|
+
by_key: ["key", "_creationTime"];
|
|
2276
|
+
}, {}, {}>;
|
|
2277
|
+
metaLeadsLoop: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
2278
|
+
jobId: import("convex/values").GenericId<"_scheduled_functions">;
|
|
2279
|
+
key: "loop";
|
|
2280
|
+
scheduledFor: number;
|
|
2281
|
+
}, {
|
|
2282
|
+
key: import("convex/values").VLiteral<"loop", "required">;
|
|
2283
|
+
scheduledFor: import("convex/values").VFloat64<number, "required">;
|
|
2284
|
+
jobId: import("convex/values").VId<import("convex/values").GenericId<"_scheduled_functions">, "required">;
|
|
2285
|
+
}, "required", "jobId" | "key" | "scheduledFor">, {
|
|
2286
|
+
by_key: ["key", "_creationTime"];
|
|
2287
|
+
}, {}, {}>;
|
|
1879
2288
|
}, true>;
|
|
1880
2289
|
export default _default;
|
|
1881
2290
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8gBI,oEAAoE;;QAEpE,oEAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqMpE,0EAA0E;;QAE1E,sEAAsE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA+DtE,oEAAoE;;QAEpE,6DAA6D;;QAE7D,qEAAqE;;QAErE,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAcnE,uEAAuE;;;QAGvE,sDAAsD;;QAEtD;;;;WAIG;;QAEH,sDAAsD;;;QAGtD,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqBtD,uEAAuE;;;;QAIvE;;;WAGG;;;;;;;;QAIH,qEAAqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAarE,0EAA0E;;;;;;;;;;;;;;;;;;;;;;;;QAI1E,0DAA0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAwB1D,uEAAuE"}
|