bruce-cesium 7.3.4 → 7.3.6

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 (25) hide show
  1. package/dist/bruce-cesium.es5.js +517 -37
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +526 -47
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +1 -1
  6. package/dist/lib/rendering/menu-item-manager.js +6 -2
  7. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  8. package/dist/lib/rendering/render-managers/common/historic-utils.js +18 -1
  9. package/dist/lib/rendering/render-managers/common/historic-utils.js.map +1 -1
  10. package/dist/lib/rendering/render-managers/common/shared-getters-historic.js +349 -0
  11. package/dist/lib/rendering/render-managers/common/shared-getters-historic.js.map +1 -0
  12. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +66 -19
  13. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +1 -1
  14. package/dist/lib/utils/drawing-utils.js +60 -10
  15. package/dist/lib/utils/drawing-utils.js.map +1 -1
  16. package/dist/lib/widgets/widget-cursorbar.js +20 -2
  17. package/dist/lib/widgets/widget-cursorbar.js.map +1 -1
  18. package/dist/types/bruce-cesium.d.ts +1 -1
  19. package/dist/types/rendering/menu-item-manager.d.ts +1 -0
  20. package/dist/types/rendering/render-managers/common/historic-utils.d.ts +6 -0
  21. package/dist/types/rendering/render-managers/common/shared-getters-historic.d.ts +115 -0
  22. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +5 -0
  23. package/dist/types/utils/drawing-utils.d.ts +4 -0
  24. package/dist/types/widgets/widget-cursorbar.d.ts +5 -2
  25. package/package.json +2 -2
@@ -83,7 +83,7 @@ __exportStar(require("./widgets/widget-info-view"), exports);
83
83
  __exportStar(require("./widgets/widget-left-panel"), exports);
84
84
  __exportStar(require("./widgets/widget-nav-compass"), exports);
85
85
  __exportStar(require("./widgets/widget-view-bar"), exports);
86
- exports.VERSION = "7.3.4";
86
+ exports.VERSION = "7.3.6";
87
87
  /**
88
88
  * Updates the environment instance used by bruce-cesium to one specified.
89
89
  * This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
@@ -10,6 +10,7 @@ const entity_render_manager_1 = require("./render-managers/entities/entity-rende
10
10
  const tileset_cad_render_manager_1 = require("./render-managers/tilesets/tileset-cad-render-manager");
11
11
  const entities_datalab_render_manager_1 = require("./render-managers/entities/entities-datalab-render-manager");
12
12
  const shared_getters_1 = require("./render-managers/common/shared-getters");
13
+ const shared_getters_historic_1 = require("./render-managers/common/shared-getters-historic");
13
14
  const cesium_view_monitor_1 = require("../viewer/cesium-view-monitor");
14
15
  const tileset_osm_render_manager_1 = require("./render-managers/tilesets/tileset-osm-render-manager");
15
16
  const tileset_entities_render_manager_1 = require("./render-managers/tilesets/tileset-entities-render-manager");
@@ -282,6 +283,7 @@ var MenuItemManager;
282
283
  }
283
284
  this.visualsRegister = visualsRegister;
284
285
  this.sharedGetters = new shared_getters_1.SharedGetters.Cache();
286
+ this.sharedHistoric = new shared_getters_historic_1.SharedHistoricGetters.Cache();
285
287
  this.sharedMonitor = new cesium_view_monitor_1.CesiumViewMonitor.Monitor(this.viewer);
286
288
  this.tilesetInitQueue = new InitQueueTileset(this.getters);
287
289
  }
@@ -290,7 +292,7 @@ var MenuItemManager;
290
292
  * This will dispose all render managers and unregister all menu items.
291
293
  */
292
294
  Dispose(params) {
293
- var _a, _b;
295
+ var _a, _b, _c;
294
296
  const { disposeRegister } = params !== null && params !== void 0 ? params : {};
295
297
  for (let i = 0; i < this.items.length; i++) {
296
298
  const item = this.items[i];
@@ -305,6 +307,7 @@ var MenuItemManager;
305
307
  this.FlushPendingHandoffs();
306
308
  this.tilesetInitQueue.Dispose();
307
309
  (_b = this.sharedMonitor) === null || _b === void 0 ? void 0 : _b.Dispose();
310
+ (_c = this.sharedHistoric) === null || _c === void 0 ? void 0 : _c.Dispose();
308
311
  if (this.visualsRegister && disposeRegister != false) {
309
312
  this.visualsRegister.Dispose();
310
313
  }
@@ -512,7 +515,8 @@ var MenuItemManager;
512
515
  register: this.visualsRegister,
513
516
  apiGetter: params.apiGetter,
514
517
  monitor: this.sharedMonitor,
515
- item: params.item
518
+ item: params.item,
519
+ sharedHistoric: this.sharedHistoric
516
520
  });
517
521
  break;
