@transcend-io/cli 4.12.0 → 4.13.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 (62) hide show
  1. package/README.md +137 -14
  2. package/build/cli-request-upload.d.ts +3 -0
  3. package/build/cli-request-upload.d.ts.map +1 -0
  4. package/build/cli-request-upload.js +57 -0
  5. package/build/cli-request-upload.js.map +1 -0
  6. package/build/graphql/fetchAllAttributeKeys.d.ts +15 -0
  7. package/build/graphql/fetchAllAttributeKeys.d.ts.map +1 -0
  8. package/build/graphql/fetchAllAttributeKeys.js +32 -0
  9. package/build/graphql/fetchAllAttributeKeys.js.map +1 -0
  10. package/build/graphql/gqls/attributeKey.d.ts +2 -0
  11. package/build/graphql/gqls/attributeKey.d.ts.map +1 -0
  12. package/build/graphql/gqls/attributeKey.js +19 -0
  13. package/build/graphql/gqls/attributeKey.js.map +1 -0
  14. package/build/graphql/gqls/enricher.d.ts +10 -0
  15. package/build/graphql/gqls/enricher.d.ts.map +1 -1
  16. package/build/graphql/gqls/enricher.js +11 -1
  17. package/build/graphql/gqls/enricher.js.map +1 -1
  18. package/build/graphql/gqls/index.d.ts +1 -0
  19. package/build/graphql/gqls/index.d.ts.map +1 -1
  20. package/build/graphql/gqls/index.js +1 -0
  21. package/build/graphql/gqls/index.js.map +1 -1
  22. package/build/graphql/index.d.ts +1 -0
  23. package/build/graphql/index.d.ts.map +1 -1
  24. package/build/graphql/index.js +1 -0
  25. package/build/graphql/index.js.map +1 -1
  26. package/build/requests/constants.d.ts +32 -5
  27. package/build/requests/constants.d.ts.map +1 -1
  28. package/build/requests/constants.js +21 -3
  29. package/build/requests/constants.js.map +1 -1
  30. package/build/requests/fuzzyMatchColumns.d.ts +3 -2
  31. package/build/requests/fuzzyMatchColumns.d.ts.map +1 -1
  32. package/build/requests/fuzzyMatchColumns.js +4 -2
  33. package/build/requests/fuzzyMatchColumns.js.map +1 -1
  34. package/build/requests/index.d.ts +3 -0
  35. package/build/requests/index.d.ts.map +1 -1
  36. package/build/requests/index.js +3 -0
  37. package/build/requests/index.js.map +1 -1
  38. package/build/requests/mapColumnsToAttributes.d.ts +20 -0
  39. package/build/requests/mapColumnsToAttributes.d.ts.map +1 -0
  40. package/build/requests/mapColumnsToAttributes.js +46 -0
  41. package/build/requests/mapColumnsToAttributes.js.map +1 -0
  42. package/build/requests/mapColumnsToIdentifiers.d.ts +20 -0
  43. package/build/requests/mapColumnsToIdentifiers.d.ts.map +1 -0
  44. package/build/requests/mapColumnsToIdentifiers.js +48 -0
  45. package/build/requests/mapColumnsToIdentifiers.js.map +1 -0
  46. package/build/requests/mapCsvColumnsToApi.d.ts.map +1 -1
  47. package/build/requests/mapCsvColumnsToApi.js +1 -1
  48. package/build/requests/mapCsvColumnsToApi.js.map +1 -1
  49. package/build/requests/mapCsvRowsToRequestInputs.d.ts +25 -7
  50. package/build/requests/mapCsvRowsToRequestInputs.d.ts.map +1 -1
  51. package/build/requests/mapCsvRowsToRequestInputs.js +108 -38
  52. package/build/requests/mapCsvRowsToRequestInputs.js.map +1 -1
  53. package/build/requests/submitPrivacyRequest.d.ts +6 -4
  54. package/build/requests/submitPrivacyRequest.d.ts.map +1 -1
  55. package/build/requests/submitPrivacyRequest.js +22 -5
  56. package/build/requests/submitPrivacyRequest.js.map +1 -1
  57. package/build/requests/uploadPrivacyRequestsFromCsv.d.ts +32 -0
  58. package/build/requests/uploadPrivacyRequestsFromCsv.d.ts.map +1 -0
  59. package/build/requests/uploadPrivacyRequestsFromCsv.js +139 -0
  60. package/build/requests/uploadPrivacyRequestsFromCsv.js.map +1 -0
  61. package/build/tsbuildinfo +1 -1
  62. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/requests/constants.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA+D;AAC/D,6EAAiE;AACjE,+DAGqC;AACrC,yCAA2B;AAEd,QAAA,IAAI,GAAG,MAAM,CAAC;AAE3B;;GAEG;AACH,IAAY,UAiBX;AAjBD,WAAY,UAAU;IACpB,oCAAoC;IACpC,6BAAe,CAAA;IACf,8CAA8C;IAC9C,+CAAiC,CAAA;IACjC,0CAA0C;IAC1C,yCAA2B,CAAA;IAC3B,0CAA0C;IAC1C,yCAA2B,CAAA;IAC3B,qCAAqC;IACrC,+BAAiB,CAAA;IACjB,4CAA4C;IAC5C,6CAA+B,CAAA;IAC/B,wCAAwC;IACxC,qCAAuB,CAAA;IACvB,0CAA0C;IAC1C,yCAA2B,CAAA;AAC7B,CAAC,EAjBW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAiBrB;AAEY,QAAA,WAAW,GAAmC;IACzD,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK;IACzB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,IAAI;IACjC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI;IAC9B,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI;IAC9B,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,KAAK;IACjC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK;IAC7B,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,KAAK;IAC/B,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK;CAC3B,CAAC;AAEF,cAAc;AACD,QAAA,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,IAAA,sBAAS,EAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7D,0BAA0B,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAA,qBAAQ,EAAC,6BAAa,CAAC,CAAC;IACvE,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;IACtD,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAA,qBAAQ,EAAC,kCAAW,CAAC,CAAC;IAC3D,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAC7B,CAAC,CAAC,MAAM,EACR,IAAA,qBAAQ,EAAC,EAAE,GAAG,sCAAsB,EAAE,CAAC,YAAI,CAAC,EAAE,YAAI,EAAE,CAAC,CACtD;CACF,CAAC,CAAC;AAKU,QAAA,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,uBAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/requests/constants.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA+D;AAC/D,6EAAiE;AACjE,+DAGqC;AACrC,yCAA2B;AAEd,QAAA,IAAI,GAAG,QAAiB,CAAC;AACzB,QAAA,UAAU,GAAG,2BAAoC,CAAC;AAClD,QAAA,KAAK,GAAG,SAAkB,CAAC;AAExC;;GAEG;AACH,IAAY,UAiBX;AAjBD,WAAY,UAAU;IACpB,oCAAoC;IACpC,6BAAe,CAAA;IACf,8CAA8C;IAC9C,+CAAiC,CAAA;IACjC,0CAA0C;IAC1C,yCAA2B,CAAA;IAC3B,0CAA0C;IAC1C,yCAA2B,CAAA;IAC3B,qCAAqC;IACrC,+BAAiB,CAAA;IACjB,4CAA4C;IAC5C,6CAA+B,CAAA;IAC/B,wCAAwC;IACxC,qCAAuB,CAAA;IACvB,0CAA0C;IAC1C,yCAA2B,CAAA;AAC7B,CAAC,EAjBW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAiBrB;AAED,6DAA6D;AAChD,QAAA,WAAW,GAAmC;IACzD,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK;IACzB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,IAAI;IACjC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI;IAC9B,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI;IAC9B,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,KAAK;IACjC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK;IAC7B,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,KAAK;IAC/B,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK;CAC3B,CAAC;AAEF,yEAAyE;AAC5D,QAAA,iBAAiB,GAAoC;IAChE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI;IAC9B,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI;CAC/B,CAAC;AAEF,cAAc;AACD,QAAA,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,oGAAoG;IACpG,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,IAAA,sBAAS,EAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7D,kFAAkF;IAClF,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;IAC7C,0FAA0F;IAC1F,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;IAC5C,oEAAoE;IACpE,0BAA0B,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAA,qBAAQ,EAAC,6BAAa,CAAC,CAAC;IACvE,0FAA0F;IAC1F,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;IACtD,kEAAkE;IAClE,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAA,qBAAQ,EAAC,kCAAW,CAAC,CAAC;IAC3D,2EAA2E;IAC3E,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAC7B,CAAC,CAAC,MAAM,EACR,IAAA,qBAAQ,EAAC,EAAE,GAAG,sCAAsB,EAAE,CAAC,YAAI,CAAC,EAAE,YAAI,EAAE,CAAC,CACtD;IACD,oDAAoD;IACpD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;CACpD,CAAC,CAAC;AAKU,QAAA,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,uBAAe,CAAC,CAAC"}
