text-to-map 1.1.27 → 1.1.29

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 (56) hide show
  1. package/dist/bin/address-points.js +1 -0
  2. package/dist/bin/cities.js +1 -0
  3. package/dist/bin/clear-all.js +1 -0
  4. package/dist/bin/constants.js +1 -0
  5. package/dist/bin/generate-syntax-diagrams.js +1 -0
  6. package/dist/bin/init-db.js +1 -0
  7. package/dist/bin/knex.js +1 -0
  8. package/dist/bin/parse-ordinance.js +17 -17
  9. package/dist/bin/polygons.js +4 -2
  10. package/dist/bin/regions.js +1 -0
  11. package/dist/bin/schools.js +1 -0
  12. package/dist/bin/streets.js +1 -0
  13. package/dist/bin/sync-all.js +1 -0
  14. package/dist/db/address-points.js +1 -1
  15. package/dist/db/cities.d.ts +5 -3
  16. package/dist/db/cities.js +43 -6
  17. package/dist/db/db.js +1 -0
  18. package/dist/db/founders.js +4 -3
  19. package/dist/db/meta.js +1 -0
  20. package/dist/db/migrations/20230704125715_initial.js +1 -0
  21. package/dist/db/migrations/20230731232915_city_positions.js +1 -0
  22. package/dist/db/migrations/20240106224603_city_polygon.js +1 -0
  23. package/dist/db/migrations/20240320200534_district_polygon.js +24 -0
  24. package/dist/db/regions.js +1 -0
  25. package/dist/db/schools.js +1 -0
  26. package/dist/db/street-sync.js +1 -0
  27. package/dist/db/sync-log.js +1 -0
  28. package/dist/db/types.d.ts +3 -1
  29. package/dist/db/types.js +2 -1
  30. package/dist/index.d.ts +2 -2
  31. package/dist/index.js +3 -2
  32. package/dist/open-data-sync/address-points.js +1 -0
  33. package/dist/open-data-sync/cities.js +1 -0
  34. package/dist/open-data-sync/common.js +1 -0
  35. package/dist/open-data-sync/regions.js +1 -0
  36. package/dist/open-data-sync/schools.js +1 -0
  37. package/dist/open-data-sync/streets.js +18 -11
  38. package/dist/smd-to-csv/json-to-csv.js +1 -0
  39. package/dist/smd-to-csv/ordinance-to-csv-rules.js +1 -0
  40. package/dist/smd-to-csv/txt-to-json.js +1 -0
  41. package/dist/street-markdown/municipality.js +1 -0
  42. package/dist/street-markdown/polygons.d.ts +7 -4
  43. package/dist/street-markdown/polygons.js +117 -28
  44. package/dist/street-markdown/roman-numerals.js +1 -0
  45. package/dist/street-markdown/smd-line-parser.js +1 -0
  46. package/dist/street-markdown/smd-parser.js +1 -0
  47. package/dist/street-markdown/smd.d.ts +1 -1
  48. package/dist/street-markdown/smd.js +47 -21
  49. package/dist/street-markdown/token-definition.js +1 -0
  50. package/dist/street-markdown/types.d.ts +5 -0
  51. package/dist/street-markdown/types.js +3 -2
  52. package/dist/utils/atom.js +1 -0
  53. package/dist/utils/helpers.d.ts +2 -0
  54. package/dist/utils/helpers.js +3 -0
  55. package/dist/utils/jtsk2wgs84.js +1 -0
  56. package/package.json +14 -14
package/dist/db/meta.js CHANGED
@@ -32,3 +32,4 @@ export const getDatetimeMetaValue = (key) => __awaiter(void 0, void 0, void 0, f
32
32
  }
33
33
  return new Date(value);
34
34
  });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYi9tZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQU8sR0FBVyxFQUErQixFQUFFO0lBQzdFLE1BQU0sSUFBSSxHQUFHLFNBQVMsRUFBRSxDQUFDO0lBQ3pCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNyRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNuRCxDQUFDLENBQUEsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFPLEdBQVcsRUFBRSxLQUFVLEVBQUUsRUFBRTtJQUM1RCxNQUFNLElBQUksR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUN6QixJQUFJLENBQUEsTUFBTSxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQUssU0FBUyxFQUFFO1FBQ3pDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUNoRDtTQUFNO1FBQ0wsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztLQUMxRDtBQUNILENBQUMsQ0FBQSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUN6RCxZQUFZLENBQUMsR0FBRyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFPLEdBQVcsRUFBNkIsRUFBRTtJQUNuRixNQUFNLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7UUFDdkIsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFDRCxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0S25leERiIH0gZnJvbSBcIi4vZGJcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRNZXRhVmFsdWUgPSBhc3luYyAoa2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4gPT4ge1xyXG4gIGNvbnN0IGtuZXggPSBnZXRLbmV4RGIoKTtcclxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBrbmV4LnBsdWNrKFwidmFsdWVcIikuZnJvbShcIm1ldGFcIikud2hlcmUoeyBrZXkgfSk7XHJcbiAgcmV0dXJuIHJlc3VsdC5sZW5ndGggPiAwID8gcmVzdWx0WzBdIDogdW5kZWZpbmVkO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldE1ldGFWYWx1ZSA9IGFzeW5jIChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xyXG4gIGNvbnN0IGtuZXggPSBnZXRLbmV4RGIoKTtcclxuICBpZiAoYXdhaXQgZ2V0TWV0YVZhbHVlKGtleSkgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgYXdhaXQga25leC5mcm9tKFwibWV0YVwiKS5pbnNlcnQoeyBrZXksIHZhbHVlIH0pO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBhd2FpdCBrbmV4LmZyb20oXCJtZXRhXCIpLnVwZGF0ZSh7IHZhbHVlIH0pLndoZXJlKHsga2V5IH0pO1xyXG4gIH1cclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzZXRDdXJyZW50RGF0ZXRpbWVNZXRhVmFsdWUgPSAoa2V5OiBzdHJpbmcpID0+IHtcclxuICBzZXRNZXRhVmFsdWUoa2V5LCBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldERhdGV0aW1lTWV0YVZhbHVlID0gYXN5bmMgKGtleTogc3RyaW5nKTogUHJvbWlzZTxEYXRlIHwgdW5kZWZpbmVkPiA9PiB7XHJcbiAgY29uc3QgdmFsdWUgPSBhd2FpdCBnZXRNZXRhVmFsdWUoa2V5KTtcclxuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcbiAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlKTtcclxufTtcclxuIl19
@@ -314,3 +314,4 @@ export function down(knex) {
314
314
  yield knex.schema.dropTableIfExists("sync_log");
315
315
  });
316
316
  }
317
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAyMzA3MDQxMjU3MTVfaW5pdGlhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYi9taWdyYXRpb25zLzIwMjMwNzA0MTI1NzE1X2luaXRpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXRELE1BQU0sVUFBZ0IsRUFBRSxDQUFDLElBQVU7O1FBQ2pDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxRQUFRO1lBQ2pFLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLFVBQVUsUUFBUTtZQUN4RCxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsVUFBVSxPQUFPO1lBQzdELE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENB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QyxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuRCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN2RCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLbmV4IH0gZnJvbSBcImtuZXhcIjtcclxuaW1wb3J0IHsgaXNNeXNxbCwgaXNQb3N0Z3JlcywgaXNTcWxpdGUgfSBmcm9tIFwiLi4vZGJcIjtcclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cChrbmV4OiBLbmV4KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuY3JlYXRlVGFibGUoXCJwcmFndWVfZGlzdHJpY3RcIiwgZnVuY3Rpb24gKHRhYmxlXzEwKSB7XHJcbiAgICB0YWJsZV8xMC5pbnRlZ2VyKFwiY29kZVwiKS51bnNpZ25lZCgpLnByaW1hcnkoKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfMTAuc3RyaW5nKFwibmFtZVwiKS5ub3ROdWxsYWJsZSgpO1xyXG4gIH0pO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLmNyZWF0ZVRhYmxlKFwic2Nob29sXCIsIGZ1bmN0aW9uICh0YWJsZV8xMikge1xyXG4gICAgdGFibGVfMTIuc3RyaW5nKFwiaXpvXCIpLnByaW1hcnkoKTtcclxuICAgIHRhYmxlXzEyLnN0cmluZyhcInJlZGl6b1wiKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfMTIuc3RyaW5nKFwibmFtZVwiKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfMTIuaW50ZWdlcihcImNhcGFjaXR5XCIpLnVuc2lnbmVkKCkubm90TnVsbGFibGUoKTtcclxuICB9KTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5jcmVhdGVUYWJsZShcImZvdW5kZXJfdHlwZVwiLCBmdW5jdGlvbiAodGFibGVfNSkge1xyXG4gICAgdGFibGVfNS5pbnRlZ2VyKFwiY29kZVwiKS51bnNpZ25lZCgpLnByaW1hcnkoKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfNS5zdHJpbmcoXCJuYW1lXCIpLm5vdE51bGxhYmxlKCk7XHJcbiAgfSk7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuY3JlYXRlVGFibGUoXCJtZXRhXCIsIGZ1bmN0aW9uICh0YWJsZV82KSB7XHJcbiAgICB0YWJsZV82LnN0cmluZyhcImtleVwiKS5wcmltYXJ5KCkubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzYudGV4dChcInZhbHVlXCIpLm5vdE51bGxhYmxlKCk7XHJcbiAgfSk7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuY3JlYXRlVGFibGUoXCJvYmplY3RfdHlwZVwiLCBmdW5jdGlvbiAodGFibGVfOCkge1xyXG4gICAgdGFibGVfOC5pbnRlZ2VyKFwiaWRcIikudW5zaWduZWQoKS5wcmltYXJ5KCkubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzguc3RyaW5nKFwibmFtZVwiKS5ub3ROdWxsYWJsZSgpO1xyXG4gIH0pO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLmNyZWF0ZVRhYmxlKFwic3RyZWV0X3N5bmNcIiwgZnVuY3Rpb24gKHRhYmxlXzE2KSB7XHJcbiAgICB0YWJsZV8xNi5zdHJpbmcoXCJmZWVkX3VybFwiLCA1MDApLnByaW1hcnkoKS5ub3ROdWxsYWJsZSgpO1xyXG4gIH0pO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLmNyZWF0ZVRhYmxlKFwicmVnaW9uXCIsIGZ1bmN0aW9uICh0YWJsZV8xMSkge1xyXG4gICAgdGFibGVfMTEuaW50ZWdlcihcImNvZGVcIikudW5zaWduZWQoKS5wcmltYXJ5KCkubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzExLnN0cmluZyhcIm5hbWVcIikubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzExLnN0cmluZyhcInNob3J0X25hbWVcIikubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzExLmludGVnZXIoXCJjc3VfY29kZV8xMDBcIikudW5zaWduZWQoKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfMTEuc3RyaW5nKFwiY3N1X2NvZGVfMTA4X251dHNcIikubm90TnVsbGFibGUoKTtcclxuICB9KTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5jcmVhdGVUYWJsZShcImNvdW50eVwiLCBmdW5jdGlvbiAodGFibGVfMykge1xyXG4gICAgdGFibGVfMy5pbnRlZ2VyKFwiY29kZVwiKS51bnNpZ25lZCgpLnByaW1hcnkoKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfMy5zdHJpbmcoXCJuYW1lXCIpLm5vdE51bGxhYmxlKCk7XHJcbiAgICB0YWJsZV8zLmludGVnZXIoXCJjc3VfY29kZV8xMDFfbGF1XCIpLnVuc2lnbmVkKCkubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzMuc3RyaW5nKFwiY3N1X2NvZGVfMTA5X251dHNcIikubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzNcclxuICAgICAgLmludGVnZXIoXCJyZWdpb25fY29kZVwiKVxyXG4gICAgICAudW5zaWduZWQoKVxyXG4gICAgICAucmVmZXJlbmNlcyhcImNvZGVcIilcclxuICAgICAgLmluVGFibGUoXCJyZWdpb25cIilcclxuICAgICAgLm5vdE51bGxhYmxlKCk7XHJcbiAgfSk7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuY3JlYXRlVGFibGUoXCJvcnBcIiwgZnVuY3Rpb24gKHRhYmxlXzkpIHtcclxuICAgIHRhYmxlXzkuaW50ZWdlcihcImNvZGVcIikudW5zaWduZWQoKS5wcmltYXJ5KCkubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzkuc3RyaW5nKFwibmFtZVwiKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfOS5pbnRlZ2VyKFwiY3N1X2NvZGVfNjVcIikudW5zaWduZWQoKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfOVxyXG4gICAgICAuaW50ZWdlcihcInJlZ2lvbl9jb2RlXCIpXHJcbiAgICAgIC51bnNpZ25lZCgpXHJcbiAgICAgIC5yZWZlcmVuY2VzKFwiY29kZVwiKVxyXG4gICAgICAuaW5UYWJsZShcInJlZ2lvblwiKVxyXG4gICAgICAubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzlcclxuICAgICAgLmludGVnZXIoXCJjb3VudHlfY29kZVwiKVxyXG4gICAgICAudW5zaWduZWQoKVxyXG4gICAgICAucmVmZXJlbmNlcyhcImNvZGVcIilcclxuICAgICAgLmluVGFibGUoXCJjb3VudHlcIilcclxuICAgICAgLm5vdE51bGxhYmxlKCk7XHJcbiAgfSk7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuY3JlYXRlVGFibGUoXCJjaXR5XCIsIGZ1bmN0aW9uICh0YWJsZV8xKSB7XHJcbiAgICB0YWJsZV8xLmludGVnZXIoXCJjb2RlXCIpLnVuc2lnbmVkKCkucHJpbWFyeSgpLm5vdE51bGxhYmxlKCk7XHJcbiAgICB0YWJsZV8xLnN0cmluZyhcIm5hbWVcIikubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzFcclxuICAgICAgLmludGVnZXIoXCJyZWdpb25fY29kZVwiKVxyXG4gICAgICAudW5zaWduZWQoKVxyXG4gICAgICAucmVmZXJlbmNlcyhcImNvZGVcIilcclxuICAgICAgLmluVGFibGUoXCJyZWdpb25cIik7XHJcbiAgICB0YWJsZV8xXHJcbiAgICAgIC5pbnRlZ2VyKFwiY291bnR5X2NvZGVcIilcclxuICAgICAgLnVuc2lnbmVkKClcclxuICAgICAgLnJlZmVyZW5jZXMoXCJjb2RlXCIpXHJcbiAgICAgIC5pblRhYmxlKFwiY291bnR5XCIpO1xyXG4gICAgdGFibGVfMS5pbnRlZ2VyKFwib3JwX2NvZGVcIikudW5zaWduZWQoKS5yZWZlcmVuY2VzKFwiY29kZVwiKS5pblRhYmxlKFwib3JwXCIpO1xyXG4gIH0pO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLmNyZWF0ZVRhYmxlKFwiY2l0eV9kaXN0cmljdFwiLCBmdW5jdGlvbiAodGFibGVfMikge1xyXG4gICAgdGFibGVfMi5pbnRlZ2VyKFwiY29kZVwiKS51bnNpZ25lZCgpLnByaW1hcnkoKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfMlxyXG4gICAgICAuaW50ZWdlcihcImNpdHlfY29kZVwiKVxyXG4gICAgICAudW5zaWduZWQoKVxyXG4gICAgICAucmVmZXJlbmNlcyhcImNvZGVcIilcclxuICAgICAgLmluVGFibGUoXCJjaXR5XCIpXHJcbiAgICAgIC5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfMi5zdHJpbmcoXCJuYW1lXCIpLm5vdE51bGxhYmxlKCk7XHJcbiAgfSk7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuY3JlYXRlVGFibGUoXCJtdW5pY2lwYWxpdHlfcGFydFwiLCBmdW5jdGlvbiAodGFibGVfNykge1xyXG4gICAgdGFibGVfNy5pbnRlZ2VyKFwiY29kZVwiKS51bnNpZ25lZCgpLnByaW1hcnkoKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfN1xyXG4gICAgICAuaW50ZWdlcihcImNpdHlfY29kZVwiKVxyXG4gICAgICAudW5zaWduZWQoKVxyXG4gICAgICAucmVmZXJlbmNlcyhcImNvZGVcIilcclxuICAgICAgLmluVGFibGUoXCJjaXR5XCIpXHJcbiAgICAgIC5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfNy5zdHJpbmcoXCJuYW1lXCIpLm5vdE51bGxhYmxlKCk7XHJcbiAgfSk7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuY3JlYXRlVGFibGUoXCJzdHJlZXRcIiwgZnVuY3Rpb24gKHRhYmxlXzE1KSB7XHJcbiAgICB0YWJsZV8xNS5pbnRlZ2VyKFwiY29kZVwiKS51bnNpZ25lZCgpLnByaW1hcnkoKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfMTVcclxuICAgICAgLmludGVnZXIoXCJjaXR5X2NvZGVcIilcclxuICAgICAgLnVuc2lnbmVkKClcclxuICAgICAgLnJlZmVyZW5jZXMoXCJjb2RlXCIpXHJcbiAgICAgIC5pblRhYmxlKFwiY2l0eVwiKVxyXG4gICAgICAubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzE1LnN0cmluZyhcIm5hbWVcIikubm90TnVsbGFibGUoKTtcclxuICB9KTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5jcmVhdGVUYWJsZShcImZvdW5kZXJcIiwgZnVuY3Rpb24gKHRhYmxlXzQpIHtcclxuICAgIHRhYmxlXzQuaW5jcmVtZW50cyhcImlkXCIpO1xyXG4gICAgdGFibGVfNC5zdHJpbmcoXCJuYW1lXCIpLm5vdE51bGxhYmxlKCk7XHJcbiAgICB0YWJsZV80LnN0cmluZyhcInNob3J0X25hbWVcIikubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXzQuc3RyaW5nKFwiaWNvXCIpLm5vdE51bGxhYmxlKCk7XHJcbiAgICB0YWJsZV80XHJcbiAgICAgIC5pbnRlZ2VyKFwiZm91bmRlcl90eXBlX2NvZGVcIilcclxuICAgICAgLnVuc2lnbmVkKClcclxuICAgICAgLnJlZmVyZW5jZXMoXCJjb2RlXCIpXHJcbiAgICAgIC5pblRhYmxlKFwiZm91bmRlcl90eXBlXCIpXHJcbiAgICAgIC5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfNC5pbnRlZ2VyKFwiY2l0eV9jb2RlXCIpLnVuc2lnbmVkKCkucmVmZXJlbmNlcyhcImNvZGVcIikuaW5UYWJsZShcImNpdHlcIik7XHJcbiAgICB0YWJsZV80XHJcbiAgICAgIC5pbnRlZ2VyKFwiY2l0eV9kaXN0cmljdF9jb2RlXCIpXHJcbiAgICAgIC51bnNpZ25lZCgpXHJcbiAgICAgIC5yZWZlcmVuY2VzKFwiY29kZVwiKVxyXG4gICAgICAuaW5UYWJsZShcImNpdHlfZGlzdHJpY3RcIik7XHJcbiAgICB0YWJsZV80LnVuaXF1ZShbXCJuYW1lXCIsIFwiaWNvXCJdKTtcclxuICB9KTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5jcmVhdGVUYWJsZShcInNjaG9vbF9mb3VuZGVyXCIsIGZ1bmN0aW9uICh0YWJsZV8xMykge1xyXG4gICAgdGFibGVfMTMuaW5jcmVtZW50cyhcImlkXCIpO1xyXG4gICAgdGFibGVfMTNcclxuICAgICAgLnN0cmluZyhcInNjaG9vbF9pem9cIilcclxuICAgICAgLnJlZmVyZW5jZXMoXCJpem9cIilcclxuICAgICAgLmluVGFibGUoXCJzY2hvb2xcIilcclxuICAgICAgLm5vdE51bGxhYmxlKCk7XHJcbiAgICB0YWJsZV8xM1xyXG4gICAgICAuaW50ZWdlcihcImZvdW5kZXJfaWRcIilcclxuICAgICAgLnVuc2lnbmVkKClcclxuICAgICAgLnJlZmVyZW5jZXMoXCJpZFwiKVxyXG4gICAgICAuaW5UYWJsZShcImZvdW5kZXJcIilcclxuICAgICAgLm5vdE51bGxhYmxlKCk7XHJcbiAgICB0YWJsZV8xMy51bmlxdWUoW1wic2Nob29sX2l6b1wiLCBcImZvdW5kZXJfaWRcIl0pO1xyXG4gIH0pO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLmNyZWF0ZVRhYmxlKFwiYWRkcmVzc19wb2ludFwiLCBmdW5jdGlvbiAodGFibGUpIHtcclxuICAgIHRhYmxlLmluY3JlbWVudHMoXCJpZFwiKTtcclxuICAgIHRhYmxlXHJcbiAgICAgIC5pbnRlZ2VyKFwic3RyZWV0X2NvZGVcIilcclxuICAgICAgLnVuc2lnbmVkKClcclxuICAgICAgLnJlZmVyZW5jZXMoXCJjb2RlXCIpXHJcbiAgICAgIC5pblRhYmxlKFwic3RyZWV0XCIpO1xyXG4gICAgdGFibGVcclxuICAgICAgLmludGVnZXIoXCJvYmplY3RfdHlwZV9pZFwiKVxyXG4gICAgICAudW5zaWduZWQoKVxyXG4gICAgICAucmVmZXJlbmNlcyhcImlkXCIpXHJcbiAgICAgIC5pblRhYmxlKFwib2JqZWN0X3R5cGVcIilcclxuICAgICAgLm5vdE51bGxhYmxlKCk7XHJcbiAgICB0YWJsZS5pbnRlZ2VyKFwiZGVzY3JpcHRpdmVfbnVtYmVyXCIpO1xyXG4gICAgdGFibGUuaW50ZWdlcihcIm9yaWVudGF0aW9uYWxfbnVtYmVyXCIpO1xyXG4gICAgdGFibGUuc3RyaW5nKFwib3JpZW50YXRpb25hbF9udW1iZXJfbGV0dGVyXCIpO1xyXG4gICAgdGFibGVcclxuICAgICAgLmludGVnZXIoXCJjaXR5X2NvZGVcIilcclxuICAgICAgLnVuc2lnbmVkKClcclxuICAgICAgLnJlZmVyZW5jZXMoXCJjb2RlXCIpXHJcbiAgICAgIC5pblRhYmxlKFwiY2l0eVwiKVxyXG4gICAgICAubm90TnVsbGFibGUoKTtcclxuICAgIHRhYmxlXHJcbiAgICAgIC5pbnRlZ2VyKFwiY2l0eV9kaXN0cmljdF9jb2RlXCIpXHJcbiAgICAgIC51bnNpZ25lZCgpXHJcbiAgICAgIC5yZWZlcmVuY2VzKFwiY29kZVwiKVxyXG4gICAgICAuaW5UYWJsZShcImNpdHlfZGlzdHJpY3RcIik7XHJcbiAgICB0YWJsZVxyXG4gICAgICAuaW50ZWdlcihcIm11bmljaXBhbGl0eV9wYXJ0X2NvZGVcIilcclxuICAgICAgLnVuc2lnbmVkKClcclxuICAgICAgLnJlZmVyZW5jZXMoXCJjb2RlXCIpXHJcbiAgICAgIC5pblRhYmxlKFwibXVuaWNpcGFsaXR5X3BhcnRcIik7XHJcbiAgICB0YWJsZVxyXG4gICAgICAuaW50ZWdlcihcInByYWd1ZV9kaXN0cmljdF9jb2RlXCIpXHJcbiAgICAgIC51bnNpZ25lZCgpXHJcbiAgICAgIC5yZWZlcmVuY2VzKFwiY29kZVwiKVxyXG4gICAgICAuaW5UYWJsZShcInByYWd1ZV9kaXN0cmljdFwiKTtcclxuICAgIHRhYmxlLnN0cmluZyhcInBvc3RhbF9jb2RlXCIpLm5vdE51bGxhYmxlKCk7XHJcbiAgICB0YWJsZS5kb3VibGUoXCJqdHNrX3hcIik7XHJcbiAgICB0YWJsZS5kb3VibGUoXCJqdHNrX3lcIik7XHJcbiAgICB0YWJsZS5kb3VibGUoXCJ3Z3M4NF9sYXRpdHVkZVwiKTtcclxuICAgIHRhYmxlLmRvdWJsZShcIndnczg0X2xvbmdpdHVkZVwiKTtcclxuICB9KTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5jcmVhdGVUYWJsZShcInNjaG9vbF9sb2NhdGlvblwiLCBmdW5jdGlvbiAodGFibGVfMTQpIHtcclxuICAgIHRhYmxlXzE0LmluY3JlbWVudHMoXCJpZFwiKTtcclxuICAgIHRhYmxlXzE0XHJcbiAgICAgIC5zdHJpbmcoXCJzY2hvb2xfaXpvXCIpXHJcbiAgICAgIC5yZWZlcmVuY2VzKFwiaXpvXCIpXHJcbiAgICAgIC5pblRhYmxlKFwic2Nob29sXCIpXHJcbiAgICAgIC5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfMTRcclxuICAgICAgLmludGVnZXIoXCJhZGRyZXNzX3BvaW50X2lkXCIpXHJcbiAgICAgIC51bnNpZ25lZCgpXHJcbiAgICAgIC5yZWZlcmVuY2VzKFwiaWRcIilcclxuICAgICAgLmluVGFibGUoXCJhZGRyZXNzX3BvaW50XCIpXHJcbiAgICAgIC5ub3ROdWxsYWJsZSgpXHJcbiAgICAgIC5vbkRlbGV0ZShcIkNBU0NBREVcIik7XHJcbiAgICB0YWJsZV8xNC51bmlxdWUoW1wic2Nob29sX2l6b1wiLCBcImFkZHJlc3NfcG9pbnRfaWRcIl0pO1xyXG4gIH0pO1xyXG5cclxuICBhd2FpdCBrbmV4LnNjaGVtYS5jcmVhdGVUYWJsZShcInN5bmNfbG9nXCIsIGZ1bmN0aW9uICh0YWJsZV8xNSkge1xyXG4gICAgdGFibGVfMTUuaW5jcmVtZW50cyhcImlkXCIpO1xyXG4gICAgdGFibGVfMTUuc3RyaW5nKFwicGFydFwiKS5ub3ROdWxsYWJsZSgpO1xyXG4gICAgdGFibGVfMTUuZGF0ZVRpbWUoXCJzdGFydGVkX2F0XCIpLm5vdE51bGxhYmxlKCk7XHJcbiAgICB0YWJsZV8xNS5kYXRlVGltZShcImZpbmlzaGVkX2F0XCIpO1xyXG4gICAgdGFibGVfMTUuYm9vbGVhbihcImNvbXBsZXRlZFwiKS5kZWZhdWx0VG8oZmFsc2UpO1xyXG4gIH0pO1xyXG5cclxuICBhd2FpdCBrbmV4KFwiZm91bmRlcl90eXBlXCIpLmluc2VydChbXHJcbiAgICB7IGNvZGU6IDAsIG5hbWU6IFwiWmF0w61tIG5ldXLEjWVub1wiIH0sXHJcbiAgICB7IGNvZGU6IDEwMSwgbmFtZTogXCJGeXppY2vDoSBvc29iYVwiIH0sXHJcbiAgICB7IGNvZGU6IDE2MSwgbmFtZTogXCLDmnN0YXZcIiB9LFxyXG4gICAgeyBjb2RlOiAyMTEsIG5hbWU6IFwiw5pzdMWZZWRuw60gb3Jnw6FueSBzdMOhdG7DrSBzcHLDoXZ5XCIgfSxcclxuICAgIHsgY29kZTogMjEyLCBuYW1lOiBcIsOaemVtbsOtIG9yZ8Ohbnkgc3TDoXRuw60gc3Byw6F2eVwiIH0sXHJcbiAgICB7IGNvZGU6IDIyMSwgbmFtZTogXCJWZcWZZWpuw6Egb2JjaG9kbsOtIHNwb2xlxI1ub3N0XCIgfSxcclxuICAgIHsgY29kZTogMjIyLCBuYW1lOiBcIktvbWFuZGl0bsOtIHNwb2xlxI1ub3N0XCIgfSxcclxuICAgIHsgY29kZTogMjIzLCBuYW1lOiBcIkFrY2lvdsOhIHNwb2xlxI1ub3N0XCIgfSxcclxuICAgIHsgY29kZTogMjI0LCBuYW1lOiBcIlNwb2xlxI1ub3N0IHMgcnXEjWVuw61tIG9tZXplbsO9bVwiIH0sXHJcbiAgICB7IGNvZGU6IDIyNSwgbmFtZTogXCJEcnXFvnN0dm9cIiB9LFxyXG4gICAgeyBjb2RlOiAyMjYsIG5hbWU6IFwiU3TDoXRuw60gcG9kbmlrXCIgfSxcclxuICAgIHsgY29kZTogMjI3LCBuYW1lOiBcIkV2cm9wc2vDoSBzcG9sZcSNbm9zdFwiIH0sXHJcbiAgICB7IGNvZGU6IDIyOCwgbmFtZTogXCJFdnJvcHNrw6kgaG9zcG9kw6HFmXNrw6kgesOham1vdsOpIHNkcnXFvmVuw61cIiB9LFxyXG4gICAgeyBjb2RlOiAyMzEsIG5hbWU6IFwiTmFkYWNlXCIgfSxcclxuICAgIHsgY29kZTogMjMyLCBuYW1lOiBcIlrDoWptb3bDqSBzZHJ1xb5lbsOtIHByw6F2bmlja8O9Y2ggb3NvYlwiIH0sXHJcbiAgICB7IGNvZGU6IDIzMywgbmFtZTogXCJOYWRhxI1uw60gZm9uZFwiIH0sXHJcbiAgICB7IGNvZGU6IDI0MSwgbmFtZTogXCJDw61ya2V2LCBuw6Fib8W+ZW5za8OhIHNwb2xlxI1ub3N0XCIgfSxcclxuICAgIHsgY29kZTogMjQyLCBuYW1lOiBcIkPDrXJrZXZuw60gb3JnYW5pemFjZVwiIH0sXHJcbiAgICB7IGNvZGU6IDI1MSwgbmFtZTogXCJPYsSNYW5za8OpIHNkcnXFvmVuw61cIiB9LFxyXG4gICAge1xyXG4gICAgICBjb2RlOiAyNTIsXHJcbiAgICAgIG5hbWU6IFwiT3JnYW5pemHEjW7DrSBqZWRub3RrYSBvYsSNYW5za8OpaG8gc2RydcW+ZW7DrSBzIHByw6F2bsOtIHN1Ympla3Rpdml0b3VcIixcclxuICAgIH0sXHJcbiAgICB7IGNvZGU6IDI2MSwgbmFtZTogXCJPYmVjXCIgfSxcclxuICAgIHsgY29kZTogMjYyLCBuYW1lOiBcIk9iZWNuw60gcG9kbmlrXCIgfSxcclxuICAgIHsgY29kZTogMjYzLCBuYW1lOiBcIk3Em3N0c2vDoSDEjcOhc3QgLyBtxJtzdHNrw70gb2J2b2RcIiB9LFxyXG4gICAgeyBjb2RlOiAyNjQsIG5hbWU6IFwiU3ZhemVrIG9iY8OtXCIgfSxcclxuICAgIHsgY29kZTogMjY2LCBuYW1lOiBcIktyYWpcIiB9LFxyXG4gICAgeyBjb2RlOiAyNzEsIG5hbWU6IFwiUG9saXRpY2vDoSBzdHJhbmEsIHBvbGl0aWNrw6kgaG51dMOtXCIgfSxcclxuICAgIHsgY29kZTogMjgxLCBuYW1lOiBcIk9iZWNuxJsgcHJvc3DEm8WhbsOhIHNwb2xlxI1ub3N0XCIgfSxcclxuICAgIHsgY29kZTogMjkxLCBuYW1lOiBcIlZlxZllam7DoSB2eXNva8OhIMWha29sYVwiIH0sXHJcbiAgICB7IGNvZGU6IDMwMSwgbmFtZTogXCJGeXppY2vDoSBvc29iYSBzIGJ5ZGxpxaF0xJttIHYgemFocmFuacSNw61cIiB9LFxyXG4gICAgeyBjb2RlOiAzMDIsIG5hbWU6IFwiUHLDoXZuaWNrw6Egb3NvYmEgc2Ugc8OtZGxlbSB2IHphaHJhbmnEjcOtXCIgfSxcclxuICAgIHsgY29kZTogNzA2LCBuYW1lOiBcIlNwb2xla1wiIH0sXHJcbiAgICB7IGNvZGU6IDczNiwgbmFtZTogXCJQb2JvxI1uw70gc3BvbGVrXCIgfSxcclxuICBdKTtcclxuICBhd2FpdCBrbmV4KFwib2JqZWN0X3R5cGVcIikuaW5zZXJ0KFtcclxuICAgIHsgaWQ6IDEsIG5hbWU6IFwixI0ucC5cIiB9LFxyXG4gICAgeyBpZDogMiwgbmFtZTogXCLEjS5ldi5cIiB9LFxyXG4gIF0pO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLnJhdyhcIkNSRUFURSBJTkRFWCBjaXR5X2NvZGUgT04gYWRkcmVzc19wb2ludCAoY2l0eV9jb2RlKTtcIik7XHJcbiAgYXdhaXQga25leC5zY2hlbWEucmF3KFxyXG4gICAgXCJDUkVBVEUgSU5ERVggY2l0eV9kaXN0cmljdF9jb2RlIE9OIGFkZHJlc3NfcG9pbnQgKGNpdHlfZGlzdHJpY3RfY29kZSk7XCJcclxuICApO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLnJhdyhcclxuICAgIFwiQ1JFQVRFIElOREVYIG11bmljaXBhbGl0eV9wYXJ0X2NvZGUgT04gYWRkcmVzc19wb2ludCAobXVuaWNpcGFsaXR5X3BhcnRfY29kZSk7XCJcclxuICApO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLnJhdyhcclxuICAgIFwiQ1JFQVRFIElOREVYIG9iamVjdF90eXBlX2lkIE9OIGFkZHJlc3NfcG9pbnQgKG9iamVjdF90eXBlX2lkKTtcIlxyXG4gICk7XHJcbiAgYXdhaXQga25leC5zY2hlbWEucmF3KFxyXG4gICAgXCJDUkVBVEUgSU5ERVggc3RyZWV0X2NvZGUgT04gYWRkcmVzc19wb2ludCAoc3RyZWV0X2NvZGUpO1wiXHJcbiAgKTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5yYXcoXHJcbiAgICBcIkNSRUFURSBJTkRFWCBzdHJlZXRfc3luY19mZWVkX3VybCBPTiBzdHJlZXRfc3luYyAoZmVlZF91cmwpO1wiXHJcbiAgKTtcclxuXHJcbiAgaWYgKGlzUG9zdGdyZXMoa25leCkpIHtcclxuICAgIGF3YWl0IGtuZXguc2NoZW1hLnJhdyhcIkNSRUFURSBFWFRFTlNJT04gSUYgTk9UIEVYSVNUUyBDSVRFWFRcIik7XHJcbiAgfVxyXG5cclxuICAvLyBjYXNlIGluc2Vuc2l0aXZlIGluZGV4ZXNcclxuICBjcmVhdGVDYXNlSW5zZW5zaXRpdmVJbmRleChrbmV4LCBcInN0cmVldFwiLCBcIm5hbWVcIik7XHJcbiAgY3JlYXRlQ2FzZUluc2Vuc2l0aXZlSW5kZXgoa25leCwgXCJjaXR5XCIsIFwibmFtZVwiKTtcclxuICBjcmVhdGVDYXNlSW5zZW5zaXRpdmVJbmRleChrbmV4LCBcImZvdW5kZXJcIiwgXCJuYW1lXCIpO1xyXG4gIGNyZWF0ZUNhc2VJbnNlbnNpdGl2ZUluZGV4KGtuZXgsIFwiZm91bmRlclwiLCBcInNob3J0X25hbWVcIik7XHJcbiAgY3JlYXRlQ2FzZUluc2Vuc2l0aXZlSW5kZXgoa25leCwgXCJyZWdpb25cIiwgXCJuYW1lXCIpO1xyXG4gIGNyZWF0ZUNhc2VJbnNlbnNpdGl2ZUluZGV4KGtuZXgsIFwiY291bnR5XCIsIFwibmFtZVwiKTtcclxuICBjcmVhdGVDYXNlSW5zZW5zaXRpdmVJbmRleChrbmV4LCBcIm9ycFwiLCBcIm5hbWVcIik7XHJcbn1cclxuXHJcbmNvbnN0IGNyZWF0ZUNhc2VJbnNlbnNpdGl2ZUluZGV4ID0gYXN5bmMgKFxyXG4gIGtuZXg6IEtuZXgsXHJcbiAgdGFibGU6IHN0cmluZyxcclxuICBjb2x1bW46IHN0cmluZ1xyXG4pID0+IHtcclxuICBjb25zdCBjcmVhdGVJbmRleFN0YXJ0ID0gYENSRUFURSBJTkRFWCAke3RhYmxlfV8ke2NvbHVtbn0gT04gJHt0YWJsZX1gO1xyXG4gIGlmIChpc1Bvc3RncmVzKGtuZXgpKSB7XHJcbiAgICBhd2FpdCBrbmV4LnNjaGVtYS5hbHRlclRhYmxlKHRhYmxlLCAodCkgPT4ge1xyXG4gICAgICB0LnNwZWNpZmljVHlwZShjb2x1bW4sIFwiQ0lURVhUXCIpLm5vdE51bGxhYmxlKCkuYWx0ZXIoKTtcclxuICAgIH0pO1xyXG4gICAgYXdhaXQga25leC5zY2hlbWEucmF3KGAke2NyZWF0ZUluZGV4U3RhcnR9ICgke2NvbHVtbn0pO2ApO1xyXG4gIH0gZWxzZSBpZiAoaXNTcWxpdGUoa25leCkpIHtcclxuICAgIGF3YWl0IGtuZXguc2NoZW1hLnJhdyhgJHtjcmVhdGVJbmRleFN0YXJ0fSAoJHtjb2x1bW59IENPTExBVEUgTk9DQVNFKTtgKTtcclxuICB9IGVsc2UgaWYgKGlzTXlzcWwoa25leCkpIHtcclxuICAgIGF3YWl0IGtuZXguc2NoZW1hLnJhdyhcclxuICAgICAgYEFMVEVSIFRBQkxFICR7dGFibGV9IE1PRElGWSBDT0xVTU4gJHtjb2x1bW59IFZBUkNIQVIoMjU1KSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaTtgXHJcbiAgICApO1xyXG4gICAgYXdhaXQga25leC5zY2hlbWEucmF3KGAke2NyZWF0ZUluZGV4U3RhcnR9ICgke2NvbHVtbn0pO2ApO1xyXG4gIH1cclxufTtcclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb3duKGtuZXg6IEtuZXgpIHtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5kcm9wVGFibGVJZkV4aXN0cyhcInNjaG9vbF9sb2NhdGlvblwiKTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5kcm9wVGFibGVJZkV4aXN0cyhcImFkZHJlc3NfcG9pbnRcIik7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuZHJvcFRhYmxlSWZFeGlzdHMoXCJmb3VuZGVyXCIpO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLmRyb3BUYWJsZUlmRXhpc3RzKFwiY2l0eV9kaXN0cmljdFwiKTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5kcm9wVGFibGVJZkV4aXN0cyhcInN0cmVldFwiKTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5kcm9wVGFibGVJZkV4aXN0cyhcImNpdHlcIik7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuZHJvcFRhYmxlSWZFeGlzdHMoXCJvcnBcIik7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuZHJvcFRhYmxlSWZFeGlzdHMoXCJjb3VudHlcIik7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuZHJvcFRhYmxlSWZFeGlzdHMoXCJyZWdpb25cIik7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuZHJvcFRhYmxlSWZFeGlzdHMoXCJzY2hvb2xfZm91bmRlclwiKTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5kcm9wVGFibGVJZkV4aXN0cyhcImZvdW5kZXJfdHlwZVwiKTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5kcm9wVGFibGVJZkV4aXN0cyhcIm1ldGFcIik7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuZHJvcFRhYmxlSWZFeGlzdHMoXCJtdW5pY2lwYWxpdHlfcGFydFwiKTtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5kcm9wVGFibGVJZkV4aXN0cyhcIm9iamVjdF90eXBlXCIpO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLmRyb3BUYWJsZUlmRXhpc3RzKFwicHJhZ3VlX2Rpc3RyaWN0XCIpO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLmRyb3BUYWJsZUlmRXhpc3RzKFwic2Nob29sXCIpO1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLmRyb3BUYWJsZUlmRXhpc3RzKFwic3RyZWV0X3N5bmNcIik7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuZHJvcFRhYmxlSWZFeGlzdHMoXCJzeW5jX2xvZ1wiKTtcclxufVxyXG4iXX0=
@@ -23,3 +23,4 @@ export function down(knex) {
23
23
  });