518
522
  case bruce_models_1.MenuItem.EType.Entity:
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item-manager.js","sourceRoot":"","sources":["../../../src/rendering/menu-item-manager.ts"],"names":[],"mappings":";;;AAAA,+CAAgJ;AAGhJ,gGAA2F;AAC3F,8GAAwG;AAExG,yDAAqD;AACrD,wGAAkG;AAClG,4FAAuF;AACvF,sGAAgG;AAChG,gHAAkG;AAClG,4EAAwE;AACxE,uEAAkE;AAClE,sGAAgG;AAChG,gHAA0G;AAC1G,oHAA8G;AAC9G,iHAA0G;AAC1G,sGAAgG;AAChG,+FAA0F;AAC1F,0HAAmH;AACnH,6GAAuG;AACvG,iHAA0G;AAC1G,sGAAgG;AAChG,uGAAiG;AACjG,6FAAwF;AAuBxF;;;GAGG;AACH,MAAM,gBAAgB;IAOlB,YAAmB,OAAmB;QAH9B,oBAAe,GAA+B,EAAE,CAAC;QACjD,mBAAc,GAAQ,IAAI,CAAC;QAG/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,MAAgD;QACzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACtB,GAAG,MAAM;gBACT,uBAAuB,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC9E,OAAO;gBACP,MAAM;aACT,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;aAC/F;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,KAAa;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAChF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACvF,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;YAC3B,OAAO,CAAC,OAAO,CAAC;gBACZ,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;SACN;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE;YACrD,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;IACL,CAAC;IAEM,OAAO;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC9B;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,OAAO,CAAC,OAAO,CAAC;gBACZ,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;SACN;IACL,CAAC;IAEO,KAAK;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClB,OAAO;SACV;QAED,MAAM,iBAAiB,GAA4C,EAAE,CAAC;QACtE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE;gBACrD,iBAAiB,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC;aAC3D;YACD,iBAAiB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACpE;QAED,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE;YACvC,MAAM,eAAe,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,IAAI,gBAAgB,CAAC,cAAc,EAAE;gBAC9E,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBAC5E,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnD,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE;wBACzB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBACrB;gBACL,CAAC,CAAC,CAAC;aACN;SACJ;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,eAAuB,EAAE,QAAoC;QAC3F,MAAM,eAAe,GAA+B,EAAE,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAEjD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7C,IAAI;gBACA,MAAM,SAAS,GAAG,MAAM,sBAAO,CAAC,OAAO,CAAC,eAAe,CAAC;oBACpD,eAAe;oBACf,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,YAAY;oBACZ,OAAO,EAAE,IAAI,CAAC,OAAO;iBACxB,CAAC,CAAC;gBACH,IAAI,SAAS,EAAE;oBACX,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACjC;qBACI;oBACD,OAAO,CAAC,OAAO,CAAC;wBACZ,SAAS,EAAE,KAAK;qBACnB,CAAC,CAAC;iBACN;aACJ;YACD,OAAO,CAAC,EAAE;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,OAAO,CAAC,OAAO,CAAC;oBACZ,SAAS,EAAE,KAAK;iBACnB,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YACzB,OAAO;SACV;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACjC,SAAS,EAAE,eAAe;SAC7B,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1F,MAAM,WAAW,GAAkC,EAAE,CAAC;QAEtD,IAAI;YACA,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,sBAAO,CAAC,OAAO,CAAC;gBACvC,GAAG;gBACH,UAAU;gBACV,cAAc,EAAE,IAAI;aACvB,CAAC,CAAC;YACH,KAAK,MAAM,OAAO,IAAI,QAAQ,IAAI,EAAE,EAAE;gBAClC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,EAAE;oBACb,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;iBACrC;aACJ;SACJ;QACD,OAAO,CAAC,EAAE;YACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACpB;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe;aACnD,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;aACvD,GAAG,CAAC,OAAO,CAAC,EAAE,eAAC,OAAA,OAAO,CAAC,MAAM,KAAI,MAAC,MAAA,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,0CAAE,QAAkC,0CAAE,YAAY,CAAA,CAAA,EAAA,CAAC;aACnH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,SAAS,GAA4C,EAAE,CAAC;QAC5D,IAAI,aAAa,CAAC,MAAM,EAAE;YACtB,IAAI;gBACA,SAAS,GAAG,CAAC,MAAM,2BAAY,CAAC,eAAe,CAAC;oBAC5C,GAAG;oBACH,YAAY,EAAE,aAAa;iBAC9B,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;aACvB;YACD,OAAO,CAAC,EAAE;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACpB;SACJ;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;;YACpD,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,EAAE;gBACV,IAAI;oBACA,OAAO,GAAG,CAAC,MAAM,sBAAO,CAAC,GAAG,CAAC;wBACzB,GAAG;wBACH,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC/B,CAAC,CAAC,CAAC,OAAO,CAAC;iBACf;gBACD,OAAO,CAAC,EAAE;oBACN,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAClB,OAAO;iBACV;aACJ;YACD,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,CAAC,OAAO,CAAC;oBACZ,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,OAAO;aACV;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAI,MAAC,OAAO,CAAC,QAAkC,0CAAE,YAAY,CAAA,CAAC;YAC3F,OAAO,CAAC,OAAO,CAAC;gBACZ,SAAS,EAAE,IAAI;gBACf,OAAO;gBACP,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;aAC5C,CAAC,CAAC;QACP,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;;AAzLuB,qCAAoB,GAAG,GAAG,AAAN,CAAO;AAC3B,+BAAc,GAAG,EAAE,AAAL,CAAM;AA2LhD;;GAEG;AACH,IAAiB,eAAe,CAwtB/B;AAxtBD,WAAiB,eAAe;IAS5B,MAAa,OAAO;QAEhB,IAAW,OAAO;YACd,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,IAAW,MAAM;YACb,OAAO,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;QAID,IAAW,eAAe;YACtB,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QAED,IAAW,QAAQ;YACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAU,EAAmB,CAAC;aACrD;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QAKD,IAAW,eAAe;YACtB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,eAAe,GAAG,IAAI,yBAAU,EAAiB,CAAC;aAC1D;YACD,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QACD;;WAEG;QACI,iBAAiB,CAAC,MAAc;YACnC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC;QAED;;;WAGG;QACI,mBAAmB,CAAC,MAAc,EAAE,OAAuB;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;gBACZ,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE;oBACvI,OAAO,CAAC,SAAS;iBACpB;gBACD,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;aAC3B;iBACI;gBACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1B;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QAED;;WAEG;QACI,mBAAmB,CAAC,MAAc;YACrC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBACpC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;aAC1D;QACL,CAAC;QAKD,IAAW,OAAO;YACd,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;QAED,YAAmB,MAMlB;YAzEO,UAAK,GAAoB,EAAE,CAAC;YAC5B,uBAAkB,GAAoB,EAAE,CAAC;YAKzC,aAAQ,GAAqC,IAAI,CAAC;YAQ1D,+CAA+C;YACvC,mBAAc,GAAG,IAAI,GAAG,EAA4B,CAAC;YACrD,oBAAe,GAAmC,IAAI,CAAC;YA0D3D,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;YAClD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,GAAG,0BAAW,CAAC,GAAG,EAAE,CAAC;aAC/B;YACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,eAAe,EAAE;gBAClB,eAAe,GAAG,IAAI,kCAAe,CAAC,QAAQ,CAAC;oBAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,UAAU,EAAE,OAAO;iBACtB,CAAC,CAAC;aACN;YACD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YACvC,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,KAAK,EAAE,CAAC;YAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,uCAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC;QAED;;;WAGG;QACI,OAAO,CAAC,MAGd;;YACG,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;YAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI;oBACA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;iBACjC;gBACD,OAAO,CAAC,EAAE;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACpB;aACJ;YACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAChC,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;YAE9B,IAAI,IAAI,CAAC,eAAe,IAAI,eAAe,IAAI,KAAK,EAAE;gBAClD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;aAClC;QACL,CAAC;QAED;;;;;WAKG;QACI,UAAU,CAAC,MAYjB;;YACG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;gBAC3B,OAAO,IAAI,CAAC;aACf;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACjB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;aACjC;YACD,uCAAuC;YACvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACjB,MAAM,CAAC,OAAO,GAAG,0BAAW,CAAC,GAAG,EAAE,CAAC;aACtC;YACD,uCAAuC;YACvC,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;aACjC;YACD,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACnC,OAAO,CAAC,IAAI,CAAC,yIAAyI,CAAC,CAAC;aAC3J;iBACI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBACxB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;aACtD;YACD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;gBAC3B,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;aAC7B;YAED,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,MAAM,GAAG,IAAI,CAAC;YAElB,gEAAgE;YAChE,IAAI,KAAK,EAAE;gBACP,wEAAwE;gBACxE,0FAA0F;gBAC1F,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACrF,KAAK,CAAC,aAA+C,CAAC,IAAI,CAAC;wBACxD,IAAI,EAAE,MAAM,CAAC,IAA+B;qBAC/C,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,MAAM,GAAG,KAAK,CAAC;iBAClB;gBACD,0DAA0D;gBAC1D,0EAA0E;qBACrE,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;oBACpG,KAAK,CAAC,aAAsD,CAAC,IAAI,CAAC;wBAC/D,IAAI,EAAE,MAAM,CAAC,IAAsC;qBACtD,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,MAAM,GAAG,KAAK,CAAC;iBAClB;gBACD,gEAAgE;gBAChE,gGAAgG;gBAChG,qGAAqG;qBAChG,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,SAAS,EAAE;oBAC5F,KAAK,CAAC,aAAsD,CAAC,IAAI,CAAC;wBAC/D,IAAI,EAAE,MAAM,CAAC,IAA0C;qBAC1D,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,MAAM,GAAG,KAAK,CAAC;iBAClB;gBACD,gEAAgE;gBAChE,gGAAgG;qBAC3F,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;oBACpG,KAAK,CAAC,aAAgD,CAAC,IAAI,CAAC;wBACzD,IAAI,EAAE,MAAM,CAAC,IAAoC;qBACpD,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,MAAM,GAAG,KAAK,CAAC;iBAClB;gBACD,oEAAoE;qBAC/D,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;oBAC/F,IAAI,KAAK,CAAC,aAAa,IAAK,KAAK,CAAC,aAAiD,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE;wBACjH,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;oBAC/F,IAAI,KAAK,CAAC,aAAa,EAAE;wBACrB,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;oBAC/F,IAAI,KAAK,CAAC,aAAa,EAAE;wBACrB,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;oBAC/F,IAAI,KAAK,CAAC,aAAa,EAAE;wBACrB,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;gBACD,oEAAoE;qBAC/D,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAC3F,IAAI,KAAK,CAAC,aAAa,IAAK,KAAK,CAAC,aAA+C,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE;wBAC/G,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;gBACD,8CAA8C;gBAC9C,sCAAsC;qBACjC,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE;oBAC/G,IAAI,KAAK,CAAC,aAAa,EAAE;wBACpB,KAAK,CAAC,aAA0D,CAAC,IAAI,CAAC;4BACnE,IAAI,EAAE,MAAM,CAAC,IAAyC;yBACzD,CAAC,CAAC;wBACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;wBACzB,MAAM,GAAG,KAAK,CAAC;qBAClB;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;oBACjF,mEAAmE;oBACnE,MAAM,cAAc,GAAG,KAAK,CAAC,aAAgD,CAAC;oBAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,IAA0B,CAAC;oBAChD,IAAI,cAAc,IAAI,KAAK,EAAE;wBACzB,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,QAAQ,CAAA,IAAI,cAAc,CAAC,YAAY,KAAI,MAAA,KAAK,CAAC,WAAW,0CAAG,eAAe,CAAC,CAAA,EAAE;4BACjI,cAAc,CAAC,IAAI,CAAC;gCAChB,IAAI,EAAE,KAAK;6BACd,CAAC,CAAC;4BACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;4BACzB,MAAM,GAAG,KAAK,CAAC;yBAClB;qBACJ;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,WAAW,EAAE;oBACjG,2BAA2B;oBAC3B,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAiD,CAAC;oBAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAgC,CAAC;oBACzD,IAAI,iBAAiB,IAAI,QAAQ,EAAE;wBAC/B,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC;wBAC/C,MAAM,UAAU,GAAG,MAAA,QAAQ,CAAC,WAAW,0CAAE,SAAS,CAAC;wBACnD,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,IAAI,aAAa,IAAI,aAAa,EAAE;4BAChC,iBAAiB,CAAC,IAAI,CAAC;gCACnB,IAAI,EAAE,QAAQ;6BACjB,CAAC,CAAC;4BACH,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;4BACzB,MAAM,GAAG,KAAK,CAAC;yBAClB;qBACJ;iBACJ;qBACI,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;oBACrC,MAAM,GAAG,IAAI,CAAC;iBACjB;gBAED,IAAI,MAAM,EAAE;oBACR,IAAI;wBACA,MAAA,KAAK,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;qBAClC;oBACD,OAAO,CAAC,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpB;oBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;iBAC1D;aACJ;YAED,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,KAAK,EAAE;oBACR,KAAK,GAAG;wBACJ,EAAE,EAAE,MAAA,MAAM,CAAC,IAAI,CAAC,EAAE,mCAAI,0BAAW,CAAC,GAAG,EAAE;wBACvC,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,aAAa,EAAE,IAAI;wBACnB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;wBACtB,MAAM,EAAE,EAAE;qBACb,CAAA;iBACJ;qBACI;oBACD,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC3B,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;iBACrB;gBAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;oBACnB,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,uBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;iBAC1C;gBACD,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;oBACtB,KAAK,uBAAQ,CAAC,KAAK,CAAC,QAAQ;wBACxB,KAAK,CAAC,aAAa,GAAG,IAAI,+CAAqB,CAAC,OAAO,CAAC;4BACpD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAA2B,MAAM,CAAC,IAAI;4BAC1C,aAAa,EAAE,IAAI,CAAC,aAAa;4BACjC,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC;yBAC/E,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,cAAc;wBAC9B,KAAK,CAAC,aAAa,GAAG,IAAI,4DAA2B,CAAC,OAAO,CAAC;4BAC1D,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAAiC,MAAM,CAAC,IAAI;yBACnD,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,WAAW;wBAC3B,KAAK,CAAC,aAAa,GAAG,IAAI,sDAAwB,CAAC,OAAO,CAAC;4BACvD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAA4B,MAAM,CAAC,IAAI;yBAC9C,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,MAAM;wBACtB,KAAK,CAAC,aAAa,GAAG,IAAI,2CAAmB,CAAC,OAAO,CAAC;4BAClD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAAyB,MAAM,CAAC,IAAI;yBAC3C,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU;wBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,oDAAuB,CAAC,OAAO,CAAC;4BACtD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,IAAI,EAA6B,MAAM,CAAC,IAAI;4BAC5C,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,SAAS,EAAE,IAAI,CAAC,gBAAgB;yBACnC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,QAAQ;wBACxB,KAAK,CAAC,aAAa,GAAG,IAAI,+CAAqB,CAAC,OAAO,CAAC;4BACpD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,IAAI,EAA2B,MAAM,CAAC,IAAI;4BAC1C,UAAU,EAAE,MAAM,CAAC,UAAU;yBAChC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,GAAG;wBACnB,KAAK,CAAC,aAAa,GAAG,IAAI,oDAAuB,CAAC,OAAO,CAAC;4BACtD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAAsB,MAAM,CAAC,IAAI;yBACxC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU;wBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,kEAA8B,CAAC,OAAO,CAAC;4BAC7D,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,IAAI,EAA6B,MAAM,CAAC,IAAI;4BAC5C,SAAS,EAAE,IAAI,CAAC,gBAAgB;yBACnC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,aAAa;wBAC7B,KAAK,CAAC,aAAa,GAAG,IAAI,8DAA4B,CAAC,OAAO,CAAC;4BAC3D,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,IAAI,EAAkC,MAAM,CAAC,IAAI;4BACjD,SAAS,EAAE,IAAI,CAAC,gBAAgB;yBACnC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,GAAG;wBACnB,KAAK,CAAC,aAAa,GAAG,IAAI,2DAA0B,CAAC,OAAO,CAAC;4BACzD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,IAAI,EAAsB,MAAM,CAAC,IAAI;yBACxC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,GAAG;wBACnB,KAAK,CAAC,aAAa,GAAG,IAAI,2DAA0B,CAAC,OAAO,CAAC;4BACzD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,IAAI,EAAsB,MAAM,CAAC,IAAI;4BACrC,QAAQ,EAAE,IAAI,CAAC,eAAe;yBACjC,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;oBAC/B,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU;wBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,oDAAuB,CAAC,OAAO,CAAC;4BACtD,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,IAAI,EAA6B,MAAM,CAAC,IAAI;4BAC5C,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,QAAQ,EAAE,IAAI,CAAC,eAAe;yBACjC,CAAC,CAAC;wBACH,MAAM;oBACV,gEAAgE;oBAChE,6BAA6B;oBAC7B,KAAK,uBAAQ,CAAC,KAAK,CAAC,SAAS;wBACzB,KAAK,CAAC,aAAa,GAAG,IAAI,8DAA4B,CAAC,OAAO,CAAC;4BAC3D,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;yBACtB,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,aAAa;wBAC7B,KAAK,CAAC,aAAa,GAAG,IAAI,iDAAsB,CAAC,OAAO,CAAC;4BACrD,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;yBACtB,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,kBAAkB;wBAClC,KAAK,CAAC,aAAa,GAAG,IAAI,uEAAgC,CAAC,OAAO,CAAC;4BAC/D,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,MAAM,EAAE,IAAI,CAAC,MAAM;yBACtB,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU;wBAC1B,KAAK,CAAC,aAAa,GAAG,IAAI,oDAAuB,CAAC,OAAO,CAAC;4BACtD,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,MAAM,EAAE,IAAI,CAAC,MAAM;yBACtB,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,YAAY;wBAC5B,KAAK,CAAC,aAAa,GAAG,IAAI,wDAAyB,CAAC,OAAO,CAAC;4BACxD,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,QAAQ,EAAE,IAAI,CAAC,eAAe;4BAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,OAAO,EAAE,MAAM,CAAC,OAAO;yBAC1B,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,uBAAQ,CAAC,KAAK,CAAC,OAAO;wBACvB,KAAK,CAAC,aAAa,GAAG,IAAI,sDAAoB,CAAC,OAAO,CAAC;4BACnD,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,IAAI,EAAE,MAAM,CAAC,IAAW;4BACxB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,IAAI,CAAC,aAAa;4BAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;yBACxC,CAAC,CAAC;wBACH,MAAM;oBACV,6EAA6E;oBAC7E,KAAK,uBAAQ,CAAC,KAAK,CAAC,IAAI;wBACpB,MAAM;oBACV;wBACI,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC7E;gBAED,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;oBACtD,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;oBACxG,IAAI;wBACA,IAAI,cAAc,EAAE;4BACf,KAAK,CAAC,aAA2D,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;yBACnG;6BACI;4BACD,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;yBAC9B;qBACJ;oBACD,OAAO,CAAC,EAAE;wBACN,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACxB;iBACJ;aACJ;YACD,uEAAuE;YACvE,kDAAkD;YAClD,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9E,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,IAAI,KAAK,IAAI,QAAQ,EAAE;gBAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;wBAC5B,GAAG,MAAM;wBACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAChC,CAAC,CAAC;oBACH,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAChC;aACJ;YACD,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,aAAa,0CAAE,QAAQ,CAAA,EAAE;gBACvD,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;aAClE;YACD,OAAO,KAAK,CAAC,EAAE,CAAC;QACpB,CAAC;QAED;;;;WAIG;QACI,cAAc,CAAC,MAOrB;;YACG,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;YACzD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;gBAC3B,OAAO;aACV;YACD,IAAI,SAAS,IAAI,IAAI,EAAE;gBACnB,SAAS,GAAG,IAAI,CAAC;aACpB;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/C,IAAI,IAAI,EAAE;gBACN,IAAI,SAAS,EAAE;oBACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9D,IAAI,KAAK,EAAE;4BACP,IAAI,CAAC,cAAc,CAAC;gCAChB,UAAU,EAAE,KAAK,CAAC,EAAE;gCACpB,YAAY;6BACf,CAAC,CAAC;yBACN;qBACJ;iBACJ;gBACD,IAAI,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;oBAC3D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnC,gFAAgF;oBAChF,sEAAsE;iBACzE;qBACI;oBACD,IAAI;wBACA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;qBACjC;oBACD,OAAO,CAAC,EAAE;wBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpB;oBACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACrC;gBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjD,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;aAClE;QACL,CAAC;QAEO,gBAAgB,CAAC,aAAqC;YAC1D,OAAO,OAAO,CAAC,aAAa,CAAC,IAAI,OAAQ,aAAqB,CAAC,cAAc,KAAK,UAAU,CAAC;QACjG,CAAC;QAED,2DAA2D;QACnD,iBAAiB,CAAC,IAAoB,EAAE,UAAoB;YAChE,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;gBACzC,OAAO,oDAAuB,CAAC,OAAO,CAAC,aAAa,CAAC,IAAiC,EAAE,UAAU,CAAC,CAAC;aACvG;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;gBAC5C,OAAO,8DAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,IAAsC,CAAC,CAAC;aACrG;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;gBACzC,OAAO,kEAA8B,CAAC,OAAO,CAAC,aAAa,CAAC,IAAiC,CAAC,CAAC;aAClG;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBACjD,OAAO,uEAAgC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;aACnE;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;gBAClC,OAAO,oDAAuB,CAAC,OAAO,CAAC,aAAa,CAAC,IAA0B,CAAC,CAAC;aACpF;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACvC,OAAO,+CAAqB,CAAC,OAAO,CAAC,aAAa,CAAC,IAA+B,CAAC,CAAC;aACvF;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;gBACtC,OAAO,sDAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,IAA8B,CAAC,CAAC;aACrF;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,sFAAsF;QACtF,mEAAmE;QAC3D,sBAAsB,CAAC,IAAoB,EAAE,UAAkC,EAAE,UAAoB;YACzG,IAAI,OAAQ,UAAkB,CAAC,YAAY,KAAK,UAAU,EAAE;gBACxD,OAAO,IAAI,CAAC;aACf;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG,EAAE;gBACN,OAAO,IAAI,CAAC;aACf;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CACzD,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;gBACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC3C,MAAM,CAAC,aAAa,CAAC,UAAU,KAAK,GAAG,CAC1C,CAAC;YACF,IAAI,SAAS,GAAG,CAAC,EAAE;gBACf,OAAO,IAAI,CAAC;aACf;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,UAAU,CAAC,aAAgE,CAAC;YAC3F,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,IAAI,CAAC;aACf;YACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,OAAO,OAAO,CAAC;QACnB,CAAC;QAED;;;;WAIG;QACK,sBAAsB,CAAC,UAAkB,EAAE,QAAgB;YAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE;gBACnB,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACrC,OAAO;aACV;YACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE;oBAC9C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC1B;aACJ;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,mEAAmE;QAC5D,oBAAoB;;YACvB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBACjC,OAAO;aACV;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACrB,IAAI;oBACA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;iBACjC;gBACD,OAAO,CAAC,EAAE;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACpB;gBACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACrC;QACL,CAAC;QAEM,iBAAiB;YACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QAEM,cAAc,CAAC,EAAU;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED;;;;;WAKG;QACI,KAAK,CAAC,QAAQ,CAAC,MAQrB;YACG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YACnE,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE;gBACzC,OAAO;aACV;YACD,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE;gBACxB,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,KAAK,0CAAE,EAAE,CAAA,EAAA,CAAC,CAAC;aAC9C;YACD,MAAM,KAAK,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACpG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,IAAI,CAAC,aAAa,EAAE;oBACpB,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;wBAC9B,SAAS;wBACT,QAAQ;wBACR,KAAK;wBACL,QAAQ;qBACX,CAAC,CAAC;iBACN;aACJ;QACL,CAAC;KACJ;IA9sBY,uBAAO,UA8sBnB,CAAA;AACL,CAAC,EAxtBgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAwtB/B"}
1
+ {"version":3,"file":"menu-item-manager.js","sourceRoot":"","sources":["../../../src/rendering/menu-item-manager.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,22 @@ var HistoricFetchOrder;
38
38
  return Math.round(minMs + ((maxMs - minMs) * progress));
39
39
  }
40
40
  HistoricFetchOrder.IntervalFor = IntervalFor;
41
+ /**
42
+ * Returns the cadence for a set of this size on a clock running at this rate.
43
+ * @param entityCount
44
+ * @param multiplier the viewer clock's, ie. scene seconds per real second
45
+ */
46
+ function IntervalForClock(entityCount, multiplier) {
47
+ const bySize = IntervalFor(entityCount);
48
+ const rate = Math.abs(multiplier);
49
+ if (!(rate > 0)) {
50
+ return HistoricFetchOrder.MAX_INTERVAL_MS;
51
+ }
52
+ // How long one second of scene time takes to pass, which is how often a record can appear.
53
+ const perRecord = 1000 / rate;
54
+ return Math.min(HistoricFetchOrder.MAX_INTERVAL_MS, Math.max(bySize, perRecord));
55
+ }
56
+ HistoricFetchOrder.IntervalForClock = IntervalForClock;
41
57
  // Upper bounds in metres for the distance bands, nearest first.
42
58
  HistoricFetchOrder.DEFAULT_BANDS = [500, 2000, 10000, 50000];
43
59
  /**
@@ -421,7 +437,8 @@ class HistoricGatherer {
421
437
  * Returns how long to wait between refreshes for a set of this size.
422
438
  */
423
439
  IntervalFor(entityCount) {
424
- return HistoricFetchOrder.IntervalFor(entityCount);
440
+ var _a, _b, _c;
441
+ return HistoricFetchOrder.IntervalForClock(entityCount, (_c = (_b = (_a = this.params.viewer) === null || _a === void 0 ? void 0 : _a.clock) === null || _b === void 0 ? void 0 : _b.multiplier) !== null && _c !== void 0 ? _c : 1);
425
442
  }
426
443
  /**
427
444
  * Fetches whatever the current clock range needs that is not already held.
@@ -1 +1 @@
1
- {"version":3,"file":"historic-utils.js","sourceRoot":"","sources":["../../../../../src/rendering/render-managers/common/historic-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"historic-utils.js","sourceRoot":"","sources":["../../../../../src/rendering/render-managers/common/historic-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SharedHistoricGetters = void 0;
4
+ const bruce_models_1 = require("bruce-models");
5
+ /**
6
+ * The shared read path for Entities whose position comes from the clock.
7
+ */
8
+ var SharedHistoricGetters;
9
+ (function (SharedHistoricGetters) {
10
+ // The floor between two reads on a lane, so a fast server is not read from as fast as it answers.
11
+ SharedHistoricGetters.DEFAULT_MIN_INTERVAL_MS = 250;
12
+ // How far from a held answer's instant it still answers a new ask.
13
+ SharedHistoricGetters.DEFAULT_FRESH_MS = 200;
14
+ // How slow the idle backoff is allowed to make a lane.
15
+ SharedHistoricGetters.DEFAULT_MAX_INTERVAL_MS = 3000;
16
+ // How many unchanged reads it takes to reach that, doubling the wait each time.
17
+ SharedHistoricGetters.IDLE_DOUBLINGS = 6;
18
+ // The idle cap while a record change feed is connected.
19
+ SharedHistoricGetters.FEED_MAX_INTERVAL_MS = 15000;
20
+ /*
21
+ * What an Entity looks like to the idle check: where it is, how it is turned, and when it was last written.
22
+ */
23
+ function SignatureOf(entity) {
24
+ const bruce = entity === null || entity === void 0 ? void 0 : entity.Bruce;
25
+ if (!bruce) {
26
+ return "";
27
+ }
28
+ const location = bruce.Location;
29
+ const transform = bruce.Transform;
30
+ return [
31
+ bruce.Updated || "",
32
+ location ? `${location.latitude},${location.longitude},${location.altitude}` : "",
33
+ transform ? `${transform.heading},${transform.pitch},${transform.roll}` : ""
34
+ ].join("|");
35
+ }
36
+ SharedHistoricGetters.SignatureOf = SignatureOf;
37
+ /**
38
+ * One read path, shared by every manager reading the same Entities the same way.
39
+ */
40
+ class Lane {
41
+ constructor(params) {
42
+ this.params = params;
43
+ // Subscriber to their one outstanding ask.
44
+ this.pending = new Map();
45
+ this.inFlight = false;
46
+ this.lastSentAt = 0;
47
+ this.pumpTimeout = null;
48
+ // Set between an ask arriving and the pump running, so asks made in the same turn merge.
49
+ this.pumpScheduled = false;
50
+ this.disposed = false;
51
+ // The last answer, kept so an ask that lands beside it is served rather than sent.
52
+ this.held = null;
53
+ // Entity id to what it looked like on the last read, for deciding whether anything moved.
54
+ this.heldSignatures = {};
55
+ // How many reads in a row have come back saying the same thing.
56
+ this.idleReads = 0;
57
+ // Entity internal id to its id, for matching what the feed reports against what is held.
58
+ this.heldInternalIds = new Map();
59
+ this.feedRemoval = null;
60
+ this.feedWired = false;
61
+ }
62
+ /**
63
+ * Asks for these Entities at this instant, resolving with them however the lane gets there:
64
+ * from the held answer, from a read already about to happen, or from one this ask starts.
65
+ */
66
+ Request(ask) {
67
+ if (this.disposed) {
68
+ return Promise.resolve([]);
69
+ }
70
+ this.wireFeed();
71
+ if (ask.force) {
72
+ this.idleReads = 0;
73
+ }
74
+ const fresh = this.freshAnswerFor(ask);
75
+ if (fresh) {
76
+ return Promise.resolve(fresh);
77
+ }
78
+ return new Promise((resolve, reject) => {
79
+ // Whoever was waiting on this subscriber's previous ask is answered by this one, so
80
+ // they are handed the newer read rather than left hanging on a dropped request.
81
+ const superseded = this.pending.get(ask.subscriberId);
82
+ this.pending.set(ask.subscriberId, {
83
+ ask,
84
+ resolve: (entities) => {
85
+ superseded === null || superseded === void 0 ? void 0 : superseded.resolve(entities);
86
+ resolve(entities);
87
+ },
88
+ reject: (error) => {
89
+ superseded === null || superseded === void 0 ? void 0 : superseded.reject(error);
90
+ reject(error);
91
+ }
92
+ });
93
+ this.schedulePump();
94
+ });
95
+ }
96
+ /**
97
+ * Forgets a subscriber, for a manager that has been disposed while it was waiting.
98
+ */
99
+ Drop(subscriberId) {
100
+ const waiter = this.pending.get(subscriberId);
101
+ if (waiter) {
102
+ this.pending.delete(subscriberId);
103
+ waiter.resolve([]);
104
+ }
105
+ }
106
+ /**
107
+ * Tells the lane that records it holds have changed, so its next read happens on the caller's
108
+ * cadence rather than behind whatever backoff a quiet spell had earned.
109
+ */
110
+ NotifyChanged() {
111
+ if (this.disposed) {
112
+ return;
113
+ }
114
+ this.idleReads = 0;
115
+ this.schedulePump();
116
+ }
117
+ /**
118
+ * The same, for a feed event naming Entity internal ids as ranges.
119
+ * @param rangeString as reported by the record change feed.
120
+ */
121
+ NotifyChangedRange(rangeString) {
122
+ if (this.disposed || !rangeString || !this.heldInternalIds.size) {
123
+ return;
124
+ }
125
+ for (const internalId of Array.from(this.heldInternalIds.keys())) {
126
+ if (bruce_models_1.RecordChangeFeed.isEntityInternalIdInRangeString(rangeString, internalId)) {
127
+ this.NotifyChanged();
128
+ return;
129
+ }
130
+ }
131
+ }
132
+ Dispose() {
133
+ var _a;
134
+ this.disposed = true;
135
+ (_a = this.feedRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
136
+ this.feedRemoval = null;
137
+ if (this.pumpTimeout != null) {
138
+ clearTimeout(this.pumpTimeout);
139
+ this.pumpTimeout = null;
140
+ }
141
+ for (const waiter of Array.from(this.pending.values())) {
142
+ waiter.resolve([]);
143
+ }
144
+ this.pending.clear();
145
+ this.held = null;
146
+ this.heldSignatures = {};
147
+ this.heldInternalIds.clear();
148
+ }
149
+ /**
150
+ * How many reads in a row have come back unchanged, which is what the wait is scaled by.
151
+ */
152
+ get IdleReads() {
153
+ return this.idleReads;
154
+ }
155
+ /**
156
+ * The wait the lane would apply before its next read,
157
+ * ie. the caller's cadence after however far the idle backoff has widened it.
158
+ */
159
+ get IntervalMs() {
160
+ return this.intervalNow();
161
+ }
162
+ /**
163
+ * What the lane is currently holding, for a caller that wants it without asking for a read.
164
+ */
165
+ get Held() {
166
+ return this.held;
167
+ }
168
+ /*
169
+ * The wait before the next read: the caller's cadence, widened while nothing is changing.
170
+ */
171
+ intervalNow() {
172
+ var _a, _b, _c;
173
+ const base = this.params.getMinIntervalMs
174
+ ? this.params.getMinIntervalMs() : SharedHistoricGetters.DEFAULT_MIN_INTERVAL_MS;
175
+ if (!this.idleReads) {
176
+ return base;
177
+ }
178
+ const maxInterval = (_a = this.params.maxIntervalMs) !== null && _a !== void 0 ? _a : (((_c = (_b = this.params).isFeedConnected) === null || _c === void 0 ? void 0 : _c.call(_b)) ? SharedHistoricGetters.FEED_MAX_INTERVAL_MS : SharedHistoricGetters.DEFAULT_MAX_INTERVAL_MS);
179
+ const widened = base * Math.pow(2, Math.min(this.idleReads, SharedHistoricGetters.IDLE_DOUBLINGS));
180
+ return Math.min(Math.max(base, maxInterval), widened);
181
+ }
182
+ /*
183
+ * Returns the held answer when it covers this ask, or null when a read is needed.
184
+ */
185
+ freshAnswerFor(ask) {
186
+ var _a;
187
+ const freshMs = (_a = this.params.freshMs) !== null && _a !== void 0 ? _a : SharedHistoricGetters.DEFAULT_FRESH_MS;
188
+ if (ask.force || !this.held || Math.abs(ask.at - this.held.at) > freshMs) {
189
+ return null;
190
+ }
191
+ const entities = [];
192
+ for (const entityId of ask.entityIds) {
193
+ const entity = this.held.byId[entityId];
194
+ // A partial answer is not an answer: the Entity may simply never have been asked for.
195
+ if (!entity) {
196
+ return null;
197
+ }
198
+ entities.push(entity);
199
+ }
200
+ return entities;
201
+ }
202
+ /*
203
+ * Subscribes to the record change feed, on the first ask that finds one.
204
+ */
205
+ wireFeed() {
206
+ if (this.feedWired || !this.params.subscribeToChanges) {
207
+ return;
208
+ }
209
+ const removal = this.params.subscribeToChanges((rangeString) => this.NotifyChangedRange(rangeString));
210
+ if (!removal) {
211
+ return;
212
+ }
213
+ this.feedWired = true;
214
+ this.feedRemoval = removal;
215
+ }
216
+ /*
217
+ * Runs the pump at the end of this turn rather than during it.
218
+ */
219
+ schedulePump() {
220
+ if (this.pumpScheduled || this.disposed) {
221
+ return;
222
+ }
223
+ this.pumpScheduled = true;
224
+ Promise.resolve().then(() => {
225
+ this.pumpScheduled = false;
226
+ this.pump();
227
+ });
228
+ }
229
+ /*
230
+ * Sends the next read when there is one to send and the lane is free to send it.
231
+ */
232
+ pump() {
233
+ var _a;
234
+ if (this.disposed || this.inFlight || !this.pending.size) {
235
+ return;
236
+ }
237
+ const now = ((_a = this.params.now) !== null && _a !== void 0 ? _a : Date.now)();
238
+ const waitFor = (this.lastSentAt + this.intervalNow()) - now;
239
+ if (waitFor > 0) {
240
+ // The pending map keeps absorbing asks meanwhile, so what eventually goes is the
241
+ // union of everything wanted during the wait rather than the ask that started it.
242
+ if (this.pumpTimeout == null) {
243
+ this.pumpTimeout = setTimeout(() => {
244
+ this.pumpTimeout = null;
245
+ this.pump();
246
+ }, waitFor);
247
+ }
248
+ return;
249
+ }
250
+ // Taken now rather than when each ask arrived, which is what makes an overtaken ask cost
251
+ // nothing: it is simply part of this read instead of a read of its own.
252
+ const waiters = Array.from(this.pending.values());
253
+ this.pending.clear();
254
+ const entityIds = [];
255
+ const seen = {};
256
+ let at = 0;
257
+ for (const waiter of waiters) {
258
+ at = Math.max(at, waiter.ask.at);
259
+ for (const entityId of waiter.ask.entityIds) {
260
+ if (entityId && !seen[entityId]) {
261
+ seen[entityId] = true;
262
+ entityIds.push(entityId);
263
+ }
264
+ }
265
+ }
266
+ if (!entityIds.length) {
267
+ for (const waiter of waiters) {
268
+ waiter.resolve([]);
269
+ }
270
+ return;
271
+ }
272
+ this.inFlight = true;
273
+ this.lastSentAt = now;
274
+ this.params.read(entityIds, at).then((entities) => {
275
+ var _a, _b, _c;
276
+ const signatureOf = (_a = this.params.signatureOf) !== null && _a !== void 0 ? _a : SignatureOf;
277
+ const byId = {};
278
+ let changed = false;
279
+ for (const entity of entities || []) {
280
+ const id = (_b = entity === null || entity === void 0 ? void 0 : entity.Bruce) === null || _b === void 0 ? void 0 : _b.ID;
281
+ if (!id) {
282
+ continue;
283
+ }
284
+ byId[id] = entity;
285
+ const internalId = (_c = entity === null || entity === void 0 ? void 0 : entity.Bruce) === null || _c === void 0 ? void 0 : _c.InternalID;
286
+ if (internalId != null) {
287
+ this.heldInternalIds.set(internalId, id);
288
+ }
289
+ const signature = signatureOf(entity);
290
+ // An Entity read for the first time is not a change: there is nothing it differs
291
+ // from, and counting it as one would restart the backoff on every widened set.
292
+ if (this.heldSignatures[id] != null && this.heldSignatures[id] !== signature) {
293
+ changed = true;
294
+ }
295
+ this.heldSignatures[id] = signature;
296
+ }
297
+ this.idleReads = changed ? 0 : this.idleReads + 1;
298
+ this.held = { at, byId };
299
+ for (const waiter of waiters) {
300
+ waiter.resolve(waiter.ask.entityIds.map(id => byId[id]).filter(x => !!x));
301
+ }
302
+ }).catch((error) => {
303
+ for (const waiter of waiters) {
304
+ waiter.reject(error);
305
+ }
306
+ }).finally(() => {
307
+ this.inFlight = false;
308
+ this.schedulePump();
309
+ });
310
+ }
311
+ }
312
+ SharedHistoricGetters.Lane = Lane;
313
+ /**
314
+ * The lanes in play, keyed so that two managers reading the same Entities the same way land on the same one.
315
+ */
316
+ class Cache {
317
+ constructor() {
318
+ this.lanes = {};
319
+ }
320
+ /**
321
+ * Returns the lane for this endpoint and attribute key, creating it on first use.
322
+ * @param params
323
+ */
324
+ GetOrCreateLane(params) {
325
+ const key = `${params.baseUrl}|${params.attrKey || ""}`;
326
+ let lane = this.lanes[key];
327
+ if (!lane) {
328
+ lane = new Lane({
329
+ read: params.read,
330
+ getMinIntervalMs: params.getMinIntervalMs,
331
+ freshMs: params.freshMs,
332
+ maxIntervalMs: params.maxIntervalMs,
333
+ subscribeToChanges: params.subscribeToChanges,
334
+ isFeedConnected: params.isFeedConnected
335
+ });
336
+ this.lanes[key] = lane;
337
+ }
338
+ return lane;
339
+ }
340
+ Dispose() {
341
+ for (const key of Object.keys(this.lanes)) {
342
+ this.lanes[key].Dispose();
343
+ }
344
+ this.lanes = {};
345
+ }
346
+ }
347
+ SharedHistoricGetters.Cache = Cache;
348
+ })(SharedHistoricGetters = exports.SharedHistoricGetters || (exports.SharedHistoricGetters = {}));
349
+ //# sourceMappingURL=shared-getters-historic.js.map