@@ -13,8 +13,9 @@ export declare function fuzzySearch(word1: string, word2: string): boolean;
13
13
  *
14
14
  * @param allColumnNames - List of all column names
15
15
  * @param fuzzyMapName - The name of field being mapped to
16
- * @param isRequired - When require, don't show NONE
16
+ * @param isRequired - When true, don't include "NONE" as an option
17
+ * @param canApplyAll - When true, include an option to specify the value in bulk
17
18
  * @returns The list of suggestions for inquirer
18
19
  */
19
- export declare function fuzzyMatchColumns(allColumnNames: string[], fuzzyMapName: string, isRequired: boolean): (string | InstanceType<typeof inquirer.Separator>)[];
20
+ export declare function fuzzyMatchColumns(allColumnNames: string[], fuzzyMapName: string, isRequired: boolean, canApplyAll?: boolean): (string | InstanceType<typeof inquirer.Separator>)[];
20
21
  //# sourceMappingURL=fuzzyMatchColumns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fuzzyMatchColumns.d.ts","sourceRoot":"","sources":["../../src/requests/fuzzyMatchColumns.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAKhC;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKjE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,OAAO,GAClB,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAUtD"}
1
+ {"version":3,"file":"fuzzyMatchColumns.d.ts","sourceRoot":"","sources":["../../src/requests/fuzzyMatchColumns.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAKhC;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,OAAO,EACnB,WAAW,CAAC,EAAE,OAAO,GACpB,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAWtD"}
@@ -25,15 +25,17 @@ exports.fuzzySearch = fuzzySearch;
25
25
  *
26
26
  * @param allColumnNames - List of all column names
27
27
  * @param fuzzyMapName - The name of field being mapped to
28
- * @param isRequired - When require, don't show NONE
28
+ * @param isRequired - When true, don't include "NONE" as an option
29
+ * @param canApplyAll - When true, include an option to specify the value in bulk
29
30
  * @returns The list of suggestions for inquirer
30
31
  */
31
- function fuzzyMatchColumns(allColumnNames, fuzzyMapName, isRequired) {
32
+ function fuzzyMatchColumns(allColumnNames, fuzzyMapName, isRequired, canApplyAll) {
32
33
  const matchingColumnNames = allColumnNames.filter((x) => fuzzySearch(fuzzyMapName.toLowerCase(), x.toLowerCase()));
33
34
  return [
34
35
  ...matchingColumnNames,
35
36
  new inquirer_1.default.Separator(),
36
37
  ...(isRequired ? [] : [constants_1.NONE]),
38
+ ...(canApplyAll ? [constants_1.BULK_APPLY] : []),
37
39
  ...allColumnNames.filter((x) => !matchingColumnNames.includes(x)),
38
40
  ];
39
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fuzzyMatchColumns.js","sourceRoot":"","sources":["../../src/requests/fuzzyMatchColumns.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,2CAAmC;AAEnC,8DAAsC;AAEtC;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,KAAa,EAAE,KAAa;IACtD,OAAO,CACL,IAAA,qBAAW,EAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QACrD,IAAA,qBAAW,EAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CACtD,CAAC;AACJ,CAAC;AALD,kCAKC;AAED;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,cAAwB,EACxB,YAAoB,EACpB,UAAmB;IAEnB,MAAM,mBAAmB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CACzD,CAAC;IACF,OAAO;QACL,GAAG,mBAAmB;QACtB,IAAI,kBAAQ,CAAC,SAAS,EAAE;QACxB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAI,CAAC,CAAC;QAC7B,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAdD,8CAcC"}
1
+ {"version":3,"file":"fuzzyMatchColumns.js","sourceRoot":"","sources":["../../src/requests/fuzzyMatchColumns.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,2CAA+C;AAE/C,8DAAsC;AAEtC;;;;;;;GAOG;AACH,SAAgB,WAAW,CAAC,KAAa,EAAE,KAAa;IACtD,OAAO,CACL,IAAA,qBAAW,EAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QACrD,IAAA,qBAAW,EAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CACtD,CAAC;AACJ,CAAC;AALD,kCAKC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,cAAwB,EACxB,YAAoB,EACpB,UAAmB,EACnB,WAAqB;IAErB,MAAM,mBAAmB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CACzD,CAAC;IACF,OAAO;QACL,GAAG,mBAAmB;QACtB,IAAI,kBAAQ,CAAC,SAAS,EAAE;QACxB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAI,CAAC,CAAC;QAC7B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,sBAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAhBD,8CAgBC"}
@@ -10,4 +10,7 @@ export * from './mapCsvColumnsToApi';
10
10
  export * from './mapRequestEnumValues';
11
11
  export * from './mapCsvRowsToRequestInputs';
12
12
  export * from './submitPrivacyRequest';
13
+ export * from './mapColumnsToIdentifiers';
14
+ export * from './mapColumnsToAttributes';
15
+ export * from './uploadPrivacyRequestsFromCsv';
13
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/requests/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,WAAW,CAAC;AAC1B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/requests/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,WAAW,CAAC;AAC1B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC"}
@@ -22,4 +22,7 @@ __exportStar(require("./mapCsvColumnsToApi"), exports);
22
22
  __exportStar(require("./mapRequestEnumValues"), exports);
23
23
  __exportStar(require("./mapCsvRowsToRequestInputs"), exports);
24
24
  __exportStar(require("./submitPrivacyRequest"), exports);
25
+ __exportStar(require("./mapColumnsToIdentifiers"), exports);
26
+ __exportStar(require("./mapColumnsToAttributes"), exports);
27
+ __exportStar(require("./uploadPrivacyRequestsFromCsv"), exports);
25
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/requests/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,8CAA4B;AAC5B,kDAAgC;AAChC,mDAAiC;AACjC,8DAA4C;AAC5C,4CAA0B;AAC1B,6DAA2C;AAC3C,+CAA6B;AAC7B,uDAAqC;AACrC,yDAAuC;AACvC,8DAA4C;AAC5C,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/requests/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,8CAA4B;AAC5B,kDAAgC;AAChC,mDAAiC;AACjC,8DAA4C;AAC5C,4CAA0B;AAC1B,6DAA2C;AAC3C,+CAA6B;AAC7B,uDAAqC;AACrC,yDAAuC;AACvC,8DAA4C;AAC5C,yDAAuC;AACvC,4DAA0C;AAC1C,2DAAyC;AACzC,iEAA+C"}
@@ -0,0 +1,20 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import { CachedFileState } from './constants';
3
+ /**
4
+ * Mapping from attribute name to request input parameter
5
+ */
6
+ export declare type AttributeNameMap = {
7
+ [k in string]: string;
8
+ };
9
+ /**
10
+ * Create a mapping from the attributes names that can be included
11
+ * at request submission, to the names of the columns that map to those
12
+ * attributes.
13
+ *
14
+ * @param client - GraphQL client
15
+ * @param columnNames - The set of all column names
16
+ * @param cached - Cached state of this mapping
17
+ * @returns Mapping from attributes name to column name
18
+ */
19
+ export declare function mapColumnsToAttributes(client: GraphQLClient, columnNames: string[], cached: CachedFileState): Promise<AttributeNameMap>;
20
+ //# sourceMappingURL=mapColumnsToAttributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapColumnsToAttributes.d.ts","sourceRoot":"","sources":["../../src/requests/mapColumnsToAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C;;GAEG;AACH,oBAAY,gBAAgB,GAAG;KAC5B,CAAC,IAAI,MAAM,GAAG,MAAM;CACtB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAoC3B"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mapColumnsToAttributes = void 0;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const graphql_1 = require("../graphql");
9
+ const fuzzyMatchColumns_1 = require("./fuzzyMatchColumns");
10
+ /**
11
+ * Create a mapping from the attributes names that can be included
12
+ * at request submission, to the names of the columns that map to those
13
+ * attributes.
14
+ *
15
+ * @param client - GraphQL client
16
+ * @param columnNames - The set of all column names
17
+ * @param cached - Cached state of this mapping
18
+ * @returns Mapping from attributes name to column name
19
+ */
20
+ async function mapColumnsToAttributes(client, columnNames, cached) {
21
+ // Grab the initializer
22
+ const requestAttributeKeys = await (0, graphql_1.fetchAllRequestAttributeKeys)(client);
23
+ // Determine the columns that should be mapped
24
+ const columnQuestions = requestAttributeKeys.filter(({ name }) => !cached.attributeNames[name]);
25
+ // Skip mapping when everything is mapped
26
+ const attributeNameMap = columnQuestions.length === 0
27
+ ? {}
28
+ : // prompt questions to map columns
29
+ await inquirer_1.default.prompt(columnQuestions.map(({ name }) => {
30
+ const matches = (0, fuzzyMatchColumns_1.fuzzyMatchColumns)(columnNames, name, false);
31
+ return {
32
+ name,
33
+ message: `Choose the column that will be used to map in the attribute: ${name}`,
34
+ type: 'list',
35
+ default: matches[0],
36
+ choices: matches,
37
+ };
38
+ }));
39
+ Object.entries(attributeNameMap).forEach(([k, v]) => {
40
+ // eslint-disable-next-line no-param-reassign
41
+ cached.attributeNames[k] = v;
42
+ });
43
+ return attributeNameMap;
44
+ }
45
+ exports.mapColumnsToAttributes = mapColumnsToAttributes;
46
+ //# sourceMappingURL=mapColumnsToAttributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapColumnsToAttributes.js","sourceRoot":"","sources":["../../src/requests/mapColumnsToAttributes.ts"],"names":[],"mappings":";;;;;;AACA,wDAAgC;AAChC,wCAA0D;AAE1D,2DAAwD;AASxD;;;;;;;;;GASG;AACI,KAAK,UAAU,sBAAsB,CAC1C,MAAqB,EACrB,WAAqB,EACrB,MAAuB;IAEvB,uBAAuB;IACvB,MAAM,oBAAoB,GAAG,MAAM,IAAA,sCAA4B,EAAC,MAAM,CAAC,CAAC;IAExE,8CAA8C;IAC9C,MAAM,eAAe,GAAG,oBAAoB,CAAC,MAAM,CACjD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAC3C,CAAC;IAEF,yCAAyC;IACzC,MAAM,gBAAgB,GACpB,eAAe,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,kCAAkC;YAClC,MAAM,kBAAQ,CAAC,MAAM,CAKnB,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,IAAA,qCAAiB,EAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5D,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,gEAAgE,IAAI,EAAE;oBAC/E,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBACnB,OAAO,EAAE,OAAO;iBACjB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;IACR,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAClD,6CAA6C;QAC7C,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAxCD,wDAwCC"}
@@ -0,0 +1,20 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import { CachedFileState } from './constants';
3
+ /**
4
+ * Mapping from identifier name to request input parameter
5
+ */
6
+ export declare type IdentifierNameMap = {
7
+ [k in string]: string;
8
+ };
9
+ /**
10
+ * Create a mapping from the identifier names that can be included
11
+ * at request submission, to the names of the columns that map to those
12
+ * identifiers.
13
+ *
14
+ * @param client - GraphQL client
15
+ * @param columnNames - The set of all column names
16
+ * @param cached - Cached state of this mapping
17
+ * @returns Mapping from identifier name to column name
18
+ */
19
+ export declare function mapColumnsToIdentifiers(client: GraphQLClient, columnNames: string[], cached: CachedFileState): Promise<IdentifierNameMap>;
20
+ //# sourceMappingURL=mapColumnsToIdentifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapColumnsToIdentifiers.d.ts","sourceRoot":"","sources":["../../src/requests/mapColumnsToIdentifiers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C;;GAEG;AACH,oBAAY,iBAAiB,GAAG;KAC7B,CAAC,IAAI,MAAM,GAAG,MAAM;CACtB,CAAC;AAKF;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAwC5B"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mapColumnsToIdentifiers = void 0;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const graphql_1 = require("../graphql");
9
+ const fuzzyMatchColumns_1 = require("./fuzzyMatchColumns");
10
+ /** These are uploaded at the top level of the request */
11
+ const IDENTIFIER_BLOCK_LIST = ['email', 'coreIdentifier'];
12
+ /**
13
+ * Create a mapping from the identifier names that can be included
14
+ * at request submission, to the names of the columns that map to those
15
+ * identifiers.
16
+ *
17
+ * @param client - GraphQL client
18
+ * @param columnNames - The set of all column names
19
+ * @param cached - Cached state of this mapping
20
+ * @returns Mapping from identifier name to column name
21
+ */
22
+ async function mapColumnsToIdentifiers(client, columnNames, cached) {
23
+ // Grab the initializer
24
+ const { initializer } = await (0, graphql_1.makeGraphQLRequest)(client, graphql_1.INITIALIZER);
25
+ // Determine the columns that should be mapped
26
+ const columnQuestions = initializer.identifiers.filter(({ name }) => !cached.identifierNames[name] && !IDENTIFIER_BLOCK_LIST.includes(name));
27
+ // Skip mapping when everything is mapped
28
+ const identifierNameMap = columnQuestions.length === 0
29
+ ? {}
30
+ : // prompt questions to map columns
31
+ await inquirer_1.default.prompt(columnQuestions.map(({ name }) => {
32
+ const matches = (0, fuzzyMatchColumns_1.fuzzyMatchColumns)(columnNames, name, false);
33
+ return {
34
+ name,
35
+ message: `Choose the column that will be used to map in the identifier: ${name}`,
36
+ type: 'list',
37
+ default: matches[0],
38
+ choices: matches,
39
+ };
40
+ }));
41
+ Object.entries(identifierNameMap).forEach(([k, v]) => {
42
+ // eslint-disable-next-line no-param-reassign
43
+ cached.identifierNames[k] = v;
44
+ });
45
+ return identifierNameMap;
46
+ }
47
+ exports.mapColumnsToIdentifiers = mapColumnsToIdentifiers;
48
+ //# sourceMappingURL=mapColumnsToIdentifiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapColumnsToIdentifiers.js","sourceRoot":"","sources":["../../src/requests/mapColumnsToIdentifiers.ts"],"names":[],"mappings":";;;;;;AACA,wDAAgC;AAChC,wCAA0E;AAE1E,2DAAwD;AASxD,yDAAyD;AACzD,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAE1D;;;;;;;;;GASG;AACI,KAAK,UAAU,uBAAuB,CAC3C,MAAqB,EACrB,WAAqB,EACrB,MAAuB;IAEvB,uBAAuB;IACvB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,4BAAkB,EAG7C,MAAM,EAAE,qBAAW,CAAC,CAAC;IAExB,8CAA8C;IAC9C,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CACpD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACX,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzE,CAAC;IAEF,yCAAyC;IACzC,MAAM,iBAAiB,GACrB,eAAe,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,kCAAkC;YAClC,MAAM,kBAAQ,CAAC,MAAM,CAKnB,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,IAAA,qCAAiB,EAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5D,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,iEAAiE,IAAI,EAAE;oBAChF,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBACnB,OAAO,EAAE,OAAO;iBACjB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;IACR,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACnD,6CAA6C;QAC7C,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AA5CD,0DA4CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapCsvColumnsToApi.d.ts","sourceRoot":"","sources":["../../src/requests/mapCsvColumnsToApi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAe,MAAM,aAAa,CAAC;AAGvE;;GAEG;AACH,oBAAY,aAAa,GAAG;KACzB,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,MAAM;CAC3B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,CAqCxB"}
1
+ {"version":3,"file":"mapCsvColumnsToApi.d.ts","sourceRoot":"","sources":["../../src/requests/mapCsvColumnsToApi.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EACV,eAAe,EAGhB,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,oBAAY,aAAa,GAAG;KACzB,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,MAAM;CAC3B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,CAuCxB"}
@@ -25,7 +25,7 @@ async function mapCsvColumnsToApi(columnNames, cached) {
25
25
  : // prompt questions to map columns
26
26
  await inquirer_1.default.prompt(columnQuestions.map((name) => {
27
27
  const field = (0, startCase_1.default)(name.replace('ColumnName', ''));
28
- const matches = (0, fuzzyMatchColumns_1.fuzzyMatchColumns)(columnNames, field, constants_1.IS_REQUIRED[name]);
28
+ const matches = (0, fuzzyMatchColumns_1.fuzzyMatchColumns)(columnNames, field, constants_1.IS_REQUIRED[name], !!constants_1.CAN_APPLY_IN_BULK[name]);
29
29
  return {
30
30
  name,
31
31
  message: `Choose the column that will be used to map in the field: ${field}`,
@@ -1 +1 @@
1
- {"version":3,"file":"mapCsvColumnsToApi.js","sourceRoot":"","sources":["../../src/requests/mapCsvColumnsToApi.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAiE;AACjE,wDAAgC;AAChC,iEAAyC;AACzC,2CAAuE;AACvE,2DAAwD;AASxD;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CACtC,WAAqB,EACrB,MAAuB;IAEvB,8CAA8C;IAC9C,MAAM,eAAe,GAAG,IAAA,sBAAS,EAAC,sBAAU,CAAC,CAAC,MAAM,CAClD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CACpC,CAAC;IAEF,yCAAyC;IACzC,MAAM,aAAa,GACjB,eAAe,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,kCAAkC;YAClC,MAAM,kBAAQ,CAAC,MAAM,CAKnB,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3B,MAAM,KAAK,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;gBACxD,MAAM,OAAO,GAAG,IAAA,qCAAiB,EAC/B,WAAW,EACX,KAAK,EACL,uBAAW,CAAC,IAAI,CAAC,CAClB,CAAC;gBACF,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,4DAA4D,KAAK,EAAE;oBAC5E,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBACnB,OAAO,EAAE,OAAO;iBACjB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;IACR,IAAA,uBAAU,EAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAC3C,6CAA6C;QAC7C,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC;AAxCD,gDAwCC"}
1
+ {"version":3,"file":"mapCsvColumnsToApi.js","sourceRoot":"","sources":["../../src/requests/mapCsvColumnsToApi.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAiE;AACjE,wDAAgC;AAChC,iEAAyC;AACzC,2CAKqB;AACrB,2DAAwD;AASxD;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CACtC,WAAqB,EACrB,MAAuB;IAEvB,8CAA8C;IAC9C,MAAM,eAAe,GAAG,IAAA,sBAAS,EAAC,sBAAU,CAAC,CAAC,MAAM,CAClD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CACpC,CAAC;IAEF,yCAAyC;IACzC,MAAM,aAAa,GACjB,eAAe,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,kCAAkC;YAClC,MAAM,kBAAQ,CAAC,MAAM,CAKnB,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3B,MAAM,KAAK,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;gBACxD,MAAM,OAAO,GAAG,IAAA,qCAAiB,EAC/B,WAAW,EACX,KAAK,EACL,uBAAW,CAAC,IAAI,CAAC,EACjB,CAAC,CAAC,6BAAiB,CAAC,IAAI,CAAC,CAC1B,CAAC;gBACF,OAAO;oBACL,IAAI;oBACJ,OAAO,EAAE,4DAA4D,KAAK,EAAE;oBAC5E,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBACnB,OAAO,EAAE,OAAO;iBACjB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;IAER,IAAA,uBAAU,EAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAC3C,6CAA6C;QAC7C,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC;AA1CD,gDA0CC"}
@@ -1,8 +1,11 @@
1
1
  import { LanguageKey } from '@transcend-io/internationalization';
2
- import { ObjByString } from '@transcend-io/type-utils';
3
2
  import { CompletedRequestStatus, RequestAction, IdentifierType } from '@transcend-io/privacy-types';
3
+ import { ObjByString } from '@transcend-io/type-utils';
4
4
  import { CachedFileState } from './constants';
5
5
  import { ColumnNameMap } from './mapCsvColumnsToApi';
6
+ import type { AttributeInput } from './parseAttributesFromString';
7
+ import { AttributeNameMap } from './mapColumnsToAttributes';
8
+ import { IdentifierNameMap } from './mapColumnsToIdentifiers';
6
9
  /**
7
10
  * Shape of additional identifiers
8
11
  */
@@ -17,25 +20,33 @@ export declare type AttestedExtraIdentifiers = {
17
20
  export interface PrivacyRequestInput {
18
21
  /** Email of user */
19
22
  email: string;
20
- /** Email is verified */
21
- emailIsVerified: boolean;
23
+ /** Extra identifiers */
24
+ attestedExtraIdentifiers: AttestedExtraIdentifiers;
22
25
  /** Core identifier for user */
23
26
  coreIdentifier: string;
24
27
  /** Action type being submitted */
25
28
  requestType: RequestAction;
26
29
  /** Type of data subject */
27
30
  subjectType: string;
31
+ /** Attribute inputs */
32
+ attributes?: AttributeInput[];
28
33
  /** The status that the request should be created as */
29
34
  status?: CompletedRequestStatus;
30
35
  /** The time that the request was created */
31
36
  createdAt?: Date;
32
- /** Whether in silent mode */
33
- isSilent: boolean;
34
37
  /** Data silo IDs to submit for */
35
38
  dataSiloIds?: string[];
36
39
  /** Language key to map to */
37
40
  locale?: LanguageKey;
38
41
  }
42
+ /**
43
+ * Transform the identifier value based on type
44
+ *
45
+ * @param identifierValue - Value of identifier
46
+ * @param identifierType - Type of identifier
47
+ * @returns Post-processed identifier
48
+ */
49
+ export declare function normalizeIdentifierValue(identifierValue: string, identifierType: IdentifierType): string;
39
50
  /**
40
51
  * Take the raw rows in a CSV upload, and map those rows to the request
41
52
  * input shape that can be passed to the Transcend API to submit a privacy
@@ -43,8 +54,15 @@ export interface PrivacyRequestInput {
43
54
  *
44
55
  * @param requestInputs - CSV of requests to be uploaded
45
56
  * @param cached - The cached set of mapping values
46
- * @param columnNameMap - Mapping of column names
57
+ * @param options - Options
47
58
  * @returns [raw input, request input] list
48
59
  */
49
- export declare function mapCsvRowsToRequestInputs(requestInputs: ObjByString[], cached: CachedFileState, columnNameMap: ColumnNameMap): [Record<string, string>, PrivacyRequestInput][];
60
+ export declare function mapCsvRowsToRequestInputs(requestInputs: ObjByString[], cached: CachedFileState, { columnNameMap, identifierNameMap, attributeNameMap, }: {
61
+ /** Mapping of column names */
62
+ columnNameMap: ColumnNameMap;
63
+ /** Mapping of identifier names */
64
+ identifierNameMap: IdentifierNameMap;
65
+ /** Mapping of attribute names */
66
+ attributeNameMap: AttributeNameMap;
67
+ }): [Record<string, string>, PrivacyRequestInput][];
50
68
  //# sourceMappingURL=mapCsvRowsToRequestInputs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapCsvRowsToRequestInputs.d.ts","sourceRoot":"","sources":["../../src/requests/mapCsvRowsToRequestInputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,cAAc,EACf,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,eAAe,EAAoB,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,oBAAY,wBAAwB,GAAG;KACpC,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE;QACtB,yBAAyB;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,0BAA0B;QAC1B,KAAK,EAAE,MAAM,CAAC;KACf,EAAE;CACJ,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,WAAW,EAAE,aAAa,CAAC;IAC3B,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,6BAA6B;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,WAAW,EAAE,EAC5B,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,aAAa,GAC3B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAyDjD"}
1
+ {"version":3,"file":"mapCsvRowsToRequestInputs.d.ts","sourceRoot":"","sources":["../../src/requests/mapCsvRowsToRequestInputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAEL,sBAAsB,EACtB,aAAa,EACb,cAAc,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EACL,eAAe,EAKhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,oBAAY,wBAAwB,GAAG;KACpC,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE;QACtB,yBAAyB;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,0BAA0B;QAC1B,KAAK,EAAE,MAAM,CAAC;KACf,EAAE;CACJ,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,+BAA+B;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,WAAW,EAAE,aAAa,CAAC;IAC3B,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,uDAAuD;IACvD,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,cAAc,GAC7B,MAAM,CAaR;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,WAAW,EAAE,EAC5B,MAAM,EAAE,eAAe,EACvB,EACE,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,EAAE;IACD,8BAA8B;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,kCAAkC;IAClC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,iCAAiC;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,GACA,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC,EAAE,CA2GjD"}
@@ -1,8 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapCsvRowsToRequestInputs = void 0;
3
+ exports.mapCsvRowsToRequestInputs = exports.normalizeIdentifierValue = void 0;
4
+ const privacy_types_1 = require("@transcend-io/privacy-types");
4
5
  const constants_1 = require("./constants");
5
6
  const splitCsvToList_1 = require("./splitCsvToList");
7
+ /**
8
+ * Transform the identifier value based on type
9
+ *
10
+ * @param identifierValue - Value of identifier
11
+ * @param identifierType - Type of identifier
12
+ * @returns Post-processed identifier
13
+ */
14
+ function normalizeIdentifierValue(identifierValue, identifierType) {
15
+ // Lowercase email
16
+ if (identifierType === privacy_types_1.IdentifierType.Email) {
17
+ return identifierValue.toLowerCase();
18
+ }
19
+ // Normalize phone number
20
+ if (identifierType === privacy_types_1.IdentifierType.Phone) {
21
+ return identifierValue
22
+ .replace(privacy_types_1.NORMALIZE_PHONE_NUMBER, '')
23
+ .replace(/[A-Za-z]/g, '');
24
+ }
25
+ return identifierValue;
26
+ }
27
+ exports.normalizeIdentifierValue = normalizeIdentifierValue;
6
28
  /**
7
29
  * Take the raw rows in a CSV upload, and map those rows to the request
8
30
  * input shape that can be passed to the Transcend API to submit a privacy
@@ -10,48 +32,96 @@ const splitCsvToList_1 = require("./splitCsvToList");
10
32
  *
11
33
  * @param requestInputs - CSV of requests to be uploaded
12
34
  * @param cached - The cached set of mapping values
13
- * @param columnNameMap - Mapping of column names
35
+ * @param options - Options
14
36
  * @returns [raw input, request input] list
15
37
  */
16
- function mapCsvRowsToRequestInputs(requestInputs, cached, columnNameMap) {
38
+ function mapCsvRowsToRequestInputs(requestInputs, cached, { columnNameMap, identifierNameMap, attributeNameMap, }) {
17
39
  // map the CSV to request input
18
40
  const getMappedName = (attribute) => cached.columnNames[attribute] || columnNameMap[attribute];
19
- return requestInputs.map((input) => [
20
- input,
21
- {
22
- email: input[getMappedName(constants_1.ColumnName.Email)],
23
- emailIsVerified: true,
24
- isSilent: true,
25
- coreIdentifier: input[getMappedName(constants_1.ColumnName.CoreIdentifier)],
26
- requestType: cached.requestTypeToRequestAction[input[getMappedName(constants_1.ColumnName.RequestType)]],
27
- subjectType: cached.subjectTypeToSubjectName[input[getMappedName(constants_1.ColumnName.SubjectType)]] || 'Customer',
28
- ...(getMappedName(constants_1.ColumnName.Locale) !== constants_1.NONE &&
29
- input[getMappedName(constants_1.ColumnName.Locale)]
30
- ? {
31
- locale: cached.languageToLocale[input[getMappedName(constants_1.ColumnName.Locale)]],
32
- }
33
- : {}),
34
- ...(getMappedName(constants_1.ColumnName.RequestStatus) !== constants_1.NONE &&
35
- cached.statusToRequestStatus[input[getMappedName(constants_1.ColumnName.RequestStatus)]] !== constants_1.NONE &&
36
- input[getMappedName(constants_1.ColumnName.RequestStatus)]
37
- ? {
38
- status: cached.statusToRequestStatus[input[getMappedName(constants_1.ColumnName.RequestStatus)]],
39
- }
40
- : {}),
41
- ...(getMappedName(constants_1.ColumnName.CreatedAt) !== constants_1.NONE &&
42
- input[getMappedName(constants_1.ColumnName.CreatedAt)]
43
- ? {
44
- createdAt: new Date(input[getMappedName(constants_1.ColumnName.CreatedAt)]),
45
- }
46
- : {}),
47
- ...(getMappedName(constants_1.ColumnName.DataSiloIds) !== constants_1.NONE &&
48
- input[getMappedName(constants_1.ColumnName.DataSiloIds)]
49
- ? {
50
- dataSiloIds: (0, splitCsvToList_1.splitCsvToList)(input[getMappedName(constants_1.ColumnName.DataSiloIds)]),
41
+ return requestInputs.map((input) => {
42
+ // The extra identifiers to upload for this request
43
+ const attestedExtraIdentifiers = {};
44
+ Object.entries(identifierNameMap)
45
+ // filter out skipped identifiers
46
+ .filter(([, columnName]) => columnName !== constants_1.NONE)
47
+ .forEach(([identifierName, columnName]) => {
48
+ // Determine the identifier type being specified
49
+ const identifierType = Object.values(privacy_types_1.IdentifierType).includes(identifierName)
50
+ ? identifierName
51
+ : privacy_types_1.IdentifierType.Custom;
52
+ // Only add the identifier if the value exists
53
+ const identifierValue = input[columnName];
54
+ if (identifierValue) {
55
+ // Initialize
56
+ if (!attestedExtraIdentifiers[identifierType]) {
57
+ attestedExtraIdentifiers[identifierType] = [];
51
58
  }
52
- : {}),
53
- },
54
- ]);
59
+ // Add the identifier
60
+ attestedExtraIdentifiers[identifierType].push({
61
+ value: normalizeIdentifierValue(identifierValue, identifierType),
62
+ name: identifierName,
63
+ });
64
+ }
65
+ });
66
+ // The extra attributes to upload for this request
67
+ const attributes = [];
68
+ Object.entries(attributeNameMap)
69
+ // filter out skipped attributes
70
+ .filter(([, columnName]) => columnName !== constants_1.NONE)
71
+ .forEach(([attributeName, columnName]) => {
72
+ // Only add the identifier if the value exists
73
+ const attributeValueString = input[columnName];
74
+ if (attributeValueString) {
75
+ // Add the attribute
76
+ attributes.push({
77
+ values: (0, splitCsvToList_1.splitCsvToList)(attributeValueString),
78
+ key: attributeName,
79
+ });
80
+ }
81
+ });
82
+ const requestTypeColumn = getMappedName(constants_1.ColumnName.RequestType);
83
+ const dataSubjectTypeColumn = getMappedName(constants_1.ColumnName.SubjectType);
84
+ return [
85
+ input,
86
+ {
87
+ email: input[getMappedName(constants_1.ColumnName.Email)],
88
+ attestedExtraIdentifiers,
89
+ attributes,
90
+ coreIdentifier: input[getMappedName(constants_1.ColumnName.CoreIdentifier)],
91
+ requestType: requestTypeColumn === constants_1.BULK_APPLY
92
+ ? cached.requestTypeToRequestAction[constants_1.BLANK]
93
+ : cached.requestTypeToRequestAction[input[requestTypeColumn]],
94
+ subjectType: dataSubjectTypeColumn === constants_1.BULK_APPLY
95
+ ? cached.subjectTypeToSubjectName[constants_1.BLANK]
96
+ : cached.subjectTypeToSubjectName[input[dataSubjectTypeColumn]],
97
+ ...(getMappedName(constants_1.ColumnName.Locale) !== constants_1.NONE &&
98
+ input[getMappedName(constants_1.ColumnName.Locale)]
99
+ ? {
100
+ locale: cached.languageToLocale[input[getMappedName(constants_1.ColumnName.Locale)]],
101
+ }
102
+ : {}),
103
+ ...(getMappedName(constants_1.ColumnName.RequestStatus) !== constants_1.NONE &&
104
+ cached.statusToRequestStatus[input[getMappedName(constants_1.ColumnName.RequestStatus)]] !== constants_1.NONE &&
105
+ input[getMappedName(constants_1.ColumnName.RequestStatus)]
106
+ ? {
107
+ status: cached.statusToRequestStatus[input[getMappedName(constants_1.ColumnName.RequestStatus)]],
108
+ }
109
+ : {}),
110
+ ...(getMappedName(constants_1.ColumnName.CreatedAt) !== constants_1.NONE &&
111
+ input[getMappedName(constants_1.ColumnName.CreatedAt)]
112
+ ? {
113
+ createdAt: new Date(input[getMappedName(constants_1.ColumnName.CreatedAt)]),
114
+ }
115
+ : {}),
116
+ ...(getMappedName(constants_1.ColumnName.DataSiloIds) !== constants_1.NONE &&
117
+ input[getMappedName(constants_1.ColumnName.DataSiloIds)]
118
+ ? {
119
+ dataSiloIds: (0, splitCsvToList_1.splitCsvToList)(input[getMappedName(constants_1.ColumnName.DataSiloIds)]),
120
+ }
121
+ : {}),
122
+ },
123
+ ];
124
+ });
55
125
  }
56
126
  exports.mapCsvRowsToRequestInputs = mapCsvRowsToRequestInputs;
57
127
  //# sourceMappingURL=mapCsvRowsToRequestInputs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapCsvRowsToRequestInputs.js","sourceRoot":"","sources":["../../src/requests/mapCsvRowsToRequestInputs.ts"],"names":[],"mappings":";;;AAQA,2CAAgE;AAEhE,qDAAkD;AAqClD;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CACvC,aAA4B,EAC5B,MAAuB,EACvB,aAA4B;IAE5B,+BAA+B;IAC/B,MAAM,aAAa,GAAG,CAAC,SAAqB,EAAU,EAAE,CACtD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,SAAS,CAAE,CAAC;IAC7D,OAAO,aAAa,CAAC,GAAG,CACtB,CAAC,KAAK,EAAiD,EAAE,CAAC;QACxD,KAAK;QACL;YACE,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,KAAK,CAAC,CAAC;YAC7C,eAAe,EAAE,IAAI;YACrB,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,cAAc,CAAC,CAAC;YAC/D,WAAW,EACT,MAAM,CAAC,0BAA0B,CAC/B,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,WAAW,CAAC,CAAC,CAC7C;YACH,WAAW,EACT,MAAM,CAAC,wBAAwB,CAC7B,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,WAAW,CAAC,CAAC,CAC7C,IAAI,UAAU;YACjB,GAAG,CAAC,aAAa,CAAC,sBAAU,CAAC,MAAM,CAAC,KAAK,gBAAI;gBAC7C,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC,CAAC;oBACE,MAAM,EACJ,MAAM,CAAC,gBAAgB,CACrB,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,MAAM,CAAC,CAAC,CACxC;iBACJ;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,aAAa,CAAC,sBAAU,CAAC,aAAa,CAAC,KAAK,gBAAI;gBACpD,MAAM,CAAC,qBAAqB,CAC1B,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,aAAa,CAAC,CAAC,CAC/C,KAAK,gBAAI;gBACV,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,aAAa,CAAC,CAAC;gBAC5C,CAAC,CAAC;oBACE,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAClC,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,aAAa,CAAC,CAAC,CACrB;iBAC5B;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,aAAa,CAAC,sBAAU,CAAC,SAAS,CAAC,KAAK,gBAAI;gBAChD,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,SAAS,CAAC,CAAC;gBACxC,CAAC,CAAC;oBACE,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,SAAS,CAAC,CAAC,CAAC;iBAChE;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,aAAa,CAAC,sBAAU,CAAC,WAAW,CAAC,KAAK,gBAAI;gBAClD,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,WAAW,CAAC,CAAC;gBAC1C,CAAC,CAAC;oBACE,WAAW,EAAE,IAAA,+BAAc,EACzB,KAAK,CAAC,aAAa,CAAC,sBAAU,CAAC,WAAW,CAAC,CAAC,CAC7C;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CACF,CAAC;AACJ,CAAC;AA7DD,8DA6DC"}
1
+ {"version":3,"file":"mapCsvRowsToRequestInputs.js","sourceRoot":"","sources":["../../src/requests/mapCsvRowsToRequestInputs.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as t from 'io-ts';
2
2
  import type { Got } from 'got';
3
- import { PrivacyRequestInput, AttestedExtraIdentifiers } from './mapCsvRowsToRequestInputs';
3
+ import { PrivacyRequestInput } from './mapCsvRowsToRequestInputs';
4
4
  import { AttributeInput } from './parseAttributesFromString';
5
5
  export declare const PrivacyRequestResponse: t.TypeC<{
6
6
  id: t.StringC;
@@ -5453,11 +5453,13 @@ export declare type PrivacyRequestResponse = t.TypeOf<typeof PrivacyRequestRespo
5453
5453
  * @param options - Additional options
5454
5454
  * @returns Successfully submitted request
5455
5455
  */
5456
- export declare function submitPrivacyRequest(sombra: Got, input: PrivacyRequestInput, { attestedExtraIdentifiers, details, isTest, additionalAttributes, }?: {
5457
- /** Extra identifiers to upload */
5458
- attestedExtraIdentifiers?: AttestedExtraIdentifiers;
5456
+ export declare function submitPrivacyRequest(sombra: Got, input: PrivacyRequestInput, { details, isTest, emailIsVerified, isSilent, additionalAttributes, }?: {
5459
5457
  /** Whether or not the request is a test request */
5460
5458
  isTest?: boolean;
5459
+ /** Whether or not the request is in silent mode */
5460
+ isSilent?: boolean;
5461
+ /** Whether the email is verified up front */
5462
+ emailIsVerified?: boolean;
5461
5463
  /** Request details */
5462
5464
  details?: string;
5463
5465
  /** Additional attributes to tag the requests with */
@@ -1 +1 @@
1
- {"version":3,"file":"submitPrivacyRequest.d.ts","sourceRoot":"","sources":["../../src/requests/submitPrivacyRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAQ3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBjC,CAAC;AAEH,oBAAoB;AACpB,oBAAY,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,mBAAmB,EAC1B,EACE,wBAA6B,EAC7B,OAAY,EACZ,MAAc,EACd,oBAAyB,GAC1B,GAAE;IACD,kCAAkC;IAClC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC,GACL,OAAO,CAAC,sBAAsB,CAAC,CAgCjC"}
1
+ {"version":3,"file":"submitPrivacyRequest.d.ts","sourceRoot":"","sources":["../../src/requests/submitPrivacyRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAS3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBjC,CAAC;AAEH,oBAAoB;AACpB,oBAAY,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,mBAAmB,EAC1B,EACE,OAAY,EACZ,MAAc,EACd,eAAsB,EACtB,QAAe,EACf,oBAAyB,GAC1B,GAAE;IACD,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC,GACL,OAAO,CAAC,sBAAsB,CAAC,CA+CjC"}