24
24
  });
25
25
  }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAyMzA3MzEyMzI5MTVfY2l0eV9wb3NpdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGIvbWlncmF0aW9ucy8yMDIzMDczMTIzMjkxNV9jaXR5X3Bvc2l0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQSxNQUFNLFVBQWdCLEVBQUUsQ0FBQyxJQUFVOztRQUNqQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3pDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQUE7QUFFRCxNQUFNLFVBQWdCLElBQUksQ0FBQyxJQUFVOztRQUNuQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3pDLENBQUMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLbmV4IH0gZnJvbSBcImtuZXhcIjtcclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cChrbmV4OiBLbmV4KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuYWx0ZXJUYWJsZShcImNpdHlcIiwgKHQpID0+IHtcclxuICAgIHQuZG91YmxlKFwid2dzODRfbGF0aXR1ZGVcIikubnVsbGFibGUoKTtcclxuICAgIHQuZG91YmxlKFwid2dzODRfbG9uZ2l0dWRlXCIpLm51bGxhYmxlKCk7XHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb3duKGtuZXg6IEtuZXgpIHtcclxuICBhd2FpdCBrbmV4LnNjaGVtYS5hbHRlclRhYmxlKFwiY2l0eVwiLCAodCkgPT4ge1xyXG4gICAgdC5kcm9wQ29sdW1uKFwid2dzODRfbGF0aXR1ZGVcIik7XHJcbiAgICB0LmRyb3BDb2x1bW4oXCJ3Z3M4NF9sb25naXR1ZGVcIik7XHJcbiAgfSk7XHJcbn1cclxuIl19
@@ -21,3 +21,4 @@ export function down(knex) {
21
21
  });
22
22
  });
23
23
  }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAyNDAxMDYyMjQ2MDNfY2l0eV9wb2x5Z29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RiL21pZ3JhdGlvbnMvMjAyNDAxMDYyMjQ2MDNfY2l0eV9wb2x5Z29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE1BQU0sVUFBZ0IsRUFBRSxDQUFDLElBQVU7O1FBQ2pDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FBQTtBQUVELE1BQU0sVUFBZ0IsSUFBSSxDQUFDLElBQVU7O1FBQ25DLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS25leCB9IGZyb20gXCJrbmV4XCI7XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXAoa25leDogS25leCk6IFByb21pc2U8dm9pZD4ge1xyXG4gIGF3YWl0IGtuZXguc2NoZW1hLmFsdGVyVGFibGUoXCJjaXR5XCIsICh0KSA9PiB7XHJcbiAgICB0LnRleHQoXCJwb2x5Z29uX2dlb2pzb25cIiwgXCJsb25ndGV4dFwiKS5udWxsYWJsZSgpO1xyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG93bihrbmV4OiBLbmV4KSB7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuYWx0ZXJUYWJsZShcImNpdHlcIiwgKHQpID0+IHtcclxuICAgIHQuZHJvcENvbHVtbihcInBvbHlnb25fZ2VvanNvblwiKTtcclxuICB9KTtcclxufVxyXG4iXX0=
@@ -0,0 +1,24 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ export function up(knex) {
11
+ return __awaiter(this, void 0, void 0, function* () {
12
+ yield knex.schema.alterTable("city", (t) => {
13
+ t.text("districts_polygon_geojson", "longtext").nullable();
14
+ });
15
+ });
16
+ }
17
+ export function down(knex) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ yield knex.schema.alterTable("city", (t) => {
20
+ t.dropColumn("districts_polygon_geojson");
21
+ });
22
+ });
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAyNDAzMjAyMDA1MzRfZGlzdHJpY3RfcG9seWdvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYi9taWdyYXRpb25zLzIwMjQwMzIwMjAwNTM0X2Rpc3RyaWN0X3BvbHlnb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsTUFBTSxVQUFnQixFQUFFLENBQUMsSUFBVTs7UUFDakMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUFBO0FBRUQsTUFBTSxVQUFnQixJQUFJLENBQUMsSUFBVTs7UUFDbkMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxDQUFDLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLbmV4IH0gZnJvbSBcImtuZXhcIjtcclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1cChrbmV4OiBLbmV4KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuYWx0ZXJUYWJsZShcImNpdHlcIiwgKHQpID0+IHtcclxuICAgIHQudGV4dChcImRpc3RyaWN0c19wb2x5Z29uX2dlb2pzb25cIiwgXCJsb25ndGV4dFwiKS5udWxsYWJsZSgpO1xyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG93bihrbmV4OiBLbmV4KSB7XHJcbiAgYXdhaXQga25leC5zY2hlbWEuYWx0ZXJUYWJsZShcImNpdHlcIiwgKHQpID0+IHtcclxuICAgIHQuZHJvcENvbHVtbihcImRpc3RyaWN0c19wb2x5Z29uX2dlb2pzb25cIik7XHJcbiAgfSk7XHJcbn1cclxuIl19
@@ -87,3 +87,4 @@ const findOrDie = (columnNames, name) => {
87
87
  }
88
88
  return index;
