@ai-table/grid 0.0.55 → 0.0.57

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 (119) hide show
  1. package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
  2. package/components/cell-editors/cell-editor.scss +0 -1
  3. package/components/drag/drag.component.d.ts +1 -0
  4. package/components/drag/drag.component.d.ts.map +1 -1
  5. package/components/index.d.ts +0 -1
  6. package/components/index.d.ts.map +1 -1
  7. package/constants/editor.d.ts.map +1 -1
  8. package/constants/grid.d.ts +0 -1
  9. package/constants/grid.d.ts.map +1 -1
  10. package/constants/icon.d.ts +1 -0
  11. package/constants/icon.d.ts.map +1 -1
  12. package/constants/table.d.ts +6 -2
  13. package/constants/table.d.ts.map +1 -1
  14. package/core/types/core.d.ts +17 -13
  15. package/core/types/core.d.ts.map +1 -1
  16. package/dom-grid.component.d.ts.map +1 -1
  17. package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +2 -4
  18. package/esm2022/components/cell-editors/date/date-editor.component.mjs +5 -5
  19. package/esm2022/components/drag/drag.component.mjs +42 -2
  20. package/esm2022/components/index.mjs +1 -2
  21. package/esm2022/constants/editor.mjs +3 -4
  22. package/esm2022/constants/grid.mjs +1 -2
  23. package/esm2022/constants/icon.mjs +2 -1
  24. package/esm2022/constants/table.mjs +7 -3
  25. package/esm2022/core/constants/field.mjs +2 -2
  26. package/esm2022/core/types/core.mjs +1 -1
  27. package/esm2022/dom-grid.component.mjs +2 -4
  28. package/esm2022/grid-base.component.mjs +9 -30
  29. package/esm2022/grid.component.mjs +49 -53
  30. package/esm2022/renderer/components/cells/attachment.component.mjs +9 -19
  31. package/esm2022/renderer/components/cells/index.mjs +3 -2
  32. package/esm2022/renderer/components/cells/link.component.mjs +3 -5
  33. package/esm2022/renderer/components/cells/progress.component.mjs +268 -0
  34. package/esm2022/renderer/components/cells/rich-text.component.mjs +90 -0
  35. package/esm2022/renderer/components/frozen-heads.component.mjs +17 -5
  36. package/esm2022/renderer/components/hover-row-heads.component.mjs +20 -3
  37. package/esm2022/renderer/components/icon.component.mjs +6 -2
  38. package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +5 -5
  39. package/esm2022/renderer/drawers/cell-drawer.mjs +28 -29
  40. package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +5 -5
  41. package/esm2022/utils/cell.mjs +5 -3
  42. package/esm2022/utils/clipboard/copy.mjs +11 -5
  43. package/esm2022/utils/clipboard/paste.mjs +1 -4
  44. package/esm2022/utils/field/model/attachment.mjs +8 -1
  45. package/esm2022/utils/field/model/date.mjs +13 -3
  46. package/esm2022/utils/field/model/field.mjs +1 -2
  47. package/esm2022/utils/field/model/link.mjs +16 -4
  48. package/esm2022/utils/field/model/member.mjs +1 -1
  49. package/esm2022/utils/field/model/number.mjs +11 -8
  50. package/esm2022/utils/field/model/progress.mjs +7 -7
  51. package/esm2022/utils/field/model/rate.mjs +3 -2
  52. package/esm2022/utils/field/model/rich-text.mjs +1 -1
  53. package/esm2022/utils/field/model/select.mjs +1 -1
  54. package/esm2022/utils/field/model/text.mjs +3 -2
  55. package/esm2022/utils/field/operate.mjs +4 -2
  56. package/esm2022/utils/i18n.mjs +3 -3
  57. package/esm2022/utils/index.mjs +2 -1
  58. package/esm2022/utils/match-keywords.mjs +9 -4
  59. package/esm2022/utils/style.mjs +9 -3
  60. package/fesm2022/ai-table-grid.mjs +2065 -1792
  61. package/fesm2022/ai-table-grid.mjs.map +1 -1
  62. package/grid-base.component.d.ts +6 -5
  63. package/grid-base.component.d.ts.map +1 -1
  64. package/grid.component.d.ts +2 -1
  65. package/grid.component.d.ts.map +1 -1
  66. package/package.json +1 -1
  67. package/renderer/components/cells/attachment.component.d.ts +0 -3
  68. package/renderer/components/cells/attachment.component.d.ts.map +1 -1
  69. package/renderer/components/cells/index.d.ts +2 -1
  70. package/renderer/components/cells/index.d.ts.map +1 -1
  71. package/renderer/components/cells/link.component.d.ts.map +1 -1
  72. package/renderer/components/cells/progress.component.d.ts +82 -0
  73. package/renderer/components/cells/progress.component.d.ts.map +1 -0
  74. package/renderer/components/cells/{richtext.component.d.ts → rich-text.component.d.ts} +4 -4
  75. package/renderer/components/cells/rich-text.component.d.ts.map +1 -0
  76. package/renderer/components/frozen-heads.component.d.ts +1 -0
  77. package/renderer/components/frozen-heads.component.d.ts.map +1 -1
  78. package/renderer/components/hover-row-heads.component.d.ts.map +1 -1
  79. package/renderer/components/icon.component.d.ts.map +1 -1
  80. package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -1
  81. package/renderer/drawers/cell-drawer.d.ts.map +1 -1
  82. package/renderer/drawers/record-row-layout-drawer.d.ts.map +1 -1
  83. package/utils/cell.d.ts +1 -1
  84. package/utils/cell.d.ts.map +1 -1
  85. package/utils/clipboard/paste.d.ts.map +1 -1
  86. package/utils/field/model/attachment.d.ts.map +1 -1
  87. package/utils/field/model/date.d.ts +1 -0
  88. package/utils/field/model/date.d.ts.map +1 -1
  89. package/utils/field/model/field.d.ts.map +1 -1
  90. package/utils/field/model/link.d.ts +3 -2
  91. package/utils/field/model/link.d.ts.map +1 -1
  92. package/utils/field/model/member.d.ts +1 -1
  93. package/utils/field/model/member.d.ts.map +1 -1
  94. package/utils/field/model/number.d.ts +5 -4
  95. package/utils/field/model/number.d.ts.map +1 -1
  96. package/utils/field/model/progress.d.ts +4 -4
  97. package/utils/field/model/progress.d.ts.map +1 -1
  98. package/utils/field/model/rate.d.ts +2 -2
  99. package/utils/field/model/rate.d.ts.map +1 -1
  100. package/utils/field/model/rich-text.d.ts +3 -3
  101. package/utils/field/model/rich-text.d.ts.map +1 -1
  102. package/utils/field/model/select.d.ts +1 -1
  103. package/utils/field/model/select.d.ts.map +1 -1
  104. package/utils/field/model/text.d.ts +3 -3
  105. package/utils/field/model/text.d.ts.map +1 -1
  106. package/utils/field/operate.d.ts +1 -1
  107. package/utils/field/operate.d.ts.map +1 -1
  108. package/utils/i18n.d.ts +1 -1
  109. package/utils/index.d.ts +1 -0
  110. package/utils/index.d.ts.map +1 -1
  111. package/utils/match-keywords.d.ts.map +1 -1
  112. package/utils/style.d.ts +1 -1
  113. package/utils/style.d.ts.map +1 -1
  114. package/components/cell-editors/progress/progress-editor.component.d.ts +0 -19
  115. package/components/cell-editors/progress/progress-editor.component.d.ts.map +0 -1
  116. package/components/cell-editors/progress/progress-editor.component.scss +0 -29
  117. package/esm2022/components/cell-editors/progress/progress-editor.component.mjs +0 -72
  118. package/esm2022/renderer/components/cells/richtext.component.mjs +0 -90
  119. package/renderer/components/cells/richtext.component.d.ts.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { getFieldOptionByField } from '../core';
2
2
  import { AI_TABLE_GRID_FIELD_SERVICE_MAP } from '../services';