89
89
  };
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYi9yZWdpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsU0FBUyxFQUNULGtCQUFrQixFQUNuQixNQUFNLE1BQU0sQ0FBQztBQTZCZCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxJQUFnQixFQUNoQixNQUEwQixFQUNULEVBQUU7SUFDbkIsTUFBTSxXQUFXLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFckQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEQsT0FBTyxJQUFJLE1BQU0sY0FBYyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNuRCxPQUFPLElBQUksTUFBTSxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRS9DLG9FQUFvRTtJQUNwRSwrREFBK0Q7SUFDL0QsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUVqRCxNQUFNLElBQUksR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUV6QixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtRQUN0QixNQUFNLElBQUk7YUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ1osTUFBTSxDQUFDO1lBQ04sV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO1lBQzdDLFdBQVcsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQztZQUM3QyxRQUFRLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7U0FDeEMsQ0FBQzthQUNELEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsV0FB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Qy9DLFdBQVcsRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLG9CQUFvQixDQUFDO1FBQ25ELFVBQVUsRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztRQUMxQyxtQkFBbUIsRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLDBCQUEwQixDQUFDO1FBQ2pFLG9CQUFvQixFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsMkJBQTJCLENBQUM7UUFDbkUsZUFBZSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUM7UUFDcEQsVUFBVSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDO1FBQ3pDLGVBQWUsRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQztRQUNqRCxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDO1FBQ3pELG9CQUFvQixFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsMEJBQTBCLENBQUM7UUFDbEUsZUFBZSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUscUJBQXFCLENBQUM7S0FDekQsQ0FBQztJQUVGLE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQUVGLE1BQU0sU0FBUyxHQUFHLENBQUMsV0FBcUIsRUFBRSxJQUFZLEVBQVUsRUFBRTtJQUNoRSxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtRQUNiLE1BQU0sSUFBSSxLQUFLLENBQ2IsV0FBVyxJQUFJLG9VQUFvVSxDQUNwVixDQUFDO0tBQ0g7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgZXh0cmFjdEtleVZhbHVlc1BhaXJzLFxyXG4gIGdldEtuZXhEYixcclxuICBpbnNlcnRNdWx0aXBsZVJvd3NcclxufSBmcm9tIFwiLi9kYlwiO1xyXG5cclxuaW50ZXJmYWNlIFJlZ2lvbnNDb2x1bW4ge1xyXG4gIGNpdHlOYW1lOiBudW1iZXI7XHJcbiAgY2l0eUNvZGU6IG51bWJlcjtcclxuICBjaXR5VHlwZTogbnVtYmVyO1xyXG4gIG9ycE5hbWU6IG51bWJlcjtcclxuICBvcnBDc3VDb2RlNjU6IG51bWJlcjtcclxuICBvcnBSdWlhbkNvZGU6IG51bWJlcjtcclxuICBvcnBDaXR5Q29kZTogbnVtYmVyO1xyXG4gIGNvdW50eU5hbWU6IG51bWJlcjtcclxuICBjb3VudHlDc3VDb2RlMTAxTGF1OiBudW1iZXI7XHJcbiAgY291bnR5Q3N1Q29kZTEwOU51dHM6IG51bWJlcjtcclxuICBjb3VudHlSdWlhbkNvZGU6IG51bWJlcjtcclxuICByZWdpb25OYW1lOiBudW1iZXI7XHJcbiAgcmVnaW9uU2hvcnROYW1lOiBudW1iZXI7XHJcbiAgcmVnaW9uQ3N1Q29kZTEwMDogbnVtYmVyO1xyXG4gIHJlZ2lvbkNzdUNvZGUxMDhOdXRzOiBudW1iZXI7XHJcbiAgcmVnaW9uUnVpYW5Db2RlOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVnaW9uc1RhYmxlU2NoZW1hIHtcclxuICB0YWJsZVNjaGVtYToge1xyXG4gICAgY29sdW1uczoge1xyXG4gICAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICB9W107XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGluc2VydFJlZ2lvbnNBbmRPcnBzID0gYXN5bmMgKFxyXG4gIGRhdGE6IHN0cmluZ1tdW10sXHJcbiAgc2NoZW1hOiBSZWdpb25zVGFibGVTY2hlbWFcclxuKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcclxuICBjb25zdCBjb2x1bW5JbmRleCA9IGdldENvbHVtbkluZGV4RnJvbVNjaGVtYShzY2hlbWEpO1xyXG5cclxuICBsZXQgY2hhbmdlcyA9IDA7XHJcbiAgY2hhbmdlcyArPSBhd2FpdCBpbnNlcnRSZWdpb25zKGRhdGEsIGNvbHVtbkluZGV4KTtcclxuICBjaGFuZ2VzICs9IGF3YWl0IGluc2VydENvdW50aWVzKGRhdGEsIGNvbHVtbkluZGV4KTtcclxuICBjaGFuZ2VzICs9IGF3YWl0IGluc2VydE9ycHMoZGF0YSwgY29sdW1uSW5kZXgpO1xyXG5cclxuICAvLyBjaXRpZXMgYXJlIG1vc3QgbGlrZWx5IGFscmVhZHkgaW5zZXJ0ZWQsIGJ1dCBpbiBjYXNlIHRoZXkncmUgbm90LFxyXG4gIC8vIHdlIG5lZWQgdG8gaW5zZXJ0IHRoZW0gYmVmb3JlIHVwZGF0aW5nIHRoZW0gd2l0aCByZWdpb24gZGF0YVxyXG4gIGNoYW5nZXMgKz0gYXdhaXQgaW5zZXJ0Q2l0aWVzKGRhdGEsIGNvbHVtbkluZGV4KTtcclxuXHJcbiAgY29uc3Qga25leCA9IGdldEtuZXhEYigpO1xyXG5cclxuICBmb3IgKGNvbnN0IHJvdyBvZiBkYXRhKSB7XHJcbiAgICBhd2FpdCBrbmV4XHJcbiAgICAgIC5mcm9tKFwiY2l0eVwiKVxyXG4gICAgICAudXBkYXRlKHtcclxuICAgICAgICByZWdpb25fY29kZTogcm93W2NvbHVtbkluZGV4LnJlZ2lvblJ1aWFuQ29kZV0sXHJcbiAgICAgICAgY291bnR5X2NvZGU6IHJvd1tjb2x1bW5JbmRleC5jb3VudHlSdWlhbkNvZGVdLFxyXG4gICAgICAgIG9ycF9jb2RlOiByb3dbY29sdW1uSW5kZXgub3JwUnVpYW5Db2RlXSxcclxuICAgICAgfSlcclxuICAgICAgLndoZXJlKHsgY29kZTogcm93W2NvbHVtbkluZGV4LmNpdHlDb2RlXSB9KTtcclxuICAgIGNoYW5nZXMrKztcclxuICB9XHJcblxyXG4gIHJldHVybiBjaGFuZ2VzO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGluc2VydFJlZ2lvbnMgPSBhc3luYyAoXHJcbiAgYnVmZmVyOiBzdHJpbmdbXVtdLFxyXG4gIGNvbHVtbkluZGV4OiBSZWdpb25zQ29sdW1uXHJcbik6IFByb21pc2U8bnVtYmVyPiA9PiB7XHJcbiAgcmV0dXJuIGF3YWl0IGluc2VydE11bHRpcGxlUm93cyhcclxuICAgIGV4dHJhY3RLZXlWYWx1ZXNQYWlycyhidWZmZXIsIGNvbHVtbkluZGV4LnJlZ2lvblJ1aWFuQ29kZSwgW1xyXG4gICAgICBjb2x1bW5JbmRleC5yZWdpb25OYW1lLFxyXG4gICAgICBjb2x1bW5JbmRleC5yZWdpb25TaG9ydE5hbWUsXHJcbiAgICAgIGNvbHVtbkluZGV4LnJlZ2lvbkNzdUNvZGUxMDAsXHJcbiAgICAgIGNvbHVtbkluZGV4LnJlZ2lvbkNzdUNvZGUxMDhOdXRzLFxyXG4gICAgXSksXHJcbiAgICBcInJlZ2lvblwiLFxyXG4gICAgW1wiY29kZVwiLCBcIm5hbWVcIiwgXCJzaG9ydF9uYW1lXCIsIFwiY3N1X2NvZGVfMTAwXCIsIFwiY3N1X2NvZGVfMTA4X251dHNcIl1cclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGluc2VydENvdW50aWVzID0gYXN5bmMgKFxyXG4gIGJ1ZmZlcjogc3RyaW5nW11bXSxcclxuICBjb2x1bW5JbmRleDogUmVnaW9uc0NvbHVtblxyXG4pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xyXG4gIHJldHVybiBhd2FpdCBpbnNlcnRNdWx0aXBsZVJvd3MoXHJcbiAgICBleHRyYWN0S2V5VmFsdWVzUGFpcnMoYnVmZmVyLCBjb2x1bW5JbmRleC5jb3VudHlSdWlhbkNvZGUsIFtcclxuICAgICAgY29sdW1uSW5kZXguY291bnR5TmFtZSxcclxuICAgICAgY29sdW1uSW5kZXguY291bnR5Q3N1Q29kZTEwMUxhdSxcclxuICAgICAgY29sdW1uSW5kZXguY291bnR5Q3N1Q29kZTEwOU51dHMsXHJcbiAgICAgIGNvbHVtbkluZGV4LnJlZ2lvblJ1aWFuQ29kZSxcclxuICAgIF0pLFxyXG4gICAgXCJjb3VudHlcIixcclxuICAgIFtcImNvZGVcIiwgXCJuYW1lXCIsIFwiY3N1X2NvZGVfMTAxX2xhdVwiLCBcImNzdV9jb2RlXzEwOV9udXRzXCIsIFwicmVnaW9uX2NvZGVcIl1cclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGluc2VydE9ycHMgPSBhc3luYyAoXHJcbiAgYnVmZmVyOiBzdHJpbmdbXVtdLFxyXG4gIGNvbHVtbkluZGV4OiBSZWdpb25zQ29sdW1uXHJcbik6IFByb21pc2U8bnVtYmVyPiA9PiB7XHJcbiAgcmV0dXJuIGF3YWl0IGluc2VydE11bHRpcGxlUm93cyhcclxuICAgIGV4dHJhY3RLZXlWYWx1ZXNQYWlycyhidWZmZXIsIGNvbHVtbkluZGV4Lm9ycFJ1aWFuQ29kZSwgW1xyXG4gICAgICBjb2x1bW5JbmRleC5vcnBOYW1lLFxyXG4gICAgICBjb2x1bW5JbmRleC5vcnBDc3VDb2RlNjUsXHJcbiAgICAgIGNvbHVtbkluZGV4LnJlZ2lvblJ1aWFuQ29kZSxcclxuICAgICAgY29sdW1uSW5kZXguY291bnR5UnVpYW5Db2RlLFxyXG4gICAgXSksXHJcbiAgICBcIm9ycFwiLFxyXG4gICAgW1wiY29kZVwiLCBcIm5hbWVcIiwgXCJjc3VfY29kZV82NVwiLCBcInJlZ2lvbl9jb2RlXCIsIFwiY291bnR5X2NvZGVcIl1cclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGluc2VydENpdGllcyA9IGFzeW5jIChcclxuICBidWZmZXI6IHN0cmluZ1tdW10sXHJcbiAgY29sdW1uSW5kZXg6IFJlZ2lvbnNDb2x1bW5cclxuKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcclxuICByZXR1cm4gYXdhaXQgaW5zZXJ0TXVsdGlwbGVSb3dzKFxyXG4gICAgZXh0cmFjdEtleVZhbHVlc1BhaXJzKGJ1ZmZlciwgY29sdW1uSW5kZXguY2l0eUNvZGUsIFtjb2x1bW5JbmRleC5jaXR5TmFtZV0pLFxyXG4gICAgXCJjaXR5XCIsXHJcbiAgICBbXCJjb2RlXCIsIFwibmFtZVwiXVxyXG4gICk7XHJcbn07XHJcblxyXG5jb25zdCBnZXRDb2x1bW5JbmRleEZyb21TY2hlbWEgPSAoXHJcbiAgc2NoZW1hOiBSZWdpb25zVGFibGVTY2hlbWFcclxuKTogUmVnaW9uc0NvbHVtbiA9PiB7XHJcbiAgY29uc3QgbmFtZXMgPSBzY2hlbWEudGFibGVTY2hlbWEuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gY29sdW1uLm5hbWUpO1xyXG5cclxuICBjb25zdCBjb2x1bW5JbmRleDogUmVnaW9uc0NvbHVtbiA9IHtcclxuICAgIGNpdHlOYW1lOiBmaW5kT3JEaWUobmFtZXMsIFwib2JlY190ZXh0XCIpLFxyXG4gICAgY2l0eUNvZGU6IGZpbmRPckRpZShuYW1lcywgXCJvYmVjX2tvZFwiKSxcclxuICAgIGNpdHlUeXBlOiBmaW5kT3JEaWUobmFtZXMsIFwib2JlY190eXBcIiksXHJcbiAgICBvcnBOYW1lOiBmaW5kT3JEaWUobmFtZXMsIFwib3JwX3RleHRcIiksXHJcbiAgICBvcnBDc3VDb2RlNjU6IGZpbmRPckRpZShuYW1lcywgXCJvcnBfY3N1X2NpczY1X2tvZFwiKSxcclxuICAgIG9ycFJ1aWFuQ29kZTogZmluZE9yRGllKG5hbWVzLCBcIm9ycF9ydWlhbl9rb2RcIiksXHJcbiAgICBvcnBDaXR5Q29kZTogZmluZE9yRGllKG5hbWVzLCBcIm9ycF9zaWRsb19vYmVjX2tvZFwiKSxcclxuICAgIGNvdW50eU5hbWU6IGZpbmRPckRpZShuYW1lcywgXCJva3Jlc190ZXh0XCIpLFxyXG4gICAgY291bnR5Q3N1Q29kZTEwMUxhdTogZmluZE9yRGllKG5hbWVzLCBcIm9rcmVzX2NzdV9jaXMxMDFfbGF1X2tvZFwiKSxcclxuICAgIGNvdW50eUNzdUNvZGUxMDlOdXRzOiBmaW5kT3JEaWUobmFtZXMsIFwib2tyZXNfY3N1X2NpczEwOV9udXRzX2tvZFwiKSxcclxuICAgIGNvdW50eVJ1aWFuQ29kZTogZmluZE9yRGllKG5hbWVzLCBcIm9rcmVzX3J1aWFuX2tvZFwiKSxcclxuICAgIHJlZ2lvbk5hbWU6IGZpbmRPckRpZShuYW1lcywgXCJrcmFqX3RleHRcIiksXHJcbiAgICByZWdpb25TaG9ydE5hbWU6IGZpbmRPckRpZShuYW1lcywgXCJrcmFqX3prcmF0a2FcIiksXHJcbiAgICByZWdpb25Dc3VDb2RlMTAwOiBmaW5kT3JEaWUobmFtZXMsIFwia3Jhal9jc3VfY2lzMTAwX2tvZFwiKSxcclxuICAgIHJlZ2lvbkNzdUNvZGUxMDhOdXRzOiBmaW5kT3JEaWUobmFtZXMsIFwia3Jhal9jc3VfY2lzMTA4X251dHNfa29kXCIpLFxyXG4gICAgcmVnaW9uUnVpYW5Db2RlOiBmaW5kT3JEaWUobmFtZXMsIFwia3Jhal9ydWlhbl92dXNjX2tvZFwiKSxcclxuICB9O1xyXG5cclxuICByZXR1cm4gY29sdW1uSW5kZXg7XHJcbn07XHJcblxyXG5jb25zdCBmaW5kT3JEaWUgPSAoY29sdW1uTmFtZXM6IHN0cmluZ1tdLCBuYW1lOiBzdHJpbmcpOiBudW1iZXIgPT4ge1xyXG4gIGNvbnN0IGluZGV4ID0gY29sdW1uTmFtZXMuaW5kZXhPZihuYW1lKTtcclxuICBpZiAoaW5kZXggPCAwKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgIGBDb2x1bW4gJyR7bmFtZX0nIG5vdCBmb3VuZCBpbiByZWdpb24gc2NoZW1hLiBDaGVjayBodHRwczovL2RhdGEuZ292LmN6L2RhdG92JUMzJUExLXNhZGE/aXJpPWh0dHBzJTNBJTJGJTJGZGF0YS5nb3YuY3olMkZ6ZHJvaiUyRmRhdG92JUMzJUE5LXNhZHklMkYwMDAyNTU5MyUyRjI3MWIwZmI3YzJhYmI3ZjQ0ZTEyYWQ1NzYxNzgyMWIyIGZvciBjdXJyZW50IGRhdGFzZXQgaW5mbyBvciBzZWFyY2ggZm9yICdTdHJ1a3R1cmEgw7p6ZW3DrSDEjFIgc2UgdsWhZW1pIGvDs2R5IMO6emVtw60gb2Qgb2Jjw60gcG8gc3TDoXQgZGxlIMSNw61zZWxuw61rxa8gxIxTw5osIGtsYXNpZmlrYWNlIE5VVFMgYSBrw7Nkxa8gUsOaSUFOLicuYFxyXG4gICAgKTtcclxuICB9XHJcbiAgcmV0dXJuIGluZGV4O1xyXG59O1xyXG4iXX0=
@@ -73,3 +73,4 @@ const filterOutDuplicates = (schools) => {
73
73
  return !duplicate;
74
74
  });
75
75
  };
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nob29scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYi9zY2hvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFPLE9BQWlCLEVBQW1CLEVBQUU7SUFDeEUsTUFBTSxJQUFJLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFFekIsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUMvRCxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FDakIsQ0FBQztJQUVGLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQ25DLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUM5QyxDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQy9DLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUNqQyxDQUFDO0lBRUYsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLEVBQUU7UUFDN0IsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxD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QUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUM1QixDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHLENBQUMsT0FBaUIsRUFBWSxFQUFFO0lBQzFELE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDekIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDL0IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdob2xlTGluZUVycm9yIH0gZnJvbSBcIi4uL3N0cmVldC1tYXJrZG93bi9zbWRcIjtcclxuaW1wb3J0IHsgU21kRXJyb3IgfSBmcm9tIFwiLi4vc3RyZWV0LW1hcmtkb3duL3R5cGVzXCI7XHJcbmltcG9ydCB7IGZpbmRDbG9zZXN0U3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlcnNcIjtcclxuaW1wb3J0IHsgZ2V0S25leERiLCBpbnNlcnRNdWx0aXBsZVJvd3MgfSBmcm9tIFwiLi9kYlwiO1xyXG5pbXBvcnQgeyBTY2hvb2wgfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGluc2VydFNjaG9vbHMgPSBhc3luYyAoc2Nob29sczogU2Nob29sW10pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xyXG4gIGNvbnN0IGtuZXggPSBnZXRLbmV4RGIoKTtcclxuXHJcbiAgY29uc3QgdW5pcXVlU2Nob29scyA9IGZpbHRlck91dER1cGxpY2F0ZXMoc2Nob29scyk7XHJcbiAgY29uc3QgZXhpc3RpbmdJem8gPSAoYXdhaXQga25leC5zZWxlY3QoXCJpem9cIikuZnJvbShcInNjaG9vbFwiKSkubWFwKFxyXG4gICAgKHJvdykgPT4gcm93Lml6b1xyXG4gICk7XHJcblxyXG4gIGNvbnN0IHRvSW5zZXJ0ID0gdW5pcXVlU2Nob29scy5maWx0ZXIoXHJcbiAgICAoc2Nob29sKSA9PiAhZXhpc3RpbmdJem8uaW5jbHVkZXMoc2Nob29sLml6bylcclxuICApO1xyXG4gIGNvbnN0IHRvVXBkYXRlID0gdW5pcXVlU2Nob29scy5maWx0ZXIoKHNjaG9vbCkgPT5cclxuICAgIGV4aXN0aW5nSXpvLmluY2x1ZGVzKHNjaG9vbC5pem8pXHJcbiAgKTtcclxuXHJcbiAgZm9yIChjb25zdCBzY2hvb2wgb2YgdG9VcGRhdGUpIHtcclxuICAgIGF3YWl0IGtuZXguZnJvbShcInNjaG9vbFwiKS53aGVyZShcIml6b1wiLCBzY2hvb2wuaXpvKS51cGRhdGUoe1xyXG4gICAgICBuYW1lOiBzY2hvb2wubmFtZSxcclxuICAgICAgY2FwYWNpdHk6IHNjaG9vbC5jYXBhY2l0eSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgaW5zZXJ0ZWRTY2hvb2xzID0gYXdhaXQgaW5zZXJ0TXVsdGlwbGVSb3dzKFxyXG4gICAgdG9JbnNlcnQubWFwKChzY2hvb2wpID0+IFtcclxuICAgICAgc2Nob29sLml6byxcclxuICAgICAgc2Nob29sLnJlZGl6byxcclxuICAgICAgc2Nob29sLm5hbWUsXHJcbiAgICAgIHNjaG9vbC5jYXBhY2l0eS50b1N0cmluZygpLFxyXG4gICAgXSksXHJcbiAgICBcInNjaG9vbFwiLFxyXG4gICAgW1wiaXpvXCIsIFwicmVkaXpvXCIsIFwibmFtZVwiLCBcImNhcGFjaXR5XCJdXHJcbiAgKTtcclxuXHJcbiAgY29uc3QgbG9jYXRpb25zID0gdG9JbnNlcnRcclxuICAgIC5maWx0ZXIoKHNjaG9vbCkgPT4gc2Nob29sLmxvY2F0aW9ucy5sZW5ndGggPiAwKVxyXG4gICAgLm1hcCgoc2Nob29sKSA9PiBbXHJcbiAgICAgIHNjaG9vbC5pem8sXHJcbiAgICAgIHNjaG9vbC5sb2NhdGlvbnNbMF0uYWRkcmVzc1BvaW50SWQudG9TdHJpbmcoKSwgLy8gYWRkIG9ubHkgZmlyc3QgbG9jYXRpb25cclxuICAgIF0pO1xyXG5cclxuICBsZXQgaW5zZXJ0ZWRMb2NhdGlvbnMgPSAwO1xyXG5cclxuICAvLyBwbHVzIGZpbHRlciBvdXQgZHVwbGljYXRlIGxvY2F0aW9ucyAoc2FtZSBhZGRyZXNzIGlkICsgaXpvKVxyXG4gIGZvciAoY29uc3QgbG9jYXRpb24gb2YgbG9jYXRpb25zKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpbnNlcnRlZExvY2F0aW9ucyArPSBhd2FpdCBpbnNlcnRNdWx0aXBsZVJvd3MoXHJcbiAgICAgICAgW2xvY2F0aW9uXSxcclxuICAgICAgICBcInNjaG9vbF9sb2NhdGlvblwiLFxyXG4gICAgICAgIFtcInNjaG9vbF9pem9cIiwgXCJhZGRyZXNzX3BvaW50X2lkXCJdLFxyXG4gICAgICAgIHRydWVcclxuICAgICAgKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgIGBDYW5ub3QgYWRkIGxvY2F0aW9uIHdpdGggUlVJQU4gY29kZSAke2xvY2F0aW9uWzFdfSAoc2Nob29sIElaTyA9ICR7bG9jYXRpb25bMF19KTogY29kZSBkb2VzIG5vdCBleGlzdC5gXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gaW5zZXJ0ZWRTY2hvb2xzICsgaW5zZXJ0ZWRMb2NhdGlvbnM7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZmluZFNjaG9vbCA9IChcclxuICBuYW1lOiBzdHJpbmcsXHJcbiAgc2Nob29sczogU2Nob29sW11cclxuKTogeyBzY2hvb2w6IFNjaG9vbCB8IG51bGw7IGVycm9yczogU21kRXJyb3JbXSB9ID0+IHtcclxuICBpZiAoc2Nob29scy5sZW5ndGggPT09IDApIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHNjaG9vbDogbnVsbCxcclxuICAgICAgZXJyb3JzOiBbd2hvbGVMaW5lRXJyb3IoXCJBa3R1w6FsbsOtIHrFmWl6b3ZhdGVsIG5lbcOhIMW+w6FkbsOpIMWha29seS5cIiwgbmFtZSldLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGxldCBzY2hvb2w6IFNjaG9vbCB8IG51bGwgPSBudWxsO1xyXG4gIGNvbnN0IGVycm9yczogU21kRXJyb3JbXSA9IFtdO1xyXG5cclxuICBzY2hvb2wgPSBzY2hvb2xzLmZpbmQoKHNjaG9vbCkgPT4gc2Nob29sLm5hbWUgPT09IG5hbWUpO1xyXG4gIGlmIChzY2hvb2wpIHtcclxuICAgIHJldHVybiB7IHNjaG9vbCwgZXJyb3JzIH07XHJcbiAgfVxyXG5cclxuICBjb25zdCBuYW1lc0xpc3QgPSBzY2hvb2xzLm1hcCgoc2Nob29sKSA9PiBzY2hvb2wubmFtZSk7XHJcbiAgY29uc3QgYmVzdE1hdGNoID0gZmluZENsb3Nlc3RTdHJpbmcobmFtZSwgbmFtZXNMaXN0KTtcclxuICBzY2hvb2wgPSBzY2hvb2xzLmZpbmQoKHNjaG9vbCkgPT4gYmVzdE1hdGNoID09PSBzY2hvb2wubmFtZSk7XHJcblxyXG4gIGVycm9ycy5wdXNoKFxyXG4gICAgd2hvbGVMaW5lRXJyb3IoXHJcbiAgICAgIGDFoGtvbGEgcyBuw6F6dmVtICcke25hbWV9JyBuZWV4aXN0dWplLCBteXNsZWxpIGpzdGUgJyR7YmVzdE1hdGNofSc/YCxcclxuICAgICAgbmFtZVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIHJldHVybiB7IHNjaG9vbCwgZXJyb3JzIH07XHJcbn07XHJcblxyXG5jb25zdCBmaWx0ZXJPdXREdXBsaWNhdGVzID0gKHNjaG9vbHM6IFNjaG9vbFtdKTogU2Nob29sW10gPT4ge1xyXG4gIGNvbnN0IGl6b1NldCA9IG5ldyBTZXQoKTtcclxuICByZXR1cm4gc2Nob29scy5maWx0ZXIoKHNjaG9vbCkgPT4ge1xyXG4gICAgY29uc3QgZHVwbGljYXRlID0gaXpvU2V0LmhhcyhzY2hvb2wuaXpvKTtcclxuICAgIGl6b1NldC5hZGQoc2Nob29sLml6byk7XHJcbiAgICByZXR1cm4gIWR1cGxpY2F0ZTtcclxuICB9KTtcclxufTtcclxuIl19
@@ -25,3 +25,4 @@ export const deleteStreets = (streetUrls) => __awaiter(void 0, void 0, void 0, f
25
25
  export const insertStreetsFromDbf = (data) => __awaiter(void 0, void 0, void 0, function* () {
26
26
  return yield insertMultipleRows(data.map((street) => [street.KOD, street.OBEC_KOD, street.NAZEV]), "street", ["code", "city_code", "name"]);
27
27
  });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0LXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGIvc3RyZWV0LXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixTQUFTLEVBQ1Qsa0JBQWtCLEVBQ25CLE1BQU0sTUFBTSxDQUFDO0FBR2QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FDL0IsYUFBcUIsRUFDTixFQUFFO0lBQ2pCLE1BQU0sU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO1NBQzdCLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQztTQUNuQyxVQUFVLENBQUMsVUFBVSxDQUFDO1NBQ3RCLE1BQU0sRUFBRSxDQUFDO0FBQ2QsQ0FBQyxDQUFBLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUErQixFQUFFO0lBQ2xFLE9BQU8sSUFBSSxHQUFHLENBQ1osTUFBTSxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7U0FDN0IsTUFBTSxDQUFDLFVBQVUsQ0FBQztTQUNsQixJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUNuRCxDQUFDO0FBQ0osQ0FBQyxDQUFBLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBTyxVQUFvQixFQUFpQixFQUFFO0lBQ3pFLE1BQU0sc0JBQXNCLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN0RSxDQUFDLENBQUEsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLElBQWlCLEVBQ0EsRUFBRTtJQUNuQixPQUFPLE1BQU0sa0JBQWtCLENBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNqRSxRQUFRLEVBQ1IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUM5QixDQUFDO0FBQ0osQ0FBQyxDQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGRlbGV0ZU11bHRpcGxlUm93c0tuZXgsXHJcbiAgZ2V0S25leERiLFxyXG4gIGluc2VydE11bHRpcGxlUm93c1xyXG59IGZyb20gXCIuL2RiXCI7XHJcbmltcG9ydCB7IERiZlN0cmVldCB9IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG5leHBvcnQgY29uc3Qgc2V0U3RyZWV0QXNTeW5jZWQgPSBhc3luYyAoXHJcbiAgc3RyZWV0RmVlZFVybDogc3RyaW5nXHJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gIGF3YWl0IGdldEtuZXhEYigpKFwic3RyZWV0X3N5bmNcIilcclxuICAgIC5pbnNlcnQoeyBmZWVkX3VybDogc3RyZWV0RmVlZFVybCB9KVxyXG4gICAgLm9uQ29uZmxpY3QoXCJmZWVkX3VybFwiKVxyXG4gICAgLmlnbm9yZSgpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEFsbFN5bmNlZFN0cmVldHMgPSBhc3luYyAoKTogUHJvbWlzZTxTZXQ8c3RyaW5nPj4gPT4ge1xyXG4gIHJldHVybiBuZXcgU2V0PHN0cmluZz4oXHJcbiAgICBhd2FpdCBnZXRLbmV4RGIoKShcInN0cmVldF9zeW5jXCIpXHJcbiAgICAgIC5zZWxlY3QoXCJmZWVkX3VybFwiKVxyXG4gICAgICAudGhlbigocm93cykgPT4gcm93cy5tYXAoKHJvdykgPT4gcm93LmZlZWRfdXJsKSlcclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlbGV0ZVN0cmVldHMgPSBhc3luYyAoc3RyZWV0VXJsczogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICBhd2FpdCBkZWxldGVNdWx0aXBsZVJvd3NLbmV4KHN0cmVldFVybHMsIFwic3RyZWV0X3N5bmNcIiwgXCJmZWVkX3VybFwiKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpbnNlcnRTdHJlZXRzRnJvbURiZiA9IGFzeW5jIChcclxuICBkYXRhOiBEYmZTdHJlZXRbXVxyXG4pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xyXG4gIHJldHVybiBhd2FpdCBpbnNlcnRNdWx0aXBsZVJvd3MoXHJcbiAgICBkYXRhLm1hcCgoc3RyZWV0KSA9PiBbc3RyZWV0LktPRCwgc3RyZWV0Lk9CRUNfS09ELCBzdHJlZXQuTkFaRVZdKSxcclxuICAgIFwic3RyZWV0XCIsXHJcbiAgICBbXCJjb2RlXCIsIFwiY2l0eV9jb2RlXCIsIFwibmFtZVwiXVxyXG4gICk7XHJcbn07XHJcbiJdfQ==
@@ -72,3 +72,4 @@ export const lastSync = () => __awaiter(void 0, void 0, void 0, function* () {
72
72
  }
73
73
  return new Date(Math.min(...results.map((r) => r.getTime())));
74
74
  });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1sb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGIvc3luYy1sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVuQyxNQUFNLFFBQVEsR0FBRztJQUNmLFFBQVEsQ0FBQyxhQUFhO0lBQ3RCLFFBQVEsQ0FBQyxPQUFPO0lBQ2hCLFFBQVEsQ0FBQyxPQUFPO0lBQ2hCLFFBQVEsQ0FBQyxPQUFPO0NBQ2pCLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLElBQVUsRUFBaUIsRUFBRTtJQUNsRCxPQUFPLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDeEUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFtQixFQUFRLEVBQUU7SUFDcEQsT0FBTyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFFLElBQWEsQ0FBQztBQUNqRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBTyxJQUFjLEVBQW1CLEVBQUU7SUFDckUsT0FBTyxNQUFNLHNCQUFzQixDQUNqQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQzVDLFVBQVUsRUFDVixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FDdkIsQ0FBQztBQUNKLENBQUMsQ0FB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TSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNoRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRTtRQUNuQyxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0S25leERiLCBpbnNlcnRBdXRvaW5jcmVtZW50Um93LCBpc1NxbGl0ZSB9IGZyb20gXCIuL2RiXCI7XHJcbmltcG9ydCB7IFN5bmNQYXJ0IH0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbmNvbnN0IGFsbFBhcnRzID0gW1xyXG4gIFN5bmNQYXJ0LkFkZHJlc3NQb2ludHMsXHJcbiAgU3luY1BhcnQuU2Nob29scyxcclxuICBTeW5jUGFydC5SZWdpb25zLFxyXG4gIFN5bmNQYXJ0LlN0cmVldHMsXHJcbl07XHJcblxyXG5jb25zdCBzZXJpYWxpemVEYXRlID0gKGRhdGU6IERhdGUpOiBzdHJpbmcgfCBEYXRlID0+IHtcclxuICByZXR1cm4gaXNTcWxpdGUoZ2V0S25leERiKCkpID8gZGF0ZS50b0lTT1N0cmluZygpLnNsaWNlKDAsIC0xKSA6IGRhdGU7XHJcbn07XHJcblxyXG5jb25zdCBkZXNlcmlhbGl6ZURhdGUgPSAoZGF0ZTogc3RyaW5nIHwgRGF0ZSk6IERhdGUgPT4ge1xyXG4gIHJldHVybiBpc1NxbGl0ZShnZXRLbmV4RGIoKSkgPyBuZXcgRGF0ZShkYXRlKSA6IChkYXRlIGFzIERhdGUpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHN0YXJ0U3luY1BhcnQgPSBhc3luYyAocGFydDogU3luY1BhcnQpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xyXG4gIHJldHVybiBhd2FpdCBpbnNlcnRBdXRvaW5jcmVtZW50Um93KFxyXG4gICAgW3BhcnQudG9TdHJpbmcoKSwgc2VyaWFsaXplRGF0ZShuZXcgRGF0ZSgpKV0sXHJcbiAgICBcInN5bmNfbG9nXCIsXHJcbiAgICBbXCJwYXJ0XCIsIFwic3RhcnRlZF9hdFwiXVxyXG4gICk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3Qgc2V0U3luY1BhcnRBc0NvbXBsZXRlZCA9IGFzeW5jIChpZDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgYXdhaXQgZ2V0S25leERiKClcclxuICAgIC51cGRhdGUoeyBmaW5pc2hlZF9hdDogc2VyaWFsaXplRGF0ZShuZXcgRGF0ZSgpKSwgY29tcGxldGVkOiB0cnVlIH0pXHJcbiAgICAuZnJvbShcInN5bmNfbG9nXCIpXHJcbiAgICAud2hlcmUoeyBpZCB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc1N5bmNQYXJ0Q29tcGxldGVkID0gYXN5bmMgKHBhcnQ6IFN5bmNQYXJ0KTogUHJvbWlzZTxib29sZWFuPiA9PiB7XHJcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0S25leERiKClcclxuICAgIC5zZWxlY3QoXCJpZFwiKVxyXG4gICAgLmZyb20oXCJzeW5jX2xvZ1wiKVxyXG4gICAgLndoZXJlKHsgcGFydCwgY29tcGxldGVkOiB0cnVlIH0pXHJcbiAgICAubGltaXQoMSk7XHJcblxyXG4gIHJldHVybiByZXN1bHQubGVuZ3RoID4gMDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpc0V2ZXJ5dGhpbmdTeW5jZWQgPSBhc3luYyAoKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XHJcbiAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKGFsbFBhcnRzLm1hcChpc1N5bmNQYXJ0Q29tcGxldGVkKSk7XHJcbiAgcmV0dXJuIHJlc3VsdHMuZXZlcnkoKHIpID0+IHIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IG1pbGxpc2Vjb25kc1NpbmNlTGFzdFN5bmNPZlBhcnQgPSBhc3luYyAoXHJcbiAgcGFydDogU3luY1BhcnRcclxuKTogUHJvbWlzZTxudW1iZXIgfCBudWxsPiA9PiB7XHJcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbGFzdFN5bmNPZlBhcnQocGFydCk7XHJcbiAgcmV0dXJuIHJlc3VsdCA9PT0gbnVsbCA/IG51bGwgOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHJlc3VsdC5nZXRUaW1lKCk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbGFzdFN5bmNPZlBhcnQgPSBhc3luYyAocGFydDogU3luY1BhcnQpOiBQcm9taXNlPERhdGUgfCBudWxsPiA9PiB7XHJcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0S25leERiKClcclxuICAgIC5zZWxlY3QoXCJmaW5pc2hlZF9hdFwiKVxyXG4gICAgLmZyb20oXCJzeW5jX2xvZ1wiKVxyXG4gICAgLndoZXJlKHsgcGFydCwgY29tcGxldGVkOiB0cnVlIH0pXHJcbiAgICAub3JkZXJCeShcImZpbmlzaGVkX2F0XCIsIFwiZGVzY1wiKVxyXG4gICAgLmxpbWl0KDEpO1xyXG5cclxuICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZGVzZXJpYWxpemVEYXRlKHJlc3VsdFswXS5maW5pc2hlZF9hdCk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbWlsbGlzZWNvbmRzU2luY2VMYXN0U3luYyA9IGFzeW5jICgpOiBQcm9taXNlPG51bWJlciB8IG51bGw+ID0+IHtcclxuICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICBhbGxQYXJ0cy5tYXAobWlsbGlzZWNvbmRzU2luY2VMYXN0U3luY09mUGFydClcclxuICApO1xyXG4gIGlmIChyZXN1bHRzLnNvbWUoKHIpID0+IHIgPT09IG51bGwpKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgcmV0dXJuIE1hdGgubWF4KC4uLnJlc3VsdHMpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGxhc3RTeW5jID0gYXN5bmMgKCk6IFByb21pc2U8RGF0ZSB8IG51bGw+ID0+IHtcclxuICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoYWxsUGFydHMubWFwKGxhc3RTeW5jT2ZQYXJ0KSk7XHJcbiAgaWYgKHJlc3VsdHMuc29tZSgocikgPT4gciA9PT0gbnVsbCkpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICByZXR1cm4gbmV3IERhdGUoTWF0aC5taW4oLi4ucmVzdWx0cy5tYXAoKHIpID0+IHIuZ2V0VGltZSgpKSkpO1xyXG59O1xyXG4iXX0=
@@ -1,3 +1,4 @@
1
+ import { FeatureCollection, Polygon, MultiPolygon } from "@turf/helpers";
1
2
  export interface SchoolLocation {
2
3
  id?: number;
3
4
  schoolIzo?: number;
@@ -15,7 +16,7 @@ export interface Founder {
15
16
  ico: string;
16
17
  originalType?: number;
17
18
  municipalityType: MunicipalityType;
18
- cityOrDistrictCode?: number;
19
+ municipalityCode?: number;
19
20
  schools: School[];
20
21
  }
21
22
  export declare enum MunicipalityType {
@@ -50,3 +51,4 @@ export declare enum SyncPart {
50
51
  Streets = "streets",
51
52
  Cities = "cities"
52
53
  }
54
+ export type PolygonsByCodes = Record<number, FeatureCollection<Polygon | MultiPolygon>>;
package/dist/db/types.js CHANGED
@@ -7,7 +7,7 @@ export var MunicipalityType;
7
7
  export const founderToMunicipality = (founder) => {
8
8
  return {
9
9
  type: founder.municipalityType,
10
- code: founder.cityOrDistrictCode,
10
+ code: founder.municipalityCode,
11
11
  };
12
12
  };
13
13
  export var SyncPart;
@@ -18,3 +18,4 @@ export var SyncPart;
18
18
  SyncPart["Streets"] = "streets";
19
19
  SyncPart["Cities"] = "cities";
20
20
  })(SyncPart || (SyncPart = {}));
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUJBLE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsdURBQUksQ0FBQTtJQUNKLCtEQUFRLENBQUE7SUFDUix5REFBSyxDQUFBO0FBQ1AsQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0I7QUFvQkQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxPQUFnQixFQUFnQixFQUFFO0lBQ3RFLE9BQU87UUFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLGdCQUFnQjtRQUM5QixJQUFJLEVBQUUsT0FBTyxDQUFDLGdCQUFnQjtLQUMvQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBUUYsTUFBTSxDQUFOLElBQVksUUFNWDtBQU5ELFdBQVksUUFBUTtJQUNsQiw0Q0FBZ0MsQ0FBQTtJQUNoQywrQkFBbUIsQ0FBQTtJQUNuQiwrQkFBbUIsQ0FBQTtJQUNuQiwrQkFBbUIsQ0FBQTtJQUNuQiw2QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTlcsUUFBUSxLQUFSLFFBQVEsUUFNbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGZWF0dXJlQ29sbGVjdGlvbiwgUG9seWdvbiwgTXVsdGlQb2x5Z29uIH0gZnJvbSBcIkB0dXJmL2hlbHBlcnNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2Nob29sTG9jYXRpb24ge1xyXG4gIGlkPzogbnVtYmVyO1xyXG4gIHNjaG9vbEl6bz86IG51bWJlcjtcclxuICBhZGRyZXNzUG9pbnRJZDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNjaG9vbCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGl6bzogc3RyaW5nO1xyXG4gIHJlZGl6bzogc3RyaW5nO1xyXG4gIGNhcGFjaXR5OiBudW1iZXI7XHJcbiAgbG9jYXRpb25zOiBTY2hvb2xMb2NhdGlvbltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvdW5kZXIge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBpY286IHN0cmluZztcclxuICBvcmlnaW5hbFR5cGU/OiBudW1iZXI7XHJcbiAgbXVuaWNpcGFsaXR5VHlwZTogTXVuaWNpcGFsaXR5VHlwZTtcclxuICBtdW5pY2lwYWxpdHlDb2RlPzogbnVtYmVyO1xyXG4gIHNjaG9vbHM6IFNjaG9vbFtdO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBNdW5pY2lwYWxpdHlUeXBlIHtcclxuICBDaXR5LFxyXG4gIERpc3RyaWN0LFxyXG4gIE90aGVyLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBvc2l0aW9uIHtcclxuICBsYXQ6IG51bWJlcjtcclxuICBsbmc6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNdW5pY2lwYWxpdHkge1xyXG4gIHR5cGU6IE11bmljaXBhbGl0eVR5cGU7XHJcbiAgY29kZTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBNdW5pY2lwYWxpdHlXaXRoUG9zaXRpb24gPSBNdW5pY2lwYWxpdHkgJiBQb3NpdGlvbjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VXaXRoUG9zaXRpb24ge1xyXG4gIGNvZGU6IG51bWJlcjtcclxuICBsYXQ6IG51bWJlcjtcclxuICBsbmc6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGZvdW5kZXJUb011bmljaXBhbGl0eSA9IChmb3VuZGVyOiBGb3VuZGVyKTogTXVuaWNpcGFsaXR5ID0+IHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZTogZm91bmRlci5tdW5pY2lwYWxpdHlUeXBlLFxyXG4gICAgY29kZTogZm91bmRlci5tdW5pY2lwYWxpdHlDb2RlLFxyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERiZlN0cmVldCB7XHJcbiAgS09EOiBzdHJpbmc7XHJcbiAgTkFaRVY6IHN0cmluZztcclxuICBPQkVDX0tPRDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBTeW5jUGFydCB7XHJcbiAgQWRkcmVzc1BvaW50cyA9IFwiYWRkcmVzcy1wb2ludHNcIixcclxuICBTY2hvb2xzID0gXCJzY2hvb2xzXCIsXHJcbiAgUmVnaW9ucyA9IFwicmVnaW9uc1wiLFxyXG4gIFN0cmVldHMgPSBcInN0cmVldHNcIixcclxuICBDaXRpZXMgPSBcImNpdGllc1wiLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQb2x5Z29uc0J5Q29kZXMgPSBSZWNvcmQ8XHJcbiAgbnVtYmVyLFxyXG4gIEZlYXR1cmVDb2xsZWN0aW9uPFBvbHlnb24gfCBNdWx0aVBvbHlnb24+XHJcbj47XHJcbiJdfQ==
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { downloadAndImportAddressPoints } from "./open-data-sync/address-points"
3
3
  import { importCities } from "./open-data-sync/cities";
4
4
  import { downloadAndImportRegions } from "./open-data-sync/regions";
5
5
  import { downloadAndImportSchools } from "./open-data-sync/schools";
6
- import { municipalityToPolygons } from "./street-markdown/polygons";
6
+ import { municipalitiesToPolygons } from "./street-markdown/polygons";
7
7
  import { OpenDataSyncOptionsPartial } from "./utils/helpers";
8
8
  export * from "./street-markdown/smd";
9
9
  export * from "./street-markdown/types";