3
+ import { FieldModelMap } from './field/model';
3
4
  export function getColumnIndicesSizeMap(aiTable, fields) {
4
5
  const fieldSizeMap = aiTable.gridData().fieldsSizeMap;
5
6
  const columnIndicesSizeMap = {};
@@ -17,8 +18,9 @@ export function getCellHorizontalPosition(options) {
17
18
  return { width: columnWidth, offset: 0 };
18
19
  }
19
20
  export function transformCellValue(aiTable, field, cellValue) {
20
- if (cellValue === undefined || cellValue === null) {
21
- return cellValue;
21
+ const fieldModel = FieldModelMap[field.type];
22
+ if (!fieldModel.isValid(cellValue)) {
23
+ return null;
22
24
  }
23
25
  const fieldService = AI_TABLE_GRID_FIELD_SERVICE_MAP.get(aiTable);
24
26
  if (!fieldService) {
@@ -72,4 +74,4 @@ export function getAvatarBgColor(name) {
72
74
  : 0;
73
75
  return colors[code % 9];
74
76
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2NlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5RCxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHOUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQWdCLEVBQUUsTUFBc0I7SUFDNUUsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN0RCxNQUFNLG9CQUFvQixHQUFtQixFQUFFLENBQUM7SUFDaEQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM3QixvQkFBb0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFLLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQXdCLENBQUMsS0FBSyxDQUFDO0lBQ2pJLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxvQkFBb0IsQ0FBQztBQUNoQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE9BQTBFO0lBQ2hILE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDaEMsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzdDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQVUsT0FBZ0IsRUFBRSxLQUFtQixFQUFFLFNBQXFCO0lBQ3BHLElBQUksU0FBUyxLQUFLLFNBQVMsSUFBSSxTQUFTLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDaEQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLCtCQUEr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LENBQUMsRUFDRCxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FDZixDQUFDLEtBQUs7UUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1osT0FBTyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIEFJVGFibGVGaWVsZE9wdGlvbiwgRmllbGRWYWx1ZSwgZ2V0RmllbGRPcHRpb25CeUZpZWxkIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBBSV9UQUJMRV9HUklEX0ZJRUxEX1NFUlZJQ0VfTUFQIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQUlUYWJsZVNpemVNYXAgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2x1bW5JbmRpY2VzU2l6ZU1hcChhaVRhYmxlOiBBSVRhYmxlLCBmaWVsZHM6IEFJVGFibGVGaWVsZFtdKSB7XG4gICAgY29uc3QgZmllbGRTaXplTWFwID0gYWlUYWJsZS5ncmlkRGF0YSgpLmZpZWxkc1NpemVNYXA7XG4gICAgY29uc3QgY29sdW1uSW5kaWNlc1NpemVNYXA6IEFJVGFibGVTaXplTWFwID0ge307XG4gICAgZmllbGRzPy5mb3JFYWNoKChmaWVsZCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29sdW1uSW5kaWNlc1NpemVNYXBbaW5kZXhdID0gZmllbGRTaXplTWFwW2ZpZWxkLl9pZF0gPz8gKGdldEZpZWxkT3B0aW9uQnlGaWVsZChhaVRhYmxlLCBmaWVsZCkgYXMgQUlUYWJsZUZpZWxkT3B0aW9uKS53aWR0aDtcbiAgICB9KTtcbiAgICByZXR1cm4gY29sdW1uSW5kaWNlc1NpemVNYXA7XG59XG5cbi8qKlxuICog6I635Y+W5Y2V5YWD5qC85L2N572uXG4gKiDmoLnmja7ljZXlhYPmoLzmmK/lkKbmmK/nrKzkuIDliJcv5pyA5ZCO5LiA5YiX56Gu5a6a5Y2V5YWD5qC85omA5Zyo55qE5L2N572uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZWxsSG9yaXpvbnRhbFBvc2l0aW9uKG9wdGlvbnM6IHsgY29sdW1uV2lkdGg6IG51bWJlcjsgY29sdW1uSW5kZXg6IG51bWJlcjsgY29sdW1uQ291bnQ6IG51bWJlciB9KSB7XG4gICAgY29uc3QgeyBjb2x1bW5XaWR0aCB9ID0gb3B0aW9ucztcbiAgICByZXR1cm4geyB3aWR0aDogY29sdW1uV2lkdGgsIG9mZnNldDogMCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQ2VsbFZhbHVlPFQgPSBhbnk+KGFpVGFibGU6IEFJVGFibGUsIGZpZWxkOiBBSVRhYmxlRmllbGQsIGNlbGxWYWx1ZTogRmllbGRWYWx1ZSk6IFQge1xuICAgIGlmIChjZWxsVmFsdWUgPT09IHVuZGVmaW5lZCB8fCBjZWxsVmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZFNlcnZpY2UgPSBBSV9UQUJMRV9HUklEX0ZJRUxEX1NFUlZJQ0VfTUFQLmdldChhaVRhYmxlKTtcblxuICAgIGlmICghZmllbGRTZXJ2aWNlKSB7XG4gICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3QgZmllbGRSZW5kZXJlcnMgPSBmaWVsZFNlcnZpY2UuYWlGaWVsZENvbmZpZz8uZmllbGRSZW5kZXJlcnM7XG4gICAgaWYgKCFmaWVsZFJlbmRlcmVycykge1xuICAgICAgICByZXR1cm4gY2VsbFZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IGNlbGxUcmFuc2Zvcm0gPSBmaWVsZFJlbmRlcmVyc1tmaWVsZC50eXBlXT8udHJhbnNmb3JtO1xuICAgIGlmICghY2VsbFRyYW5zZm9ybSkge1xuICAgICAgICByZXR1cm4gY2VsbFZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IGNlbGxUZXh0ID0gY2VsbFRyYW5zZm9ybShmaWVsZCwgY2VsbFZhbHVlKTtcblxuICAgIGlmIChjZWxsVGV4dCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNlbGxUZXh0O1xufVxuXG4vKipcbiAqIGBcXHU0ZTAwYDogaHR0cHM6Ly93d3cuY29tcGFydC5jb20vZW4vdW5pY29kZS9VKzRFMDBcbiAqIGBcXHU5ZmE1YDogaHR0cHM6Ly93d3cuY29tcGFydC5jb20vZW4vdW5pY29kZS9VKzlGQTVcbiAqL1xuY29uc3QgVU5JRklFRF9JREVPR1JBUEhTX1JFR0VYID0gL15bXFx1NGUwMC1cXHU5ZmE1XSskLztcblxuY29uc3QgU0VUX09GX0xFVFRFUlNfUkVHRVggPSAvXlthLXpBLVpcXC8gXSskLztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF2YXRhclNob3J0TmFtZShuYW1lOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIG5hbWUgPSBuYW1lLnRyaW0oKTtcblxuICAgIGlmIChVTklGSUVEX0lERU9HUkFQSFNfUkVHRVgudGVzdChuYW1lKSAmJiBuYW1lLmxlbmd0aCA+IDIpIHtcbiAgICAgICAgcmV0dXJuIG5hbWUuc2xpY2UobmFtZS5sZW5ndGggLSAyKTtcbiAgICB9XG5cbiAgICBpZiAoU0VUX09GX0xFVFRFUlNfUkVHRVgudGVzdChuYW1lKSAmJiBuYW1lLmluZGV4T2YoJyAnKSA+IDApIHtcbiAgICAgICAgY29uc3Qgd29yZHM6IHN0cmluZ1tdID0gbmFtZS5zcGxpdCgnICcpO1xuICAgICAgICByZXR1cm4gKHdvcmRzWzBdLnNsaWNlKDAsIDEpICsgd29yZHNbMV0uc2xpY2UoMCwgMSkpLnRvVXBwZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5hbWUubGVuZ3RoID4gMiA/IG5hbWUuc2xpY2UoMCwgMikudG9VcHBlckNhc2UoKSA6IG5hbWUudG9VcHBlckNhc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF2YXRhckJnQ29sb3IobmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY29sb3JzID0gWycjNTZhYmZiJywgJyM1ZGNmZmYnLCAnIzg0ZTE3ZScsICcjNzNkODk3JywgJyNmZjlmNzMnLCAnI2ZhODg4OCcsICcjZmI3ZmI3JywgJyM5YTdlZjQnLCAnIzg2OGFmNiddO1xuICAgIGNvbnN0IG5hbWVBcnJheTogc3RyaW5nW10gPSBuYW1lLnNwbGl0KCcnKTtcbiAgICBjb25zdCBjb2RlOiBudW1iZXIgPVxuICAgICAgICBuYW1lICYmIG5hbWUubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBuYW1lQXJyYXkucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKHJlc3VsdCwgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC52YWx1ZSArPSBpdGVtLmNoYXJDb2RlQXQoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7IHZhbHVlOiAwIH1cbiAgICAgICAgICAgICAgKS52YWx1ZVxuICAgICAgICAgICAgOiAwO1xuICAgIHJldHVybiBjb2xvcnNbY29kZSAlIDldO1xufVxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2NlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5RCxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5QyxNQUFNLFVBQVUsdUJBQXVCLENBQUMsT0FBZ0IsRUFBRSxNQUFzQjtJQUM1RSxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3RELE1BQU0sb0JBQW9CLEdBQW1CLEVBQUUsQ0FBQztJQUNoRCxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzdCLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUsscUJBQXFCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBd0IsQ0FBQyxLQUFLLENBQUM7SUFDakksQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLG9CQUFvQixDQUFDO0FBQ2hDLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsT0FBMEU7SUFDaEgsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNoQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBVSxPQUFnQixFQUFFLEtBQW1CLEVBQUUsU0FBcUI7SUFDcEcsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxJQUFJLENBQUMs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RUFBRSxJQUFJO1lBQ2xCLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQyxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLEVBQ0QsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQ2YsQ0FBQyxLQUFLO1FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLE9BQU8sTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRPcHRpb24sIEZpZWxkVmFsdWUsIGdldEZpZWxkT3B0aW9uQnlGaWVsZCB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUCB9IGZyb20gJy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEFJVGFibGVTaXplTWFwIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRmllbGRNb2RlbE1hcCB9IGZyb20gJy4vZmllbGQvbW9kZWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29sdW1uSW5kaWNlc1NpemVNYXAoYWlUYWJsZTogQUlUYWJsZSwgZmllbGRzOiBBSVRhYmxlRmllbGRbXSkge1xuICAgIGNvbnN0IGZpZWxkU2l6ZU1hcCA9IGFpVGFibGUuZ3JpZERhdGEoKS5maWVsZHNTaXplTWFwO1xuICAgIGNvbnN0IGNvbHVtbkluZGljZXNTaXplTWFwOiBBSVRhYmxlU2l6ZU1hcCA9IHt9O1xuICAgIGZpZWxkcz8uZm9yRWFjaCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbHVtbkluZGljZXNTaXplTWFwW2luZGV4XSA9IGZpZWxkU2l6ZU1hcFtmaWVsZC5faWRdID8/IChnZXRGaWVsZE9wdGlvbkJ5RmllbGQoYWlUYWJsZSwgZmllbGQpIGFzIEFJVGFibGVGaWVsZE9wdGlvbikud2lkdGg7XG4gICAgfSk7XG4gICAgcmV0dXJuIGNvbHVtbkluZGljZXNTaXplTWFwO1xufVxuXG4vKipcbiAqIOiOt+WPluWNleWFg+agvOS9jee9rlxuICog5qC55o2u5Y2V5YWD5qC85piv5ZCm5piv56ys5LiA5YiXL+acgOWQjuS4gOWIl+ehruWumuWNleWFg+agvOaJgOWcqOeahOS9jee9rlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2VsbEhvcml6b250YWxQb3NpdGlvbihvcHRpb25zOiB7IGNvbHVtbldpZHRoOiBudW1iZXI7IGNvbHVtbkluZGV4OiBudW1iZXI7IGNvbHVtbkNvdW50OiBudW1iZXIgfSkge1xuICAgIGNvbnN0IHsgY29sdW1uV2lkdGggfSA9IG9wdGlvbnM7XG4gICAgcmV0dXJuIHsgd2lkdGg6IGNvbHVtbldpZHRoLCBvZmZzZXQ6IDAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNlbGxWYWx1ZTxUID0gYW55PihhaVRhYmxlOiBBSVRhYmxlLCBmaWVsZDogQUlUYWJsZUZpZWxkLCBjZWxsVmFsdWU6IEZpZWxkVmFsdWUpOiBUIHwgbnVsbCB7XG4gICAgY29uc3QgZmllbGRNb2RlbCA9IEZpZWxkTW9kZWxNYXBbZmllbGQudHlwZV07XG4gICAgaWYgKCFmaWVsZE1vZGVsLmlzVmFsaWQoY2VsbFZhbHVlKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZFNlcnZpY2UgPSBBSV9UQUJMRV9HUklEX0ZJRUxEX1NFUlZJQ0VfTUFQLmdldChhaVRhYmxlKTtcblxuICAgIGlmICghZmllbGRTZXJ2aWNlKSB7XG4gICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3QgZmllbGRSZW5kZXJlcnMgPSBmaWVsZFNlcnZpY2UuYWlGaWVsZENvbmZpZz8uZmllbGRSZW5kZXJlcnM7XG4gICAgaWYgKCFmaWVsZFJlbmRlcmVycykge1xuICAgICAgICByZXR1cm4gY2VsbFZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IGNlbGxUcmFuc2Zvcm0gPSBmaWVsZFJlbmRlcmVyc1tmaWVsZC50eXBlXT8udHJhbnNmb3JtO1xuICAgIGlmICghY2VsbFRyYW5zZm9ybSkge1xuICAgICAgICByZXR1cm4gY2VsbFZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IGNlbGxUZXh0ID0gY2VsbFRyYW5zZm9ybShmaWVsZCwgY2VsbFZhbHVlKTtcblxuICAgIGlmIChjZWxsVGV4dCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNlbGxUZXh0O1xufVxuXG4vKipcbiAqIGBcXHU0ZTAwYDogaHR0cHM6Ly93d3cuY29tcGFydC5jb20vZW4vdW5pY29kZS9VKzRFMDBcbiAqIGBcXHU5ZmE1YDogaHR0cHM6Ly93d3cuY29tcGFydC5jb20vZW4vdW5pY29kZS9VKzlGQTVcbiAqL1xuY29uc3QgVU5JRklFRF9JREVPR1JBUEhTX1JFR0VYID0gL15bXFx1NGUwMC1cXHU5ZmE1XSskLztcblxuY29uc3QgU0VUX09GX0xFVFRFUlNfUkVHRVggPSAvXlthLXpBLVpcXC8gXSskLztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF2YXRhclNob3J0TmFtZShuYW1lOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIG5hbWUgPSBuYW1lLnRyaW0oKTtcblxuICAgIGlmIChVTklGSUVEX0lERU9HUkFQSFNfUkVHRVgudGVzdChuYW1lKSAmJiBuYW1lLmxlbmd0aCA+IDIpIHtcbiAgICAgICAgcmV0dXJuIG5hbWUuc2xpY2UobmFtZS5sZW5ndGggLSAyKTtcbiAgICB9XG5cbiAgICBpZiAoU0VUX09GX0xFVFRFUlNfUkVHRVgudGVzdChuYW1lKSAmJiBuYW1lLmluZGV4T2YoJyAnKSA+IDApIHtcbiAgICAgICAgY29uc3Qgd29yZHM6IHN0cmluZ1tdID0gbmFtZS5zcGxpdCgnICcpO1xuICAgICAgICByZXR1cm4gKHdvcmRzWzBdLnNsaWNlKDAsIDEpICsgd29yZHNbMV0uc2xpY2UoMCwgMSkpLnRvVXBwZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5hbWUubGVuZ3RoID4gMiA/IG5hbWUuc2xpY2UoMCwgMikudG9VcHBlckNhc2UoKSA6IG5hbWUudG9VcHBlckNhc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF2YXRhckJnQ29sb3IobmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY29sb3JzID0gWycjNTZhYmZiJywgJyM1ZGNmZmYnLCAnIzg0ZTE3ZScsICcjNzNkODk3JywgJyNmZjlmNzMnLCAnI2ZhODg4OCcsICcjZmI3ZmI3JywgJyM5YTdlZjQnLCAnIzg2OGFmNiddO1xuICAgIGNvbnN0IG5hbWVBcnJheTogc3RyaW5nW10gPSBuYW1lLnNwbGl0KCcnKTtcbiAgICBjb25zdCBjb2RlOiBudW1iZXIgPVxuICAgICAgICBuYW1lICYmIG5hbWUubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBuYW1lQXJyYXkucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKHJlc3VsdCwgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC52YWx1ZSArPSBpdGVtLmNoYXJDb2RlQXQoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7IHZhbHVlOiAwIH1cbiAgICAgICAgICAgICAgKS52YWx1ZVxuICAgICAgICAgICAgOiAwO1xuICAgIHJldHVybiBjb2xvcnNbY29kZSAlIDldO1xufVxuIl19
@@ -74,12 +74,18 @@ function buildClipboardContent(aiTable, fieldIds, recordIds) {
74
74
  fieldIds.forEach((fieldId) => {
75
75
  const field = aiTable.fieldsMap()[fieldId];
76
76
  const cellValue = getFieldValue(record, field);
77
- const transformValue = transformCellValue(aiTable, field, cellValue);
78
- const cellTexts = FieldModelMap[field.type].cellFullText(transformValue, field, references);
79
77
  let cellContent = {
80
- text: cellTexts.join(','),
81
- html: cellTexts.join(',')
78
+ text: '',
79
+ html: ''
82
80
  };
81
+ if (FieldModelMap[field.type].isValid(cellValue)) {
82
+ const transformValue = transformCellValue(aiTable, field, cellValue);
83
+ const cellTexts = FieldModelMap[field.type].cellFullText(transformValue, field, references);
84
+ cellContent = {
85
+ text: cellTexts.join(','),
86
+ html: cellTexts.join(',')
87
+ };
88
+ }
83
89
  if (field.type === AITableFieldType.link && cellValue && cellValue.url) {
84
90
  cellContent.html = `<a href="${cellValue.url}" target="_blank">${cellValue.text}</a>`;
85
91
  }
@@ -89,4 +95,4 @@ function buildClipboardContent(aiTable, fieldIds, recordIds) {
89
95
  });
90
96
  return clipboardContent;
91
97
  }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2NsaXBib2FyZC9jb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxnQkFBZ0IsRUFBaUIsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBb0IsTUFBTSxZQUFZLENBQUM7QUFDM0ksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUc3QyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxtQkFBbUIsQ0FBQztBQUU1RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQWdCLEVBQTJCLEVBQUU7SUFDNUUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUN2QyxJQUFJLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBQ3hDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7UUFDckMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENB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QUM7YUFDNUIsQ0FBQztZQUNGLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDckUsV0FBVyxDQUFDLElBQUksR0FBRyxZQUFZLFNBQVMsQ0FBQyxHQUFHLHFCQUFxQixTQUFTLENBQUMsSUFBSSxNQUFNLENBQUM7WUFDMUYsQ0FBQztZQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLGdCQUFnQixDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGRUeXBlLCBBSVRhYmxlUmVjb3JkLCBnZXRGaWVsZFZhbHVlLCBnZXRTeXN0ZW1GaWVsZFZhbHVlLCBpc1N5c3RlbUZpZWxkLCBTeXN0ZW1GaWVsZFR5cGVzIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBGaWVsZE1vZGVsTWFwIH0gZnJvbSAnLi4vZmllbGQvbW9kZWwnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQ2VsbFZhbHVlIH0gZnJvbSAnLi4vY2VsbCc7XG5pbXBvcnQgeyBBSVRhYmxlQ29udGVudCwgQ2xpcGJvYXJkQ29udGVudCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGFpVGFibGVGcmFnbWVudEF0dHJpYnV0ZSA9ICdhaS10YWJsZS1mcmFnbWVudCc7XG5cbmV4cG9ydCBjb25zdCBidWlsZENsaXBib2FyZERhdGEgPSAoYWlUYWJsZTogQUlUYWJsZSk6IENsaXBib2FyZENvbnRlbnQgfCBudWxsID0+IHtcbiAgICBjb25zdCBjb3BpZWRDZWxscyA9IEFycmF5LmZyb20oYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZENlbGxzKTtcbiAgICBpZiAoIWNvcGllZENlbGxzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgY29waWVkRmllbGRJZHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICBsZXQgY29waWVkUmVjb3JkSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgY29waWVkQ2VsbHMuZm9yRWFjaCgoY2VsbFBhdGg6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBbcmVjb3JkSWQsIGZpZWxkSWRdID0gY2VsbFBhdGguc3BsaXQoJzonKTtcbiAgICAgICAgY29waWVkRmllbGRJZHMuYWRkKGZpZWxkSWQpO1xuICAgICAgICBjb3BpZWRSZWNvcmRJZHMuYWRkKHJlY29yZElkKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGZpZWxkSWRzID0gQXJyYXkuZnJvbShjb3BpZWRGaWVsZElkcyk7XG4gICAgY29uc3QgcmVjb3JkSWRzID0gQXJyYXkuZnJvbShjb3BpZWRSZWNvcmRJZHMpO1xuICAgIGNvbnN0IGFpVGFibGVDb250ZW50ID0gYnVpbGRBSVRhYmxlQ29udGVudChhaVRhYmxlLCBmaWVsZElkcywgcmVjb3JkSWRzKTtcbiAgICBjb25zdCBjbGlwYm9hcmRDb250ZW50ID0gYnVpbGRDbGlwYm9hcmRDb250ZW50KGFpVGFibGUsIGZpZWxkSWRzLCByZWNvcmRJZHMpO1xuXG4gICAgcmV0dXJuIG1lcmdlQ2xpcGJvYXJkQ29udGVudChjbGlwYm9hcmRDb250ZW50LCBhaVRhYmxlQ29udGVudCk7XG59O1xuXG5jb25zdCBlbmNvZGVBSVRhYmxlQ29udGVudCA9IChhaVRhYmxlQ29udGVudDogQUlUYWJsZUNvbnRlbnQpID0+IHtcbiAgICBjb25zdCBzdHJpbmdpZmllZERhdGEgPSBKU09OLnN0cmluZ2lmeShhaVRhYmxlQ29udGVudCk7XG4gICAgcmV0dXJuIHdpbmRvdy5idG9hKGVuY29kZVVSSUNvbXBvbmVudChzdHJpbmdpZmllZERhdGEpKTtcbn07XG5cbmZ1bmN0aW9uIG1lcmdlQ2xpcGJvYXJkQ29udGVudChjbGlwYm9hcmRDb250ZW50OiBDbGlwYm9hcmRDb250ZW50W11bXSwgYWlUYWJsZUNvbnRlbnQ6IEFJVGFibGVDb250ZW50KTogQ2xpcGJvYXJkQ29udGVudCB7XG4gICAgY29uc3QgZW5jb2RlZEFJVGFibGVDb250ZW50ID0gZW5jb2RlQUlUYWJsZUNvbnRlbnQoYWlUYWJsZUNvbnRlbnQpO1xuICAgIGNvbnN0IGZvcm1hdHRlZENvbnRlbnQ6IENsaXBib2FyZENvbnRlbnQgPSB7XG4gICAgICAgIHRleHQ6IGNsaXBib2FyZENvbnRlbnQubWFwKChyb3cpID0+IHJvdy5tYXAoKGNvbHVtbikgPT4gY29sdW1uLnRleHQpLmpvaW4oJ1xcdCcpKS5qb2luKCdcXG4nKSxcbiAgICAgICAgaHRtbDogYDx0YWJsZSAke2FpVGFibGVGcmFnbWVudEF0dHJpYnV0ZX09XCIke2VuY29kZWRBSVRhYmxlQ29udGVudH1cIj4ke2NsaXBib2FyZENvbnRlbnQubWFwKChyb3cpID0+IGA8dHI+JHtyb3cubWFwKChjb2x1bW4pID0+IGA8dGQ+JHtjb2x1bW4uaHRtbH08L3RkPmApLmpvaW4oJycpfTwvdHI+YCkuam9pbignJyl9PC90YWJsZT5gXG4gICAgfTtcbiAgICByZXR1cm4gZm9ybWF0dGVkQ29udGVudDtcbn1cblxuZnVuY3Rpb24gYnVpbGRBSVRhYmxlQ29udGVudChhaVRhYmxlOiBBSVRhYmxlLCBmaWVsZElkczogc3RyaW5nW10sIHJlY29yZElkczogc3RyaW5nW10pOiBBSVRhYmxlQ29udGVudCB7XG4gICAgY29uc3QgZmllbGRzID0gZmllbGRJZHMubWFwKChmaWVsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBhaVRhYmxlLmZpZWxkc01hcCgpW2ZpZWxkSWRdO1xuICAgIH0pO1xuXG4gICAgY29uc3QgcmVjb3JkcyA9IHJlY29yZElkcy5tYXAoKHJlY29yZElkKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlY29yZCA9IGFpVGFibGUucmVjb3Jkc01hcCgpW3JlY29yZElkXTtcbiAgICAgICAgbGV0IG5ld1JlY29yZDogUGFydGlhbDxBSVRhYmxlUmVjb3JkPiA9IHtcbiAgICAgICAgICAgIF9pZDogcmVjb3JkLl9pZCxcbiAgICAgICAgICAgIHZhbHVlczoge31cbiAgICAgICAgfTtcbiAgICAgICAgZmllbGRJZHMuZm9yRWFjaCgoZmllbGRJZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmllbGQgPSBhaVRhYmxlLmZpZWxkc01hcCgpW2ZpZWxkSWRdO1xuICAgICAgICAgICAgaWYgKGlzU3lzdGVtRmllbGQoZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRUeXBlOiBTeXN0ZW1GaWVsZFR5cGVzID0gZmllbGQudHlwZSBhcyBTeXN0ZW1GaWVsZFR5cGVzO1xuICAgICAgICAgICAgICAgIG5ld1JlY29yZCA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ubmV3UmVjb3JkLFxuICAgICAgICAgICAgICAgICAgICBbZmllbGRUeXBlXTogZ2V0U3lzdGVtRmllbGRWYWx1ZShyZWNvcmQsIGZpZWxkVHlwZSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdSZWNvcmQudmFsdWVzID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5uZXdSZWNvcmQudmFsdWVzLFxuICAgICAgICAgICAgICAgICAgICBbZmllbGRJZF06IGdldEZpZWxkVmFsdWUocmVjb3JkLCBmaWVsZClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5ld1JlY29yZDtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgcmVjb3Jkc1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIGJ1aWxkQ2xpcGJvYXJkQ29udGVudChhaVRhYmxlOiBBSVRhYmxlLCBmaWVsZElkczogc3RyaW5nW10sIHJlY29yZElkczogc3RyaW5nW10pOiBDbGlwYm9hcmRDb250ZW50W11bXSB7XG4gICAgY29uc3QgY2xpcGJvYXJkQ29udGVudDogQ2xpcGJvYXJkQ29udGVudFtdW10gPSBbXTtcbiAgICBjb25zdCByZWZlcmVuY2VzID0gYWlUYWJsZS5jb250ZXh0IS5yZWZlcmVuY2VzKCk7XG4gICAgcmVjb3JkSWRzLmZvckVhY2goKHJlY29yZElkKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlY29yZCA9IGFpVGFibGUucmVjb3Jkc01hcCgpW3JlY29yZElkXTtcbiAgICAgICAgY29uc3Qgcm93OiB7IHRleHQ6IHN0cmluZzsgaHRtbDogc3RyaW5nIH1bXSA9IFtdO1xuICAgICAgICBmaWVsZElkcy5mb3JFYWNoKChmaWVsZElkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZCA9IGFpVGFibGUuZmllbGRzTWFwKClbZmllbGRJZF07XG4gICAgICAgICAgICBjb25zdCBjZWxsVmFsdWUgPSBnZXRGaWVsZFZhbHVlKHJlY29yZCwgZmllbGQpO1xuICAgICAgICAgICAgY29uc3QgdHJhbnNmb3JtVmFsdWUgPSB0cmFuc2Zvcm1DZWxsVmFsdWUoYWlUYWJsZSwgZmllbGQsIGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjb25zdCBjZWxsVGV4dHM6IHN0cmluZ1tdID0gRmllbGRNb2RlbE1hcFtmaWVsZC50eXBlXS5jZWxsRnVsbFRleHQodHJhbnNmb3JtVmFsdWUsIGZpZWxkLCByZWZlcmVuY2VzKTtcbiAgICAgICAgICAgIGxldCBjZWxsQ29udGVudCA9IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBjZWxsVGV4dHMuam9pbignLCcpLFxuICAgICAgICAgICAgICAgIGh0bWw6IGNlbGxUZXh0cy5qb2luKCcsJylcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5saW5rICYmIGNlbGxWYWx1ZSAmJiBjZWxsVmFsdWUudXJsKSB7XG4gICAgICAgICAgICAgICAgY2VsbENvbnRlbnQuaHRtbCA9IGA8YSBocmVmPVwiJHtjZWxsVmFsdWUudXJsfVwiIHRhcmdldD1cIl9ibGFua1wiPiR7Y2VsbFZhbHVlLnRleHR9PC9hPmA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3cucHVzaChjZWxsQ29udGVudCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjbGlwYm9hcmRDb250ZW50LnB1c2gocm93KTtcbiAgICB9KTtcbiAgICByZXR1cm4gY2xpcGJvYXJkQ29udGVudDtcbn1cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2NsaXBib2FyZC9jb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxnQkFBZ0IsRUFBaUIsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBb0IsTUFBTSxZQUFZLENBQUM7QUFDM0ksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUc3QyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxtQkFBbUIsQ0FBQztBQUU1RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQWdCLEVBQTJCLEVBQUU7SUFDNUUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUN2QyxJQUFJLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBQ3hDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7UUFDckMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hELGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENB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QUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3RHLFdBQVcsR0FBRztvQkFDVixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7b0JBQ3pCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztpQkFDNUIsQ0FBQztZQUNOLENBQUM7WUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3JFLFdBQVcsQ0FBQyxJQUFJLEdBQUcsWUFBWSxTQUFTLENBQUMsR0FBRyxxQkFBcUIsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDO1lBQzFGLENBQUM7WUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxnQkFBZ0IsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUZpZWxkVHlwZSwgQUlUYWJsZVJlY29yZCwgZ2V0RmllbGRWYWx1ZSwgZ2V0U3lzdGVtRmllbGRWYWx1ZSwgaXNTeXN0ZW1GaWVsZCwgU3lzdGVtRmllbGRUeXBlcyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRNb2RlbE1hcCB9IGZyb20gJy4uL2ZpZWxkL21vZGVsJztcbmltcG9ydCB7IHRyYW5zZm9ybUNlbGxWYWx1ZSB9IGZyb20gJy4uL2NlbGwnO1xuaW1wb3J0IHsgQUlUYWJsZUNvbnRlbnQsIENsaXBib2FyZENvbnRlbnQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBhaVRhYmxlRnJhZ21lbnRBdHRyaWJ1dGUgPSAnYWktdGFibGUtZnJhZ21lbnQnO1xuXG5leHBvcnQgY29uc3QgYnVpbGRDbGlwYm9hcmREYXRhID0gKGFpVGFibGU6IEFJVGFibGUpOiBDbGlwYm9hcmRDb250ZW50IHwgbnVsbCA9PiB7XG4gICAgY29uc3QgY29waWVkQ2VsbHMgPSBBcnJheS5mcm9tKGFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRDZWxscyk7XG4gICAgaWYgKCFjb3BpZWRDZWxscy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGNvcGllZEZpZWxkSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgbGV0IGNvcGllZFJlY29yZElkcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIGNvcGllZENlbGxzLmZvckVhY2goKGNlbGxQYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgW3JlY29yZElkLCBmaWVsZElkXSA9IGNlbGxQYXRoLnNwbGl0KCc6Jyk7XG4gICAgICAgIGNvcGllZEZpZWxkSWRzLmFkZChmaWVsZElkKTtcbiAgICAgICAgY29waWVkUmVjb3JkSWRzLmFkZChyZWNvcmRJZCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBmaWVsZElkcyA9IEFycmF5LmZyb20oY29waWVkRmllbGRJZHMpO1xuICAgIGNvbnN0IHJlY29yZElkcyA9IEFycmF5LmZyb20oY29waWVkUmVjb3JkSWRzKTtcbiAgICBjb25zdCBhaVRhYmxlQ29udGVudCA9IGJ1aWxkQUlUYWJsZUNvbnRlbnQoYWlUYWJsZSwgZmllbGRJZHMsIHJlY29yZElkcyk7XG4gICAgY29uc3QgY2xpcGJvYXJkQ29udGVudCA9IGJ1aWxkQ2xpcGJvYXJkQ29udGVudChhaVRhYmxlLCBmaWVsZElkcywgcmVjb3JkSWRzKTtcblxuICAgIHJldHVybiBtZXJnZUNsaXBib2FyZENvbnRlbnQoY2xpcGJvYXJkQ29udGVudCwgYWlUYWJsZUNvbnRlbnQpO1xufTtcblxuY29uc3QgZW5jb2RlQUlUYWJsZUNvbnRlbnQgPSAoYWlUYWJsZUNvbnRlbnQ6IEFJVGFibGVDb250ZW50KSA9PiB7XG4gICAgY29uc3Qgc3RyaW5naWZpZWREYXRhID0gSlNPTi5zdHJpbmdpZnkoYWlUYWJsZUNvbnRlbnQpO1xuICAgIHJldHVybiB3aW5kb3cuYnRvYShlbmNvZGVVUklDb21wb25lbnQoc3RyaW5naWZpZWREYXRhKSk7XG59O1xuXG5mdW5jdGlvbiBtZXJnZUNsaXBib2FyZENvbnRlbnQoY2xpcGJvYXJkQ29udGVudDogQ2xpcGJvYXJkQ29udGVudFtdW10sIGFpVGFibGVDb250ZW50OiBBSVRhYmxlQ29udGVudCk6IENsaXBib2FyZENvbnRlbnQge1xuICAgIGNvbnN0IGVuY29kZWRBSVRhYmxlQ29udGVudCA9IGVuY29kZUFJVGFibGVDb250ZW50KGFpVGFibGVDb250ZW50KTtcbiAgICBjb25zdCBmb3JtYXR0ZWRDb250ZW50OiBDbGlwYm9hcmRDb250ZW50ID0ge1xuICAgICAgICB0ZXh0OiBjbGlwYm9hcmRDb250ZW50Lm1hcCgocm93KSA9PiByb3cubWFwKChjb2x1bW4pID0+IGNvbHVtbi50ZXh0KS5qb2luKCdcXHQnKSkuam9pbignXFxuJyksXG4gICAgICAgIGh0bWw6IGA8dGFibGUgJHthaVRhYmxlRnJhZ21lbnRBdHRyaWJ1dGV9PVwiJHtlbmNvZGVkQUlUYWJsZUNvbnRlbnR9XCI+JHtjbGlwYm9hcmRDb250ZW50Lm1hcCgocm93KSA9PiBgPHRyPiR7cm93Lm1hcCgoY29sdW1uKSA9PiBgPHRkPiR7Y29sdW1uLmh0bWx9PC90ZD5gKS5qb2luKCcnKX08L3RyPmApLmpvaW4oJycpfTwvdGFibGU+YFxuICAgIH07XG4gICAgcmV0dXJuIGZvcm1hdHRlZENvbnRlbnQ7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkQUlUYWJsZUNvbnRlbnQoYWlUYWJsZTogQUlUYWJsZSwgZmllbGRJZHM6IHN0cmluZ1tdLCByZWNvcmRJZHM6IHN0cmluZ1tdKTogQUlUYWJsZUNvbnRlbnQge1xuICAgIGNvbnN0IGZpZWxkcyA9IGZpZWxkSWRzLm1hcCgoZmllbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYWlUYWJsZS5maWVsZHNNYXAoKVtmaWVsZElkXTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlY29yZHMgPSByZWNvcmRJZHMubWFwKChyZWNvcmRJZCkgPT4ge1xuICAgICAgICBjb25zdCByZWNvcmQgPSBhaVRhYmxlLnJlY29yZHNNYXAoKVtyZWNvcmRJZF07XG4gICAgICAgIGxldCBuZXdSZWNvcmQ6IFBhcnRpYWw8QUlUYWJsZVJlY29yZD4gPSB7XG4gICAgICAgICAgICBfaWQ6IHJlY29yZC5faWQsXG4gICAgICAgICAgICB2YWx1ZXM6IHt9XG4gICAgICAgIH07XG4gICAgICAgIGZpZWxkSWRzLmZvckVhY2goKGZpZWxkSWQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gYWlUYWJsZS5maWVsZHNNYXAoKVtmaWVsZElkXTtcbiAgICAgICAgICAgIGlmIChpc1N5c3RlbUZpZWxkKGZpZWxkKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkVHlwZTogU3lzdGVtRmllbGRUeXBlcyA9IGZpZWxkLnR5cGUgYXMgU3lzdGVtRmllbGRUeXBlcztcbiAgICAgICAgICAgICAgICBuZXdSZWNvcmQgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLm5ld1JlY29yZCxcbiAgICAgICAgICAgICAgICAgICAgW2ZpZWxkVHlwZV06IGdldFN5c3RlbUZpZWxkVmFsdWUocmVjb3JkLCBmaWVsZFR5cGUpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3UmVjb3JkLnZhbHVlcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ubmV3UmVjb3JkLnZhbHVlcyxcbiAgICAgICAgICAgICAgICAgICAgW2ZpZWxkSWRdOiBnZXRGaWVsZFZhbHVlKHJlY29yZCwgZmllbGQpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBuZXdSZWNvcmQ7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHJlY29yZHNcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBidWlsZENsaXBib2FyZENvbnRlbnQoYWlUYWJsZTogQUlUYWJsZSwgZmllbGRJZHM6IHN0cmluZ1tdLCByZWNvcmRJZHM6IHN0cmluZ1tdKTogQ2xpcGJvYXJkQ29udGVudFtdW10ge1xuICAgIGNvbnN0IGNsaXBib2FyZENvbnRlbnQ6IENsaXBib2FyZENvbnRlbnRbXVtdID0gW107XG4gICAgY29uc3QgcmVmZXJlbmNlcyA9IGFpVGFibGUuY29udGV4dCEucmVmZXJlbmNlcygpO1xuICAgIHJlY29yZElkcy5mb3JFYWNoKChyZWNvcmRJZCkgPT4ge1xuICAgICAgICBjb25zdCByZWNvcmQgPSBhaVRhYmxlLnJlY29yZHNNYXAoKVtyZWNvcmRJZF07XG4gICAgICAgIGNvbnN0IHJvdzogeyB0ZXh0OiBzdHJpbmc7IGh0bWw6IHN0cmluZyB9W10gPSBbXTtcbiAgICAgICAgZmllbGRJZHMuZm9yRWFjaCgoZmllbGRJZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmllbGQgPSBhaVRhYmxlLmZpZWxkc01hcCgpW2ZpZWxkSWRdO1xuICAgICAgICAgICAgY29uc3QgY2VsbFZhbHVlID0gZ2V0RmllbGRWYWx1ZShyZWNvcmQsIGZpZWxkKTtcbiAgICAgICAgICAgIGxldCBjZWxsQ29udGVudCA9IHtcbiAgICAgICAgICAgICAgICB0ZXh0OiAnJyxcbiAgICAgICAgICAgICAgICBodG1sOiAnJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmIChGaWVsZE1vZGVsTWFwW2ZpZWxkLnR5cGVdLmlzVmFsaWQoY2VsbFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybVZhbHVlID0gdHJhbnNmb3JtQ2VsbFZhbHVlKGFpVGFibGUsIGZpZWxkLCBjZWxsVmFsdWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxUZXh0czogc3RyaW5nW10gPSBGaWVsZE1vZGVsTWFwW2ZpZWxkLnR5cGVdLmNlbGxGdWxsVGV4dCh0cmFuc2Zvcm1WYWx1ZSwgZmllbGQsIHJlZmVyZW5jZXMpO1xuICAgICAgICAgICAgICAgIGNlbGxDb250ZW50ID0ge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBjZWxsVGV4dHMuam9pbignLCcpLFxuICAgICAgICAgICAgICAgICAgICBodG1sOiBjZWxsVGV4dHMuam9pbignLCcpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLmxpbmsgJiYgY2VsbFZhbHVlICYmIGNlbGxWYWx1ZS51cmwpIHtcbiAgICAgICAgICAgICAgICBjZWxsQ29udGVudC5odG1sID0gYDxhIGhyZWY9XCIke2NlbGxWYWx1ZS51cmx9XCIgdGFyZ2V0PVwiX2JsYW5rXCI+JHtjZWxsVmFsdWUudGV4dH08L2E+YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJvdy5wdXNoKGNlbGxDb250ZW50KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNsaXBib2FyZENvbnRlbnQucHVzaChyb3cpO1xuICAgIH0pO1xuICAgIHJldHVybiBjbGlwYm9hcmRDb250ZW50O1xufVxuIl19
@@ -85,9 +85,6 @@ function getPasteValue(plainText, aiTableContent, recordIndex, fieldIndex, targe
85
85
  field = fields[fieldIndex];
86
86
  record = records[recordIndex];
87
87
  }
88
- if (targetField.type === AITableFieldType.attachment || (field && field.type === AITableFieldType.attachment)) {
89
- return { value: null, newField: null };
90
- }
91
88
  if (targetField.type !== AITableFieldType.link) {
92
89
  plainText = extractText(plainText);
93
90
  }
@@ -189,4 +186,4 @@ export const writeToAITable = async (aiTable, actions) => {
189
186
  });
190
187
  return isPasteSuccess;
191
188
  };
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9jbGlwYm9hcmQvcGFzdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILE9BQU8sRUFFUCxnQkFBZ0IsRUFFaEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUV0QixlQUFlLEVBQ2YsYUFBYSxFQUNiLFNBQVMsRUFHWixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRSxNQUFNLHVCQUF1QixHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsd0JBQXdCLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV2RixNQUFNLHVCQUF1QixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7SUFDaEQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixTQUFTLCtCQUErQixDQUFDLGFBQXFCO0lBQzFELE1BQU0sUUFBUSxHQUFHLGFBQWE7U0FDekIsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENB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aW1wb3J0IHsgQUlUYWJsZUNvbnRlbnQsIEFJVGFibGVSZWZlcmVuY2VzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBBSVRhYmxlLFxuICAgIEFJVGFibGVGaWVsZCxcbiAgICBBSVRhYmxlRmllbGRUeXBlLFxuICAgIEFJVGFibGVSZWNvcmQsXG4gICAgY3JlYXRlRGVmYXVsdEZpZWxkLFxuICAgIGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUsXG4gICAgRmllbGRWYWx1ZSxcbiAgICBnZXRGaWVsZE9wdGlvbnMsXG4gICAgZ2V0RmllbGRWYWx1ZSxcbiAgICBpZENyZWF0b3IsXG4gICAgU2VsZWN0U2V0dGluZ3MsXG4gICAgVXBkYXRlRmllbGRWYWx1ZU9wdGlvbnNcbn0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyByZWFkRnJvbUNsaXBib2FyZCwgYWlUYWJsZUZyYWdtZW50QXR0cmlidXRlLCBleHRyYWN0VGV4dCB9IGZyb20gJy4uL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBGaWVsZE1vZGVsTWFwIH0gZnJvbSAnLi4vZmllbGQvbW9kZWwnO1xuaW1wb3J0IHsgcHJvY2Vzc1Bhc3RlZFZhbHVlRm9yU2VsZWN0IH0gZnJvbSAnLi4vZmllbGQvbW9kZWwvc2VsZWN0JztcbmltcG9ydCB7IEFkZFJlY29yZE9wdGlvbnMsIEFkZEZpZWxkT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuXG5jb25zdCBhaVRhYmxlQXR0cmlidXRlUGF0dGVybiA9IG5ldyBSZWdFeHAoYCR7YWlUYWJsZUZyYWdtZW50QXR0cmlidXRlfT1cIiguKz8pXCJgLCAnbScpO1xuXG5jb25zdCBkZWNvZGVDbGlwYm9hcmRKc29uRGF0YSA9IChlbmNvZGVkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5hdG9iKGVuY29kZWQpKTtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkZWNvZGVkKTtcbn07XG5cbmZ1bmN0aW9uIGV4dHJhY3RDb250ZW50RnJvbUNsaXBib2FyZFRleHQoY2xpcGJvYXJkVGV4dDogc3RyaW5nKTogc3RyaW5nW11bXSB7XG4gICAgY29uc3QgY29udGVudHMgPSBjbGlwYm9hcmRUZXh0XG4gICAgICAgIC5zcGxpdCgnXFxuJylcbiAgICAgICAgLm1hcCgocm93KSA9PiByb3cuc3BsaXQoJ1xcdCcpKVxuICAgICAgICAuZmlsdGVyKChyb3cpID0+IHJvdy5sZW5ndGggPiAwICYmIHJvdy5zb21lKChjZWxsKSA9PiBjZWxsLnRyaW0oKS5sZW5ndGggPiAwKSk7XG5cbiAgICByZXR1cm4gY29udGVudHM7XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NUYWJsZUNlbGwoY2VsbEh0bWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbGlua1BhdHRlcm4gPSAvPGFbXj5dKj9ocmVmPVtcIiddKFteXCInXSspW1wiJ11bXj5dKj8+KFtePF0qPyk8XFwvYT4vaTtcbiAgICBjb25zdCBtYXRjaCA9IGNlbGxIdG1sLm1hdGNoKGxpbmtQYXR0ZXJuKTtcbiAgICBjb25zdCBsaW5rID0gbWF0Y2ggPyB7IGhyZWY6IG1hdGNoWzFdLCB0ZXh0OiBtYXRjaFsyXSB9IDogbnVsbDtcbiAgICBjb25zdCBjb250ZW50ID0gbGluayA/IGNlbGxIdG1sLnJlcGxhY2UobGlua1BhdHRlcm4sIGBbTElOSzoke2xpbmsudGV4dH1dKCR7bGluay5ocmVmfSlgKSA6IGNlbGxIdG1sO1xuXG4gICAgY29uc3QgY2xlYW5Db250ZW50ID0gY29udGVudFxuICAgICAgICAucmVwbGFjZSgvPFtePl0rPi9nLCAnJylcbiAgICAgICAgLnJlcGxhY2UoLyZuYnNwOy9nLCAnICcpXG4gICAgICAgIC5yZXBsYWNlKC9cXHMrL2csICcgJylcbiAgICAgICAgLnRyaW0oKTtcblxuICAgIHJldHVybiBsaW5rID8gY2xlYW5Db250ZW50LnJlcGxhY2UoYFtMSU5LOiR7bGluay50ZXh0fV0oJHtsaW5rLmhyZWZ9KWAsIGA8YSBocmVmPVwiJHtsaW5rLmhyZWZ9XCI+JHtsaW5rLnRleHR9PC9hPmApIDogY2xlYW5Db250ZW50O1xufVxuXG5mdW5jdGlvbiBleHRyYWN0Q29udGVudEZyb21DbGlwYm9hcmRIdG1sKGNsaXBib2FyZEh0bWw6IHN0cmluZyk6IHN0cmluZ1tdW10ge1xuICAgIGNvbnN0IHRhYmxlUGF0dGVybiA9IC88dGFibGVbXj5dKj4oW1xcc1xcU10qPyk8XFwvdGFibGU+L2k7XG4gICAgY29uc3QgdHJQYXR0ZXJuID0gLzx0cltePl0qPihbXFxzXFxTXSo/KTxcXC90cj4vZ2k7XG4gICAgY29uc3QgdGRQYXR0ZXJuID0gLzx0ZFtePl0qPz4oW1xcc1xcU10qPyk8XFwvdGQ+L2dpO1xuXG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdGFibGVNYXRjaCA9IGNsaXBib2FyZEh0bWwubWF0Y2godGFibGVQYXR0ZXJuKTtcbiAgICAgICAgY29uc3QgdGFibGVDb250ZW50ID0gdGFibGVNYXRjaCA/IHRhYmxlTWF0Y2hbMV0gOiBjbGlwYm9hcmRIdG1sO1xuICAgICAgICBjb25zdCByb3dzID0gdGFibGVDb250ZW50Lm1hdGNoKHRyUGF0dGVybikgfHwgW107XG5cbiAgICAgICAgcmV0dXJuIHJvd3NcbiAgICAgICAgICAgIC5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgICAgIGxldCB0ZE1hdGNoO1xuXG4gICAgICAgICAgICAgICAgd2hpbGUgKCh0ZE1hdGNoID0gdGRQYXR0ZXJuLmV4ZWMocm93KSkgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudHMucHVzaChwcm9jZXNzVGFibGVDZWxsKHRkTWF0Y2hbMV0pKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudHM7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmZpbHRlcigocm93KSA9PiByb3cubGVuZ3RoID4gMCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdGYWlsZWQgdG8gZXh0cmFjdCBjb250ZW50IGZyb20gSFRNTDonLCBlcnJvcik7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RBSVRhYmxlQ29udGVudEZyb21DbGlwYm9hcmRIdG1sKGNsaXBib2FyZEh0bWw6IHN0cmluZyk6IEFJVGFibGVDb250ZW50IHwgbnVsbCB7XG4gICAgY29uc3QgYWlUYWJsZUZyYWdtZW50ID0gY2xpcGJvYXJkSHRtbC5tYXRjaChhaVRhYmxlQXR0cmlidXRlUGF0dGVybik7XG4gICAgaWYgKGFpVGFibGVGcmFnbWVudCAmJiAhIWFpVGFibGVGcmFnbWVudC5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGRlY29kZUNsaXBib2FyZEpzb25EYXRhKGFpVGFibGVGcmFnbWVudFsxXSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5jb25zdCByZWFkQ2xpcGJvYXJkRGF0YSA9IGFzeW5jICgpOiBQcm9taXNlPHsgY2xpcGJvYXJkQ29udGVudDogc3RyaW5nW11bXTsgYWlUYWJsZUNvbnRlbnQ6IEFJVGFibGVDb250ZW50IHwgbnVsbCB9PiA9PiB7XG4gICAgY29uc3QgY2xpcGJvYXJkRGF0YSA9IGF3YWl0IHJlYWRGcm9tQ2xpcGJvYXJkKCk7XG4gICAgbGV0IGNsaXBib2FyZENvbnRlbnQ6IHN0cmluZ1tdW10gPSBbXTtcbiAgICBsZXQgYWlUYWJsZUNvbnRlbnQ6IEFJVGFibGVDb250ZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoY2xpcGJvYXJkRGF0YSkge1xuICAgICAgICBjb25zdCBjbGlwYm9hcmRIdG1sID0gY2xpcGJvYXJkRGF0YS5odG1sO1xuICAgICAgICBjb25zdCBjbGlwYm9hcmRUZXh0ID0gY2xpcGJvYXJkRGF0YS50ZXh0O1xuXG4gICAgICAgIGlmIChjbGlwYm9hcmRIdG1sKSB7XG4gICAgICAgICAgICBhaVRhYmxlQ29udGVudCA9IGV4dHJhY3RBSVRhYmxlQ29udGVudEZyb21DbGlwYm9hcmRIdG1sKGNsaXBib2FyZEh0bWwpO1xuICAgICAgICAgICAgY2xpcGJvYXJkQ29udGVudCA9IGV4dHJhY3RDb250ZW50RnJvbUNsaXBib2FyZEh0bWwoY2xpcGJvYXJkSHRtbCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNsaXBib2FyZENvbnRlbnQubGVuZ3RoICYmIGNsaXBib2FyZFRleHQpIHtcbiAgICAgICAgICAgIGNsaXBib2FyZENvbnRlbnQgPSBleHRyYWN0Q29udGVudEZyb21DbGlwYm9hcmRUZXh0KGNsaXBib2FyZFRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgY2xpcGJvYXJkQ29udGVudCxcbiAgICAgICAgYWlUYWJsZUNvbnRlbnRcbiAgICB9O1xufTtcblxuZnVuY3Rpb24gZ2V0UGFzdGVWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICBhaVRhYmxlQ29udGVudDogQUlUYWJsZUNvbnRlbnQgfCBudWxsLFxuICAgIHJlY29yZEluZGV4OiBudW1iZXIsXG4gICAgZmllbGRJbmRleDogbnVtYmVyLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXNcbik6IHtcbiAgICB2YWx1ZTogRmllbGRWYWx1ZSB8IG51bGw7XG4gICAgbmV3RmllbGQ6IEFJVGFibGVGaWVsZCB8IG51bGw7XG59IHtcbiAgICBsZXQgZmllbGQ6IEFJVGFibGVGaWVsZCB8IG51bGwgPSBudWxsO1xuICAgIGxldCByZWNvcmQ6IFBhcnRpYWw8QUlUYWJsZVJlY29yZD4gfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChhaVRhYmxlQ29udGVudCkge1xuICAgICAgICBjb25zdCB7IGZpZWxkcywgcmVjb3JkcyB9ID0gYWlUYWJsZUNvbnRlbnQ7XG4gICAgICAgIGZpZWxkID0gZmllbGRzW2ZpZWxkSW5kZXhdO1xuICAgICAgICByZWNvcmQgPSByZWNvcmRzW3JlY29yZEluZGV4XTtcbiAgICB9XG5cbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5hdHRhY2htZW50IHx8IChmaWVsZCAmJiBmaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLmF0dGFjaG1lbnQpKSB7XG4gICAgICAgIHJldHVybiB7IHZhbHVlOiBudWxsLCBuZXdGaWVsZDogbnVsbCB9O1xuICAgIH1cbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSAhPT0gQUlUYWJsZUZpZWxkVHlwZS5saW5rKSB7XG4gICAgICAgIHBsYWluVGV4dCA9IGV4dHJhY3RUZXh0KHBsYWluVGV4dCk7XG4gICAgfVxuXG4gICAgbGV0IG9yaWdpbkRhdGEgPSBmaWVsZCAmJiByZWNvcmQgPyB7IGZpZWxkLCBjZWxsVmFsdWU6IGdldEZpZWxkVmFsdWUocmVjb3JkLCBmaWVsZCkgfSA6IG51bGw7XG4gICAgaWYgKHRhcmdldEZpZWxkLnR5cGUgPT09IEFJVGFibGVGaWVsZFR5cGUuc2VsZWN0KSB7XG4gICAgICAgIGxldCB7IGV4aXN0T3B0aW9uSWRzLCBuZXdPcHRpb25zIH0gPSBwcm9jZXNzUGFzdGVkVmFsdWVGb3JTZWxlY3QocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSk7XG4gICAgICAgIGxldCBuZXdGaWVsZDogQUlUYWJsZUZpZWxkIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGxldCBuZXdPcHRpb25JZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgaWYgKG5ld09wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBuZXdGaWVsZCA9IHtcbiAgICAgICAgICAgICAgICAuLi50YXJnZXRGaWVsZCxcbiAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgICAuLi50YXJnZXRGaWVsZC5zZXR0aW5ncyxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWy4uLigodGFyZ2V0RmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpPy5vcHRpb25zIHx8IFtdKSwgLi4ubmV3T3B0aW9uc11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgbmV3T3B0aW9uSWRzID0gbmV3T3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLl9pZCkuZmlsdGVyKChpZCkgPT4gISFpZCkgYXMgc3RyaW5nW107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWxlY3RGaWVsZFZhbHVlID0gbmV3T3B0aW9uSWRzPy5sZW5ndGggPyBbLi4uZXhpc3RPcHRpb25JZHMsIC4uLm5ld09wdGlvbklkc10gOiBleGlzdE9wdGlvbklkcztcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RGaWVsZFZhbHVlLFxuICAgICAgICAgICAgbmV3RmllbGRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyB2YWx1ZTogRmllbGRNb2RlbE1hcFt0YXJnZXRGaWVsZC50eXBlXS50b0ZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSwgcmVmZXJlbmNlcyksIG5ld0ZpZWxkOiBudWxsIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUFjdGlvbnMge1xuICAgIHVwZGF0ZUZpZWxkVmFsdWU6IChkYXRhOiBVcGRhdGVGaWVsZFZhbHVlT3B0aW9ucykgPT4gdm9pZDtcbiAgICBzZXRGaWVsZDogKGZpZWxkOiBBSVRhYmxlRmllbGQpID0+IHZvaWQ7XG4gICAgYWRkUmVjb3JkOiAoZGF0YTogQWRkUmVjb3JkT3B0aW9ucykgPT4gdm9pZDtcbiAgICBhZGRGaWVsZDogKGRhdGE6IEFkZEZpZWxkT3B0aW9ucykgPT4gdm9pZDtcbn1cblxuZnVuY3Rpb24gYXBwZW5kUmVjb3JkKGFpVGFibGU6IEFJVGFibGUsIGFjdGlvbnM6IEFJVGFibGVBY3Rpb25zKSB7XG4gICAgY29uc3QgYWxsUmVjb3JkcyA9IGFpVGFibGUucmVjb3JkcygpO1xuICAgIGNvbnN0IGxhc3RSZWNvcmRJZCA9IGFsbFJlY29yZHMubGVuZ3RoID4gMCA/IGFsbFJlY29yZHNbYWxsUmVjb3Jkcy5sZW5ndGggLSAxXS5faWQgOiAnJztcbiAgICBhY3Rpb25zLmFkZFJlY29yZCh7XG4gICAgICAgIG9yaWdpbklkOiBsYXN0UmVjb3JkSWRcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kRmllbGQoYWlUYWJsZTogQUlUYWJsZSwgb3JpZ2luRmllbGQ6IEFJVGFibGVGaWVsZCB8IG51bGwsIGFjdGlvbnM6IEFJVGFibGVBY3Rpb25zKSB7XG4gICAgY29uc3QgZmllbGRzID0gYWlUYWJsZS5ncmlkRGF0YSgpLmZpZWxkcztcbiAgICBjb25zdCBsYXN0RmllbGRJZCA9IGZpZWxkcy5sZW5ndGggPiAwID8gZmllbGRzW2ZpZWxkcy5sZW5ndGggLSAxXS5faWQgOiAnJztcbiAgICBsZXQgZGVmYXVsdEZpZWxkVmFsdWU6IFBhcnRpYWw8QUlUYWJsZUZpZWxkPjtcbiAgICBpZiAob3JpZ2luRmllbGQpIHtcbiAgICAgICAgY29uc3QgZmllbGRPcHRpb25zID0gZ2V0RmllbGRPcHRpb25zKGFpVGFibGUpO1xuICAgICAgICBkZWZhdWx0RmllbGRWYWx1ZSA9IHtcbiAgICAgICAgICAgIC4uLm9yaWdpbkZpZWxkLFxuICAgICAgICAgICAgbmFtZTogY3JlYXRlRGVmYXVsdEZpZWxkTmFtZShhaVRhYmxlLCBmaWVsZE9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS50eXBlID09PSBvcmlnaW5GaWVsZC50eXBlKSEpLFxuICAgICAgICAgICAgX2lkOiBpZENyZWF0b3IoKVxuICAgICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGRlZmF1bHRGaWVsZFZhbHVlID0gY3JlYXRlRGVmYXVsdEZpZWxkKGFpVGFibGUsIEFJVGFibGVGaWVsZFR5cGUudGV4dCk7XG4gICAgfVxuXG4gICAgYWN0aW9ucy5hZGRGaWVsZCh7XG4gICAgICAgIG9yaWdpbklkOiBsYXN0RmllbGRJZCxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBkZWZhdWx0RmllbGRWYWx1ZVxuICAgIH0pO1xufVxuXG5leHBvcnQgY29uc3Qgd3JpdGVUb0FJVGFibGUgPSBhc3luYyAoYWlUYWJsZTogQUlUYWJsZSwgYWN0aW9uczogQUlUYWJsZUFjdGlvbnMpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZENlbGxzID0gQXJyYXkuZnJvbShhaVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkQ2VsbHMpO1xuICAgIGlmICghc2VsZWN0ZWRDZWxscy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB7IGNsaXBib2FyZENvbnRlbnQsIGFpVGFibGVDb250ZW50IH0gPSBhd2FpdCByZWFkQ2xpcGJvYXJkRGF0YSgpO1xuICAgIGlmICghY2xpcGJvYXJkQ29udGVudC5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IFtmaXJzdENlbGxdID0gc2VsZWN0ZWRDZWxscztcbiAgICBjb25zdCBbc3RhcnRSZWNvcmRJZCwgc3RhcnRGaWVsZElkXSA9IGZpcnN0Q2VsbC5zcGxpdCgnOicpO1xuICAgIGNvbnN0IHN0YXJ0Um93SW5kZXggPSBhaVRhYmxlLmNvbnRleHQhLnZpc2libGVSb3dzSW5kZXhNYXAoKS5nZXQoc3RhcnRSZWNvcmRJZCkgPz8gMDtcbiAgICBjb25zdCBzdGFydENvbEluZGV4ID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlQ29sdW1uc0luZGV4TWFwKCkuZ2V0KHN0YXJ0RmllbGRJZCkgPz8gMDtcbiAgICBjb25zdCByZWZlcmVuY2VzID0gYWlUYWJsZS5jb250ZXh0IS5yZWZlcmVuY2VzKCk7XG4gICAgbGV0IGlzUGFzdGVTdWNjZXNzID0gZmFsc2U7XG5cbiAgICBjbGlwYm9hcmRDb250ZW50LmZvckVhY2goKHJvdywgaSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRSb3dJbmRleCA9IHN0YXJ0Um93SW5kZXggKyBpO1xuICAgICAgICBpZiAodGFyZ2V0Um93SW5kZXggPj0gYWlUYWJsZS5jb250ZXh0IS5saW5lYXJSb3dzKCkubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgYXBwZW5kUmVjb3JkKGFpVGFibGUsIGFjdGlvbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcm93LmZvckVhY2goKHBsYWluVGV4dCwgaikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0Q29sSW5kZXggPSBzdGFydENvbEluZGV4ICsgajtcbiAgICAgICAgICAgIGlmICh0YXJnZXRDb2xJbmRleCA+PSBBSVRhYmxlLmdldFZpc2libGVGaWVsZHMoYWlUYWJsZSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luRmllbGQgPSBhaVRhYmxlQ29udGVudD8uZmllbGRzW2pdIHx8IG51bGw7XG4gICAgICAgICAgICAgICAgYXBwZW5kRmllbGQoYWlUYWJsZSwgb3JpZ2luRmllbGQsIGFjdGlvbnMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB0YXJnZXRSZWNvcmQgPSBhaVRhYmxlLmNvbnRleHQhLmxpbmVhclJvd3MoKVt0YXJnZXRSb3dJbmRleF07XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRGaWVsZCA9IEFJVGFibGUuZ2V0VmlzaWJsZUZpZWxkcyhhaVRhYmxlKVt0YXJnZXRDb2xJbmRleF07XG4gICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IGk7XG4gICAgICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gajtcbiAgICAgICAgICAgIGNvbnN0IHsgdmFsdWUsIG5ld0ZpZWxkIH0gPSBnZXRQYXN0ZVZhbHVlKHBsYWluVGV4dCwgYWlUYWJsZUNvbnRlbnQsIHJlY29yZEluZGV4LCBmaWVsZEluZGV4LCB0YXJnZXRGaWVsZCwgcmVmZXJlbmNlcyk7XG5cbiAgICAgICAgICAgIGlmIChuZXdGaWVsZCkge1xuICAgICAgICAgICAgICAgIGFjdGlvbnMuc2V0RmllbGQobmV3RmllbGQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnVwZGF0ZUZpZWxkVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbdGFyZ2V0UmVjb3JkLl9pZCwgdGFyZ2V0RmllbGQuX2lkXVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaXNQYXN0ZVN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpc1Bhc3RlU3VjY2Vzcztcbn07XG4iXX0=
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9jbGlwYm9hcmQvcGFzdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILE9BQU8sRUFFUCxnQkFBZ0IsRUFFaEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUV0QixlQUFlLEVBQ2YsYUFBYSxFQUNiLFNBQVMsRUFHWixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRSxNQUFNLHVCQUF1QixHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsd0JBQXdCLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV2RixNQUFNLHVCQUF1QixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7SUFDaEQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixTQUFTLCtCQUErQixDQUFDLGFBQXFCO0lBQzFELE1BQU0sUUFBUSxHQUFHLGFBQWE7U0FDekIsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENB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QUFVLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNuRSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNyQixNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLGFBQWEsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRXZILElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ1gsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBRUQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQztvQkFDRCxPQUFPLENBQUMsZ0JBQWdCLENBQUM7d0JBQ3JCLEtBQUs7d0JBQ0wsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDO3FCQUM1QyxDQUFDLENBQUM7b0JBQ0gsY0FBYyxHQUFHLElBQUksQ0FBQztnQkFDMUIsQ0FBQztnQkFBQyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUEsQ0FBQztZQUN0QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sY0FBYyxDQUFDO0FBQzFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVDb250ZW50LCBBSVRhYmxlUmVmZXJlbmNlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7XG4gICAgQUlUYWJsZSxcbiAgICBBSVRhYmxlRmllbGQsXG4gICAgQUlUYWJsZUZpZWxkVHlwZSxcbiAgICBBSVRhYmxlUmVjb3JkLFxuICAgIGNyZWF0ZURlZmF1bHRGaWVsZCxcbiAgICBjcmVhdGVEZWZhdWx0RmllbGROYW1lLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgZ2V0RmllbGRPcHRpb25zLFxuICAgIGdldEZpZWxkVmFsdWUsXG4gICAgaWRDcmVhdG9yLFxuICAgIFNlbGVjdFNldHRpbmdzLFxuICAgIFVwZGF0ZUZpZWxkVmFsdWVPcHRpb25zXG59IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgcmVhZEZyb21DbGlwYm9hcmQsIGFpVGFibGVGcmFnbWVudEF0dHJpYnV0ZSwgZXh0cmFjdFRleHQgfSBmcm9tICcuLi9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgRmllbGRNb2RlbE1hcCB9IGZyb20gJy4uL2ZpZWxkL21vZGVsJztcbmltcG9ydCB7IHByb2Nlc3NQYXN0ZWRWYWx1ZUZvclNlbGVjdCB9IGZyb20gJy4uL2ZpZWxkL21vZGVsL3NlbGVjdCc7XG5pbXBvcnQgeyBBZGRSZWNvcmRPcHRpb25zLCBBZGRGaWVsZE9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlJztcblxuY29uc3QgYWlUYWJsZUF0dHJpYnV0ZVBhdHRlcm4gPSBuZXcgUmVnRXhwKGAke2FpVGFibGVGcmFnbWVudEF0dHJpYnV0ZX09XCIoLis/KVwiYCwgJ20nKTtcblxuY29uc3QgZGVjb2RlQ2xpcGJvYXJkSnNvbkRhdGEgPSAoZW5jb2RlZDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cuYXRvYihlbmNvZGVkKSk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoZGVjb2RlZCk7XG59O1xuXG5mdW5jdGlvbiBleHRyYWN0Q29udGVudEZyb21DbGlwYm9hcmRUZXh0KGNsaXBib2FyZFRleHQ6IHN0cmluZyk6IHN0cmluZ1tdW10ge1xuICAgIGNvbnN0IGNvbnRlbnRzID0gY2xpcGJvYXJkVGV4dFxuICAgICAgICAuc3BsaXQoJ1xcbicpXG4gICAgICAgIC5tYXAoKHJvdykgPT4gcm93LnNwbGl0KCdcXHQnKSlcbiAgICAgICAgLmZpbHRlcigocm93KSA9PiByb3cubGVuZ3RoID4gMCAmJiByb3cuc29tZSgoY2VsbCkgPT4gY2VsbC50cmltKCkubGVuZ3RoID4gMCkpO1xuXG4gICAgcmV0dXJuIGNvbnRlbnRzO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzVGFibGVDZWxsKGNlbGxIdG1sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxpbmtQYXR0ZXJuID0gLzxhW14+XSo/aHJlZj1bXCInXShbXlwiJ10rKVtcIiddW14+XSo/PihbXjxdKj8pPFxcL2E+L2k7XG4gICAgY29uc3QgbWF0Y2ggPSBjZWxsSHRtbC5tYXRjaChsaW5rUGF0dGVybik7XG4gICAgY29uc3QgbGluayA9IG1hdGNoID8geyBocmVmOiBtYXRjaFsxXSwgdGV4dDogbWF0Y2hbMl0gfSA6IG51bGw7XG4gICAgY29uc3QgY29udGVudCA9IGxpbmsgPyBjZWxsSHRtbC5yZXBsYWNlKGxpbmtQYXR0ZXJuLCBgW0xJTks6JHtsaW5rLnRleHR9XSgke2xpbmsuaHJlZn0pYCkgOiBjZWxsSHRtbDtcblxuICAgIGNvbnN0IGNsZWFuQ29udGVudCA9IGNvbnRlbnRcbiAgICAgICAgLnJlcGxhY2UoLzxbXj5dKz4vZywgJycpXG4gICAgICAgIC5yZXBsYWNlKC8mbmJzcDsvZywgJyAnKVxuICAgICAgICAucmVwbGFjZSgvXFxzKy9nLCAnICcpXG4gICAgICAgIC50cmltKCk7XG5cbiAgICByZXR1cm4gbGluayA/IGNsZWFuQ29udGVudC5yZXBsYWNlKGBbTElOSzoke2xpbmsudGV4dH1dKCR7bGluay5ocmVmfSlgLCBgPGEgaHJlZj1cIiR7bGluay5ocmVmfVwiPiR7bGluay50ZXh0fTwvYT5gKSA6IGNsZWFuQ29udGVudDtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdENvbnRlbnRGcm9tQ2xpcGJvYXJkSHRtbChjbGlwYm9hcmRIdG1sOiBzdHJpbmcpOiBzdHJpbmdbXVtdIHtcbiAgICBjb25zdCB0YWJsZVBhdHRlcm4gPSAvPHRhYmxlW14+XSo+KFtcXHNcXFNdKj8pPFxcL3RhYmxlPi9pO1xuICAgIGNvbnN0IHRyUGF0dGVybiA9IC88dHJbXj5dKj4oW1xcc1xcU10qPyk8XFwvdHI+L2dpO1xuICAgIGNvbnN0IHRkUGF0dGVybiA9IC88dGRbXj5dKj8+KFtcXHNcXFNdKj8pPFxcL3RkPi9naTtcblxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRhYmxlTWF0Y2ggPSBjbGlwYm9hcmRIdG1sLm1hdGNoKHRhYmxlUGF0dGVybik7XG4gICAgICAgIGNvbnN0IHRhYmxlQ29udGVudCA9IHRhYmxlTWF0Y2ggPyB0YWJsZU1hdGNoWzFdIDogY2xpcGJvYXJkSHRtbDtcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlQ29udGVudC5tYXRjaCh0clBhdHRlcm4pIHx8IFtdO1xuXG4gICAgICAgIHJldHVybiByb3dzXG4gICAgICAgICAgICAubWFwKChyb3cpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50czogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgICAgICAgICBsZXQgdGRNYXRjaDtcblxuICAgICAgICAgICAgICAgIHdoaWxlICgodGRNYXRjaCA9IHRkUGF0dGVybi5leGVjKHJvdykpICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzLnB1c2gocHJvY2Vzc1RhYmxlQ2VsbCh0ZE1hdGNoWzFdKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRzO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHJvdykgPT4gcm93Lmxlbmd0aCA+IDApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignRmFpbGVkIHRvIGV4dHJhY3QgY29udGVudCBmcm9tIEhUTUw6JywgZXJyb3IpO1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxufVxuXG5mdW5jdGlvbiBleHRyYWN0QUlUYWJsZUNvbnRlbnRGcm9tQ2xpcGJvYXJkSHRtbChjbGlwYm9hcmRIdG1sOiBzdHJpbmcpOiBBSVRhYmxlQ29udGVudCB8IG51bGwge1xuICAgIGNvbnN0IGFpVGFibGVGcmFnbWVudCA9IGNsaXBib2FyZEh0bWwubWF0Y2goYWlUYWJsZUF0dHJpYnV0ZVBhdHRlcm4pO1xuICAgIGlmIChhaVRhYmxlRnJhZ21lbnQgJiYgISFhaVRhYmxlRnJhZ21lbnQubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVDbGlwYm9hcmRKc29uRGF0YShhaVRhYmxlRnJhZ21lbnRbMV0pO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuY29uc3QgcmVhZENsaXBib2FyZERhdGEgPSBhc3luYyAoKTogUHJvbWlzZTx7IGNsaXBib2FyZENvbnRlbnQ6IHN0cmluZ1tdW107IGFpVGFibGVDb250ZW50OiBBSVRhYmxlQ29udGVudCB8IG51bGwgfT4gPT4ge1xuICAgIGNvbnN0IGNsaXBib2FyZERhdGEgPSBhd2FpdCByZWFkRnJvbUNsaXBib2FyZCgpO1xuICAgIGxldCBjbGlwYm9hcmRDb250ZW50OiBzdHJpbmdbXVtdID0gW107XG4gICAgbGV0IGFpVGFibGVDb250ZW50OiBBSVRhYmxlQ29udGVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKGNsaXBib2FyZERhdGEpIHtcbiAgICAgICAgY29uc3QgY2xpcGJvYXJkSHRtbCA9IGNsaXBib2FyZERhdGEuaHRtbDtcbiAgICAgICAgY29uc3QgY2xpcGJvYXJkVGV4dCA9IGNsaXBib2FyZERhdGEudGV4dDtcblxuICAgICAgICBpZiAoY2xpcGJvYXJkSHRtbCkge1xuICAgICAgICAgICAgYWlUYWJsZUNvbnRlbnQgPSBleHRyYWN0QUlUYWJsZUNvbnRlbnRGcm9tQ2xpcGJvYXJkSHRtbChjbGlwYm9hcmRIdG1sKTtcbiAgICAgICAgICAgIGNsaXBib2FyZENvbnRlbnQgPSBleHRyYWN0Q29udGVudEZyb21DbGlwYm9hcmRIdG1sKGNsaXBib2FyZEh0bWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjbGlwYm9hcmRDb250ZW50Lmxlbmd0aCAmJiBjbGlwYm9hcmRUZXh0KSB7XG4gICAgICAgICAgICBjbGlwYm9hcmRDb250ZW50ID0gZXh0cmFjdENvbnRlbnRGcm9tQ2xpcGJvYXJkVGV4dChjbGlwYm9hcmRUZXh0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGNsaXBib2FyZENvbnRlbnQsXG4gICAgICAgIGFpVGFibGVDb250ZW50XG4gICAgfTtcbn07XG5cbmZ1bmN0aW9uIGdldFBhc3RlVmFsdWUoXG4gICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgYWlUYWJsZUNvbnRlbnQ6IEFJVGFibGVDb250ZW50IHwgbnVsbCxcbiAgICByZWNvcmRJbmRleDogbnVtYmVyLFxuICAgIGZpZWxkSW5kZXg6IG51bWJlcixcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIHJlZmVyZW5jZXM6IEFJVGFibGVSZWZlcmVuY2VzXG4pOiB7XG4gICAgdmFsdWU6IEZpZWxkVmFsdWUgfCBudWxsO1xuICAgIG5ld0ZpZWxkOiBBSVRhYmxlRmllbGQgfCBudWxsO1xufSB7XG4gICAgbGV0IGZpZWxkOiBBSVRhYmxlRmllbGQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgcmVjb3JkOiBQYXJ0aWFsPEFJVGFibGVSZWNvcmQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoYWlUYWJsZUNvbnRlbnQpIHtcbiAgICAgICAgY29uc3QgeyBmaWVsZHMsIHJlY29yZHMgfSA9IGFpVGFibGVDb250ZW50O1xuICAgICAgICBmaWVsZCA9IGZpZWxkc1tmaWVsZEluZGV4XTtcbiAgICAgICAgcmVjb3JkID0gcmVjb3Jkc1tyZWNvcmRJbmRleF07XG4gICAgfVxuXG4gICAgaWYgKHRhcmdldEZpZWxkLnR5cGUgIT09IEFJVGFibGVGaWVsZFR5cGUubGluaykge1xuICAgICAgICBwbGFpblRleHQgPSBleHRyYWN0VGV4dChwbGFpblRleHQpO1xuICAgIH1cblxuICAgIGxldCBvcmlnaW5EYXRhID0gZmllbGQgJiYgcmVjb3JkID8geyBmaWVsZCwgY2VsbFZhbHVlOiBnZXRGaWVsZFZhbHVlKHJlY29yZCwgZmllbGQpIH0gOiBudWxsO1xuICAgIGlmICh0YXJnZXRGaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLnNlbGVjdCkge1xuICAgICAgICBsZXQgeyBleGlzdE9wdGlvbklkcywgbmV3T3B0aW9ucyB9ID0gcHJvY2Vzc1Bhc3RlZFZhbHVlRm9yU2VsZWN0KHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEpO1xuICAgICAgICBsZXQgbmV3RmllbGQ6IEFJVGFibGVGaWVsZCB8IG51bGwgPSBudWxsO1xuICAgICAgICBsZXQgbmV3T3B0aW9uSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGlmIChuZXdPcHRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgbmV3RmllbGQgPSB7XG4gICAgICAgICAgICAgICAgLi4udGFyZ2V0RmllbGQsXG4gICAgICAgICAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGFyZ2V0RmllbGQuc2V0dGluZ3MsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IFsuLi4oKHRhcmdldEZpZWxkLnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKT8ub3B0aW9ucyB8fCBbXSksIC4uLm5ld09wdGlvbnNdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIG5ld09wdGlvbklkcyA9IG5ld09wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbi5faWQpLmZpbHRlcigoaWQpID0+ICEhaWQpIGFzIHN0cmluZ1tdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0RmllbGRWYWx1ZSA9IG5ld09wdGlvbklkcz8ubGVuZ3RoID8gWy4uLmV4aXN0T3B0aW9uSWRzLCAuLi5uZXdPcHRpb25JZHNdIDogZXhpc3RPcHRpb25JZHM7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogc2VsZWN0RmllbGRWYWx1ZSxcbiAgICAgICAgICAgIG5ld0ZpZWxkXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdmFsdWU6IEZpZWxkTW9kZWxNYXBbdGFyZ2V0RmllbGQudHlwZV0udG9GaWVsZFZhbHVlKHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEsIHJlZmVyZW5jZXMpLCBuZXdGaWVsZDogbnVsbCB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVBY3Rpb25zIHtcbiAgICB1cGRhdGVGaWVsZFZhbHVlOiAoZGF0YTogVXBkYXRlRmllbGRWYWx1ZU9wdGlvbnMpID0+IHZvaWQ7XG4gICAgc2V0RmllbGQ6IChmaWVsZDogQUlUYWJsZUZpZWxkKSA9PiB2b2lkO1xuICAgIGFkZFJlY29yZDogKGRhdGE6IEFkZFJlY29yZE9wdGlvbnMpID0+IHZvaWQ7XG4gICAgYWRkRmllbGQ6IChkYXRhOiBBZGRGaWVsZE9wdGlvbnMpID0+IHZvaWQ7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZFJlY29yZChhaVRhYmxlOiBBSVRhYmxlLCBhY3Rpb25zOiBBSVRhYmxlQWN0aW9ucykge1xuICAgIGNvbnN0IGFsbFJlY29yZHMgPSBhaVRhYmxlLnJlY29yZHMoKTtcbiAgICBjb25zdCBsYXN0UmVjb3JkSWQgPSBhbGxSZWNvcmRzLmxlbmd0aCA+IDAgPyBhbGxSZWNvcmRzW2FsbFJlY29yZHMubGVuZ3RoIC0gMV0uX2lkIDogJyc7XG4gICAgYWN0aW9ucy5hZGRSZWNvcmQoe1xuICAgICAgICBvcmlnaW5JZDogbGFzdFJlY29yZElkXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZEZpZWxkKGFpVGFibGU6IEFJVGFibGUsIG9yaWdpbkZpZWxkOiBBSVRhYmxlRmllbGQgfCBudWxsLCBhY3Rpb25zOiBBSVRhYmxlQWN0aW9ucykge1xuICAgIGNvbnN0IGZpZWxkcyA9IGFpVGFibGUuZ3JpZERhdGEoKS5maWVsZHM7XG4gICAgY29uc3QgbGFzdEZpZWxkSWQgPSBmaWVsZHMubGVuZ3RoID4gMCA/IGZpZWxkc1tmaWVsZHMubGVuZ3RoIC0gMV0uX2lkIDogJyc7XG4gICAgbGV0IGRlZmF1bHRGaWVsZFZhbHVlOiBQYXJ0aWFsPEFJVGFibGVGaWVsZD47XG4gICAgaWYgKG9yaWdpbkZpZWxkKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkT3B0aW9ucyA9IGdldEZpZWxkT3B0aW9ucyhhaVRhYmxlKTtcbiAgICAgICAgZGVmYXVsdEZpZWxkVmFsdWUgPSB7XG4gICAgICAgICAgICAuLi5vcmlnaW5GaWVsZCxcbiAgICAgICAgICAgIG5hbWU6IGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUoYWlUYWJsZSwgZmllbGRPcHRpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0udHlwZSA9PT0gb3JpZ2luRmllbGQudHlwZSkhKSxcbiAgICAgICAgICAgIF9pZDogaWRDcmVhdG9yKClcbiAgICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBkZWZhdWx0RmllbGRWYWx1ZSA9IGNyZWF0ZURlZmF1bHRGaWVsZChhaVRhYmxlLCBBSVRhYmxlRmllbGRUeXBlLnRleHQpO1xuICAgIH1cblxuICAgIGFjdGlvbnMuYWRkRmllbGQoe1xuICAgICAgICBvcmlnaW5JZDogbGFzdEZpZWxkSWQsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdEZpZWxkVmFsdWVcbiAgICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IHdyaXRlVG9BSVRhYmxlID0gYXN5bmMgKGFpVGFibGU6IEFJVGFibGUsIGFjdGlvbnM6IEFJVGFibGVBY3Rpb25zKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRDZWxscyA9IEFycmF5LmZyb20oYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZENlbGxzKTtcbiAgICBpZiAoIXNlbGVjdGVkQ2VsbHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgeyBjbGlwYm9hcmRDb250ZW50LCBhaVRhYmxlQ29udGVudCB9ID0gYXdhaXQgcmVhZENsaXBib2FyZERhdGEoKTtcbiAgICBpZiAoIWNsaXBib2FyZENvbnRlbnQubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBbZmlyc3RDZWxsXSA9IHNlbGVjdGVkQ2VsbHM7XG4gICAgY29uc3QgW3N0YXJ0UmVjb3JkSWQsIHN0YXJ0RmllbGRJZF0gPSBmaXJzdENlbGwuc3BsaXQoJzonKTtcbiAgICBjb25zdCBzdGFydFJvd0luZGV4ID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlUm93c0luZGV4TWFwKCkuZ2V0KHN0YXJ0UmVjb3JkSWQpID8/IDA7XG4gICAgY29uc3Qgc3RhcnRDb2xJbmRleCA9IGFpVGFibGUuY29udGV4dCEudmlzaWJsZUNvbHVtbnNJbmRleE1hcCgpLmdldChzdGFydEZpZWxkSWQpID8/IDA7XG4gICAgY29uc3QgcmVmZXJlbmNlcyA9IGFpVGFibGUuY29udGV4dCEucmVmZXJlbmNlcygpO1xuICAgIGxldCBpc1Bhc3RlU3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgY2xpcGJvYXJkQ29udGVudC5mb3JFYWNoKChyb3csIGkpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0Um93SW5kZXggPSBzdGFydFJvd0luZGV4ICsgaTtcbiAgICAgICAgaWYgKHRhcmdldFJvd0luZGV4ID49IGFpVGFibGUuY29udGV4dCEubGluZWFyUm93cygpLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGFwcGVuZFJlY29yZChhaVRhYmxlLCBhY3Rpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJvdy5mb3JFYWNoKChwbGFpblRleHQsIGopID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldENvbEluZGV4ID0gc3RhcnRDb2xJbmRleCArIGo7XG4gICAgICAgICAgICBpZiAodGFyZ2V0Q29sSW5kZXggPj0gQUlUYWJsZS5nZXRWaXNpYmxlRmllbGRzKGFpVGFibGUpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbkZpZWxkID0gYWlUYWJsZUNvbnRlbnQ/LmZpZWxkc1tqXSB8fCBudWxsO1xuICAgICAgICAgICAgICAgIGFwcGVuZEZpZWxkKGFpVGFibGUsIG9yaWdpbkZpZWxkLCBhY3Rpb25zKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdGFyZ2V0UmVjb3JkID0gYWlUYWJsZS5jb250ZXh0IS5saW5lYXJSb3dzKClbdGFyZ2V0Um93SW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0RmllbGQgPSBBSVRhYmxlLmdldFZpc2libGVGaWVsZHMoYWlUYWJsZSlbdGFyZ2V0Q29sSW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBpO1xuICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IGo7XG4gICAgICAgICAgICBjb25zdCB7IHZhbHVlLCBuZXdGaWVsZCB9ID0gZ2V0UGFzdGVWYWx1ZShwbGFpblRleHQsIGFpVGFibGVDb250ZW50LCByZWNvcmRJbmRleCwgZmllbGRJbmRleCwgdGFyZ2V0RmllbGQsIHJlZmVyZW5jZXMpO1xuXG4gICAgICAgICAgICBpZiAobmV3RmllbGQpIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25zLnNldEZpZWxkKG5ld0ZpZWxkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy51cGRhdGVGaWVsZFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3RhcmdldFJlY29yZC5faWQsIHRhcmdldEZpZWxkLl9pZF1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlzUGFzdGVTdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaXNQYXN0ZVN1Y2Nlc3M7XG59O1xuIl19
@@ -1,3 +1,4 @@
1
+ import { AITableFieldType } from '../../../core';
1
2
  import { AITableFilterOperation } from '../../../types';
2
3
  import { isEmpty } from '../../common';
3
4
  import { compareString, hasIntersect } from '../operate';
@@ -45,6 +46,12 @@ export class AttachmentField extends Field {
45
46
  }
46
47
  }
47
48
  export function toAttachmentFieldValue(plainText, targetField, originData, references) {
49
+ if (originData) {
50
+ const { field, cellValue } = originData;
51
+ if (field.type === AITableFieldType.attachment) {
52
+ return cellValue;
53
+ }
54
+ }
48
55
  return null;
49
56
  }
50
57
  function cellValueToSortValue(cellValue, field, references, sortKey = 'title') {
@@ -63,4 +70,4 @@ function cellValueToSortValue(cellValue, field, references, sortKey = 'title') {
63
70
  }
64
71
  return values && values.length ? values.join(', ') : null;
65
72
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2F0dGFjaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEwQixzQkFBc0IsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsS0FBSztJQUM3QixPQUFPLENBQUMsU0FBcUI7UUFDbEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsS0FBSyxJQUFJLENBQUM7SUFDMUQsQ0FBQztJQUVRLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQStCO1FBQzVGLFFBQVEsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLEtBQUssc0JBQXNCLENBQUMsS0FBSztnQkFDN0IsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLEtBQUssc0JBQXNCLENBQUMsRUFBRTtnQkFDMUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxZQUFZLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0RixLQUFLLHNCQUFzQixDQUFDLEdBQUc7Z0JBQzNCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMs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LCBBSVRhYmxlRmllbGQsIEF0dGFjaG1lbnRGaWVsZFZhbHVlLCBGaWVsZFZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLCBBSVRhYmxlUmVmZXJlbmNlcyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgY29tcGFyZVN0cmluZywgaGFzSW50ZXJzZWN0IH0gZnJvbSAnLi4vb3BlcmF0ZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQnO1xuXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudEZpZWxkIGV4dGVuZHMgRmllbGQge1xuICAgIG92ZXJyaWRlIGlzVmFsaWQoY2VsbFZhbHVlOiBGaWVsZFZhbHVlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNlbGxWYWx1ZSkgfHwgY2VsbFZhbHVlID09PSBudWxsO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb248c3RyaW5nPiwgY2VsbFZhbHVlOiBBdHRhY2htZW50RmllbGRWYWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25kaXRpb24udmFsdWUpICYmIGhhc0ludGVyc2VjdChjZWxsVmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24ubmluOlxuICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNvbmRpdGlvbi52YWx1ZSkgJiYgIWhhc0ludGVyc2VjdChjZWxsVmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBzdXBlci5pc01lZXRGaWx0ZXIoY29uZGl0aW9uLCBjZWxsVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY29tcGFyZShcbiAgICAgICAgY2VsbFZhbHVlMTogQXR0YWNobWVudEZpZWxkVmFsdWUsXG4gICAgICAgIGNlbGxWYWx1ZTI6IEF0dGFjaG1lbnRGaWVsZFZhbHVlLFxuICAgICAgICByZWZlcmVuY2VzOiBBSVRhYmxlUmVmZXJlbmNlcyxcbiAgICAgICAgc29ydEtleTogc3RyaW5nLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBhaVRhYmxlOiBBSVRhYmxlO1xuICAgICAgICAgICAgZmllbGQ6IEFJVGFibGVGaWVsZDtcbiAgICAgICAgfVxuICAgICk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEsIG9wdGlvbnMuZmllbGQsIHJlZmVyZW5jZXMsIHNvcnRLZXkpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyLCBvcHRpb25zLmZpZWxkLCByZWZlcmVuY2VzLCBzb3J0S2V5KTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGNlbGxGdWxsVGV4dCh0cmFuc2Zvcm1WYWx1ZTogc3RyaW5nW10sIGZpZWxkOiBBSVRhYmxlRmllbGQsIHJlZmVyZW5jZXM/OiBBSVRhYmxlUmVmZXJlbmNlcyk6IHN0cmluZ1tdIHtcbiAgICAgICAgbGV0IGZ1bGxUZXh0OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAodHJhbnNmb3JtVmFsdWU/Lmxlbmd0aCAmJiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdHJhbnNmb3JtVmFsdWUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXR0YWNobWVudEluZm8gPSByZWZlcmVuY2VzPy5hdHRhY2htZW50c1t0cmFuc2Zvcm1WYWx1ZVtpbmRleF1dO1xuICAgICAgICAgICAgICAgIGlmICghYXR0YWNobWVudEluZm8pIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhdHRhY2htZW50SW5mby50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICBmdWxsVGV4dC5wdXNoKGF0dGFjaG1lbnRJbmZvLnRpdGxlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bGxUZXh0O1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogQXR0YWNobWVudEZpZWxkVmFsdWUgfSxcbiAgICAgICAgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzXG4gICAgKTogQXR0YWNobWVudEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRvQXR0YWNobWVudEZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSwgcmVmZXJlbmNlcyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9BdHRhY2htZW50RmllbGRWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogQXR0YWNobWVudEZpZWxkVmFsdWUgfSxcbiAgICByZWZlcmVuY2VzPzogQUlUYWJsZVJlZmVyZW5jZXNcbik6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoXG4gICAgY2VsbFZhbHVlOiBBdHRhY2htZW50RmllbGRWYWx1ZSxcbiAgICBmaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIHJlZmVyZW5jZXM6IEFJVGFibGVSZWZlcmVuY2VzLFxuICAgIHNvcnRLZXkgPSAndGl0bGUnXG4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICBsZXQgdmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChjZWxsVmFsdWU/Lmxlbmd0aCAmJiByZWZlcmVuY2VzKSB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjZWxsVmFsdWUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCBhdHRhY2htZW50SW5mbyA9IHJlZmVyZW5jZXM/LmF0dGFjaG1lbnRzW2NlbGxWYWx1ZVtpbmRleF1dO1xuICAgICAgICAgICAgaWYgKCFhdHRhY2htZW50SW5mbykge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGF0dGFjaG1lbnRJbmZvW3NvcnRLZXldO1xuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdmFsdWVzLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCA/IHZhbHVlcy5qb2luKCcsICcpIDogbnVsbDtcbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2F0dGFjaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyRCxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQTBCLHNCQUFzQixFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxLQUFLO0lBQzdCLE9BQU8sQ0FBQyxTQUFxQjtRQUNsQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQztJQUMxRCxDQUFDO0lBRVEsWUFBWSxDQUFDLFNBQXlDLEVBQUUsU0FBK0I7UUFDNUYsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QixLQUFLLHNCQUFzQixDQUFDLE1BQU07Z0JBQzlCLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0IsS0FBSyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RGLEtBQUssc0JBQXNCLENBQUMsR0FBRztnQkFDM0IsT0FBTyxLQUFLLENBQUMsT0FBTyxD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LE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIEF0dGFjaG1lbnRGaWVsZFZhbHVlLCBGaWVsZFZhbHVlLCBBSVRhYmxlRmllbGRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLCBBSVRhYmxlUmVmZXJlbmNlcyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgY29tcGFyZVN0cmluZywgaGFzSW50ZXJzZWN0IH0gZnJvbSAnLi4vb3BlcmF0ZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQnO1xuXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudEZpZWxkIGV4dGVuZHMgRmllbGQge1xuICAgIG92ZXJyaWRlIGlzVmFsaWQoY2VsbFZhbHVlOiBGaWVsZFZhbHVlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNlbGxWYWx1ZSkgfHwgY2VsbFZhbHVlID09PSBudWxsO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb248c3RyaW5nPiwgY2VsbFZhbHVlOiBBdHRhY2htZW50RmllbGRWYWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25kaXRpb24udmFsdWUpICYmIGhhc0ludGVyc2VjdChjZWxsVmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24ubmluOlxuICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNvbmRpdGlvbi52YWx1ZSkgJiYgIWhhc0ludGVyc2VjdChjZWxsVmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBzdXBlci5pc01lZXRGaWx0ZXIoY29uZGl0aW9uLCBjZWxsVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY29tcGFyZShcbiAgICAgICAgY2VsbFZhbHVlMTogQXR0YWNobWVudEZpZWxkVmFsdWUsXG4gICAgICAgIGNlbGxWYWx1ZTI6IEF0dGFjaG1lbnRGaWVsZFZhbHVlLFxuICAgICAgICByZWZlcmVuY2VzOiBBSVRhYmxlUmVmZXJlbmNlcyxcbiAgICAgICAgc29ydEtleTogc3RyaW5nLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBhaVRhYmxlOiBBSVRhYmxlO1xuICAgICAgICAgICAgZmllbGQ6IEFJVGFibGVGaWVsZDtcbiAgICAgICAgfVxuICAgICk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEsIG9wdGlvbnMuZmllbGQsIHJlZmVyZW5jZXMsIHNvcnRLZXkpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyLCBvcHRpb25zLmZpZWxkLCByZWZlcmVuY2VzLCBzb3J0S2V5KTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGNlbGxGdWxsVGV4dCh0cmFuc2Zvcm1WYWx1ZTogc3RyaW5nW10sIGZpZWxkOiBBSVRhYmxlRmllbGQsIHJlZmVyZW5jZXM/OiBBSVRhYmxlUmVmZXJlbmNlcyk6IHN0cmluZ1tdIHtcbiAgICAgICAgbGV0IGZ1bGxUZXh0OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAodHJhbnNmb3JtVmFsdWU/Lmxlbmd0aCAmJiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdHJhbnNmb3JtVmFsdWUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXR0YWNobWVudEluZm8gPSByZWZlcmVuY2VzPy5hdHRhY2htZW50c1t0cmFuc2Zvcm1WYWx1ZVtpbmRleF1dO1xuICAgICAgICAgICAgICAgIGlmICghYXR0YWNobWVudEluZm8pIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhdHRhY2htZW50SW5mby50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICBmdWxsVGV4dC5wdXNoKGF0dGFjaG1lbnRJbmZvLnRpdGxlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bGxUZXh0O1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogQXR0YWNobWVudEZpZWxkVmFsdWUgfSxcbiAgICAgICAgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzXG4gICAgKTogQXR0YWNobWVudEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRvQXR0YWNobWVudEZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSwgcmVmZXJlbmNlcyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9BdHRhY2htZW50RmllbGRWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogQXR0YWNobWVudEZpZWxkVmFsdWUgfSxcbiAgICByZWZlcmVuY2VzPzogQUlUYWJsZVJlZmVyZW5jZXNcbik6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBpZiAob3JpZ2luRGF0YSkge1xuICAgICAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IG9yaWdpbkRhdGE7XG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLmF0dGFjaG1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKFxuICAgIGNlbGxWYWx1ZTogQXR0YWNobWVudEZpZWxkVmFsdWUsXG4gICAgZmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICByZWZlcmVuY2VzOiBBSVRhYmxlUmVmZXJlbmNlcyxcbiAgICBzb3J0S2V5ID0gJ3RpdGxlJ1xuKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgbGV0IHZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAoY2VsbFZhbHVlPy5sZW5ndGggJiYgcmVmZXJlbmNlcykge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY2VsbFZhbHVlLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgYXR0YWNobWVudEluZm8gPSByZWZlcmVuY2VzPy5hdHRhY2htZW50c1tjZWxsVmFsdWVbaW5kZXhdXTtcbiAgICAgICAgICAgIGlmICghYXR0YWNobWVudEluZm8pIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhdHRhY2htZW50SW5mb1tzb3J0S2V5XTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWVzICYmIHZhbHVlcy5sZW5ndGggPyB2YWx1ZXMuam9pbignLCAnKSA6IG51bGw7XG59XG4iXX0=
@@ -5,13 +5,20 @@ import { AITableFilterOperation } from '../../../types';
5
5
  import { AITableFieldType } from '../../../core';
6
6
  import { compareNumber } from '../operate';
7
7
  import { isEmpty } from '../../common';
8
+ import { isNil } from 'lodash';
9
+ export const isDateValid = (cellValue) => {
10
+ return ((cellValue && typeof cellValue === 'object' && 'timestamp' in cellValue && typeof cellValue.timestamp === 'number') ||
11
+ cellValue === null);
12
+ };
8
13
  export class DateField extends Field {
9
14
  isValid(cellValue) {
10
- return ((cellValue && typeof cellValue === 'object' && 'timestamp' in cellValue && typeof cellValue.timestamp === 'number') ||
11
- cellValue === null);
15
+ return isDateValid(cellValue);
12
16
  }
13
17
  isMeetFilter(condition, cellValue) {
14
18
  const [left, right] = this.getTimeRange(condition.value);
19
+ if (isNil(cellValue)) {
20
+ return condition.operation === AITableFilterOperation.empty;
21
+ }
15
22
  switch (condition.operation) {
16
23
  case AITableFilterOperation.empty:
17
24
  return isEmpty(cellValue.timestamp) || cellValue.timestamp === 0;
@@ -89,6 +96,9 @@ export function toDateFieldValue(plainText, targetField, originData) {
89
96
  return null;
90
97
  }
91
98
  function cellValueToSortValue(cellValue) {
99
+ if (isNil(cellValue) || !isDateValid(cellValue)) {
100
+ return 0;
101
+ }
92
102
  return cellValue?.timestamp;
93
103
  }
94
104
  function transformDateValue(text) {
@@ -131,4 +141,4 @@ function transformDateValue(text) {
131
141
  return null;
132
142
  }
133
143
  }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQWdCLGdCQUFnQixFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBQ3ZCLE9BQU8sQ0FBQyxTQUFxQjtRQUNsQyxPQUFPLENBQ0gsQ0FBQyxTQUFTLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxJQUFJLFdBQVcsSUFBSSxTQUFTLElBQUksT0FBTyxTQUFTLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQztZQUNuSCxTQUFTLEtBQUssSUFBSSxDQUNyQixDQUFDO0lBQ04sQ0FBQztJQUVRLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQXlCO1FBQ3RGLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksU0FB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SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tVW5peFRpbWUsIHN1YkRheXMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpc0FycmF5LCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkVHlwZSwgRGF0ZUZpZWxkVmFsdWUsIEZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IGNvbXBhcmVOdW1iZXIgfSBmcm9tICcuLi9vcGVyYXRlJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkIGV4dGVuZHMgRmllbGQge1xuICAgIG92ZXJyaWRlIGlzVmFsaWQoY2VsbFZhbHVlOiBGaWVsZFZhbHVlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAoY2VsbFZhbHVlICYmIHR5cGVvZiBjZWxsVmFsdWUgPT09ICdvYmplY3QnICYmICd0aW1lc3RhbXAnIGluIGNlbGxWYWx1ZSAmJiB0eXBlb2YgY2VsbFZhbHVlLnRpbWVzdGFtcCA9PT0gJ251bWJlcicpIHx8XG4gICAgICAgICAgICBjZWxsVmFsdWUgPT09IG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uPHN0cmluZz4sIGNlbGxWYWx1ZTogRGF0ZUZpZWxkVmFsdWUpIHtcbiAgICAgICAgY29uc3QgW2xlZnQsIHJpZ2h0XSA9IHRoaXMuZ2V0VGltZVJhbmdlKGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgIHN3aXRjaCAoY29uZGl0aW9uLm9wZXJhdGlvbikge1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmVtcHR5OlxuICAgICAgICAgICAgICAgIHJldHVybiBpc0VtcHR5KGNlbGxWYWx1ZS50aW1lc3RhbXApIHx8IGNlbGxWYWx1ZS50aW1lc3RhbXAgPT09IDA7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzOlxuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVmFsdWUudGltZXN0YW1wKSAmJiBjZWxsVmFsdWUudGltZXN0YW1wICE9PSAwO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmVxOlxuICAgICAgICAgICAgICAgIHJldHVybiBsZWZ0IDw9IGNlbGxWYWx1ZS50aW1lc3RhbXAgJiYgY2VsbFZhbHVlLnRpbWVzdGFtcCA8IHJpZ2h0O1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmd0OlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWUudGltZXN0YW1wID4gcmlnaHQ7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24ubHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZS50aW1lc3RhbXAgPCBsZWZ0O1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmJldHdlZW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxlZnQgPD0gY2VsbFZhbHVlLnRpbWVzdGFtcCAmJiBjZWxsVmFsdWUudGltZXN0YW1wIDwgcmlnaHQ7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBzdXBlci5pc01lZXRGaWx0ZXIoY29uZGl0aW9uLCBjZWxsVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY29tcGFyZShjZWxsVmFsdWUxOiBEYXRlRmllbGRWYWx1ZSwgY2VsbFZhbHVlMjogRGF0ZUZpZWxkVmFsdWUpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZTEgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUxKTtcbiAgICAgICAgY29uc3QgdmFsdWUyID0gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMik7XG4gICAgICAgIHJldHVybiBjb21wYXJlTnVtYmVyKHZhbHVlMSwgdmFsdWUyKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSB0b0ZpZWxkVmFsdWUoXG4gICAgICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgICAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgICAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfVxuICAgICk6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRvRGF0ZUZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSk7XG4gICAgfVxuXG4gICAgZ2V0VGltZVJhbmdlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudW1iZXJbXSkge1xuICAgICAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICAgICAgICBjYXNlICd0b2RheSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgVGlueURhdGUobmV3IERhdGUoKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksIG5ldyBUaW55RGF0ZShuZXcgRGF0ZSgpKS5lbmRPZkRheSgpLmdldFVuaXhUaW1lKCldO1xuICAgICAgICAgICAgY2FzZSAnY3VycmVudF93ZWVrJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoKS5zdGFydE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoKS5lbmRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICBjYXNlICd5ZXN0ZXJkYXknOlxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShzdWJEYXlzKG5ldyBEYXRlKCksIDEpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKHN1YkRheXMobmV3IERhdGUoKSwgMSkpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICBjYXNlICdjdXJyZW50X21vbnRoJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW25ldyBUaW55RGF0ZSgpLnN0YXJ0T2ZNb250aCgpLmdldFVuaXhUaW1lKCksIG5ldyBUaW55RGF0ZSgpLmVuZE9mTW9udGgoKS5nZXRVbml4VGltZSgpXTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlWzBdIGFzIG51bWJlcikpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKGZyb21Vbml4VGltZSh2YWx1ZVsxXSBhcyBudW1iZXIpKS5lbmRPZkRheSgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKGZyb21Vbml4VGltZSh2YWx1ZSBhcyBudW1iZXIpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKGZyb21Vbml4VGltZSh2YWx1ZSBhcyBudW1iZXIpKS5lbmRPZkRheSgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9EYXRlRmllbGRWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9XG4pOiBGaWVsZFZhbHVlIHwgbnVsbCB7XG4gICAgaWYgKHRhcmdldEZpZWxkLnR5cGUgPT09IEFJVGFibGVGaWVsZFR5cGUuY3JlYXRlZEF0IHx8IHRhcmdldEZpZWxkLnR5cGUgPT09IEFJVGFibGVGaWVsZFR5cGUudXBkYXRlZEF0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChvcmlnaW5EYXRhKSB7XG4gICAgICAgIGNvbnN0IHsgZmllbGQsIGNlbGxWYWx1ZSB9ID0gb3JpZ2luRGF0YTtcbiAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWVsZFR5cGUuZGF0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHRleHRzID0gcGxhaW5UZXh0LnNwbGl0KCcsJyk7XG4gICAgY29uc3QgdmFsdWUgPSB0ZXh0cyAmJiB0ZXh0cy5sZW5ndGggPyB0ZXh0c1swXS50cmltKCkgOiBwbGFpblRleHQudHJpbSgpO1xuICAgIGNvbnN0IGRhdGVWYWx1ZSA9IHRyYW5zZm9ybURhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgaWYgKGRhdGVWYWx1ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZVZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWU6IERhdGVGaWVsZFZhbHVlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gY2VsbFZhbHVlPy50aW1lc3RhbXA7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybURhdGVWYWx1ZSh0ZXh0OiBzdHJpbmcpOiBGaWVsZFZhbHVlIHwgbnVsbCB7XG4gICAgY29uc3QgdmFsdWUgPSB0ZXh0LnRyaW0oKTtcbiAgICBpZiAoIXZhbHVlIHx8IGlzRW1wdHkodmFsdWUpKSByZXR1cm4gbnVsbDtcblxuICAgIC8vIOWfuuehgOaXpeacn+agvOW8j++8muaUr+aMgeivhuWIqyAtIC8gLiDlubTmnIjml6Ug5L2c5Li65YiG6ZqU56ymXG4gICAgY29uc3QgZGF0ZVBhdHRlcm4gPSBTdHJpbmcucmF3YCg/OihcXGR7Mn18XFxkezR9KVstLy7lubRdKFxcZHsxLDJ9KVstLy7mnIhdKFxcZHsxLDJ9KeaXpT8pYDtcbiAgICBjb25zdCB0aW1lUGF0dGVybiA9IFN0cmluZy5yYXdgKD86XFxzKyhcXGR7MSwyfSk6KFxcZHsxLDJ9KSg/OjooXFxkezEsMn0pKT8pP2A7XG5cbiAgICBjb25zdCBwYXR0ZXJuID0gbmV3IFJlZ0V4cChgXiR7ZGF0ZVBhdHRlcm59JHt0aW1lUGF0dGVybn0kYCk7XG4gICAgY29uc3QgbWF0Y2ggPSB2YWx1ZS5tYXRjaChwYXR0ZXJuKTtcblxuICAgIGlmICghbWF0Y2gpIHJldHVybiBudWxsO1xuXG4gICAgdHJ5IHtcbiAgICAgICAgbGV0IFtfLCB5ZWFyLCBtb250aCwgZGF5XSA9IG1hdGNoO1xuXG4gICAgICAgIGlmICh5ZWFyLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFllYXIgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICBjb25zdCBjZW50dXJ5ID0gTWF0aC5mbG9vcihjdXJyZW50WWVhciAvIDEwMCkgKiAxMDA7XG4gICAgICAgICAgICBjb25zdCB0d29EaWdpdFllYXIgPSBwYXJzZUludCh5ZWFyKTtcbiAgICAgICAgICAgIHllYXIgPSBTdHJpbmcodHdvRGlnaXRZZWFyID4gY3VycmVudFllYXIgJSAxMDAgPyBjZW50dXJ5IC0gMTAwICsgdHdvRGlnaXRZZWFyIDogY2VudHVyeSArIHR3b0RpZ2l0WWVhcik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtb250aE51bSA9IHBhcnNlSW50KG1vbnRoKTtcbiAgICAgICAgY29uc3QgZGF5TnVtID0gcGFyc2VJbnQoZGF5KTtcblxuICAgICAgICBpZiAobW9udGhOdW0gPCAxIHx8IG1vbnRoTnVtID4gMTIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCBtb250aDonLCBtb250aE51bSk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1heERheXMgPSBuZXcgRGF0ZShwYXJzZUludCh5ZWFyKSwgbW9udGhOdW0sIDApLmdldERhdGUoKTtcbiAgICAgICAgaWYgKGRheU51bSA8IDEgfHwgZGF5TnVtID4gbWF4RGF5cykge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdJbnZhbGlkIGRheTonLCBkYXlOdW0pO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGFuZGFyZERhdGUgPSBgJHt5ZWFyfS0ke1N0cmluZyhtb250aE51bSkucGFkU3RhcnQoMiwgJzAnKX0tJHtTdHJpbmcoZGF5TnVtKS5wYWRTdGFydCgyLCAnMCcpfWA7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0aW1lc3RhbXA6IG5ldyBUaW55RGF0ZShzdGFuZGFyZERhdGUpLmdldFVuaXhUaW1lKClcbiAgICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgZGF0ZTonLCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBVyxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQWdCLGdCQUFnQixFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxTQUFxQixFQUErQixFQUFFO0lBQzlFLE9BQU8sQ0FDSCxDQUFDLFNBQVMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksV0FBVyxJQUFJLFNBQVMsSUFBSSxPQUFPLFNBQVMsQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDO1FBQ25ILFNBQVMsS0FBSyxJQUFJLENBQ3JCLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixNQUFNLE9BQU8sU0FBVSxTQUFRLEtBQUs7SUFDdkIsT0FBTyxDQUFDLFNBQXFCO1FBQ2xDLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFUSxZQUFZLENBQUMsU0FBeUMsRUFBRSxTQUF5QjtRQUN0RixNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZ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R0FBRyxPQUFPLEVBQUUsQ0FBQztZQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsR0FBRyxJQUFJLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2RyxPQUFPO1lBQ0gsU0FBUyxFQUFFLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLFdBQVcsRUFBRTtTQUN0RCxDQUFDO0lBQ04sQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21Vbml4VGltZSwgaXNWYWxpZCwgc3ViRGF5cyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGlzQXJyYXksIFRpbnlEYXRlIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5pbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRUeXBlLCBEYXRlRmllbGRWYWx1ZSwgRmllbGRWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgY29tcGFyZU51bWJlciB9IGZyb20gJy4uL29wZXJhdGUnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBjb25zdCBpc0RhdGVWYWxpZCA9IChjZWxsVmFsdWU6IEZpZWxkVmFsdWUpOiBjZWxsVmFsdWUgaXMgRGF0ZUZpZWxkVmFsdWUgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIChjZWxsVmFsdWUgJiYgdHlwZW9mIGNlbGxWYWx1ZSA9PT0gJ29iamVjdCcgJiYgJ3RpbWVzdGFtcCcgaW4gY2VsbFZhbHVlICYmIHR5cGVvZiBjZWxsVmFsdWUudGltZXN0YW1wID09PSAnbnVtYmVyJykgfHxcbiAgICAgICAgY2VsbFZhbHVlID09PSBudWxsXG4gICAgKTtcbn07XG5cbmV4cG9ydCBjbGFzcyBEYXRlRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNWYWxpZChjZWxsVmFsdWU6IEZpZWxkVmFsdWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzRGF0ZVZhbGlkKGNlbGxWYWx1ZSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IERhdGVGaWVsZFZhbHVlKSB7XG4gICAgICAgIGNvbnN0IFtsZWZ0LCByaWdodF0gPSB0aGlzLmdldFRpbWVSYW5nZShjb25kaXRpb24udmFsdWUpO1xuICAgICAgICBpZiAoaXNOaWwoY2VsbFZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmRpdGlvbi5vcGVyYXRpb24gPT09IEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlLnRpbWVzdGFtcCkgfHwgY2VsbFZhbHVlLnRpbWVzdGFtcCA9PT0gMDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZS50aW1lc3RhbXApICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgIT09IDA7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxlZnQgPD0gY2VsbFZhbHVlLnRpbWVzdGFtcCAmJiBjZWxsVmFsdWUudGltZXN0YW1wIDwgcmlnaHQ7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZ3Q6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZS50aW1lc3RhbXAgPiByaWdodDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5sdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlLnRpbWVzdGFtcCA8IGxlZnQ7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uYmV0d2VlbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdCA8PSBjZWxsVmFsdWUudGltZXN0YW1wICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgPCByaWdodDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb21wYXJlKGNlbGxWYWx1ZTE6IERhdGVGaWVsZFZhbHVlLCBjZWxsVmFsdWUyOiBEYXRlRmllbGRWYWx1ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyKTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVOdW1iZXIodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9XG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9EYXRlRmllbGRWYWx1ZShwbGFpblRleHQsIHRhcmdldEZpZWxkLCBvcmlnaW5EYXRhKTtcbiAgICB9XG5cbiAgICBnZXRUaW1lUmFuZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bWJlcltdKSB7XG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3RvZGF5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW25ldyBUaW55RGF0ZShuZXcgRGF0ZSgpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSwgbmV3IFRpbnlEYXRlKG5ldyBEYXRlKCkpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKV07XG4gICAgICAgICAgICBjYXNlICdjdXJyZW50X3dlZWsnOlxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZSgpLnN0YXJ0T2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZSgpLmVuZE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNhc2UgJ3llc3RlcmRheSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKHN1YkRheXMobmV3IERhdGUoKSwgMSkpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoc3ViRGF5cyhuZXcgRGF0ZSgpLCAxKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNhc2UgJ2N1cnJlbnRfbW9udGgnOlxuICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFRpbnlEYXRlKCkuc3RhcnRPZk1vbnRoKCkuZ2V0VW5peFRpbWUoKSwgbmV3IFRpbnlEYXRlKCkuZW5kT2ZNb250aCgpLmdldFVuaXhUaW1lKCldO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWVbMF0gYXMgbnVtYmVyKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlWzFdIGFzIG51bWJlcikpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlIGFzIG51bWJlcikpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlIGFzIG51bWJlcikpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGVGaWVsZFZhbHVlKFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH1cbik6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQXQgfHwgdGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQXQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG9yaWdpbkRhdGEpIHtcbiAgICAgICAgY29uc3QgeyBmaWVsZCwgY2VsbFZhbHVlIH0gPSBvcmlnaW5EYXRhO1xuICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS5kYXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdGV4dHMgPSBwbGFpblRleHQuc3BsaXQoJywnKTtcbiAgICBjb25zdCB2YWx1ZSA9IHRleHRzICYmIHRleHRzLmxlbmd0aCA/IHRleHRzWzBdLnRyaW0oKSA6IHBsYWluVGV4dC50cmltKCk7XG4gICAgY29uc3QgZGF0ZVZhbHVlID0gdHJhbnNmb3JtRGF0ZVZhbHVlKHZhbHVlKTtcbiAgICBpZiAoZGF0ZVZhbHVlKSB7XG4gICAgICAgIHJldHVybiBkYXRlVmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogRGF0ZUZpZWxkVmFsdWUpOiBudW1iZXIge1xuICAgIGlmIChpc05pbChjZWxsVmFsdWUpIHx8ICFpc0RhdGVWYWxpZChjZWxsVmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gY2VsbFZhbHVlPy50aW1lc3RhbXA7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybURhdGVWYWx1ZSh0ZXh0OiBzdHJpbmcpOiBGaWVsZFZhbHVlIHwgbnVsbCB7XG4gICAgY29uc3QgdmFsdWUgPSB0ZXh0LnRyaW0oKTtcbiAgICBpZiAoIXZhbHVlIHx8IGlzRW1wdHkodmFsdWUpKSByZXR1cm4gbnVsbDtcblxuICAgIC8vIOWfuuehgOaXpeacn+agvOW8j++8muaUr+aMgeivhuWIqyAtIC8gLiDlubTmnIjml6Ug5L2c5Li65YiG6ZqU56ymXG4gICAgY29uc3QgZGF0ZVBhdHRlcm4gPSBTdHJpbmcucmF3YCg/OihcXGR7Mn18XFxkezR9KVstLy7lubRdKFxcZHsxLDJ9KVstLy7mnIhdKFxcZHsxLDJ9KeaXpT8pYDtcbiAgICBjb25zdCB0aW1lUGF0dGVybiA9IFN0cmluZy5yYXdgKD86XFxzKyhcXGR7MSwyfSk6KFxcZHsxLDJ9KSg/OjooXFxkezEsMn0pKT8pP2A7XG5cbiAgICBjb25zdCBwYXR0ZXJuID0gbmV3IFJlZ0V4cChgXiR7ZGF0ZVBhdHRlcm59JHt0aW1lUGF0dGVybn0kYCk7XG4gICAgY29uc3QgbWF0Y2ggPSB2YWx1ZS5tYXRjaChwYXR0ZXJuKTtcblxuICAgIGlmICghbWF0Y2gpIHJldHVybiBudWxsO1xuXG4gICAgdHJ5IHtcbiAgICAgICAgbGV0IFtfLCB5ZWFyLCBtb250aCwgZGF5XSA9IG1hdGNoO1xuXG4gICAgICAgIGlmICh5ZWFyLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFllYXIgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICBjb25zdCBjZW50dXJ5ID0gTWF0aC5mbG9vcihjdXJyZW50WWVhciAvIDEwMCkgKiAxMDA7XG4gICAgICAgICAgICBjb25zdCB0d29EaWdpdFllYXIgPSBwYXJzZUludCh5ZWFyKTtcbiAgICAgICAgICAgIHllYXIgPSBTdHJpbmcodHdvRGlnaXRZZWFyID4gY3VycmVudFllYXIgJSAxMDAgPyBjZW50dXJ5IC0gMTAwICsgdHdvRGlnaXRZZWFyIDogY2VudHVyeSArIHR3b0RpZ2l0WWVhcik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtb250aE51bSA9IHBhcnNlSW50KG1vbnRoKTtcbiAgICAgICAgY29uc3QgZGF5TnVtID0gcGFyc2VJbnQoZGF5KTtcblxuICAgICAgICBpZiAobW9udGhOdW0gPCAxIHx8IG1vbnRoTnVtID4gMTIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCBtb250aDonLCBtb250aE51bSk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1heERheXMgPSBuZXcgRGF0ZShwYXJzZUludCh5ZWFyKSwgbW9udGhOdW0sIDApLmdldERhdGUoKTtcbiAgICAgICAgaWYgKGRheU51bSA8IDEgfHwgZGF5TnVtID4gbWF4RGF5cykge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdJbnZhbGlkIGRheTonLCBkYXlOdW0pO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGFuZGFyZERhdGUgPSBgJHt5ZWFyfS0ke1N0cmluZyhtb250aE51bSkucGFkU3RhcnQoMiwgJzAnKX0tJHtTdHJpbmcoZGF5TnVtKS5wYWRTdGFydCgyLCAnMCcpfWA7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0aW1lc3RhbXA6IG5ldyBUaW55RGF0ZShzdGFuZGFyZERhdGUpLmdldFVuaXhUaW1lKClcbiAgICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgZGF0ZTonLCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -13,7 +13,6 @@ export class Field {
13
13
  }
14
14
  }
15
15
  }
16
- // 查找
17
16
  cellFullText(transformValue, field, references) {
18
17
  let fullText = [];
19
18
  if (!isEmpty(transformValue)) {
@@ -35,4 +34,4 @@ export class Field {
35
34
  }
36
35
  }
37
36
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9tb2RlbC9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBCLHNCQUFzQixFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBR25HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFnQixLQUFLO0lBdUJ2QixLQUFLO0lBQ0wsWUFBWSxDQUFDLFNBQWlDLEVBQUUsU0FBcUIsRUFBRSxPQUd0RTtRQUNHLFFBQVEsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLEtBQUssc0JBQXNCLENBQUMsS0FBSyxDQUFDO1lBQ2xDLEtBQUssc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDakMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDN0QsQ0FBQztZQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSztJQUNMLFlBQVksQ0FBQyxjQUFtQixFQUFFLEtBQW1CLEVBQUUsVUFBOEI7UUFDakYsSUFBSSxRQUFRLEdBQWEsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQXVFLEVBQUUsU0FBcUI7UUFDdkcsUUFBUSxTQUFTLEVBQUUsQ0FBQztZQUNoQixLQUFLLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLENBQUM7WUFDRCxLQUFLLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiwgQUlUYWJsZVJlZmVyZW5jZXMgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGQsIEZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL2FpLXRhYmxlJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmllbGQge1xuICAgIGFic3RyYWN0IGlzVmFsaWQoY2VsbFZhbHVlOiBGaWVsZFZhbHVlKTogYm9vbGVhbjtcblxuICAgIC8vIOaOkuW6j1xuICAgIGFic3RyYWN0IGNvbXBhcmUoXG4gICAgICAgIGNlbGxWYWx1ZTE6IEZpZWxkVmFsdWUsXG4gICAgICAgIGNlbGxWYWx1ZTI6IEZpZWxkVmFsdWUsXG4gICAgICAgIHJlZmVyZW5jZXM/OiBBSVRhYmxlUmVmZXJlbmNlcyxcbiAgICAgICAgc29ydEtleT86IHN0cmluZyxcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICAgIGFpVGFibGU6IEFJVGFibGU7XG4gICAgICAgICAgICBmaWVsZDogQUlUYWJsZUZpZWxkO1xuICAgICAgICB9LFxuICAgICk6IG51bWJlcjtcblxuICAgIC8vIOeymOi0tFxuICAgIGFic3RyYWN0IHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9IHwgbnVsbCxcbiAgICAgICAgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzXG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGw7XG5cbiAgICAvLyDnrZvpgIlcbiAgICBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBjZWxsVmFsdWU6IEZpZWxkVmFsdWUsIG9wdGlvbnM/OiB7XG4gICAgICAgIGFpVGFibGU6IEFJVGFibGU7XG4gICAgICAgIGZpZWxkOiBBSVRhYmxlRmllbGQ7XG4gICAgfSwpIHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNFbXB0eU9yTm90KGNvbmRpdGlvbi5vcGVyYXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDmn6Xmib5cbiAgICBjZWxsRnVsbFRleHQodHJhbnNmb3JtVmFsdWU6IGFueSwgZmllbGQ6IEFJVGFibGVGaWVsZCwgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzKTogc3RyaW5nW10ge1xuICAgICAgICBsZXQgZnVsbFRleHQ6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmICghaXNFbXB0eSh0cmFuc2Zvcm1WYWx1ZSkpIHtcbiAgICAgICAgICAgIGZ1bGxUZXh0LnB1c2goU3RyaW5nKHRyYW5zZm9ybVZhbHVlKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bGxUZXh0O1xuICAgIH1cblxuICAgIGlzRW1wdHlPck5vdChvcGVyYXRpb246IEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHkgfCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0cywgY2VsbFZhbHVlOiBGaWVsZFZhbHVlKSB7XG4gICAgICAgIHN3aXRjaCAob3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czoge1xuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY29tcGFyZSBvcGVyYXRvciB0eXBlIGVycm9yJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9tb2RlbC9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBCLHNCQUFzQixFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBR25HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFnQixLQUFLO0lBdUJ2QixLQUFLO0lBQ0wsWUFBWSxDQUFDLFNBQWlDLEVBQUUsU0FBcUIsRUFBRSxPQUd0RTtRQUNHLFFBQVEsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLEtBQUssc0JBQXNCLENBQUMsS0FBSyxDQUFDO1lBQ2xDLEtBQUssc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDakMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDN0QsQ0FBQztZQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLGNBQW1CLEVBQUUsS0FBbUIsRUFBRSxVQUE4QjtRQUNqRixJQUFJLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzNCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBdUUsRUFBRSxTQUFxQjtRQUN2RyxRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ2hCLEtBQUssc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDaEMsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsQ0FBQztZQUNELEtBQUssc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDakMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDbkQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLCBBSVRhYmxlUmVmZXJlbmNlcyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgRmllbGRWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHlwZXMvYWktdGFibGUnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWVsZCB7XG4gICAgYWJzdHJhY3QgaXNWYWxpZChjZWxsVmFsdWU6IEZpZWxkVmFsdWUpOiBib29sZWFuO1xuXG4gICAgLy8g5o6S5bqPXG4gICAgYWJzdHJhY3QgY29tcGFyZShcbiAgICAgICAgY2VsbFZhbHVlMTogRmllbGRWYWx1ZSxcbiAgICAgICAgY2VsbFZhbHVlMjogRmllbGRWYWx1ZSxcbiAgICAgICAgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzLFxuICAgICAgICBzb3J0S2V5Pzogc3RyaW5nLFxuICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgICAgYWlUYWJsZTogQUlUYWJsZTtcbiAgICAgICAgICAgIGZpZWxkOiBBSVRhYmxlRmllbGQ7XG4gICAgICAgIH0sXG4gICAgKTogbnVtYmVyO1xuXG4gICAgLy8g57KY6LS0XG4gICAgYWJzdHJhY3QgdG9GaWVsZFZhbHVlKFxuICAgICAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICAgICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsLFxuICAgICAgICByZWZlcmVuY2VzPzogQUlUYWJsZVJlZmVyZW5jZXNcbiAgICApOiBGaWVsZFZhbHVlIHwgbnVsbDtcblxuICAgIC8vIOetm+mAiVxuICAgIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIGNlbGxWYWx1ZTogRmllbGRWYWx1ZSwgb3B0aW9ucz86IHtcbiAgICAgICAgYWlUYWJsZTogQUlUYWJsZTtcbiAgICAgICAgZmllbGQ6IEFJVGFibGVGaWVsZDtcbiAgICB9LCkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pc0VtcHR5T3JOb3QoY29uZGl0aW9uLm9wZXJhdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNlbGxGdWxsVGV4dCh0cmFuc2Zvcm1WYWx1ZTogYW55LCBmaWVsZDogQUlUYWJsZUZpZWxkLCByZWZlcmVuY2VzPzogQUlUYWJsZVJlZmVyZW5jZXMpOiBzdHJpbmdbXSB7XG4gICAgICAgIGxldCBmdWxsVGV4dDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgaWYgKCFpc0VtcHR5KHRyYW5zZm9ybVZhbHVlKSkge1xuICAgICAgICAgICAgZnVsbFRleHQucHVzaChTdHJpbmcodHJhbnNmb3JtVmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVsbFRleHQ7XG4gICAgfVxuXG4gICAgaXNFbXB0eU9yTm90KG9wZXJhdGlvbjogQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eSB8IEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzLCBjZWxsVmFsdWU6IEZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChvcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eToge1xuICAgICAgICAgICAgICAgIHJldHVybiBpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb21wYXJlIG9wZXJhdG9yIHR5cGUgZXJyb3InKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,14 +1,26 @@
1
+ import { isNil } from 'lodash';
1
2
  import { AITableFieldType } from '../../../core';
2
3
  import { AITableFilterOperation } from '../../../types';
3
4
  import { extractText, extractLinkUrl } from '../../clipboard';
4
5
  import { isEmpty } from '../../common';
5
6
  import { compareString, stringInclude } from '../operate';
6
7
  import { Field } from './field';
8
+ export const isLinkValid = (cellValue) => {
9
+ return (cellValue && typeof cellValue === 'object' && 'url' in cellValue && 'text' in cellValue) || cellValue === null;
10
+ };
7
11
  export class LinkField extends Field {
8
12
  isValid(cellValue) {
9
- return (cellValue && typeof cellValue === 'object' && 'url' in cellValue && 'text' in cellValue) || cellValue === null;
13
+ return isLinkValid(cellValue);
10
14
  }
11
15
  isMeetFilter(condition, cellValue) {
16
+ if (cellValue === null) {
17
+ if (condition.operation === AITableFilterOperation.empty) {
18
+ return true;
19
+ }
20
+ else {
21
+ return false;
22
+ }
23
+ }
12
24
  const cellTextValue = cellValue?.text;
13
25
  switch (condition.operation) {
14
26
  case AITableFilterOperation.empty:
@@ -16,7 +28,7 @@ export class LinkField extends Field {
16
28
  case AITableFilterOperation.exists:
17
29
  return !isEmpty(cellTextValue);
18
30
  case AITableFilterOperation.contain:
19
- return !isEmpty(cellTextValue) && stringInclude(cellTextValue, condition.value);
31
+ return !isNil(cellTextValue) && stringInclude(cellTextValue, condition.value);
20
32
  default:
21
33
  return super.isMeetFilter(condition, cellTextValue);
22
34
  }
@@ -26,7 +38,7 @@ export class LinkField extends Field {
26
38
  }
27
39
  cellFullText(transformValue) {
28
40
  let texts = [];
29
- if (!isEmpty(transformValue?.text)) {
41
+ if (!isNil(transformValue)) {
30
42
  texts.push(transformValue.text);
31
43
  }
32
44
  return texts;
@@ -57,4 +69,4 @@ export function toLinkFieldValue(plainText, targetField, originData) {
57
69
  function cellValueToSortValue(cellValue) {
58
70
  return (cellValue && cellValue.text && cellValue.text.trim()) || null;
59
71
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2xpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixnQkFBZ0IsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDLE1BQU0sT0FBTyxTQUFVLFNBQVEsS0FBSztJQUN2QixPQUFPLENBQUMsU0FBcUI7UUFDbEMsT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxNQUFNLElBQUksU0FBUyxDQUFDLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQztJQUMzSCxDQUFDO0lBRVEsWUFBWSxDQUFDLFNBQXlDLEVBQUUsU0FBcUI7UUFDbEYsTUFBTSxhQUFhLEdBQUcsU0FBUyxFQUFFLElBQUksQ0FBQztRQUN0QyxRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2xDLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuQyxLQUFLLHNCQUFzQixDQUFDLE9BQU87Z0JBQy9CLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksYUFBYSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEY7Z0JBQ0ksT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0wsQ0FBQztJQUVRLE9BQU8sQ0FBQyxVQUFzQixFQUFFLFVBQXNCO1FBQzNELE9BQU8sYUFBYSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVRLFlBQVksQ0FBQyxjQUE4QjtRQUNoRCxJQUFJLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVRLFlBQVksQ0FDakIsU0FBaUIsRUFDakIsV0FBeUIsRUFDekIsVUFBa0U7UUFFbEUsT0FBTyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDSjtBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsU0FBaUIsRUFDakIsV0FBeUIsRUFDekIsVUFBa0U7SUFFbEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNiLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQ3hDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QyxPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2QsT0FBTztnQkFDSCxHQUFHO2dCQUNILElBQUk7YUFDUCxDQUFDO1FBQ04sQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxTQUF5QjtJQUNuRCxPQUFPLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRUeXBlLCBGaWVsZFZhbHVlLCBMaW5rRmllbGRWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGV4dHJhY3RUZXh0LCBleHRyYWN0TGlua1VybCB9IGZyb20gJy4uLy4uL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IGNvbXBhcmVTdHJpbmcsIHN0cmluZ0luY2x1ZGUgfSBmcm9tICcuLi9vcGVyYXRlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5cbmV4cG9ydCBjbGFzcyBMaW5rRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNWYWxpZChjZWxsVmFsdWU6IEZpZWxkVmFsdWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChjZWxsVmFsdWUgJiYgdHlwZW9mIGNlbGxWYWx1ZSA9PT0gJ29iamVjdCcgJiYgJ3VybCcgaW4gY2VsbFZhbHVlICYmICd0ZXh0JyBpbiBjZWxsVmFsdWUpIHx8IGNlbGxWYWx1ZSA9PT0gbnVsbDtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uPHN0cmluZz4sIGNlbGxWYWx1ZTogRmllbGRWYWx1ZSkge1xuICAgICAgICBjb25zdCBjZWxsVGV4dFZhbHVlID0gY2VsbFZhbHVlPy50ZXh0O1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVGV4dFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxUZXh0VmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmNvbnRhaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxUZXh0VmFsdWUpICYmIHN0cmluZ0luY2x1ZGUoY2VsbFRleHRWYWx1ZSwgY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxUZXh0VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY29tcGFyZShjZWxsVmFsdWUxOiBGaWVsZFZhbHVlLCBjZWxsVmFsdWUyOiBGaWVsZFZhbHVlKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcoY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMSksIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTIpKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBjZWxsRnVsbFRleHQodHJhbnNmb3JtVmFsdWU6IExpbmtGaWVsZFZhbHVlKTogc3RyaW5nW10ge1xuICAgICAgICBsZXQgdGV4dHM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmICghaXNFbXB0eSh0cmFuc2Zvcm1WYWx1ZT8udGV4dCkpIHtcbiAgICAgICAgICAgIHRleHRzLnB1c2godHJhbnNmb3JtVmFsdWUudGV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRleHRzO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9IHwgbnVsbFxuICAgICk6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRvTGlua0ZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9MaW5rRmllbGRWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9IHwgbnVsbFxuKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIGlmIChvcmlnaW5EYXRhKSB7XG4gICAgICAgIGNvbnN0IHsgZmllbGQsIGNlbGxWYWx1ZSB9ID0gb3JpZ2luRGF0YTtcbiAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IEFJVGFibGVGaWVsZFR5cGUubGluaykge1xuICAgICAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHVybCA9IGV4dHJhY3RMaW5rVXJsKHBsYWluVGV4dCk7XG4gICAgICAgIGNvbnN0IHRleHQgPSBleHRyYWN0VGV4dChwbGFpblRleHQpO1xuICAgICAgICBpZiAodXJsICYmIHRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgICAgIHRleHRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogTGlua0ZpZWxkVmFsdWUpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gKGNlbGxWYWx1ZSAmJiBjZWxsVmFsdWUudGV4dCAmJiBjZWxsVmFsdWUudGV4dC50cmltKCkpIHx8IG51bGw7XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2xpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLEVBQWdCLGdCQUFnQixFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQTBCLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsU0FBcUIsRUFBK0IsRUFBRTtJQUM5RSxPQUFPLENBQUMsU0FBUyxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLE1BQU0sSUFBSSxTQUFTLENBQUMsSUFBSSxTQUFTLEtBQUssSUFBSSxDQUFDO0FBQzNILENBQUMsQ0FBQztBQUVGLE1BQU0sT0FBTyxTQUFVLFNBQVEsS0FBSztJQUN2QixPQUFPLENBQUMsU0FBcUI7UUFDbEMsT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVRLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQXlCO1FBQ3RGLElBQUksU0FBUyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdkQsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7UUFDTCxDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsU0FBUyxFQUFFLElBQUksQ0FBQztRQUN0QyxRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2xDLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuQyxLQUFLLHNCQUFzQixDQUFDLE9BQU87Z0JBQy9CLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksYUFBYSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEY7Z0JBQ0ksT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0wsQ0FBQztJQUVRLE9BQU8sQ0FBQyxVQUEwQixFQUFFLFVBQTBCO1FBQ25FLE9BQU8sYUFBYSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVRLFlBQVksQ0FBQyxjQUE4QjtRQUNoRCxJQUFJLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3pCLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRVEsWUFBWSxDQUNqQixTQUFpQixFQUNqQixXQUF5QixFQUN6QixVQUFrRTtRQUVsRSxPQUFPLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixTQUFpQixFQUNqQixXQUF5QixFQUN6QixVQUFrRTtJQUVsRSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2IsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDeEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDZCxPQUFPO2dCQUNILEdBQUc7Z0JBQ0gsSUFBSTthQUNQLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLFNBQXlCO0lBQ25ELE9BQU8sQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGQsIEFJVGFibGVGaWVsZFR5cGUsIEZpZWxkVmFsdWUsIExpbmtGaWVsZFZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZXh0cmFjdFRleHQsIGV4dHJhY3RMaW5rVXJsIH0gZnJvbSAnLi4vLi4vY2xpcGJvYXJkJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgY29tcGFyZVN0cmluZywgc3RyaW5nSW5jbHVkZSB9IGZyb20gJy4uL29wZXJhdGUnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkJztcblxuZXhwb3J0IGNvbnN0IGlzTGlua1ZhbGlkID0gKGNlbGxWYWx1ZTogRmllbGRWYWx1ZSk6IGNlbGxWYWx1ZSBpcyBMaW5rRmllbGRWYWx1ZSA9PiB7XG4gICAgcmV0dXJuIChjZWxsVmFsdWUgJiYgdHlwZW9mIGNlbGxWYWx1ZSA9PT0gJ29iamVjdCcgJiYgJ3VybCcgaW4gY2VsbFZhbHVlICYmICd0ZXh0JyBpbiBjZWxsVmFsdWUpIHx8IGNlbGxWYWx1ZSA9PT0gbnVsbDtcbn07XG5cbmV4cG9ydCBjbGFzcyBMaW5rRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNWYWxpZChjZWxsVmFsdWU6IEZpZWxkVmFsdWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzTGlua1ZhbGlkKGNlbGxWYWx1ZSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IExpbmtGaWVsZFZhbHVlKSB7XG4gICAgICAgIGlmIChjZWxsVmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChjb25kaXRpb24ub3BlcmF0aW9uID09PSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmVtcHR5KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjZWxsVGV4dFZhbHVlID0gY2VsbFZhbHVlPy50ZXh0O1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVGV4dFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxUZXh0VmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmNvbnRhaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc05pbChjZWxsVGV4dFZhbHVlKSAmJiBzdHJpbmdJbmNsdWRlKGNlbGxUZXh0VmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBzdXBlci5pc01lZXRGaWx0ZXIoY29uZGl0aW9uLCBjZWxsVGV4dFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoY2VsbFZhbHVlMTogTGlua0ZpZWxkVmFsdWUsIGNlbGxWYWx1ZTI6IExpbmtGaWVsZFZhbHVlKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcoY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMSksIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTIpKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBjZWxsRnVsbFRleHQodHJhbnNmb3JtVmFsdWU6IExpbmtGaWVsZFZhbHVlKTogc3RyaW5nW10ge1xuICAgICAgICBsZXQgdGV4dHM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmICghaXNOaWwodHJhbnNmb3JtVmFsdWUpKSB7XG4gICAgICAgICAgICB0ZXh0cy5wdXNoKHRyYW5zZm9ybVZhbHVlLnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0ZXh0cztcbiAgICB9XG5cbiAgICBvdmVycmlkZSB0b0ZpZWxkVmFsdWUoXG4gICAgICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgICAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgICAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfSB8IG51bGxcbiAgICApOiBGaWVsZFZhbHVlIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0b0xpbmtGaWVsZFZhbHVlKHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvTGlua0ZpZWxkVmFsdWUoXG4gICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfSB8IG51bGxcbik6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBpZiAob3JpZ2luRGF0YSkge1xuICAgICAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IG9yaWdpbkRhdGE7XG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLmxpbmspIHtcbiAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB1cmwgPSBleHRyYWN0TGlua1VybChwbGFpblRleHQpO1xuICAgICAgICBjb25zdCB0ZXh0ID0gZXh0cmFjdFRleHQocGxhaW5UZXh0KTtcbiAgICAgICAgaWYgKHVybCAmJiB0ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgICAgICB0ZXh0XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWU6IExpbmtGaWVsZFZhbHVlKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIChjZWxsVmFsdWUgJiYgY2VsbFZhbHVlLnRleHQgJiYgY2VsbFZhbHVlLnRleHQudHJpbSgpKSB8fCBudWxsO1xufVxuIl19