@@ -19,4 +19,4 @@ export * from "./street-markdown/types";
19
19
  * ```
20
20
  */
21
21
  export declare function downloadAndImportEverything(options?: OpenDataSyncOptionsPartial, syncStreets?: boolean): Promise<void>;
22
- export { clearDb, downloadAndImportAddressPoints, downloadAndImportRegions, downloadAndImportSchools, importCities, municipalityToPolygons, initDb, };
22
+ export { clearDb, downloadAndImportAddressPoints, downloadAndImportRegions, downloadAndImportSchools, importCities, municipalitiesToPolygons, initDb, };
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import { importCities } from "./open-data-sync/cities";
13
13
  import { downloadAndImportRegions } from "./open-data-sync/regions";
14
14
  import { downloadAndImportSchools } from "./open-data-sync/schools";
15
15
  // import { downloadAndImportStreets } from "./open-data-sync/streets";
16
- import { municipalityToPolygons } from "./street-markdown/polygons";
16
+ import { municipalitiesToPolygons } from "./street-markdown/polygons";
17
17
  export * from "./street-markdown/smd";
18
18
  export * from "./street-markdown/types";
19
19
  /**
@@ -41,4 +41,5 @@ export function downloadAndImportEverything(options = {}, syncStreets = true) {
41
41
  }
42
42
  export { clearDb, downloadAndImportAddressPoints, downloadAndImportRegions, downloadAndImportSchools,
43
43
  // downloadAndImportStreets,
44
- importCities, municipalityToPolygons, initDb, };
44
+ importCities, municipalitiesToPolygons, initDb, };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLHVFQUF1RTtBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUd0RSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFFeEM7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBZ0IsMkJBQTJCLENBQy9DLFVBQXNDLEVBQUUsRUFDeEMsY0FBdUIsSUFBSTs7UUFFM0IsTUFBTSxNQUFNLEVBQUUsQ0FBQztRQUNmLE1BQU0sOEJBQThCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsTUFBTSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxNQUFNLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksV0FBVyxFQUFFO1lBQ2YsMkNBQTJDO1NBQzVDO0lBQ0gsQ0FBQztDQUFBO0FBRUQsT0FBTyxFQUNMLE9BQU8sRUFDUCw4QkFBOEIsRUFDOUIsd0JBQXdCLEVBQ3hCLHdCQUF3QjtBQUN4Qiw0QkFBNEI7QUFDNUIsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixNQUFNLEdBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsZWFyRGIsIGluaXREYiB9IGZyb20gXCIuL2RiL2RiXCI7XHJcbmltcG9ydCB7IGRvd25sb2FkQW5kSW1wb3J0QWRkcmVzc1BvaW50cyB9IGZyb20gXCIuL29wZW4tZGF0YS1zeW5jL2FkZHJlc3MtcG9pbnRzXCI7XHJcbmltcG9ydCB7IGltcG9ydENpdGllcyB9IGZyb20gXCIuL29wZW4tZGF0YS1zeW5jL2NpdGllc1wiO1xyXG5pbXBvcnQgeyBkb3dubG9hZEFuZEltcG9ydFJlZ2lvbnMgfSBmcm9tIFwiLi9vcGVuLWRhdGEtc3luYy9yZWdpb25zXCI7XHJcbmltcG9ydCB7IGRvd25sb2FkQW5kSW1wb3J0U2Nob29scyB9IGZyb20gXCIuL29wZW4tZGF0YS1zeW5jL3NjaG9vbHNcIjtcclxuLy8gaW1wb3J0IHsgZG93bmxvYWRBbmRJbXBvcnRTdHJlZXRzIH0gZnJvbSBcIi4vb3Blbi1kYXRhLXN5bmMvc3RyZWV0c1wiO1xyXG5pbXBvcnQgeyBtdW5pY2lwYWxpdGllc1RvUG9seWdvbnMgfSBmcm9tIFwiLi9zdHJlZXQtbWFya2Rvd24vcG9seWdvbnNcIjtcclxuaW1wb3J0IHsgT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwgfSBmcm9tIFwiLi91dGlscy9oZWxwZXJzXCI7XHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi9zdHJlZXQtbWFya2Rvd24vc21kXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmVldC1tYXJrZG93bi90eXBlc1wiO1xyXG5cclxuLyoqXHJcbiAqIERvd25sb2FkIGFuZCBpbXBvcnQgYWxsIG9wZW4gZGF0YSB0byBTUUxpdGUgREIuIFRoZSBEQiBmaWxlIHdpbGwgYmUgbG9jYXRlZFxyXG4gKiBpbiB0aGUgYGRhdGFEaXJgIGZvbGRlci5cclxuICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHN5bmNcclxuICogQHBhcmFtIHN5bmNTdHJlZXRzIFN0cmVldHMgc3luYyB0YWtlcyBhcm91bmQgMSBob3VyLCBzbyBpdCBtaWdodCBiZSBza2lwcGVkLlxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGltcG9ydCB7IGRvd25sb2FkQW5kSW1wb3J0RXZlcnl0aGluZyB9IGZyb20gXCJ0ZXh0LXRvLW1hcFwiO1xyXG4gKlxyXG4gKiBhd2FpdCBkb3dubG9hZEFuZEltcG9ydEV2ZXJ5dGhpbmcoeyB0bXBEaXI6IFwiLi90bXBcIiwgZGF0YURpcjogXCIuL2RhdGFcIiB9KTtcclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRBbmRJbXBvcnRFdmVyeXRoaW5nKFxyXG4gIG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNQYXJ0aWFsID0ge30sXHJcbiAgc3luY1N0cmVldHM6IGJvb2xlYW4gPSB0cnVlXHJcbikge1xyXG4gIGF3YWl0IGluaXREYigpO1xyXG4gIGF3YWl0IGRvd25sb2FkQW5kSW1wb3J0QWRkcmVzc1BvaW50cyhvcHRpb25zKTtcclxuICBhd2FpdCBkb3dubG9hZEFuZEltcG9ydFNjaG9vbHMob3B0aW9ucyk7XHJcbiAgYXdhaXQgZG93bmxvYWRBbmRJbXBvcnRSZWdpb25zKG9wdGlvbnMpO1xyXG4gIGF3YWl0IGltcG9ydENpdGllcyhvcHRpb25zKTtcclxuICBpZiAoc3luY1N0cmVldHMpIHtcclxuICAgIC8vIGF3YWl0IGRvd25sb2FkQW5kSW1wb3J0U3RyZWV0cyhvcHRpb25zKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB7XHJcbiAgY2xlYXJEYixcclxuICBkb3dubG9hZEFuZEltcG9ydEFkZHJlc3NQb2ludHMsXHJcbiAgZG93bmxvYWRBbmRJbXBvcnRSZWdpb25zLFxyXG4gIGRvd25sb2FkQW5kSW1wb3J0U2Nob29scyxcclxuICAvLyBkb3dubG9hZEFuZEltcG9ydFN0cmVldHMsXHJcbiAgaW1wb3J0Q2l0aWVzLFxyXG4gIG11bmljaXBhbGl0aWVzVG9Qb2x5Z29ucyxcclxuICBpbml0RGIsXHJcbn07XHJcbiJdfQ==
@@ -70,3 +70,4 @@ export const downloadAndImportAddressPoints = (options = {}) => __awaiter(void 0
70
70
  yield importDataToDb(completeOptions);
71
71
  }));
72
72
  });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1wb2ludHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3Blbi1kYXRhLXN5bmMvYWRkcmVzcy1wb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDOUUsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUdMLGNBQWMsR0FDZixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDO0FBRTNCLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsR0FBVyxFQUNYLE9BQTRCLEVBQ2IsRUFBRTtJQUNqQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUUzRSxPQUFPLENBQUMsR0FBRyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7SUFDeEUsTUFBTSxR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QyxRQUFRLENBQUMsYUFBYSxFQUFFLEVBQUUsRUFBRSxHQUFTLEVBQUU7UUFDdkQsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sZUFBZSxHQUFHLE1BQU0sd0JBQXdCLENBQ3BELGVBQWUsQ0FBQyxvQkFBb0IsQ0FDckMsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sd0JBQXdCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0QsTUFBTSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDaEQsTUFBTSxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUFBLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFkbVppcCBmcm9tIFwiYWRtLXppcFwiO1xyXG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gXCJjc3YtcGFyc2VcIjtcclxuaW1wb3J0IHsgY3JlYXRlUmVhZFN0cmVhbSwgY3JlYXRlV3JpdGVTdHJlYW0sIHJlYWRkaXJTeW5jLCBybVN5bmMgfSBmcm9tIFwiZnNcIjtcclxuaW1wb3J0IGljb252IGZyb20gXCJpY29udi1saXRlXCI7XHJcbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xyXG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcclxuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tIFwic3RyZWFtL3Byb21pc2VzXCI7XHJcbmltcG9ydCBjaHVuayBmcm9tIFwibG9kYXNoL2NodW5rXCI7XHJcbmltcG9ydCB7IGNvbW1pdEFkZHJlc3NQb2ludHMgfSBmcm9tIFwiLi4vZGIvYWRkcmVzcy1wb2ludHNcIjtcclxuaW1wb3J0IHsgU3luY1BhcnQgfSBmcm9tIFwiLi4vZGIvdHlwZXNcIjtcclxuaW1wb3J0IHsgZ2V0TGF0ZXN0VXJsRnJvbUF0b21GZWVkIH0gZnJvbSBcIi4uL3V0aWxzL2F0b21cIjtcclxuaW1wb3J0IHtcclxuICBPcGVuRGF0YVN5bmNPcHRpb25zLFxyXG4gIE9wZW5EYXRhU3luY09wdGlvbnNQYXJ0aWFsLFxyXG4gIHByZXBhcmVPcHRpb25zLFxyXG59IGZyb20gXCIuLi91dGlscy9oZWxwZXJzXCI7XHJcbmltcG9ydCB7IHJ1blN5bmNQYXJ0IH0gZnJvbSBcIi4vY29tbW9uXCI7XHJcblxyXG5jb25zdCBtYXhCdWZmZXJTaXplID0gMTAwMDtcclxuXHJcbmNvbnN0IGRvd25sb2FkQW5kVW56aXAgPSBhc3luYyAoXHJcbiAgdXJsOiBzdHJpbmcsXHJcbiAgb3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9uc1xyXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICBjb25zdCB6aXBGaWxlUGF0aCA9IGpvaW4ob3B0aW9ucy50bXBEaXIsIG9wdGlvbnMuYWRkcmVzc1BvaW50c1ppcEZpbGVOYW1lKTtcclxuXHJcbiAgY29uc29sZS5sb2coXCJEb3dubG9hZGluZyBhIGxhcmdlIFpJUCBmaWxlIHdpdGggUlVJQU4gZGF0YSAofjY1IE1CKS4uLlwiKTtcclxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7XHJcbiAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPT0gMjAwKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgIGBUaGUgWklQIGZpbGUgY291bGQgbm90IGJlIGRvd25sb2FkZWQuIEhUVFAgQ29kZTogJHtyZXNwb25zZS5zdGF0dXN9YFxyXG4gICAgKTtcclxuICB9XHJcbiAgYXdhaXQgcGlwZWxpbmUocmVzcG9uc2UuYm9keSwgY3JlYXRlV3JpdGVTdHJlYW0oemlwRmlsZVBhdGgpKTtcclxuXHJcbiAgY29uc29sZS5sb2coXCJGaW5pc2hlZCBkb3dubG9hZGluZy5cIik7XHJcbiAgY29uc3QgemlwID0gbmV3IEFkbVppcCh6aXBGaWxlUGF0aCk7XHJcblxyXG4gIGNvbnNvbGUubG9nKGBTdGFydGluZyB0byB1bnppcCBDU1YgZmlsZXMgdG8gJyR7b3B0aW9ucy50bXBEaXJ9J2ApO1xyXG4gIHppcC5leHRyYWN0QWxsVG8ob3B0aW9ucy50bXBEaXIsIHRydWUpO1xyXG4gIGNvbnNvbGUubG9nKFwiVW56aXAgY29tcGxldGVkLlwiKTtcclxuXHJcbiAgcm1TeW5jKHppcEZpbGVQYXRoKTtcclxuICBjb25zb2xlLmxvZyhcIlJlbW92ZWQgdGhlIFpJUCBmaWxlLlwiKTtcclxufTtcclxuXHJcbmNvbnN0IGltcG9ydERhdGFUb0RiID0gYXN5bmMgKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+IHtcclxuICBjb25zdCBleHRyYWN0aW9uRm9sZGVyID0gZ2V0RXh0cmFjdGlvbkZvbGRlcihvcHRpb25zKTtcclxuXHJcbiAgY29uc3QgZmlsZXMgPSByZWFkZGlyU3luYyhleHRyYWN0aW9uRm9sZGVyKTtcclxuXHJcbiAgbGV0IHRvdGFsID0gMDtcclxuICBsZXQgbmV4dCA9IDA7XHJcblxyXG4gIGNvbnNvbGUubG9nKFxyXG4gICAgXCJJbml0aWF0aW5nIGltcG9ydCBvZiBSVUlBTiBkYXRhIHRvIHNlYXJjaCBEQiAofjMgbWlsbGlvbiByb3dzIHRvIGJlIGltcG9ydGVkKS5cIlxyXG4gICk7XHJcblxyXG4gIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xyXG4gICAgY29uc3Qgcm93czogc3RyaW5nW11bXSA9IFtdO1xyXG4gICAgY29uc3QgcGFyc2VTdHJlYW0gPSBwYXJzZSh7IGRlbGltaXRlcjogXCI7XCIsIGZyb21MaW5lOiAyIH0pLm9uKFxyXG4gICAgICBcImRhdGFcIixcclxuICAgICAgYXN5bmMgKGRhdGEpID0+IHtcclxuICAgICAgICByb3dzLnB1c2goZGF0YSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgYXdhaXQgcGlwZWxpbmUoXHJcbiAgICAgIGNyZWF0ZVJlYWRTdHJlYW0oam9pbihleHRyYWN0aW9uRm9sZGVyLCBmaWxlKSksXHJcbiAgICAgIGljb252LmRlY29kZVN0cmVhbShcIndpbjEyNTBcIiksXHJcbiAgICAgIHBhcnNlU3RyZWFtXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IGNodW5rcyA9IGNodW5rKHJvd3MsIG1heEJ1ZmZlclNpemUpO1xyXG5cclxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICBjaHVua3MubWFwKGFzeW5jIChjaHVuaykgPT4ge1xyXG4gICAgICAgIHRvdGFsICs9IGF3YWl0IGNvbW1pdEFkZHJlc3NQb2ludHMoY2h1bmspO1xyXG5cclxuICAgICAgICBpZiAodG90YWwgLSBuZXh0ID49IDEwMDAwMCkge1xyXG4gICAgICAgICAgbmV4dCArPSAxMDAwMDA7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhgVG90YWwgaW1wb3J0ZWQgcm93czogJHtuZXh0fWApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb25zb2xlLmxvZyhgSW1wb3J0IGNvbXBsZXRlZC4gVG90YWwgaW1wb3J0ZWQgcm93czogJHt0b3RhbH1gKTtcclxufTtcclxuXHJcbmNvbnN0IGdldEV4dHJhY3Rpb25Gb2xkZXIgPSAob3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9ucykgPT5cclxuICBqb2luKG9wdGlvbnMudG1wRGlyLCBvcHRpb25zLmFkZHJlc3NQb2ludHNDc3ZGb2xkZXJOYW1lKTtcclxuXHJcbmV4cG9ydCBjb25zdCBkb3dubG9hZEFuZEltcG9ydEFkZHJlc3NQb2ludHMgPSBhc3luYyAoXHJcbiAgb3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwgPSB7fVxyXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICBhd2FpdCBydW5TeW5jUGFydChTeW5jUGFydC5BZGRyZXNzUG9pbnRzLCBbXSwgYXN5bmMgKCkgPT4ge1xyXG4gICAgY29uc3QgY29tcGxldGVPcHRpb25zID0gcHJlcGFyZU9wdGlvbnMob3B0aW9ucyk7XHJcbiAgICBjb25zdCBkYXRhc2V0RmVlZExpbmsgPSBhd2FpdCBnZXRMYXRlc3RVcmxGcm9tQXRvbUZlZWQoXHJcbiAgICAgIGNvbXBsZXRlT3B0aW9ucy5hZGRyZXNzUG9pbnRzQXRvbVVybFxyXG4gICAgKTtcclxuICAgIGNvbnN0IHppcFVybCA9IGF3YWl0IGdldExhdGVzdFVybEZyb21BdG9tRmVlZChkYXRhc2V0RmVlZExpbmspO1xyXG4gICAgYXdhaXQgZG93bmxvYWRBbmRVbnppcCh6aXBVcmwsIGNvbXBsZXRlT3B0aW9ucyk7XHJcbiAgICBhd2FpdCBpbXBvcnREYXRhVG9EYihjb21wbGV0ZU9wdGlvbnMpO1xyXG4gIH0pO1xyXG59O1xyXG4iXX0=
@@ -38,3 +38,4 @@ export const importCities = (options = {}) => __awaiter(void 0, void 0, void 0,
38
38
  yield importDataToDb(completeOptions);
39
39
  }));
40
40
  });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2l0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29wZW4tZGF0YS1zeW5jL2NpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUdMLGNBQWMsR0FDZixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsTUFBTSxjQUFjLEdBQUcsQ0FBTyxPQUE0QixFQUFFLEVBQUU7SUFDNUQsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBRTdDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV0QywrRUFBK0U7SUFDL0UsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBRTVFLE1BQU0sSUFBSSxHQUFlLEVBQUUsQ0FBQztJQUM1QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FDM0QsTUFBTSxFQUNOLENBQUMsSUFBYyxFQUFFLEVBQUU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQ0YsQ0FBQztJQUVGLE1BQU0sUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRXBFLE9BQU8sQ0FBQyxHQUFHLENBQUMscURBQXFELENBQUMsQ0FBQztJQUVuRSxNQUFNLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhDLE9BQU8sQ0FBQyxHQUFHLENBQUMsMENBQTBDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZFLENBQUMsQ0FBQSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQzFCLFVBQXNDLEVBQUUsRUFDekIsRUFBRTtJQUNqQixNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxHQUFTLEVBQUU7UUFDakQsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsQ0FBQSxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlIH0gZnJvbSBcImNzdi1wYXJzZVwiO1xyXG5pbXBvcnQgaWNvbnYgZnJvbSBcImljb252LWxpdGVcIjtcclxuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tIFwic3RyZWFtL3Byb21pc2VzXCI7XHJcblxyXG5pbXBvcnQgeyBjcmVhdGVSZWFkU3RyZWFtIH0gZnJvbSBcImZzXCI7XHJcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwicGF0aFwiO1xyXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcInVybFwiO1xyXG5pbXBvcnQgeyBpbnNlcnRDaXR5UG9zaXRpb25zIH0gZnJvbSBcIi4uL2RiL2NpdGllc1wiO1xyXG5pbXBvcnQgeyBTeW5jUGFydCB9IGZyb20gXCIuLi9kYi90eXBlc1wiO1xyXG5pbXBvcnQge1xyXG4gIE9wZW5EYXRhU3luY09wdGlvbnMsXHJcbiAgT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwsXHJcbiAgcHJlcGFyZU9wdGlvbnMsXHJcbn0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlcnNcIjtcclxuaW1wb3J0IHsgcnVuU3luY1BhcnQgfSBmcm9tIFwiLi9jb21tb25cIjtcclxuXHJcbmNvbnN0IGltcG9ydERhdGFUb0RiID0gYXN5bmMgKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+IHtcclxuICBjb25zb2xlLmxvZyhcIlN0YXJ0aW5nIHRvIHBhcnNlIENTViBmaWxlLi4uXCIpO1xyXG5cclxuICBjb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpO1xyXG4gIGNvbnN0IF9fZGlybmFtZSA9IGRpcm5hbWUoX19maWxlbmFtZSk7XHJcblxyXG4gIC8vIHNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tLzMzYmNkZC9zb3VyYWRuaWNlLW1lc3QvYmxvYi9tYXN0ZXIvc291cmFkbmljZS5jc3ZcclxuICBjb25zdCBjc3ZTdHJlYW0gPSBjcmVhdGVSZWFkU3RyZWFtKGpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwic291cmFkbmljZS5jc3ZcIikpO1xyXG5cclxuICBjb25zdCByb3dzOiBzdHJpbmdbXVtdID0gW107XHJcbiAgY29uc3QgcGFyc2VTdHJlYW0gPSBwYXJzZSh7IGRlbGltaXRlcjogXCIsXCIsIGZyb21MaW5lOiAyIH0pLm9uKFxyXG4gICAgXCJkYXRhXCIsXHJcbiAgICAoZGF0YTogc3RyaW5nW10pID0+IHtcclxuICAgICAgcm93cy5wdXNoKGRhdGEpO1xyXG4gICAgfVxyXG4gICk7XHJcblxyXG4gIGF3YWl0IHBpcGVsaW5lKGNzdlN0cmVhbSwgaWNvbnYuZGVjb2RlU3RyZWFtKFwidXRmLThcIiksIHBhcnNlU3RyZWFtKTtcclxuXHJcbiAgY29uc29sZS5sb2coXCJQYXJzaW5nIGNvbXBsZXRlZC4gU3RhcnRpbmcgdG8gaW1wb3J0IGRhdGEgdG8gREIuLi5cIik7XHJcblxyXG4gIGF3YWl0IGluc2VydENpdHlQb3NpdGlvbnMocm93cyk7XHJcblxyXG4gIGNvbnNvbGUubG9nKGBJbXBvcnQgY29tcGxldGVkLiBUb3RhbCBpbXBvcnRlZCByb3dzOiAke3Jvd3MubGVuZ3RofWApO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGltcG9ydENpdGllcyA9IGFzeW5jIChcclxuICBvcHRpb25zOiBPcGVuRGF0YVN5bmNPcHRpb25zUGFydGlhbCA9IHt9XHJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gIGF3YWl0IHJ1blN5bmNQYXJ0KFN5bmNQYXJ0LlJlZ2lvbnMsIFtdLCBhc3luYyAoKSA9PiB7XHJcbiAgICBjb25zdCBjb21wbGV0ZU9wdGlvbnMgPSBwcmVwYXJlT3B0aW9ucyhvcHRpb25zKTtcclxuICAgIGF3YWl0IGltcG9ydERhdGFUb0RiKGNvbXBsZXRlT3B0aW9ucyk7XHJcbiAgfSk7XHJcbn07XHJcbiJdfQ==
@@ -28,3 +28,4 @@ export const runSyncPart = (part, dependencies, partFunction) => __awaiter(void
28
28
  yield disconnectKnex();
29
29
  }
30
30
  });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29wZW4tZGF0YS1zeW5jL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FDekIsSUFBYyxFQUNkLFlBQXdCLEVBQ3hCLFlBQWlDLEVBQ2xCLEVBQUU7SUFDakIsSUFBSTtRQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLEtBQUssTUFBTSxVQUFVLElBQUksWUFBWSxFQUFFO1lBQ3JDLE1BQU0sV0FBVyxHQUFHLE1BQU0sbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDaEIsTUFBTSxJQUFJLEtBQUssQ0FDYixhQUFhLElBQUkseUNBQXlDLFVBQVUsbUNBQW1DLFVBQVUsVUFBVSxDQUM1SCxDQUFDO2FBQ0g7U0FDRjtRQUNELE1BQU0sWUFBWSxFQUFFLENBQUM7UUFFckIsTUFBTSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNyQztJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNwQjtZQUFTO1FBQ1IsTUFBTSxjQUFjLEVBQUUsQ0FBQztLQUN4QjtBQUNILENBQUMsQ0FBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlzY29ubmVjdEtuZXggfSBmcm9tIFwiLi4vZGIvZGJcIjtcclxuaW1wb3J0IHsgaXNTeW5jUGFydENvbXBsZXRlZCwgc2V0U3luY1BhcnRBc0NvbXBsZXRlZCwgc3RhcnRTeW5jUGFydCB9IGZyb20gXCIuLi9kYi9zeW5jLWxvZ1wiO1xyXG5pbXBvcnQgeyBTeW5jUGFydCB9IGZyb20gXCIuLi9kYi90eXBlc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IHJ1blN5bmNQYXJ0ID0gYXN5bmMgKFxyXG4gIHBhcnQ6IFN5bmNQYXJ0LFxyXG4gIGRlcGVuZGVuY2llczogU3luY1BhcnRbXSxcclxuICBwYXJ0RnVuY3Rpb246ICgpID0+IFByb21pc2U8dm9pZD5cclxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IGxvZ0lkID0gYXdhaXQgc3RhcnRTeW5jUGFydChwYXJ0KTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGRlcGVuZGVuY3kgb2YgZGVwZW5kZW5jaWVzKSB7XHJcbiAgICAgIGNvbnN0IGlzQ29tcGxldGVkID0gYXdhaXQgaXNTeW5jUGFydENvbXBsZXRlZChkZXBlbmRlbmN5KTtcclxuICAgICAgaWYgKCFpc0NvbXBsZXRlZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgIGBTeW5jIHBhcnQgJHtwYXJ0fSBjYW5ub3QgYmUgc3RhcnRlZCBiZWNhdXNlIGRlcGVuZGVuY3kgJHtkZXBlbmRlbmN5fSBpcyBub3QgY29tcGxldGVkLiBSdW4gJ25wbSBydW4gJHtkZXBlbmRlbmN5fScgZmlyc3QuYFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGF3YWl0IHBhcnRGdW5jdGlvbigpO1xyXG5cclxuICAgIGF3YWl0IHNldFN5bmNQYXJ0QXNDb21wbGV0ZWQobG9nSWQpO1xyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgfSBmaW5hbGx5IHtcclxuICAgIGF3YWl0IGRpc2Nvbm5lY3RLbmV4KCk7XHJcbiAgfVxyXG59O1xyXG4iXX0=
@@ -43,3 +43,4 @@ export const downloadAndImportRegions = (options = {}) => __awaiter(void 0, void
43
43
  yield downloadAndImportDataToDb(completeOptions);
44
44
  }));
45
45
  });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVuLWRhdGEtc3luYy9yZWdpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFHTCxjQUFjLEVBQ2YsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXZDLE1BQU0seUJBQXlCLEdBQUcsQ0FDaEMsT0FBNEIsRUFDNUIsRUFBRTtJQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtRQUMzQixNQUFNLElBQUksS0FBSyxDQUNiLGdEQUFnRCxRQUFRLENBQUMsTUFBTSxFQUFFLENBQ2xFLENBQUM7S0FDSDtJQUdELE9BQU8sQ0FBQyxHQUFHLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUVqRSxNQUFNLElBQUksR0FBZSxFQUFFLENBQUM7SUFDNUIsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQzNELE1BQU0sRUFDTixDQUFDLElBQWMsRUFBRSxFQUFFO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUNGLENBQUM7SUFFRixNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFeEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDN0QsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtRQUNqQyxNQUFNLElBQUksS0FBSyxDQUNiLGdEQUFnRCxjQUFjLENBQUMsTUFBTSxFQUFFLENBQ3hFLENBQUM7S0FDSDtJQUNELGFBQWE7SUFDYixNQUFNLE1BQU0sR0FBdUIsTUFBTSxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0lBRW5FLE1BQU0sb0JBQW9CLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXpDLE9BQU8sQ0FBQyxHQUFHLENBQUMsMENBQTBDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZFLENBQUMsQ0FBQSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDdEMsVUFBc0MsRUFBRSxFQUN6QixFQUFFO0lBQ2pCLE1BQU0sV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEdBQVMsRUFBRTtRQUNqRCxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsTUFBTSx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZSB9IGZyb20gXCJjc3YtcGFyc2VcIjtcclxuaW1wb3J0IGljb252IGZyb20gXCJpY29udi1saXRlXCI7XHJcbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xyXG5pbXBvcnQgeyBwaXBlbGluZSB9IGZyb20gXCJzdHJlYW0vcHJvbWlzZXNcIjtcclxuXHJcbmltcG9ydCB7IFJlZ2lvbnNUYWJsZVNjaGVtYSwgaW5zZXJ0UmVnaW9uc0FuZE9ycHMgfSBmcm9tIFwiLi4vZGIvcmVnaW9uc1wiO1xyXG5pbXBvcnQgeyBTeW5jUGFydCB9IGZyb20gXCIuLi9kYi90eXBlc1wiO1xyXG5pbXBvcnQge1xyXG4gIE9wZW5EYXRhU3luY09wdGlvbnMsXHJcbiAgT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwsXHJcbiAgcHJlcGFyZU9wdGlvbnNcclxufSBmcm9tIFwiLi4vdXRpbHMvaGVscGVyc1wiO1xyXG5pbXBvcnQgeyBydW5TeW5jUGFydCB9IGZyb20gXCIuL2NvbW1vblwiO1xyXG5cclxuY29uc3QgZG93bmxvYWRBbmRJbXBvcnREYXRhVG9EYiA9IGFzeW5jIChcclxuICBvcHRpb25zOiBPcGVuRGF0YVN5bmNPcHRpb25zXHJcbikgPT4ge1xyXG4gIGNvbnNvbGUubG9nKFwiRG93bmxvYWRpbmcgcmVnaW9ucyBhbmQgT1JQIGRhdGEuLi5cIik7XHJcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChvcHRpb25zLnJlZ2lvbnNDc3ZVcmwpO1xyXG4gIGlmIChyZXNwb25zZS5zdGF0dXMgIT09IDIwMCkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICBgVGhlIGZpbGUgY291bGQgbm90IGJlIGRvd25sb2FkZWQuIEhUVFAgQ29kZTogJHtyZXNwb25zZS5zdGF0dXN9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG5cclxuICBjb25zb2xlLmxvZyhcIkRvd25sb2FkIGNvbXBsZXRlZC4gU3RhcnRpbmcgdG8gcGFyc2UgQ1NWIGZpbGUuLi5cIik7XHJcblxyXG4gIGNvbnN0IHJvd3M6IHN0cmluZ1tdW10gPSBbXTtcclxuICBjb25zdCBwYXJzZVN0cmVhbSA9IHBhcnNlKHsgZGVsaW1pdGVyOiBcIixcIiwgZnJvbUxpbmU6IDIgfSkub24oXHJcbiAgICBcImRhdGFcIixcclxuICAgIChkYXRhOiBzdHJpbmdbXSkgPT4ge1xyXG4gICAgICByb3dzLnB1c2goZGF0YSk7XHJcbiAgICB9XHJcbiAgKTtcclxuXHJcbiAgYXdhaXQgcGlwZWxpbmUocmVzcG9uc2UuYm9keSwgaWNvbnYuZGVjb2RlU3RyZWFtKFwidXRmLThcIiksIHBhcnNlU3RyZWFtKTtcclxuICBcclxuICBjb25zdCBzY2hlbWFSZXNwb25zZSA9IGF3YWl0IGZldGNoKG9wdGlvbnMucmVnaW9uc1NjaGVtYVVybCk7XHJcbiAgaWYgKHNjaGVtYVJlc3BvbnNlLnN0YXR1cyAhPT0gMjAwKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgIGBUaGUgZmlsZSBjb3VsZCBub3QgYmUgZG93bmxvYWRlZC4gSFRUUCBDb2RlOiAke3NjaGVtYVJlc3BvbnNlLnN0YXR1c31gXHJcbiAgICApO1xyXG4gIH1cclxuICAvLyBAdHMtaWdub3JlXHJcbiAgY29uc3Qgc2NoZW1hOiBSZWdpb25zVGFibGVTY2hlbWEgPSBhd2FpdCBzY2hlbWFSZXNwb25zZS5qc29uKCk7XHJcblxyXG4gIGNvbnNvbGUubG9nKFwiUGFyc2luZyBjb21wbGV0ZWQuIFN0YXJ0aW5nIHRvIGltcG9ydCBkYXRhIHRvIERCLi4uXCIpO1xyXG5cclxuICBhd2FpdCBpbnNlcnRSZWdpb25zQW5kT3Jwcyhyb3dzLCBzY2hlbWEpO1xyXG5cclxuICBjb25zb2xlLmxvZyhgSW1wb3J0IGNvbXBsZXRlZC4gVG90YWwgaW1wb3J0ZWQgcm93czogJHtyb3dzLmxlbmd0aH1gKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkb3dubG9hZEFuZEltcG9ydFJlZ2lvbnMgPSBhc3luYyAoXHJcbiAgb3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwgPSB7fVxyXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICBhd2FpdCBydW5TeW5jUGFydChTeW5jUGFydC5SZWdpb25zLCBbXSwgYXN5bmMgKCkgPT4ge1xyXG4gICAgY29uc3QgY29tcGxldGVPcHRpb25zID0gcHJlcGFyZU9wdGlvbnMob3B0aW9ucyk7XHJcbiAgICBhd2FpdCBkb3dubG9hZEFuZEltcG9ydERhdGFUb0RiKGNvbXBsZXRlT3B0aW9ucyk7XHJcbiAgfSk7XHJcbn07XHJcbiJdfQ==
@@ -313,3 +313,4 @@ export const deleteSchoolsXmlFile = (options = {}) => {
313
313
  rmSync(getXmlFilePath(runOptions));
314
314
  }
315
315
  };
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nob29scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVuLWRhdGEtc3luYy9zY2hvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQzdFLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sR0FBWSxNQUFNLEtBQUssQ0FBQztBQUUvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFXLGdCQUFnQixFQUEwQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUYsT0FBTyxFQUdMLGNBQWMsR0FDZixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsTUFBTSxXQUFXLEdBQUcsQ0FDbEIsT0FBNEIsRUFDYixFQUFFO0lBQ2pCLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO1FBQ3ZDLE9BQU87S0FDUjtJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0RBQWtELENBQUMsQ0FBQztJQUNoRSxNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtRQUMzQixNQUFNLElBQUksS0FBSyxDQUNiLG9EQUFvRCxRQUFRLENBQUMsTUFBTSxFQUFFLENBQ3RFLENBQUM7S0FDSDtJQUNE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IHsgY3JlYXRlUmVhZFN0cmVhbSwgY3JlYXRlV3JpdGVTdHJlYW0sIGV4aXN0c1N5bmMsIHJtU3luYyB9IGZyb20gXCJmc1wiO1xyXG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcclxuaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoXCI7XHJcbmltcG9ydCBzYXgsIHsgVGFnIH0gZnJvbSBcInNheFwiO1xyXG5cclxuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tIFwic3RyZWFtL3Byb21pc2VzXCI7XHJcbmltcG9ydCB7IGRpc2Nvbm5lY3RLbmV4IH0gZnJvbSBcIi4uL2RiL2RiXCI7XHJcbmltcG9ydCB7IGluc2VydEZvdW5kZXJzIH0gZnJvbSBcIi4uL2RiL2ZvdW5kZXJzXCI7XHJcbmltcG9ydCB7IGluc2VydFNjaG9vbHMgfSBmcm9tIFwiLi4vZGIvc2Nob29sc1wiO1xyXG5pbXBvcnQgeyBGb3VuZGVyLCBNdW5pY2lwYWxpdHlUeXBlLCBTY2hvb2wsIFNjaG9vbExvY2F0aW9uLCBTeW5jUGFydCB9IGZyb20gXCIuLi9kYi90eXBlc1wiO1xyXG5pbXBvcnQge1xyXG4gIE9wZW5EYXRhU3luY09wdGlvbnMsXHJcbiAgT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwsXHJcbiAgcHJlcGFyZU9wdGlvbnMsXHJcbn0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlcnNcIjtcclxuaW1wb3J0IHsgcnVuU3luY1BhcnQgfSBmcm9tIFwiLi9jb21tb25cIjtcclxuXHJcbmNvbnN0IGRvd25sb2FkWG1sID0gYXN5bmMgKFxyXG4gIG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNcclxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgaWYgKGV4aXN0c1N5bmMoZ2V0WG1sRmlsZVBhdGgob3B0aW9ucykpKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBjb25zb2xlLmxvZyhcIkRvd25sb2FkaW5nIGEgbGFyZ2UgWE1MIGZpbGUgd2l0aCBzY2hvb2wgZGF0YS4uLlwiKTtcclxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKG9wdGlvbnMuc2Nob29sc1htbFVybCk7XHJcbiAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPT0gMjAwKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgIGBUaGUgWE1MIGZpbGUgY291bGQgbm90IGJlIGRvd25sb2FkZWQuIEhUVFAgQ29kZTogJHtyZXNwb25zZS5zdGF0dXN9YFxyXG4gICAgKTtcclxuICB9XHJcbiAgYXdhaXQgcGlwZWxpbmUocmVzcG9uc2UuYm9keSwgY3JlYXRlV3JpdGVTdHJlYW0oZ2V0WG1sRmlsZVBhdGgob3B0aW9ucykpKTtcclxuICBjb25zb2xlLmxvZyhcIkZpbmlzaGVkIGRvd25sb2FkaW5nLlwiKTtcclxufTtcclxuXHJcbmVudW0gWE1MU3RhdGUge1xyXG4gIE5vbmUsXHJcbiAgUmVkSXpvLFxyXG4gIFNjaG9vbE5hbWUsXHJcbiAgSXpvLFxyXG4gIEljbyxcclxuICBTY2hvb2xUeXBlLFxyXG4gIENhcGFjaXR5LFxyXG4gIFJ1aWFuQ29kZSxcclxuICBBZGRyZXNzLFxyXG4gIEZvdW5kZXJOYW1lLFxyXG4gIEZvdW5kZXJUeXBlLFxyXG4gIEZvdW5kZXJJY28sXHJcbn1cclxuXHJcbmNvbnN0IFNDSE9PTF9UWVBFX1BSSU1BUlkgPSBcIkIwMFwiO1xyXG5cclxuY29uc3QgY3JlYXRlTmV3U2Nob29sID0gKCk6IFNjaG9vbCA9PiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIG5hbWU6IFwiXCIsXHJcbiAgICByZWRpem86IFwiXCIsXHJcbiAgICBpem86IFwiXCIsXHJcbiAgICBjYXBhY2l0eTogMCxcclxuICAgIGxvY2F0aW9uczogW10sXHJcbiAgfTtcclxufTtcclxuXHJcbmNvbnN0IGdldENvcnJlY3RGb3VuZGVyVHlwZSA9IChmb3VuZGVyVHlwZTogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICByZXR1cm4gZm91bmRlclR5cGUgPT09IFwiXCIgPyBcIjEwMVwiIDogZm91bmRlclR5cGU7XHJcbn07XHJcblxyXG5jb25zdCBnZXRNdW5pY2lwYWxpdHlUeXBlID0gKGZvdW5kZXJUeXBlOiBzdHJpbmcpOiBNdW5pY2lwYWxpdHlUeXBlID0+IHtcclxuICByZXR1cm4gZm91bmRlclR5cGUgPT09IFwiMjYxXCJcclxuICAgID8gTXVuaWNpcGFsaXR5VHlwZS5DaXR5XHJcbiAgICA6IGZvdW5kZXJUeXBlID09PSBcIjI2M1wiXHJcbiAgICA/IE11bmljaXBhbGl0eVR5cGUuRGlzdHJpY3RcclxuICAgIDogTXVuaWNpcGFsaXR5VHlwZS5PdGhlcjtcclxufTtcclxuXHJcbnR5cGUgU2Nob29sQWRkcmVzcyA9IHsgaXpvOiBzdHJpbmc7IGFkZHJlc3M6IHN0cmluZ1tdOyBpc1ByaW1hcnk6IGJvb2xlYW4gfTtcclxuXHJcbmNvbnN0IHByb2Nlc3NTY2hvb2xSZWdpc3RlclhtbCA9IGFzeW5jIChcclxuICBvcHRpb25zOiBPcGVuRGF0YVN5bmNPcHRpb25zXHJcbik6IFByb21pc2U8e1xyXG4gIHNjaG9vbHM6IFNjaG9vbFtdO1xyXG4gIGZvdW5kZXJzOiBNYXA8c3RyaW5nLCBGb3VuZGVyPjtcclxuICBzY2hvb2xzV2l0aG91dFJ1aWFuOiBTY2hvb2xBZGRyZXNzW107XHJcbn0+ID0+IHtcclxuICBsZXQgY3VycmVudFNjaG9vbDogU2Nob29sO1xyXG4gIGxldCBpc0N1cnJlbnRTY2hvb2xQcmltYXJ5OiBib29sZWFuO1xyXG4gIGxldCBjdXJyZW50SXpvOiBzdHJpbmc7XHJcbiAgbGV0IGN1cnJlbnRJY286IHN0cmluZztcclxuICBsZXQgY3VycmVudFR5cGU6IHN0cmluZztcclxuICBsZXQgY3VycmVudENhcGFjaXR5OiBudW1iZXI7XHJcbiAgbGV0IGN1cnJlbnRMb2NhdGlvbnM6IFNjaG9vbExvY2F0aW9uW10gPSBbXTtcclxuICBsZXQgc3RhdGU6IFhNTFN0YXRlID0gWE1MU3RhdGUuTm9uZTtcclxuICBsZXQgY3VycmVudEZvdW5kZXJzID0gW107XHJcbiAgbGV0IGN1cnJlbnRGb3VuZGVySWNvOiBzdHJpbmc7XHJcbiAgbGV0IGN1cnJlbnRGb3VuZGVyTmFtZTogc3RyaW5nO1xyXG4gIGxldCBjdXJyZW50Rm91bmRlclR5cGU6IHN0cmluZztcclxuICBsZXQgaXNSdWlhbkNvZGVTZXQgPSBmYWxzZTtcclxuICBsZXQgaXNSdWlhbkNvZGVNaXNzaW5nID0gZmFsc2U7XHJcbiAgbGV0IGN1cnJlbnRBZGRyZXNzID0gW107XHJcbiAgY29uc3QgZm91bmRlcnMgPSBuZXcgTWFwPHN0cmluZywgRm91bmRlcj4oKTtcclxuICBjb25zdCBzY2hvb2xzOiBTY2hvb2xbXSA9IFtdO1xyXG4gIGNvbnN0IHNjaG9vbHNXaXRob3V0UnVpYW46IFNjaG9vbEFkZHJlc3NbXSA9IFtdO1xyXG5cclxuICBjb25zdCBzdHJlYW1Qcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgY29uc3Qgc2F4U3RyZWFtID0gc2F4XHJcbiAgICAgIC5jcmVhdGVTdHJlYW0odHJ1ZSlcclxuICAgICAgLm9uKFwib3BlbnRhZ1wiLCAodGFnOiBUYWcpID0+IHtcclxuICAgICAgICBzd2l0Y2ggKHRhZy5uYW1lKSB7XHJcbiAgICAgICAgICBjYXNlIFwiUHJhdm5pU3ViamVrdFwiOlxyXG4gICAgICAgICAgICBjdXJyZW50U2Nob29sID0gY3JlYXRlTmV3U2Nob29sKCk7XHJcbiAgICAgICAgICAgIGlzQ3VycmVudFNjaG9vbFByaW1hcnkgPSBmYWxzZTtcclxuICAgICAgICAgICAgaXNSdWlhbkNvZGVNaXNzaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcIlJlZEl6b1wiOlxyXG4gICAgICAgICAgICBzdGF0ZSA9IFhNTFN0YXRlLlJlZEl6bztcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFwiUmVkUGxueU5hemV2XCI6XHJcbiAgICAgICAgICAgIHN0YXRlID0gWE1MU3RhdGUuU2Nob29sTmFtZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFwiSVpPXCI6XHJcbiAgICAgICAgICAgIHN0YXRlID0gWE1MU3RhdGUuSXpvO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJJQ09cIjpcclxuICAgICAgICAgICAgc3RhdGUgPSBYTUxTdGF0ZS5JY287XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcIlNrb2xhRHJ1aFR5cFwiOlxyXG4gICAgICAgICAgICBzdGF0ZSA9IFhNTFN0YXRlLlNjaG9vbFR5cGU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcIlNrb2xhS2FwYWNpdGFcIjpcclxuICAgICAgICAgICAgc3RhdGUgPSBYTUxTdGF0ZS5DYXBhY2l0eTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFwiTWlzdG9SVUFJTktvZFwiOlxyXG4gICAgICAgICAgICBpc1J1aWFuQ29kZVNldCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjdXJyZW50QWRkcmVzcyA9IFtdO1xyXG4gICAgICAgICAgICBzdGF0ZSA9IFhNTFN0YXRlLlJ1aWFuQ29kZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFwiWnJpek5hemV2XCI6XHJcbiAgICAgICAgICAgIHN0YXRlID0gWE1MU3RhdGUuRm91bmRlck5hbWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcIlpyaXpQcmF2bmlGb3JtYVwiOlxyXG4gICAgICAgICAgICBzdGF0ZSA9IFhNTFN0YXRlLkZvdW5kZXJUeXBlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJNaXN0b0FkcmVzYTFcIjpcclxuICAgICAgICAgIGNhc2UgXCJNaXN0b0FkcmVzYTJcIjpcclxuICAgICAgICAgIGNhc2UgXCJNaXN0b0FkcmVzYTNcIjpcclxuICAgICAgICAgICAgc3RhdGUgPSBYTUxTdGF0ZS5BZGRyZXNzO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgXCJacml6RGF0dW1OYXJvemVuaVwiOlxyXG4gICAgICAgICAgY2FzZSBcIlpyaXpJQ09cIjpcclxuICAgICAgICAgICAgc3RhdGUgPSBYTUxTdGF0ZS5Gb3VuZGVySWNvO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICAgIC5vbihcImNsb3NldGFnXCIsICh0YWdOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBzd2l0Y2ggKHRhZ05hbWUpIHtcclxuICAgICAgICAgIGNhc2UgXCJQcmF2bmlTdWJqZWt0XCI6XHJcbiAgICAgICAgICAgIGlmIChpc0N1cnJlbnRTY2hvb2xQcmltYXJ5KSB7XHJcbiAgICAgICAgICAgICAgc2Nob29scy5wdXNoKGN1cnJlbnRTY2hvb2wpO1xyXG4gICAgICAgICAgICAgIGN1cnJlbnRGb3VuZGVycy5mb3JFYWNoKChmb3VuZGVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBmb3VuZGVyLm5hbWUgKyBmb3VuZGVyLmljbztcclxuICAgICAgICAgICAgICAgIGlmIChmb3VuZGVycy5oYXMoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICBmb3VuZGVycy5nZXQoa2V5KS5zY2hvb2xzLnB1c2goY3VycmVudFNjaG9vbCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICBmb3VuZGVycy5zZXQoa2V5LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogZm91bmRlci5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGljbzogZm91bmRlci5pY28sXHJcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxUeXBlOiBmb3VuZGVyLnR5cGUsXHJcbiAgICAgICAgICAgICAgICAgICAgbXVuaWNpcGFsaXR5VHlwZTogZ2V0TXVuaWNpcGFsaXR5VHlwZShmb3VuZGVyLnR5cGUpLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjaG9vbHM6IFtjdXJyZW50U2Nob29sXSxcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY3VycmVudEljbyA9IFwiXCI7XHJcbiAgICAgICAgICAgIGN1cnJlbnRGb3VuZGVycyA9IFtdO1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIFwiWnJpem92YXRlbFwiOlxyXG4gICAgICAgICAgICBpZiAoY3VycmVudEZvdW5kZXJJY28gPT09IFwiXCIgfHwgY3VycmVudEZvdW5kZXJOYW1lID09PSBcIlwiKSB7XHJcbiAgICAgICAgICAgICAgY3VycmVudEZvdW5kZXJzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaWNvOiBjdXJyZW50SWNvLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogY3VycmVudFNjaG9vbC5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogXCIyMjRcIiwgLy8gcy5yLm8gKG5vdCBhbGwgYXJlIHRob3NlLCBidXQgd2UgZG9uJ3QgbmVlZCB0byBkaWZmZXJlbnRpYXRlIGhlcmUpXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY3VycmVudEZvdW5kZXJzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaWNvOiBjdXJyZW50Rm91bmRlckljbyxcclxuICAgICAgICAgICAgICAgIG5hbWU6IGN1cnJlbnRGb3VuZGVyTmFtZSxcclxuICAgICAgICAgICAgICAgIHR5cGU6IGdldENvcnJlY3RGb3VuZGVyVHlwZShjdXJyZW50Rm91bmRlclR5cGUpLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGN1cnJlbnRGb3VuZGVySWNvID0gXCJcIjtcclxuICAgICAgICAgICAgY3VycmVudEZvdW5kZXJOYW1lID0gXCJcIjtcclxuICAgICAgICAgICAgY3VycmVudEZvdW5kZXJUeXBlID0gXCJcIjtcclxuXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcIlNrb2xhWmFyaXplbmlcIjpcclxuICAgICAgICAgICAgaWYgKGN1cnJlbnRUeXBlID09PSBTQ0hPT0xfVFlQRV9QUklNQVJZKSB7XHJcbiAgICAgICAgICAgICAgY3VycmVudFNjaG9vbC5pem8gPSBjdXJyZW50SXpvO1xyXG4gICAgICAgICAgICAgIGN1cnJlbnRTY2hvb2wubG9jYXRpb25zID0gY3VycmVudExvY2F0aW9ucztcclxuICAgICAgICAgICAgICBjdXJyZW50U2Nob29sLmNhcGFjaXR5ID0gY3VycmVudENhcGFjaXR5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGN1cnJlbnRMb2NhdGlvbnMgPSBbXTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFwiU2tvbGFNaXN0b1Z5a29udUNpbm5vc3RpXCI6XHJcbiAgICAgICAgICAgIGlmIChpc1J1aWFuQ29kZU1pc3NpbmcpIHtcclxuICAgICAgICAgICAgICBzY2hvb2xzV2l0aG91dFJ1aWFuLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgaXpvOiBjdXJyZW50SXpvLFxyXG4gICAgICAgICAgICAgICAgYWRkcmVzczogY3VycmVudEFkZHJlc3MsXHJcbiAgICAgICAgICAgICAgICBpc1ByaW1hcnk6IGN1cnJlbnRUeXBlID09PSBTQ0hPT0xfVFlQRV9QUklNQVJZLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBcIk1pc3RvUlVBSU5Lb2RcIjpcclxuICAgICAgICAgICAgaXNSdWlhbkNvZGVNaXNzaW5nID0gIWlzUnVpYW5Db2RlU2V0O1xyXG4gICAgICAgICAgY2FzZSBcIlJlZFBsbnlOYXpldlwiOlxyXG4gICAgICAgICAgY2FzZSBcIlJlZEl6b1wiOlxyXG4gICAgICAgICAgY2FzZSBcIklDT1wiOlxyXG4gICAgICAgICAgY2FzZSBcIklaT1wiOlxyXG4gICAgICAgICAgY2FzZSBcIlNrb2xhRHJ1aFR5cFwiOlxyXG4gICAgICAgICAgY2FzZSBcIlNrb2xhS2FwYWNpdGFcIjpcclxuICAgICAgICAgIGNhc2UgXCJacml6TmF6ZXZcIjpcclxuICAgICAgICAgIGNhc2UgXCJacml6SUNPXCI6XHJcbiAgICAgICAgICBjYXNlIFwiWnJpekRhdHVtTmFyb3plbmlcIjpcclxuICAgICAgICAgIGNhc2UgXCJacml6UHJhdm5pRm9ybWFcIjpcclxuICAgICAgICAgIGNhc2UgXCJNaXN0b0FkcmVzYTFcIjpcclxuICAgICAgICAgIGNhc2UgXCJNaXN0b0FkcmVzYTJcIjpcclxuICAgICAgICAgIGNhc2UgXCJNaXN0b0FkcmVzYTNcIjpcclxuICAgICAgICAgICAgc3RhdGUgPSBYTUxTdGF0ZS5Ob25lO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICAgIC5vbihcInRleHRcIiwgKHRleHQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgICAgIGNhc2UgWE1MU3RhdGUuUmVkSXpvOlxyXG4gICAgICAgICAgICBjdXJyZW50U2Nob29sLnJlZGl6byA9IHRleHQ7XHJcbiAgICAgICAgICBjYXNlIFhNTFN0YXRlLlNjaG9vbE5hbWU6XHJcbiAgICAgICAgICAgIGN1cnJlbnRTY2hvb2wubmFtZSA9IHRleHQ7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBYTUxTdGF0ZS5Jem86XHJcbiAgICAgICAgICAgIGN1cnJlbnRJem8gPSB0ZXh0O1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgWE1MU3RhdGUuSWNvOlxyXG4gICAgICAgICAgICBjdXJyZW50SWNvID0gdGV4dDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFhNTFN0YXRlLlNjaG9vbFR5cGU6XHJcbiAgICAgICAgICAgIGN1cnJlbnRUeXBlID0gdGV4dDtcclxuICAgICAgICAgICAgaWYgKHRleHQgPT09IFNDSE9PTF9UWVBFX1BSSU1BUlkpIHtcclxuICAgICAgICAgICAgICBpc0N1cnJlbnRTY2hvb2xQcmltYXJ5ID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgWE1MU3RhdGUuUnVpYW5Db2RlOlxyXG4gICAgICAgICAgICBpc1J1aWFuQ29kZVNldCA9IHRydWU7XHJcbiAgICAgICAgICAgIGN1cnJlbnRMb2NhdGlvbnMucHVzaCh7XHJcbiAgICAgICAgICAgICAgYWRkcmVzc1BvaW50SWQ6IHBhcnNlSW50KHRleHQpLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFhNTFN0YXRlLkFkZHJlc3M6XHJcbiAgICAgICAgICAgIGN1cnJlbnRBZGRyZXNzLnB1c2godGV4dCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBYTUxTdGF0ZS5Gb3VuZGVyTmFtZTpcclxuICAgICAgICAgICAgY3VycmVudEZvdW5kZXJOYW1lID0gdGV4dDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFhNTFN0YXRlLkZvdW5kZXJJY286XHJcbiAgICAgICAgICAgIGN1cnJlbnRGb3VuZGVySWNvID0gdGV4dDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFhNTFN0YXRlLkZvdW5kZXJUeXBlOlxyXG4gICAgICAgICAgICBjdXJyZW50Rm91bmRlclR5cGUgPSB0ZXh0O1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgWE1MU3RhdGUuQ2FwYWNpdHk6XHJcbiAgICAgICAgICAgIGN1cnJlbnRDYXBhY2l0eSA9IHBhcnNlSW50KHRleHQpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICAgIC5vbihcImVycm9yXCIsIHJlamVjdClcclxuICAgICAgLm9uKFwiZW5kXCIsIHJlc29sdmUpO1xyXG5cclxuICAgIC8vIHdhbnRlZCB0byB1c2UgJ2F3YWl0IHBpcGVsaW5lKGNyZWF0ZVJlYWRTdHJlYW0oZ2V0WG1sRmlsZVBhdGgob3B0aW9ucykpLCBzYXhTdHJlYW0pJ1xyXG4gICAgLy8gYnV0IHRoZSBwcm9ncmFtIHdvdWxkIHF1aXQgc3BvbnRhbmVvdXNseSBhZnRlciBmaW5pc2hpbmcgc3RyZWFtIC0gdXNpbmcgUHJvbWlzZSBpbnN0ZWFkLlxyXG4gICAgY3JlYXRlUmVhZFN0cmVhbShnZXRYbWxGaWxlUGF0aChvcHRpb25zKSkucGlwZShzYXhTdHJlYW0pO1xyXG4gIH0pO1xyXG5cclxuICBhd2FpdCBzdHJlYW1Qcm9taXNlO1xyXG5cclxuICByZXR1cm4geyBzY2hvb2xzLCBmb3VuZGVycywgc2Nob29sc1dpdGhvdXRSdWlhbiB9O1xyXG59O1xyXG5cclxuY29uc3QgaW1wb3J0RGF0YVRvRGIgPSBhc3luYyAoXHJcbiAgb3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9ucyxcclxuICBzYXZlRm91bmRlcnNUb0NzdjogYm9vbGVhbiA9IGZhbHNlLFxyXG4gIHNhdmVTY2hvb2xzV2l0aG91dFJ1aWFuVG9Dc3Y6IGJvb2xlYW4gPSBmYWxzZVxyXG4pID0+IHtcclxuICBjb25zdCB7IHNjaG9vbHMsIGZvdW5kZXJzLCBzY2hvb2xzV2l0aG91dFJ1aWFuIH0gPVxyXG4gICAgYXdhaXQgcHJvY2Vzc1NjaG9vbFJlZ2lzdGVyWG1sKG9wdGlvbnMpO1xyXG5cclxuICBpZiAoc2F2ZUZvdW5kZXJzVG9Dc3YpIHtcclxuICAgIGNvbnN0IGNzdkZpbGUgPSBcImZvdW5kZXJzLmNzdlwiO1xyXG5cclxuICAgIGlmIChleGlzdHNTeW5jKGNzdkZpbGUpKSB7XHJcbiAgICAgIHJtU3luYyhjc3ZGaWxlKTtcclxuICAgIH1cclxuXHJcbiAgICB2YXIgY3N2ID0gY3JlYXRlV3JpdGVTdHJlYW0oY3N2RmlsZSwge1xyXG4gICAgICBmbGFnczogXCJhXCIsXHJcbiAgICB9KTtcclxuICAgIGNzdi53cml0ZShcIknEjE87WsWZaXpvdmF0ZWw7UHLDoXZuw60gZm9ybWE7UG/EjWV0IMWha29sO8Wga29seVxcblwiKTtcclxuICAgIGZvdW5kZXJzLmZvckVhY2goKGZvdW5kZXIpID0+IHtcclxuICAgICAgY3N2LndyaXRlKFxyXG4gICAgICAgIGAjJHtmb3VuZGVyLmljb307JHtmb3VuZGVyLm5hbWV9OyR7Zm91bmRlci5vcmlnaW5hbFR5cGV9OyR7XHJcbiAgICAgICAgICBmb3VuZGVyLnNjaG9vbHMubGVuZ3RoXHJcbiAgICAgICAgfTske2ZvdW5kZXIuc2Nob29scy5tYXAoKHNjaG9vbCkgPT4gc2Nob29sLm5hbWUpLmpvaW4oXCItLS1cIil9XFxuYFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgICBjc3YuZW5kKCk7XHJcbiAgfVxyXG5cclxuICBpZiAoc2F2ZVNjaG9vbHNXaXRob3V0UnVpYW5Ub0Nzdikge1xyXG4gICAgY29uc3QgY3N2RmlsZSA9IFwic2Nob29sc1dpdGhvdXRSdWlhbi5jc3ZcIjtcclxuXHJcbiAgICBpZiAoZXhpc3RzU3luYyhjc3ZGaWxlKSkge1xyXG4gICAgICBybVN5bmMoY3N2RmlsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGNzdiA9IGNyZWF0ZVdyaXRlU3RyZWFtKGNzdkZpbGUsIHtcclxuICAgICAgZmxhZ3M6IFwiYVwiLFxyXG4gICAgfSk7XHJcbiAgICBjc3Yud3JpdGUoXCJJWk87SmUgesOha2xhZG7DrTthZHJlc2ExO2FkcmVzYTI7YWRyZXNhM1xcblwiKTtcclxuICAgIHNjaG9vbHNXaXRob3V0UnVpYW4uZm9yRWFjaCgoc2Nob29sQWRkcmVzcykgPT4ge1xyXG4gICAgICBjc3Yud3JpdGUoXHJcbiAgICAgICAgYCMke3NjaG9vbEFkZHJlc3MuaXpvfTske1xyXG4gICAgICAgICAgc2Nob29sQWRkcmVzcy5pc1ByaW1hcnkgPyBcIlRSVUVcIiA6IFwiRkFMU0VcIlxyXG4gICAgICAgIH07JHtzY2hvb2xBZGRyZXNzLmFkZHJlc3Muam9pbihcIjtcIil9XFxuYFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgICBjc3YuZW5kKCk7XHJcbiAgfVxyXG5cclxuICBhd2FpdCBpbnNlcnRTY2hvb2xzKHNjaG9vbHMpO1xyXG5cclxuICBhd2FpdCBpbnNlcnRGb3VuZGVycyhBcnJheS5mcm9tKGZvdW5kZXJzLnZhbHVlcygpKSk7XHJcbn07XHJcblxyXG5jb25zdCBnZXRYbWxGaWxlUGF0aCA9IChvcHRpb25zOiBPcGVuRGF0YVN5bmNPcHRpb25zUGFydGlhbCk6IHN0cmluZyA9PiB7XHJcbiAgcmV0dXJuIGpvaW4ob3B0aW9ucy50bXBEaXIsIG9wdGlvbnMuc2Nob29sc1htbEZpbGVOYW1lKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkb3dubG9hZEFuZEltcG9ydFNjaG9vbHMgPSBhc3luYyAoXHJcbiAgb3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwgPSB7fSxcclxuICBzYXZlRm91bmRlcnNUb0NzdjogYm9vbGVhbiA9IGZhbHNlLFxyXG4gIHNhdmVTY2hvb2xzV2l0aG91dFJ1aWFuVG9Dc3Y6IGJvb2xlYW4gPSBmYWxzZSxcclxuKSA9PiB7XHJcbiAgYXdhaXQgcnVuU3luY1BhcnQoU3luY1BhcnQuU2Nob29scywgW1N5bmNQYXJ0LkFkZHJlc3NQb2ludHNdLCBhc3luYyAoKSA9PiB7XHJcbiAgICBjb25zdCBydW5PcHRpb25zID0gcHJlcGFyZU9wdGlvbnMob3B0aW9ucyk7XHJcblxyXG4gICAgYXdhaXQgZG93bmxvYWRYbWwocnVuT3B0aW9ucyk7XHJcbiAgICBhd2FpdCBpbXBvcnREYXRhVG9EYihydW5PcHRpb25zLCBzYXZlRm91bmRlcnNUb0Nzdiwgc2F2ZVNjaG9vbHNXaXRob3V0UnVpYW5Ub0Nzdik7XHJcbiAgICBkZWxldGVTY2hvb2xzWG1sRmlsZShydW5PcHRpb25zKTtcclxuICB9KTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBkZWxldGVTY2hvb2xzWG1sRmlsZSA9IChvcHRpb25zOiBPcGVuRGF0YVN5bmNPcHRpb25zUGFydGlhbCA9IHt9KSA9PiB7XHJcbiAgY29uc3QgcnVuT3B0aW9ucyA9IHByZXBhcmVPcHRpb25zKG9wdGlvbnMpO1xyXG5cclxuICBpZiAoZXhpc3RzU3luYyhnZXRYbWxGaWxlUGF0aChydW5PcHRpb25zKSkpIHtcclxuICAgIHJtU3luYyhnZXRYbWxGaWxlUGF0aChydW5PcHRpb25zKSk7XHJcbiAgfVxyXG59O1xyXG4iXX0=
@@ -11,17 +11,17 @@ import AdmZip from "adm-zip";
11
11
  import { createWriteStream, existsSync, mkdirSync, rmSync } from "fs";
12
12
  import fetch from "node-fetch";
13
13
  import parseDBF from "parsedbf";
14
- import ShpToGeoJson from "shp-to-geojson";
15
14
  import { join } from "path";
15
+ import ShpToGeoJson from "shp-to-geojson";
16
16
  import { pipeline } from "stream/promises";
17
+ import { coordEach } from "@turf/meta";
18
+ import { setCityPolygonGeojson } from "../db/cities";
17
19
  import { deleteStreets, getAllSyncedStreets, insertStreetsFromDbf, setStreetAsSynced, } from "../db/street-sync";
18
20
  import { SyncPart } from "../db/types";
19
21
  import { getAllUrlsFromAtomFeed, getLatestUrlFromAtomFeed, } from "../utils/atom";
20
22
  import { prepareOptions, } from "../utils/helpers";
21
- import { runSyncPart } from "./common";
22
- import { coordEach } from "@turf/meta";
23
23
  import jtsk2wgs84 from "../utils/jtsk2wgs84";
24
- import { setCityPolygonGeojson } from "../db/cities";
24
+ import { runSyncPart } from "./common";
25
25
  const prepareFolders = (options) => {
26
26
  const tempFolder = getTempFolder(options);
27
27
  if (!existsSync(tempFolder)) {
@@ -45,14 +45,19 @@ const downloadZipAndParseFiles = (url, index, options) => __awaiter(void 0, void
45
45
  const streetData = parseDBF(zip.getEntry(dbfEntryName).getData(), "win1250");
46
46
  const shpEntryName = `${folderName}${options.polygonShpFileName}`;
47
47
  const polygonData = convertShpToGeoJson(zip.getEntry(shpEntryName).getData());
48
+ const districtShpEntryName = `${folderName}${options.districtPolygonShpFileName}`;
49
+ const districtShpEntry = zip.getEntry(districtShpEntryName);
50
+ let districtsPolygonData = undefined;
51
+ if (districtShpEntry !== null) {
52
+ const districtDbfEntryName = `${folderName}${options.districtPolygonDbfFileName}`;
53
+ districtsPolygonData = convertShpToGeoJson(districtShpEntry.getData(), zip.getEntry(districtDbfEntryName).getData());
54
+ }
48
55
  rmSync(zipFilePath);
49
- return { streetData, polygonData, cityCode };
56
+ return { streetData, polygonData, districtsPolygonData, cityCode };
50
57
  });
51
- const convertShpToGeoJson = (shpBuffer) => {
58
+ const convertShpToGeoJson = (shpBuffer, dbfBuffer) => {
52
59
  const shp = new ShpToGeoJson({
53
- arraybuffers: {
54
- shpBuffer,
55
- },
60
+ arraybuffers: Object.assign({ shpBuffer }, (dbfBuffer ? { dbfBuffer } : {})),
56
61
  });
57
62
  const geoJson = shp.getGeoJson();
58
63
  delete geoJson.bbox;
@@ -64,11 +69,11 @@ const convertShpToGeoJson = (shpBuffer) => {
64
69
  });
65
70
  return geoJson;
66
71
  };
67
- const importDataToDb = ({ streetData, polygonData, cityCode, }) => __awaiter(void 0, void 0, void 0, function* () {
72
+ const importDataToDb = ({ streetData, cityCode, polygonData, districtsPolygonData, }) => __awaiter(void 0, void 0, void 0, function* () {
68
73
  if (streetData.length > 0) {
69
74
  yield insertStreetsFromDbf(streetData);
70
75
  }
71
- yield setCityPolygonGeojson(polygonData, cityCode);
76
+ yield setCityPolygonGeojson(cityCode, polygonData, districtsPolygonData);
72
77
  });
73
78
  const attempts = 5;
74
79
  export const downloadAndImportStreets = (options = {}) => __awaiter(void 0, void 0, void 0, function* () {
@@ -111,6 +116,7 @@ export const downloadAndImportStreets = (options = {}) => __awaiter(void 0, void
111
116
  delay += 100; // if error occured, it is likely to repeat so we wait a bit longer
112
117
  const waitTime = (i + 1) * 3;
113
118
  console.error(`Error connecting to CUZK servers, retrying in ${waitTime} seconds...`);
119
+ console.log(error);
114
120
  yield wait(waitTime * 1000);
115
121
  }
116
122
  else {
@@ -124,3 +130,4 @@ export const downloadAndImportStreets = (options = {}) => __awaiter(void 0, void
124
130
  const wait = (ms) => __awaiter(void 0, void 0, void 0, function* () {
125
131
  yield new Promise((resolve) => setTimeout(resolve, ms));
126
132
  });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVuLWRhdGEtc3luYy9zdHJlZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUU3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDdEUsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsaUJBQWlCLEdBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFhLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHdCQUF3QixHQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsY0FBYyxHQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxVQUFVLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQTRCLEVBQUUsRUFBRTtJQUN0RCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsSUFBSSxDQUFDLFVB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QUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFELENBQUMsQ0FBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFkbVppcCBmcm9tIFwiYWRtLXppcFwiO1xyXG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tIFwiYnVmZmVyXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVdyaXRlU3RyZWFtLCBleGlzdHNTeW5jLCBta2RpclN5bmMsIHJtU3luYyB9IGZyb20gXCJmc1wiO1xyXG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcclxuaW1wb3J0IHBhcnNlREJGIGZyb20gXCJwYXJzZWRiZlwiO1xyXG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcclxuaW1wb3J0IFNocFRvR2VvSnNvbiBmcm9tIFwic2hwLXRvLWdlb2pzb25cIjtcclxuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tIFwic3RyZWFtL3Byb21pc2VzXCI7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlQ29sbGVjdGlvbiB9IGZyb20gXCJAdHVyZi9oZWxwZXJzXCI7XHJcbmltcG9ydCB7IGNvb3JkRWFjaCB9IGZyb20gXCJAdHVyZi9tZXRhXCI7XHJcbmltcG9ydCB7IHNldENpdHlQb2x5Z29uR2VvanNvbiB9IGZyb20gXCIuLi9kYi9jaXRpZXNcIjtcclxuaW1wb3J0IHtcclxuICBkZWxldGVTdHJlZXRzLFxyXG4gIGdldEFsbFN5bmNlZFN0cmVldHMsXHJcbiAgaW5zZXJ0U3RyZWV0c0Zyb21EYmYsXHJcbiAgc2V0U3RyZWV0QXNTeW5jZWQsXHJcbn0gZnJvbSBcIi4uL2RiL3N0cmVldC1zeW5jXCI7XHJcbmltcG9ydCB7IERiZlN0cmVldCwgU3luY1BhcnQgfSBmcm9tIFwiLi4vZGIvdHlwZXNcIjtcclxuaW1wb3J0IHtcclxuICBnZXRBbGxVcmxzRnJvbUF0b21GZWVkLFxyXG4gIGdldExhdGVzdFVybEZyb21BdG9tRmVlZCxcclxufSBmcm9tIFwiLi4vdXRpbHMvYXRvbVwiO1xyXG5pbXBvcnQge1xyXG4gIE9wZW5EYXRhU3luY09wdGlvbnMsXHJcbiAgT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwsXHJcbiAgcHJlcGFyZU9wdGlvbnMsXHJcbn0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlcnNcIjtcclxuaW1wb3J0IGp0c2syd2dzODQgZnJvbSBcIi4uL3V0aWxzL2p0c2syd2dzODRcIjtcclxuaW1wb3J0IHsgcnVuU3luY1BhcnQgfSBmcm9tIFwiLi9jb21tb25cIjtcclxuXHJcbmNvbnN0IHByZXBhcmVGb2xkZXJzID0gKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+IHtcclxuICBjb25zdCB0ZW1wRm9sZGVyID0gZ2V0VGVtcEZvbGRlcihvcHRpb25zKTtcclxuICBpZiAoIWV4aXN0c1N5bmModGVtcEZvbGRlcikpIHtcclxuICAgIG1rZGlyU3luYyh0ZW1wRm9sZGVyKTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBnZXRUZW1wRm9sZGVyID0gKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+IHtcclxuICByZXR1cm4gam9pbihvcHRpb25zLnRtcERpciwgb3B0aW9ucy5zdHJlZXRaaXBGb2xkZXJOYW1lKTtcclxufTtcclxuXHJcbmNvbnN0IGRvd25sb2FkWmlwQW5kUGFyc2VGaWxlcyA9IGFzeW5jIChcclxuICB1cmw6IHN0cmluZyxcclxuICBpbmRleDogbnVtYmVyLFxyXG4gIG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNcclxuKTogUHJvbWlzZTx7XHJcbiAgc3RyZWV0RGF0YTogRGJmU3RyZWV0W107XHJcbiAgcG9seWdvbkRhdGE6IEZlYXR1cmVDb2xsZWN0aW9uO1xyXG4gIGRpc3RyaWN0c1BvbHlnb25EYXRhPzogRmVhdHVyZUNvbGxlY3Rpb247XHJcbiAgY2l0eUNvZGU6IHN0cmluZztcclxufT4gPT4ge1xyXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTtcclxuICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSAyMDApIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgYFRoZSBaSVAgZmlsZSBmcm9tICcke3VybH0nIGNvdWxkIG5vdCBiZSBkb3dubG9hZGVkLiBIVFRQIENvZGU6ICR7cmVzcG9uc2Uuc3RhdHVzfWBcclxuICAgICk7XHJcbiAgfVxyXG4gIGNvbnN0IHppcEZpbGVQYXRoID0gam9pbihnZXRUZW1wRm9sZGVyKG9wdGlvbnMpLCBgc3RyZWV0JHtpbmRleH0uemlwYCk7XHJcbiAgYXdhaXQgcGlwZWxpbmUocmVzcG9uc2UuYm9keSwgY3JlYXRlV3JpdGVTdHJlYW0oemlwRmlsZVBhdGgpKTtcclxuXHJcbiAgY29uc3QgemlwID0gbmV3IEFkbVppcCh6aXBGaWxlUGF0aCk7XHJcbiAgY29uc3QgZm9sZGVyTmFtZSA9IHppcC5nZXRFbnRyaWVzKClbMF0uZW50cnlOYW1lO1xyXG4gIGNvbnN0IGNpdHlDb2RlID0gZm9sZGVyTmFtZS5zdWJzdHJpbmcoMCwgNik7XHJcbiAgY29uc3QgZGJmRW50cnlOYW1lID0gYCR7Zm9sZGVyTmFtZX0ke29wdGlvbnMuc3RyZWV0RGJmRmlsZU5hbWV9YDtcclxuICBjb25zdCBzdHJlZXREYXRhID0gcGFyc2VEQkYoemlwLmdldEVudHJ5KGRiZkVudHJ5TmFtZSkuZ2V0RGF0YSgpLCBcIndpbjEyNTBcIik7XHJcblxyXG4gIGNvbnN0IHNocEVudHJ5TmFtZSA9IGAke2ZvbGRlck5hbWV9JHtvcHRpb25zLnBvbHlnb25TaHBGaWxlTmFtZX1gO1xyXG4gIGNvbnN0IHBvbHlnb25EYXRhID0gY29udmVydFNocFRvR2VvSnNvbih6aXAuZ2V0RW50cnkoc2hwRW50cnlOYW1lKS5nZXREYXRhKCkpO1xyXG5cclxuICBjb25zdCBkaXN0cmljdFNocEVudHJ5TmFtZSA9IGAke2ZvbGRlck5hbWV9JHtvcHRpb25zLmRpc3RyaWN0UG9seWdvblNocEZpbGVOYW1lfWA7XHJcbiAgY29uc3QgZGlzdHJpY3RTaHBFbnRyeSA9IHppcC5nZXRFbnRyeShkaXN0cmljdFNocEVudHJ5TmFtZSk7XHJcblxyXG4gIGxldCBkaXN0cmljdHNQb2x5Z29uRGF0YTogRmVhdHVyZUNvbGxlY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgaWYgKGRpc3RyaWN0U2hwRW50cnkgIT09IG51bGwpIHtcclxuICAgIGNvbnN0IGRpc3RyaWN0RGJmRW50cnlOYW1lID0gYCR7Zm9sZGVyTmFtZX0ke29wdGlvbnMuZGlzdHJpY3RQb2x5Z29uRGJmRmlsZU5hbWV9YDtcclxuICAgIGRpc3RyaWN0c1BvbHlnb25EYXRhID0gY29udmVydFNocFRvR2VvSnNvbihcclxuICAgICAgZGlzdHJpY3RTaHBFbnRyeS5nZXREYXRhKCksXHJcbiAgICAgIHppcC5nZXRFbnRyeShkaXN0cmljdERiZkVudHJ5TmFtZSkuZ2V0RGF0YSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcm1TeW5jKHppcEZpbGVQYXRoKTtcclxuICByZXR1cm4geyBzdHJlZXREYXRhLCBwb2x5Z29uRGF0YSwgZGlzdHJpY3RzUG9seWdvbkRhdGEsIGNpdHlDb2RlIH07XHJcbn07XHJcblxyXG5jb25zdCBjb252ZXJ0U2hwVG9HZW9Kc29uID0gKFxyXG4gIHNocEJ1ZmZlcjogQnVmZmVyLFxyXG4gIGRiZkJ1ZmZlcj86IEJ1ZmZlclxyXG4pOiBGZWF0dXJlQ29sbGVjdGlvbiA9PiB7XHJcbiAgY29uc3Qgc2hwID0gbmV3IFNocFRvR2VvSnNvbih7XHJcbiAgICBhcnJheWJ1ZmZlcnM6IHtcclxuICAgICAgc2hwQnVmZmVyLFxyXG4gICAgICAuLi4oZGJmQnVmZmVyID8geyBkYmZCdWZmZXIgfSA6IHt9KSxcclxuICAgIH0sXHJcbiAgfSk7XHJcbiAgY29uc3QgZ2VvSnNvbiA9IHNocC5nZXRHZW9Kc29uKCk7XHJcbiAgZGVsZXRlIGdlb0pzb24uYmJveDtcclxuXHJcbiAgY29vcmRFYWNoKGdlb0pzb24sIChjdXJyZW50Q29vcmQpID0+IHtcclxuICAgIGNvbnN0IFt5LCB4XSA9IGN1cnJlbnRDb29yZDtcclxuICAgIGNvbnN0IHsgbGF0LCBsb24gfSA9IGp0c2syd2dzODQoLXgsIC15KTtcclxuICAgIGN1cnJlbnRDb29yZFswXSA9IGxvbjtcclxuICAgIGN1cnJlbnRDb29yZFsxXSA9IGxhdDtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGdlb0pzb247XHJcbn07XHJcblxyXG5jb25zdCBpbXBvcnREYXRhVG9EYiA9IGFzeW5jICh7XHJcbiAgc3RyZWV0RGF0YSxcclxuICBjaXR5Q29kZSxcclxuICBwb2x5Z29uRGF0YSxcclxuICBkaXN0cmljdHNQb2x5Z29uRGF0YSxcclxufToge1xyXG4gIHN0cmVldERhdGE6IERiZlN0cmVldFtdO1xyXG4gIGNpdHlDb2RlOiBzdHJpbmc7XHJcbiAgcG9seWdvbkRhdGE6IEZlYXR1cmVDb2xsZWN0aW9uO1xyXG4gIGRpc3RyaWN0c1BvbHlnb25EYXRhPzogRmVhdHVyZUNvbGxlY3Rpb247XHJcbn0pID0+IHtcclxuICBpZiAoc3RyZWV0RGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICBhd2FpdCBpbnNlcnRTdHJlZXRzRnJvbURiZihzdHJlZXREYXRhKTtcclxuICB9XHJcbiAgYXdhaXQgc2V0Q2l0eVBvbHlnb25HZW9qc29uKGNpdHlDb2RlLCBwb2x5Z29uRGF0YSwgZGlzdHJpY3RzUG9seWdvbkRhdGEpO1xyXG59O1xyXG5cclxuY29uc3QgYXR0ZW1wdHMgPSA1O1xyXG5cclxuZXhwb3J0IGNvbnN0IGRvd25sb2FkQW5kSW1wb3J0U3RyZWV0cyA9IGFzeW5jIChcclxuICBvcHRpb25zOiBPcGVuRGF0YVN5bmNPcHRpb25zUGFydGlhbCA9IHt9XHJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gIGF3YWl0IHJ1blN5bmNQYXJ0KFN5bmNQYXJ0LlN0cmVldHMsIFtTeW5jUGFydC5BZGRyZXNzUG9pbnRzXSwgYXN5bmMgKCkgPT4ge1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIFwiU3RhcnRpbmcgdG8gZG93bmxvYWQgYW5kIGltcG9ydCBzdHJlZXRzLiBUaGlzIHRha2VzIHVwIHRvIDEgaG91ci5cIlxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBjb21wbGV0ZU9wdGlvbnMgPSBwcmVwYXJlT3B0aW9ucyhvcHRpb25zKTtcclxuICAgIHByZXBhcmVGb2xkZXJzKGNvbXBsZXRlT3B0aW9ucyk7XHJcblxyXG4gICAgY29uc3QgYWxsRGF0YXNldEZlZWRMaW5rcyA9IGF3YWl0IGdldEFsbFVybHNGcm9tQXRvbUZlZWQoXHJcbiAgICAgIGNvbXBsZXRlT3B0aW9ucy5zdHJlZXRzQXRvbVVybFxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhgVG90YWwgb2YgJHthbGxEYXRhc2V0RmVlZExpbmtzLmxlbmd0aH0gbGlua3MgdG8gWklQIGZpbGVzLmApO1xyXG5cclxuICAgIGNvbnN0IHN5bmNlZFN0cmVldExpbmtzID0gYXdhaXQgZ2V0QWxsU3luY2VkU3RyZWV0cygpO1xyXG5cclxuICAgIGNvbnN0IHRvRGVsZXRlOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgLy8gcmVtb3ZlIGFsbCBkZXByZWNhdGVkIGxpbmtzIChub3QgaW4gdGhlIG5ldyBsaXN0KVxyXG4gICAgc3luY2VkU3RyZWV0TGlua3MuZm9yRWFjaCgobGluaykgPT4ge1xyXG4gICAgICBpZiAoIWFsbERhdGFzZXRGZWVkTGlua3MuaW5jbHVkZXMobGluaykpIHtcclxuICAgICAgICB0b0RlbGV0ZS5wdXNoKGxpbmspO1xyXG4gICAgICAgIGRlbGV0ZSBzeW5jZWRTdHJlZXRMaW5rc1tsaW5rXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgZGVsZXRlU3RyZWV0cyh0b0RlbGV0ZSk7XHJcblxyXG4gICAgbGV0IGRvbmUgPSBzeW5jZWRTdHJlZXRMaW5rcy5zaXplO1xyXG4gICAgY29uc29sZS5sb2coYFRvdGFsIG9mICR7ZG9uZX0gbGlua3MgdG8gWklQIGZpbGVzIGFscmVhZHkgc3RvcmVkLmApO1xyXG5cclxuICAgIC8vIGdldCBhbGwgbGlua3Mgbm90IHlldCBzdG9yZWRcclxuICAgIGNvbnN0IG5ld0xpbmtzID0gYWxsRGF0YXNldEZlZWRMaW5rcy5maWx0ZXIoXHJcbiAgICAgIChsaW5rKSA9PiAhc3luY2VkU3RyZWV0TGlua3MuaGFzKGxpbmspXHJcbiAgICApO1xyXG5cclxuICAgIGxldCBkZWxheSA9IDA7XHJcbiAgICBjb25zb2xlLmxvZyhgTG9hZGluZyAke25ld0xpbmtzLmxlbmd0aH0gbmV3IGxpbmtzIHRvIFpJUCBmaWxlcy5gKTtcclxuICAgIGZvciAoY29uc3QgbGluayBvZiBuZXdMaW5rcykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGF0dGVtcHRzOyBpKyspIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY29uc3QgemlwTGluayA9IGF3YWl0IGdldExhdGVzdFVybEZyb21BdG9tRmVlZChsaW5rKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBkb3dubG9hZFppcEFuZFBhcnNlRmlsZXMoXHJcbiAgICAgICAgICAgIHppcExpbmssXHJcbiAgICAgICAgICAgIGRvbmUsXHJcbiAgICAgICAgICAgIGNvbXBsZXRlT3B0aW9uc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGF3YWl0IGltcG9ydERhdGFUb0RiKGRhdGEpO1xyXG4gICAgICAgICAgYXdhaXQgc2V0U3RyZWV0QXNTeW5jZWQobGluayk7XHJcblxyXG4gICAgICAgICAgZG9uZSsrO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRlZCBsaW5rczogJHtkb25lfS8ke2FsbERhdGFzZXRGZWVkTGlua3MubGVuZ3RofWApO1xyXG4gICAgICAgICAgYXdhaXQgd2FpdChkZWxheSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgaWYgKGkgPCBhdHRlbXB0cyAtIDEpIHtcclxuICAgICAgICAgICAgZGVsYXkgKz0gMTAwOyAvLyBpZiBlcnJvciBvY2N1cmVkLCBpdCBpcyBsaWtlbHkgdG8gcmVwZWF0IHNvIHdlIHdhaXQgYSBiaXQgbG9uZ2VyXHJcbiAgICAgICAgICAgIGNvbnN0IHdhaXRUaW1lID0gKGkgKyAxKSAqIDM7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICAgICAgYEVycm9yIGNvbm5lY3RpbmcgdG8gQ1VaSyBzZXJ2ZXJzLCByZXRyeWluZyBpbiAke3dhaXRUaW1lfSBzZWNvbmRzLi4uYFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgIGF3YWl0IHdhaXQod2FpdFRpbWUgKiAxMDAwKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59O1xyXG5cclxuY29uc3Qgd2FpdCA9IGFzeW5jIChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpKTtcclxufTtcclxuIl19
@@ -151,3 +151,4 @@ export function districtsToCsvRules(districts, includeDistrictName = false) {
151
151
  // console.log(error);
152
152
  // return;
153
153
  // }
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi10by1jc3YuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc21kLXRvLWNzdi9qc29uLXRvLWNzdi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRWxDLE1BQU0saUJBQWlCLEdBQUcseUJBQXlCLENBQUM7QUFDcEQsTUFBTSx1QkFBdUIsR0FBRyw2QkFBNkIsQ0FBQztBQUM5RCxNQUFNLFlBQVksR0FDaEIsMEVBQTBFLENBQUM7QUFDN0UsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDO0FBRTVCLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUNqQyxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUM7QUFDakMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDO0FBQzNCLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQztBQUU3QixNQUFNLHNCQUFzQixHQUFHO0lBQzdCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixFQUFFLEVBQUUsSUFBSTtJQUNSLEdBQUcsRUFBRSxLQUFLO0NBQ1gsQ0FBQztBQUVGLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztBQUNmLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQztBQUNuQixNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUU7UUFDVCxJQUFJLEVBQUUsc0JBQXNCLENBQUMsR0FBRztRQUNoQyxJQUFJLEVBQUUsSUFBSTtRQUNWLEVBQUUsRUFBRSxJQUFJO0tBQ1Q7Q0FDRixDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUN2QixJQUFJLEVBQ0osSUFBSSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sRUFDL0IsRUFBRSxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFDM0IsRUFBRTtJQUNGLE9BQU87UUFDTCxJQUFJLEVBQUUs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SyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtvQkFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUM7b0JBQ2xDLE9BQU87aUJBQ1I7Z0JBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNyQixLQUFLLENBQUMsSUFBSSxDQUNSLFVBQVU7d0JBQ1IsR0FBRzt3QkFDSCxJQUFJLENBQUMsSUFBSTt3QkFDVCxHQUFHO3dCQUNILElBQUksQ0FBQyxFQUFFO3dCQUNQLEdBQUc7d0JBQ0gsSUFBSSxDQUFDLElBQUk7d0JBQ1QsR0FBRzt3QkFDSCxNQUFNLENBQUMsSUFBSTt3QkFDWCxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ25ELENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELCtDQUErQztBQUMvQyxpQkFBaUI7QUFDakIsUUFBUTtBQUNSLGlDQUFpQztBQUNqQyxvQkFBb0I7QUFDcEIsd0JBQXdCO0FBQ3hCLFlBQVk7QUFDWixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSBcImZzXCI7XHJcblxyXG5jb25zdCBzdHJlZXROYW1lUGF0dGVybiA9IC9eKFteIC1dKyhbIC1dP1teIC1dKykqKS87XHJcbmNvbnN0IHN0cmVldFNlcmllc1BhcnRQYXR0ZXJuID0gLyhsaWNow6EgxI0ufHN1ZMOhIMSNLnzEjS4gcC58xI0uKS87XHJcbmNvbnN0IHJhbmdlUGF0dGVybiA9XHJcbiAgLyhcXGQrW2Etel0/ID9bLV0gP1xcZCtbYS16XT98KG9kICk/XFxkK1thLXpdPyggYSk/IHbDvcWhZXxcXGQrW2Etel0/KSgsID98IGEgKS87XHJcbmNvbnN0IG51bWJlclBhdHRlcm4gPSAvXFxkKy87XHJcblxyXG5jb25zdCBPZGRUeXBlU3RyaW5nID0gXCJsaWNow6EgxI0uXCI7XHJcbmNvbnN0IEV2ZW5UeXBlU3RyaW5nID0gXCJzdWTDoSDEjS5cIjtcclxuY29uc3QgQWxsVHlwZVN0cmluZyA9IFwixI0uXCI7XHJcbmNvbnN0IENQVHlwZVN0cmluZyA9IFwixI0uIHAuXCI7XHJcblxyXG5jb25zdCBTdHJlZXROdW1iZXJTZXJpZXNUeXBlID0ge1xyXG4gIE9kZDogXCJvZGRcIixcclxuICBFdmVuOiBcImV2ZW5cIixcclxuICBDUDogXCJjcFwiLFxyXG4gIEFsbDogXCJhbGxcIixcclxufTtcclxuXHJcbmNvbnN0IF9taW4gPSAwO1xyXG5jb25zdCBfbWF4ID0gMTAwMDA7XHJcbmNvbnN0IFN0cmVldE51bWJlclJ1bGUgPSB7XHJcbiAgTWluRnJvbTogX21pbixcclxuICBNYXhUbzogX21heCxcclxuICBFbXB0eVJ1bGU6IHtcclxuICAgIHR5cGU6IFN0cmVldE51bWJlclNlcmllc1R5cGUuQWxsLFxyXG4gICAgZnJvbTogX21pbixcclxuICAgIHRvOiBfbWF4LFxyXG4gIH0sXHJcbn07XHJcblxyXG5jb25zdCBjcmVhdGVTdHJlZXRSdWxlID0gKFxyXG4gIHR5cGUsXHJcbiAgZnJvbSA9IFN0cmVldE51bWJlclJ1bGUuTWluRnJvbSxcclxuICB0byA9IFN0cmVldE51bWJlclJ1bGUuTWF4VG9cclxuKSA9PiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGU6IHR5cGUsXHJcbiAgICBmcm9tOiBmcm9tLFxyXG4gICAgdG86IHRvLFxyXG4gIH07XHJcbn07XHJcblxyXG5jb25zdCBnZXRTdHJlZXRSdWxlcyA9IChudW1iZXJTcGVjaWZpY2F0aW9uKSA9PiB7XHJcbiAgbGV0IHJ1bGVzID0gW107XHJcbiAgbGV0IHBvc2l0aW9uID0gMDtcclxuXHJcbiAgaWYgKG51bWJlclNwZWNpZmljYXRpb24gPT0gXCJcIikge1xyXG4gICAgcmV0dXJuIFtTdHJlZXROdW1iZXJSdWxlLkVtcHR5UnVsZV07XHJcbiAgfVxyXG5cclxuICB3aGlsZSAocG9zaXRpb24gPCBudW1iZXJTcGVjaWZpY2F0aW9uLmxlbmd0aCkge1xyXG4gICAgdmFyIHJlbWFpbmRlciA9IG51bWJlclNwZWNpZmljYXRpb24uc3Vic3RyKHBvc2l0aW9uKTtcclxuICAgIHZhciBtYXRjaCA9IHN0cmVldFNlcmllc1BhcnRQYXR0ZXJuLmV4ZWMocmVtYWluZGVyKTtcclxuICAgIC8vIGlmIG5vIHNlcmllcyB0eXBlIGlzIGZvdW5kLCBpdCdzIGFuIGVycm9yXHJcbiAgICBpZiAobWF0Y2ggPT0gbnVsbCB8fCBtYXRjaC5pbmRleCAhPSAwKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgdmFyIHR5cGUgPSBnZXRTZXJpZXNUeXBlKG1hdGNoWzBdKTtcclxuICAgIHBvc2l0aW9uICs9IG1hdGNoWzBdLmxlbmd0aDtcclxuICAgIHJlbWFpbmRlciA9IG51bWJlclNwZWNpZmljYXRpb24uc3Vic3RyKHBvc2l0aW9uKTtcclxuICAgIG1hdGNoID0gc3RyZWV0U2VyaWVzUGFydFBhdHRlcm4uZXhlYyhyZW1haW5kZXIpO1xyXG4gICAgdmFyIGVuZCA9IG51bWJlclNwZWNpZmljYXRpb24ubGVuZ3RoO1xyXG4gICAgaWYgKG1hdGNoICE9IG51bGwpIHtcclxuICAgICAgZW5kID0gcG9zaXRpb24gKyBtYXRjaC5pbmRleDtcclxuICAgIH1cclxuICAgIHZhciByYW5nZVBhcnQgPSBudW1iZXJTcGVjaWZpY2F0aW9uLnN1YnN0cihwb3NpdGlvbiwgZW5kIC0gcG9zaXRpb24pO1xyXG4gICAgcnVsZXMgPSBydWxlcy5jb25jYXQoZ2V0UnVsZXNGcm9tUmFuZ2VQYXJ0KHJhbmdlUGFydCwgdHlwZSkpO1xyXG4gICAgcG9zaXRpb24gPSBlbmQ7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcnVsZXM7XHJcbn07XHJcblxyXG5jb25zdCBnZXRSdWxlc0Zyb21SYW5nZVBhcnQgPSAocmFuZ2VQYXJ0LCBzZXJpZXNUeXBlKSA9PiB7XHJcbiAgbGV0IHJ1bGVzID0gW107XHJcblxyXG4gIGlmIChyZW1vdmVTZXBhcmF0b3JGcm9tRW5kKHJhbmdlUGFydCkgPT0gXCJcIikge1xyXG4gICAgcnVsZXMucHVzaChjcmVhdGVTdHJlZXRSdWxlKHNlcmllc1R5cGUpKTtcclxuICAgIHJldHVybiBydWxlcztcclxuICB9XHJcblxyXG4gIGxldCBwb3NpdGlvbiA9IDA7XHJcbiAgcmFuZ2VQYXJ0ID0gcmFuZ2VQYXJ0LnRyaW0oKSArIFwiLCBcIjtcclxuICB3aGlsZSAocG9zaXRpb24gPCByYW5nZVBhcnQubGVuZ3RoKSB7XHJcbiAgICB2YXIgbWF0Y2ggPSByYW5nZVBhdHRlcm4uZXhlYyhyYW5nZVBhcnQuc3Vic3RyKHBvc2l0aW9uKSk7XHJcbiAgICBpZiAobWF0Y2ggPT0gbnVsbCkge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHBvc2l0aW9uICs9IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoO1xyXG5cclxuICAgIHZhciB2YWx1ZSA9IHJlbW92ZVNlcGFyYXRvckZyb21FbmQobWF0Y2hbMF0pO1xyXG4gICAgaWYgKHZhbHVlLmluZGV4T2YoXCItXCIpICE9IC0xKSB7XHJcbiAgICAgIHZhciBmcm9tVG8gPSB2YWx1ZS5zcGxpdChcIi1cIik7XHJcbiAgICAgIHJ1bGVzLnB1c2goY3JlYXRlU3RyZWV0UnVsZShzZXJpZXNUeXBlLCBwYXJzZUludChmcm9tVG9bMF0pLCBmcm9tVG9bMV0pKTtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUuaW5kZXhPZihcInbDvcWhZVwiKSAhPSAtMSkge1xyXG4gICAgICB2YXIgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyUGF0dGVybi5leGVjKHZhbHVlKVswXSk7XHJcbiAgICAgIHJ1bGVzLnB1c2goY3JlYXRlU3RyZWV0UnVsZShzZXJpZXNUeXBlLCBudW1iZXIpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHZhciBudW1iZXIgPSBwYXJzZUludChudW1iZXJQYXR0ZXJuLmV4ZWModmFsdWUpWzBdKTtcclxuICAgICAgcnVsZXMucHVzaChjcmVhdGVTdHJlZXRSdWxlKHNlcmllc1R5cGUsIG51bWJlciwgbnVtYmVyKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcnVsZXM7XHJcbn07XHJcblxyXG5jb25zdCBnZXRTZXJpZXNUeXBlID0gKHBhdHRlcm4pID0+IHtcclxuICBzd2l0Y2ggKHBhdHRlcm4pIHtcclxuICAgIGNhc2UgT2RkVHlwZVN0cmluZzpcclxuICAgICAgcmV0dXJuIFN0cmVldE51bWJlclNlcmllc1R5cGUuT2RkO1xyXG4gICAgY2FzZSBFdmVuVHlwZVN0cmluZzpcclxuICAgICAgcmV0dXJuIFN0cmVldE51bWJlclNlcmllc1R5cGUuRXZlbjtcclxuICAgIGNhc2UgQ1BUeXBlU3RyaW5nOlxyXG4gICAgICByZXR1cm4gU3RyZWV0TnVtYmVyU2VyaWVzVHlwZS5DUDtcclxuICAgIGNhc2UgQWxsVHlwZVN0cmluZzpcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiBTdHJlZXROdW1iZXJTZXJpZXNUeXBlLkFsbDtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCByZW1vdmVTZXBhcmF0b3JGcm9tRW5kID0gKHRleHQpID0+IHtcclxuICB0ZXh0ID0gdGV4dC50cmltKCk7XHJcbiAgaWYgKHRleHRbdGV4dC5sZW5ndGggLSAxXSA9PSBcImFcIiB8fCB0ZXh0W3RleHQubGVuZ3RoIC0gMV0gPT0gXCIsXCIpIHtcclxuICAgIHRleHQgPSB0ZXh0LnN1YnN0cigwLCB0ZXh0Lmxlbmd0aCAtIDEpO1xyXG4gIH1cclxuICByZXR1cm4gdGV4dC50cmltKCk7XHJcbn07XHJcblxyXG4vLyBkZXNpcmVkIG91dHB1dCBmb3JtYXQ6XHJcbi8vIFDFmcOtxI1uw6Eoc3RyKTtmcm9tKGludCk7dG8oaW50KTtbb2RkfGV2ZW58YWxsfGNwXTtzY2hvb2woc3RyKVxyXG5leHBvcnQgZnVuY3Rpb24gZGlzdHJpY3RzVG9Dc3ZSdWxlcyhkaXN0cmljdHMsIGluY2x1ZGVEaXN0cmljdE5hbWUgPSBmYWxzZSkge1xyXG4gIGNvbnN0IGxpbmVzID0gW107XHJcbiAgZGlzdHJpY3RzLmZvckVhY2goKGRpc3RyaWN0KSA9PiB7XHJcbiAgICBkaXN0cmljdC5zY2hvb2xzLmZvckVhY2goKHNjaG9vbCkgPT4ge1xyXG4gICAgICBzY2hvb2wubGluZXMuZm9yRWFjaCgoc3RyZWV0KSA9PiB7XHJcbiAgICAgICAgaWYgKHN0cmVldFswXSA9PSBcIiFcIiB8fCBzdHJlZXQgPT0gXCJcIikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgcmVzdWx0ID0gc3RyZWV0TmFtZVBhdHRlcm4uZXhlYyhzdHJlZXQpO1xyXG4gICAgICAgIGxldCBzdHJlZXROYW1lID0gcmVzdWx0WzBdO1xyXG4gICAgICAgIGxldCBudW1iZXJTcGVjaWZpY2F0aW9uID0gc3RyZWV0LnN1YnN0cihzdHJlZXROYW1lLmxlbmd0aCArIDMpLnRyaW0oKTtcclxuICAgICAgICBsZXQgcnVsZXMgPSBnZXRTdHJlZXRSdWxlcyhudW1iZXJTcGVjaWZpY2F0aW9uKTtcclxuICAgICAgICBpZiAocnVsZXMgPT0gbnVsbCB8fCBydWxlcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yOiBcIiArIHN0cmVldCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJ1bGVzLmZvckVhY2goKHJ1bGUpID0+IHtcclxuICAgICAgICAgIGxpbmVzLnB1c2goXHJcbiAgICAgICAgICAgIHN0cmVldE5hbWUgK1xyXG4gICAgICAgICAgICAgIFwiO1wiICtcclxuICAgICAgICAgICAgICBydWxlLmZyb20gK1xyXG4gICAgICAgICAgICAgIFwiO1wiICtcclxuICAgICAgICAgICAgICBydWxlLnRvICtcclxuICAgICAgICAgICAgICBcIjtcIiArXHJcbiAgICAgICAgICAgICAgcnVsZS50eXBlICtcclxuICAgICAgICAgICAgICBcIjtcIiArXHJcbiAgICAgICAgICAgICAgc2Nob29sLm5hbWUgK1xyXG4gICAgICAgICAgICAgIChpbmNsdWRlRGlzdHJpY3ROYW1lID8gXCI7XCIgKyBkaXN0cmljdC5uYW1lIDogXCJcIilcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBsaW5lcy5qb2luKFwiXFxuXCIpO1xyXG59XHJcblxyXG4vLyBsZXQgcmF3ID0gcmVhZEZpbGVTeW5jKFwib3V0Lmpzb25cIiwgXCJ1dGYtOFwiKTtcclxuLy8gbGV0IGRpc3RyaWN0cztcclxuLy8gdHJ5IHtcclxuLy8gICBkaXN0cmljdHMgPSBKU09OLnBhcnNlKHJhdyk7XHJcbi8vIH0gY2F0Y2ggKGVycm9yKSB7XHJcbi8vICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4vLyAgIHJldHVybjtcclxuLy8gfVxyXG4iXX0=