ngx-bimplus-components 0.0.159-28783-1 → 0.0.159-28783-3

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.
@@ -226,7 +226,6 @@ export class ObjectPreviewComponent {
226
226
  }
227
227
  }
228
228
  });
229
- this.setAmbientOcclusionOptions();
230
229
  this.setBackgroundOptions();
231
230
  this.setHoverOption();
232
231
  this.viewport.draw();
@@ -249,14 +248,13 @@ export class ObjectPreviewComponent {
249
248
  console.error("content loader is not there!");
250
249
  return;
251
250
  }
252
- console.log('loading object...');
251
+ console.log('loading object:', this.objectId);
253
252
  this.isLoading = true;
254
253
  this.viewport?.resetViewport();
255
254
  const projectContent = null;
256
255
  this.contentLoader.loadObject(this.objectId, this.revision, projectContent).then(() => {
257
- this.recalculatePreviewSize();
258
- this.viewport?.draw(); // TODO: check if this is needed
259
- this.viewport?.zoomToObjects([this.objectId]);
256
+ // Set the viewport to project view - reset camera
257
+ this.viewport?.setupProjectView();
260
258
  this.isLoading = false;
261
259
  });
262
260
  }
@@ -282,4 +280,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
282
280
  }], opaqueNode: [{
283
281
  type: Input
284
282
  }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXByZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LXByZXZpZXcvb2JqZWN0LXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LXByZXZpZXcvb2JqZWN0LXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxNQUFNLEVBRU4sS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLFFBQVEsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUvQixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUJBQXFCLENBQUM7O0FBYWxELE1BQU0sT0FBTyxzQkFBc0I7SUFZakMsSUFDSSxRQUFRLENBQUMsRUFBVTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFLRCxJQUFhLFdBQVcsQ0FBQyxLQUFvQjtRQUMzQyxJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUMsRUFBRSxFQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENB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QUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E3U1Usc0JBQXNCO21HQUF0QixzQkFBc0IscVVDMUJuQyx1TUFNQSxpOEJEY0ksYUFBYTs7NEZBTUosc0JBQXNCO2tCQVZsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1A7d0JBQ1AsYUFBYTtxQkFDZCxpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJOytFQVVOLHVCQUF1QjtzQkFBckQsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRXBCLEdBQUc7c0JBQVgsS0FBSztnQkFHRixRQUFRO3NCQURYLEtBQUs7Z0JBWUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDTyxXQUFXO3NCQUF2QixLQUFLO2dCQUtPLFVBQVU7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIGVmZmVjdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgUmVuZGVyZXIgZnJvbSAnYmltcGx1cy1yZW5kZXJlcic7XHJcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcclxuaW1wb3J0IFdlYlNkayBmcm9tIFwiYmltcGx1cy13ZWJzZGtcIjtcclxuaW1wb3J0IHtUcmFuc2xhdGVQaXBlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBQcmV2aWV3T2JqZWN0IH0gZnJvbSAnLi9vYmplY3QtcHJldmlldy5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItb2JqZWN0LXByZXZpZXcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgVHJhbnNsYXRlUGlwZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9vYmplY3QtcHJldmlldy5jb21wb25lbnQubGVzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIE9iamVjdFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgdmlld3BvcnQ6IFJlbmRlcmVyLlZpZXdwb3J0M0QgfCBudWxsID0gbnVsbDtcclxuICBpc0xvYWRpbmcgPSB0cnVlO1xyXG4gIHByZXZpb3VzV2lkdGggPSAwO1xyXG4gIHByZXZpb3VzSGVpZ2h0ID0gMDtcclxuICByZXNpemVUaW1lb3V0OiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3JlbmRlcmVydmlld3BvcnQnKSByZW5kZXJlclZpZXdwb3J0RWxlbWVudCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpIGFwaTogV2ViU2RrLkFwaSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBvYmplY3RJZChpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9vYmplY3RJZCA9IGlkO1xyXG4gICAgdGhpcy5vbk9iamVjdElkQ2hhbmdlZCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9iamVjdElkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fb2JqZWN0SWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vYmplY3RJZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKSByZXZpc2lvbjogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHNldCB2aXNpYmxlTm9kZSh2YWx1ZTogUHJldmlld09iamVjdCl7XHJcbiAgICBpZih0aGlzLnZpZXdwb3J0KXtcclxuICAgICAgdGhpcy52aWV3cG9ydC50b2dnbGVPYmplY3ROb2RlKHtpZDp2YWx1ZS5pZCwgdmlzaWJsZTp2YWx1ZS52aXNpYmxlfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHNldCBvcGFxdWVOb2RlKHZhbHVlOiBQcmV2aWV3T2JqZWN0KXsgICAgXHJcbiAgICBpZih0aGlzLnZpZXdwb3J0KXtcclxuICAgICAgdGhpcy52aWV3cG9ydC50b2dnbGVPYmplY3ROb2RlT3BhY2l0eSh7aWQ6dmFsdWUuaWQsIG9wYWNpdHk6dmFsdWUub3BhcXVlfSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb250ZW50TG9hZGVyOiBSZW5kZXJlci5Db250ZW50TG9hZGVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgaXNSZW5kZXJlckluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgIGVmZmVjdCgoKT0+e1xyXG4gICAgICBpZiAodGhpcy52aXNpYmxlTm9kZSkge1xyXG4gICAgICAgIHRoaXMucHJvY2Vzc1Zpc2liaWxpdHlOb2RlKHRoaXMudmlzaWJsZU5vZGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIC8vIFJlYWN0IHRvIGNoYW5nZXMgaW4gdGhlIGBvcGFxdWVOb2RlYCBzaWduYWxcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLm9wYXF1ZU5vZGUpIHtcclxuICAgICAgICB0aGlzLnByb2Nlc3NPcGFjaXR5Tm9kZSh0aGlzLm9wYXF1ZU5vZGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgXHJcbiAgLy8gTWV0aG9kIHRvIHByb2Nlc3MgdGhlIG5vZGVcclxuICBwcm9jZXNzVmlzaWJpbGl0eU5vZGUobm9kZTogUHJldmlld09iamVjdCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coJ1Byb2Nlc3NpbmcgdmlzYmlsaXR5IG9mIG5vZGUgaW4gbGliLW9iamVjdC1wcmV2aWV3OicsIG5vZGUpOyAgIFxyXG4gIH1cclxuICBwcm9jZXNzT3BhY2l0eU5vZGUobm9kZTogUHJldmlld09iamVjdCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coJ1Byb2Nlc3Npbmcgb3BhY2l0eSBvZiBub2RlIGluIGxpYi1vYmplY3QtcHJldmlldzonLCBub2RlKTsgICBcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBcclxuICAgIC8vIEluaXRpYWxpemUgUmVzaXplT2JzZXJ2ZXJcclxuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcclxuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XHJcbiAgICAgICAgY29uc3Qgd2lkdGggPSBlbnRyeT8uY29udGVudFJlY3Q/LndpZHRoO1xyXG5cclxuICAgICAgICBpZiAod2lkdGggIT0gdGhpcy5wcmV2aW91c1dpZHRoKSB7XHJcbiAgICAgICAgICB0aGlzLnByZXZpb3VzV2lkdGggPSB3aWR0aDtcclxuICAgICAgICAgIHRoaXMucmVjYWxjdWxhdGVQcmV2aWV3U2l6ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gU3RhcnQgb2JzZXJ2aW5nIHRoZSBjb21wb25lbnQncyBtYWluIGNvbnRhaW5lclxyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKGNvbnRhaW5lcik7XHJcbiAgICB0aGlzLmluaXRSZW5kZXJlcigpO1xyXG5cclxuICAgIHRoaXMuY29udGVudExvYWRlciA9IG5ldyBSZW5kZXJlci5Db250ZW50TG9hZGVyKHRoaXMuYXBpIGFzIFdlYlNkay5BcGksIHRoaXMudmlld3BvcnQgYXMgUmVuZGVyZXIuVmlld3BvcnQzRCk7XHJcblxyXG4gICAgdGhpcy5pc1JlbmRlcmVySW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMubG9hZE9iamVjdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgICB0aGlzLnZpZXdwb3J0Py5kaXNwb3NlKCk7XHJcbiAgfVxyXG5cclxuICByZWNhbGN1bGF0ZVByZXZpZXdTaXplKCkge1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMucmVzaXplVGltZW91dCk7XHJcblxyXG4gICAgdGhpcy5yZXNpemVUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5yZW5kZXJlclZpZXdwb3J0RWxlbWVudD8ubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5yZW5kZXJlclZpZXdwb3J0RWxlbWVudD8ubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcblxyXG4gICAgICBpZiAod2lkdGggJiYgaGVpZ2h0KSB7XHJcbiAgICAgICAgdGhpcy52aWV3cG9ydD8uc2V0Vmlld3BvcnRTaXplKHdpZHRoLCBoZWlnaHQpO1xyXG4gICAgICAgIHRoaXMudmlld3BvcnQ/LmRyYXcoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKFwiVmlld3BvcnQgc2l6ZSBpcyB6ZXJvXCIpO1xyXG4gICAgICB9XHJcbiAgICB9LCAxKSBhcyB1bmtub3duIGFzIG51bWJlcjsgLy8gRGVsYXkgZXhlY3V0aW9uIHRvIGF2b2lkIHJhcGlkIHJlc2l6aW5nIGFuZCBmbGlja2VyaW5nXHJcbiAgfVxyXG5cclxuICBtZXRyaWNVbml0czogUmVuZGVyZXIuTWVhc3VyZW1lbnRVbml0cyA9IHtcclxuICAgIHdlaWdodDoge1xyXG4gICAgICBtdWx0aXBsaWNhdG9yOiAwLjAwMSxcclxuICAgICAgcHJlY2lzaW9uOiAyLFxyXG4gICAgICB1bml0OiAna2cnLFxyXG4gICAgfSxcclxuICAgIGxlbmd0aDoge1xyXG4gICAgICBtdWx0aXBsaWNhdG9yOiAwLjAwMSxcclxuICAgICAgcHJlY2lzaW9uOiAyLFxyXG4gICAgICB1bml0OiAnbScsXHJcbiAgICB9LFxyXG4gICAgd2lkdGg6IHtcclxuICAgICAgbXVsdGlwbGljYXRvcjogMC4wMDEsXHJcbiAgICAgIHByZWNpc2lvbjogMixcclxuICAgICAgdW5pdDogJ20nLFxyXG4gICAgfSxcclxuICAgIGhlaWdodDoge1xyXG4gICAgICBtdWx0aXBsaWNhdG9yOiAwLjAwMSxcclxuICAgICAgcHJlY2lzaW9uOiAyLFxyXG4gICAgICB1bml0OiAnbScsXHJcbiAgICB9LFxyXG4gICAgYXJlYToge1xyXG4gICAgICBtdWx0aXBsaWNhdG9yOiAwLjAwMDAwMSxcclxuICAgICAgcHJlY2lzaW9uOiAyLFxyXG4gICAgICB1bml0OiAnbcKyJyxcclxuICAgIH0sXHJcbiAgICB2b2x1bWU6IHtcclxuICAgICAgbXVsdGlwbGljYXRvcjogMWUtOSxcclxuICAgICAgcHJlY2lzaW9uOiAyLFxyXG4gICAgICB1bml0OiAnbcKzJyxcclxuICAgIH0sXHJcbiAgfTtcclxuXHJcbiAgaW1wZXJpYWxVbml0czogUmVuZGVyZXIuTWVhc3VyZW1lbnRVbml0cyA9IHtcclxuICAgIGxlbmd0aDoge1xyXG4gICAgICBtdWx0aXBsaWNhdG9yOiAwLjAwMzI4MDgzOTg5LFxyXG4gICAgICBwcmVjaXNpb246IDIsXHJcbiAgICAgIHVuaXQ6ICdmZWV0JyxcclxuICAgIH0sXHJcbiAgICB3aWR0aDoge1xyXG4gICAgICBtdWx0aXBsaWNhdG9yOiAwLjAwMzI4MDgzOTg5LFxyXG4gICAgICBwcmVjaXNpb246IDIsXHJcbiAgICAgIHVuaXQ6ICdmZWV0JyxcclxuICAgIH0sXHJcbiAgICBoZWlnaHQ6IHtcclxuICAgICAgbXVsdGlwbGljYXRvcjogMC4wMDMyODA4Mzk4OSxcclxuICAgICAgcHJlY2lzaW9uOiAyLFxyXG4gICAgICB1bml0OiAnZmVldCcsXHJcbiAgICB9LFxyXG4gIH07XHJcblxyXG4gIHZpZXdwb3J0U2V0dGluZ3M6IFJlbmRlcmVyLlZpZXdwb3J0U2V0dGluZ3MgPSB7XHJcbiAgICBkZWZhdWx0T3BhY2l0eTogMC41LFxyXG4gICAgZGlzY2lwbGluZU9wYWNpdHk6IDAuMSxcclxuICAgIHBpblNpemVTY2FsZUZhY3RvcjogMixcclxuICAgIG1heFdlYkdMQnVmZmVyU2l6ZTogMzUwZTEyLFxyXG4gICAgbWl4ZWRNb2RlbE1vZGU6IHRydWUsXHJcbiAgICB1c2VGcmFtZVNlbGVjdGlvbjogZmFsc2UsXHJcbiAgICBwaW5GbHlUb0Rpc3RhbmNlOiAyMDAwMCxcclxuICAgIG5lYXJDbGlwcGluZ1BsYW5lOiAwLjAxLFxyXG4gICAgc2xpZGVUaG1iU2l6ZTogWzE4MCwgMTEyXSxcclxuICAgIHVuaXRzOiB7XHJcbiAgICAgIG1tOiB0aGlzLm1ldHJpY1VuaXRzLFxyXG4gICAgICBpbmNoOiB7fSxcclxuICAgIH0sXHJcbiAgfTtcclxuXHJcbiAgdW5pdHMgPSB7XHJcbiAgICBNZXRyaWM6IHRoaXMubWV0cmljVW5pdHMsXHJcbiAgICBJbXBlcmlhbDogdGhpcy5pbXBlcmlhbFVuaXRzLFxyXG4gIH07XHJcblxyXG4gIHNldEFtYmllbnRPY2NsdXNpb25PcHRpb25zKCkge1xyXG4gICAgaWYgKCF0aGlzLnZpZXdwb3J0KSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZpZXdwb3J0T2NjbHVzaW9uRGF0YSA9IHtcclxuICAgICAgdXNhZ2U6IGZhbHNlLFxyXG4gICAgICB1c2FnZUZvckludGVyYWN0aW9uOiBmYWxzZSxcclxuICAgICAgdXNlU2hhZG93czogZmFsc2UsXHJcbiAgICAgIHVzZVNoYWRvd3NGb3JJbnRlcmFjdGlvbjogZmFsc2UsXHJcbiAgICAgIGxpZ2h0Um90YXRpb246IE1hdGguUEkgKiAzNS4wMCAvIDE4MC4wLFxyXG4gICAgICBsaWdodEVsZXZhdGlvbjogTWF0aC5QSSAqIDUwLjAwIC8gMTgwLjAsXHJcbiAgICAgIGxpZ2h0Q29sb3I6IG5ldyBUSFJFRS5Db2xvcigxLjAsIDEuMCwgMS4wKSxcclxuICAgICAgYW1iaWVudExpZ2h0Q29sb3I6IG5ldyBUSFJFRS5Db2xvcigwLjYsIDAuNiwgMC42KSxcclxuICAgIH07XHJcbiAgICB0aGlzLnZpZXdwb3J0LnNldEFtYmllbnRPY2NsdXNpb25PcHRpb25zKHZpZXdwb3J0T2NjbHVzaW9uRGF0YSk7XHJcbiAgfVxyXG5cclxuICBzZXRCYWNrZ3JvdW5kT3B0aW9ucygpIHtcclxuICAgIGlmICghdGhpcy52aWV3cG9ydCkge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkYXlTa3lCYWNrZ3JvdW5kU2V0dGluZyA9IHtcclxuICAgICAgbmFtZTogXCJkYXkgc2t5XCIsXHJcbiAgICAgIGFtYmllbnRMaWdodENvbG9yOiAweDg2ODY4NixcclxuICAgICAgYmFja2dyb3VuZFR5cGU6IFJlbmRlcmVyLkJhY2tncm91bmQuQmFja2dyb3VuZFR5cGVfTGluZWFyR3JhZGllbnQsXHJcbiAgICAgIGJhY2tncm91bmRQYXJhbXM6IHtcclxuICAgICAgICBhbHBoYTogMS4wLFxyXG4gICAgICAgIGNvbG9yU3RvcHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb2Zmc2V0OiAwLjAsXHJcbiAgICAgICAgICAgIGNvbG9yOiBcIiM4N0NERTlcIlxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb2Zmc2V0OiAwLjUxMDQsXHJcbiAgICAgICAgICAgIGNvbG9yOiBcIiNEREVERkVcIlxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb2Zmc2V0OiAwLjk2MzUsXHJcbiAgICAgICAgICAgIGNvbG9yOiBcIiNEM0QzRDRcIlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMudmlld3BvcnQuc2V0QmFja2dyb3VuZChkYXlTa3lCYWNrZ3JvdW5kU2V0dGluZy5iYWNrZ3JvdW5kVHlwZSwgZGF5U2t5QmFja2dyb3VuZFNldHRpbmcuYmFja2dyb3VuZFBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBzZXRIb3Zlck9wdGlvbih1c2VIb3ZlckVmZmVjdDogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIGlmICghdGhpcy52aWV3cG9ydCkge1xyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuICAgIHRoaXMudmlld3BvcnQuc2V0VXNlSG92ZXJFZmZlY3QodXNlSG92ZXJFZmZlY3QpO1xyXG4gIH1cclxuXHJcbiAgaW5pdFJlbmRlcmVyKCkge1xyXG4gICAgdGhpcy52aWV3cG9ydCA9IG5ldyBSZW5kZXJlci5WaWV3cG9ydDNEKHtcclxuICAgICAgc2V0dGluZ3M6IHRoaXMudmlld3BvcnRTZXR0aW5ncyxcclxuICAgICAgdW5pdHM6IHRoaXMudW5pdHMuTWV0cmljLFxyXG4gICAgICBkb21FbGVtZW50SWQ6IFwiXCIsXHJcbiAgICAgIEdQVVBpY2s6IHRydWUsXHJcbiAgICAgIGFwaTogdGhpcy5hcGkgYXMgV2ViU2RrLkFwaSxcclxuICAgICAgbmFtZTogXCJvYmplY3RQcmV2aWV3UmVuZGVyZXJWaWV3cG9ydFwiLFxyXG4gICAgICBsb29rdXBUZXh0dXJlU2l6ZTogMzIsXHJcbiAgICAgIHNzYW9TdXBwb3J0ZWQ6IGZhbHNlLCAvLyBEaXNhYmxlIFNTQU8gc3VwcG9ydCBmb3Igb2JqZWN0IGRldGFpbHMgd2luZG93XHJcbiAgICAgIHNoYWRvd3NTdXBwb3J0ZWQ6IGZhbHNlLFxyXG4gICAgICBwYW5uaW5nU2NhbGVGYWN0b3I6IDQuMCwgLy9JbiBjYXNlIG9mIHByZXZpZXcgd2luZG93IHVzZSBiaWdnZXIgcGFubmluZyBzY2FsZSBmYWN0b3JcclxuICAgICAgY29tbWFuZFBvbGljaWVzOiB7XHJcbiAgICAgICAgQ29tbWFuZFNlbGVjdDoge1xyXG4gICAgICAgICAgbm9CdWJibGU6IHRydWUsIC8vIERvbid0IGRvIGEgdXB3YXJkcyBhY3RpdmF0aW9uXHJcbiAgICAgICAgICBub1RyYXZlcnNlOiB0cnVlIC8vIERvbid0IGRvIGEgZG93bndhcmRzIGFjdGl2YXRpb25cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc2V0QW1iaWVudE9jY2x1c2lvbk9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2V0QmFja2dyb3VuZE9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2V0SG92ZXJPcHRpb24oKTtcclxuICAgIHRoaXMudmlld3BvcnQuZHJhdygpO1xyXG5cclxuICAgIGlmICh0aGlzLnZpZXdwb3J0Py5kb21FbGVtZW50KSB7XHJcbiAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ/LnNoYWRvd1Jvb3QgfHwgdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICBuYXRpdmVFbGVtZW50Py5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPy4oXCJyZW5kZXJlZC1wcmV2aWV3XCIpWzBdPy5hcHBlbmRDaGlsZD8uKHRoaXMudmlld3BvcnQuZG9tRWxlbWVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwibm8gZG9tIGVsZW1lbnQgcHJlc2VudCBmb3IgcmVuZGVyZXIhXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbk9iamVjdElkQ2hhbmdlZCgpIHtcclxuICAgIHRoaXMubG9hZE9iamVjdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkT2JqZWN0KCkge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVuZGVyZXJJbml0aWFsaXplZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmNvbnRlbnRMb2FkZXIpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihcImNvbnRlbnQgbG9hZGVyIGlzIG5vdCB0aGVyZSFcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zb2xlLmxvZygnbG9hZGluZyBvYmplY3QuLi4nKTtcclxuXHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy52aWV3cG9ydD8ucmVzZXRWaWV3cG9ydCgpO1xyXG5cclxuICAgIGNvbnN0IHByb2plY3RDb250ZW50ID0gbnVsbDtcclxuICAgIHRoaXMuY29udGVudExvYWRlci5sb2FkT2JqZWN0KHRoaXMub2JqZWN0SWQgYXMgc3RyaW5nLCB0aGlzLnJldmlzaW9uLCBwcm9qZWN0Q29udGVudCkudGhlbigoKSA9PiB7XHJcblxyXG4gICAgICB0aGlzLnJlY2FsY3VsYXRlUHJldmlld1NpemUoKTtcclxuXHJcbiAgICAgIHRoaXMudmlld3BvcnQ/LmRyYXcoKTsgLy8gVE9ETzogY2hlY2sgaWYgdGhpcyBpcyBuZWVkZWRcclxuXHJcbiAgICAgIHRoaXMudmlld3BvcnQ/Lnpvb21Ub09iamVjdHMoW3RoaXMub2JqZWN0SWQgYXMgc3RyaW5nXSk7XHJcblxyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyZW5kZXJlZC1wcmV2aWV3XCIgI3JlbmRlcmVydmlld3BvcnQ+XHJcbiAgQGlmIChpc0xvYWRpbmcpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLXNwaW5uZXItaWNvblwiIHRpdGxlPVwie3snX0xvYWRpbmdHZW9tZXRyeScgfCB0cmFuc2xhdGV9fVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXByZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LXByZXZpZXcvb2JqZWN0LXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LXByZXZpZXcvb2JqZWN0LXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxNQUFNLEVBRU4sS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLFFBQVEsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUvQixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUJBQXFCLENBQUM7O0FBYWxELE1BQU0sT0FBTyxzQkFBc0I7SUFZakMsSUFDSSxRQUFRLENBQUMsRUFBVTtRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFLRCxJQUFhLFdBQVcsQ0FBQyxLQUFvQjtRQUMzQyxJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUMsRUFBRSxFQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENB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VmxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUDt3QkFDUCxhQUFhO3FCQUNkLGlCQUdjLGlCQUFpQixDQUFDLElBQUk7K0VBVU4sdUJBQXVCO3NCQUFyRCxTQUFTO3VCQUFDLGtCQUFrQjtnQkFFcEIsR0FBRztzQkFBWCxLQUFLO2dCQUdGLFFBQVE7c0JBRFgsS0FBSztnQkFZRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBS08sVUFBVTtzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgZWZmZWN0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBSZW5kZXJlciBmcm9tICdiaW1wbHVzLXJlbmRlcmVyJztcclxuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xyXG5pbXBvcnQgV2ViU2RrIGZyb20gXCJiaW1wbHVzLXdlYnNka1wiO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVBpcGV9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IFByZXZpZXdPYmplY3QgfSBmcm9tICcuL29iamVjdC1wcmV2aWV3LmludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1vYmplY3QtcHJldmlldycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBUcmFuc2xhdGVQaXBlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29iamVjdC1wcmV2aWV3LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2JqZWN0UHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXIgfCBudWxsID0gbnVsbDtcclxuICB2aWV3cG9ydDogUmVuZGVyZXIuVmlld3BvcnQzRCB8IG51bGwgPSBudWxsO1xyXG4gIGlzTG9hZGluZyA9IHRydWU7XHJcbiAgcHJldmlvdXNXaWR0aCA9IDA7XHJcbiAgcHJldmlvdXNIZWlnaHQgPSAwO1xyXG4gIHJlc2l6ZVRpbWVvdXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQFZpZXdDaGlsZCgncmVuZGVyZXJ2aWV3cG9ydCcpIHJlbmRlcmVyVmlld3BvcnRFbGVtZW50ITogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KCkgYXBpOiBXZWJTZGsuQXBpIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG9iamVjdElkKGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX29iamVjdElkID0gaWQ7XHJcbiAgICB0aGlzLm9uT2JqZWN0SWRDaGFuZ2VkKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgb2JqZWN0SWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl9vYmplY3RJZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29iamVjdElkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpIHJldmlzaW9uOiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgc2V0IHZpc2libGVOb2RlKHZhbHVlOiBQcmV2aWV3T2JqZWN0KXtcclxuICAgIGlmKHRoaXMudmlld3BvcnQpe1xyXG4gICAgICB0aGlzLnZpZXdwb3J0LnRvZ2dsZU9iamVjdE5vZGUoe2lkOnZhbHVlLmlkLCB2aXNpYmxlOnZhbHVlLnZpc2libGV9KTtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgc2V0IG9wYXF1ZU5vZGUodmFsdWU6IFByZXZpZXdPYmplY3QpeyAgICBcclxuICAgIGlmKHRoaXMudmlld3BvcnQpe1xyXG4gICAgICB0aGlzLnZpZXdwb3J0LnRvZ2dsZU9iamVjdE5vZGVPcGFjaXR5KHtpZDp2YWx1ZS5pZCwgb3BhY2l0eTp2YWx1ZS5vcGFxdWV9KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnRlbnRMb2FkZXI6IFJlbmRlcmVyLkNvbnRlbnRMb2FkZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBpc1JlbmRlcmVySW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZikge1xyXG4gICAgZWZmZWN0KCgpPT57XHJcbiAgICAgIGlmICh0aGlzLnZpc2libGVOb2RlKSB7XHJcbiAgICAgICAgdGhpcy5wcm9jZXNzVmlzaWJpbGl0eU5vZGUodGhpcy52aXNpYmxlTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy8gUmVhY3QgdG8gY2hhbmdlcyBpbiB0aGUgYG9wYXF1ZU5vZGVgIHNpZ25hbFxyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMub3BhcXVlTm9kZSkge1xyXG4gICAgICAgIHRoaXMucHJvY2Vzc09wYWNpdHlOb2RlKHRoaXMub3BhcXVlTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBcclxuICAvLyBNZXRob2QgdG8gcHJvY2VzcyB0aGUgbm9kZVxyXG4gIHByb2Nlc3NWaXNpYmlsaXR5Tm9kZShub2RlOiBQcmV2aWV3T2JqZWN0KTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnUHJvY2Vzc2luZyB2aXNiaWxpdHkgb2Ygbm9kZSBpbiBsaWItb2JqZWN0LXByZXZpZXc6Jywgbm9kZSk7ICAgXHJcbiAgfVxyXG4gIHByb2Nlc3NPcGFjaXR5Tm9kZShub2RlOiBQcmV2aWV3T2JqZWN0KTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnUHJvY2Vzc2luZyBvcGFjaXR5IG9mIG5vZGUgaW4gbGliLW9iamVjdC1wcmV2aWV3OicsIG5vZGUpOyAgIFxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIFxyXG4gICAgLy8gSW5pdGlhbGl6ZSBSZXNpemVPYnNlcnZlclxyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xyXG4gICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcclxuICAgICAgICBjb25zdCB3aWR0aCA9IGVudHJ5Py5jb250ZW50UmVjdD8ud2lkdGg7XHJcblxyXG4gICAgICAgIGlmICh3aWR0aCAhPSB0aGlzLnByZXZpb3VzV2lkdGgpIHtcclxuICAgICAgICAgIHRoaXMucHJldmlvdXNXaWR0aCA9IHdpZHRoO1xyXG4gICAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZVByZXZpZXdTaXplKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBTdGFydCBvYnNlcnZpbmcgdGhlIGNvbXBvbmVudCdzIG1haW4gY29udGFpbmVyXHJcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUoY29udGFpbmVyKTtcclxuICAgIHRoaXMuaW5pdFJlbmRlcmVyKCk7XHJcblxyXG4gICAgdGhpcy5jb250ZW50TG9hZGVyID0gbmV3IFJlbmRlcmVyLkNvbnRlbnRMb2FkZXIodGhpcy5hcGkgYXMgV2ViU2RrLkFwaSwgdGhpcy52aWV3cG9ydCBhcyBSZW5kZXJlci5WaWV3cG9ydDNEKTtcclxuXHJcbiAgICB0aGlzLmlzUmVuZGVyZXJJbml0aWFsaXplZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5sb2FkT2JqZWN0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICAgIHRoaXMudmlld3BvcnQ/LmRpc3Bvc2UoKTtcclxuICB9XHJcblxyXG4gIHJlY2FsY3VsYXRlUHJldmlld1NpemUoKSB7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lb3V0KTtcclxuXHJcbiAgICB0aGlzLnJlc2l6ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLnJlbmRlcmVyVmlld3BvcnRFbGVtZW50Py5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICBjb25zdCBoZWlnaHQgPSB0aGlzLnJlbmRlcmVyVmlld3BvcnRFbGVtZW50Py5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuXHJcbiAgICAgIGlmICh3aWR0aCAmJiBoZWlnaHQpIHtcclxuICAgICAgICB0aGlzLnZpZXdwb3J0Py5zZXRWaWV3cG9ydFNpemUod2lkdGgsIGhlaWdodCk7XHJcbiAgICAgICAgdGhpcy52aWV3cG9ydD8uZHJhdygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJWaWV3cG9ydCBzaXplIGlzIHplcm9cIik7XHJcbiAgICAgIH1cclxuICAgIH0sIDEpIGFzIHVua25vd24gYXMgbnVtYmVyOyAvLyBEZWxheSBleGVjdXRpb24gdG8gYXZvaWQgcmFwaWQgcmVzaXppbmcgYW5kIGZsaWNrZXJpbmdcclxuICB9XHJcblxyXG4gIG1ldHJpY1VuaXRzOiBSZW5kZXJlci5NZWFzdXJlbWVudFVuaXRzID0ge1xyXG4gICAgd2VpZ2h0OiB7XHJcbiAgICAgIG11bHRpcGxpY2F0b3I6IDAuMDAxLFxyXG4gICAgICBwcmVjaXNpb246IDIsXHJcbiAgICAgIHVuaXQ6ICdrZycsXHJcbiAgICB9LFxyXG4gICAgbGVuZ3RoOiB7XHJcbiAgICAgIG11bHRpcGxpY2F0b3I6IDAuMDAxLFxyXG4gICAgICBwcmVjaXNpb246IDIsXHJcbiAgICAgIHVuaXQ6ICdtJyxcclxuICAgIH0sXHJcbiAgICB3aWR0aDoge1xyXG4gICAgICBtdWx0aXBsaWNhdG9yOiAwLjAwMSxcclxuICAgICAgcHJlY2lzaW9uOiAyLFxyXG4gICAgICB1bml0OiAnbScsXHJcbiAgICB9LFxyXG4gICAgaGVpZ2h0OiB7XHJcbiAgICAgIG11bHRpcGxpY2F0b3I6IDAuMDAxLFxyXG4gICAgICBwcmVjaXNpb246IDIsXHJcbiAgICAgIHVuaXQ6ICdtJyxcclxuICAgIH0sXHJcbiAgICBhcmVhOiB7XHJcbiAgICAgIG11bHRpcGxpY2F0b3I6IDAuMDAwMDAxLFxyXG4gICAgICBwcmVjaXNpb246IDIsXHJcbiAgICAgIHVuaXQ6ICdtwrInLFxyXG4gICAgfSxcclxuICAgIHZvbHVtZToge1xyXG4gICAgICBtdWx0aXBsaWNhdG9yOiAxZS05LFxyXG4gICAgICBwcmVjaXNpb246IDIsXHJcbiAgICAgIHVuaXQ6ICdtwrMnLFxyXG4gICAgfSxcclxuICB9O1xyXG5cclxuICBpbXBlcmlhbFVuaXRzOiBSZW5kZXJlci5NZWFzdXJlbWVudFVuaXRzID0ge1xyXG4gICAgbGVuZ3RoOiB7XHJcbiAgICAgIG11bHRpcGxpY2F0b3I6IDAuMDAzMjgwODM5ODksXHJcbiAgICAgIHByZWNpc2lvbjogMixcclxuICAgICAgdW5pdDogJ2ZlZXQnLFxyXG4gICAgfSxcclxuICAgIHdpZHRoOiB7XHJcbiAgICAgIG11bHRpcGxpY2F0b3I6IDAuMDAzMjgwODM5ODksXHJcbiAgICAgIHByZWNpc2lvbjogMixcclxuICAgICAgdW5pdDogJ2ZlZXQnLFxyXG4gICAgfSxcclxuICAgIGhlaWdodDoge1xyXG4gICAgICBtdWx0aXBsaWNhdG9yOiAwLjAwMzI4MDgzOTg5LFxyXG4gICAgICBwcmVjaXNpb246IDIsXHJcbiAgICAgIHVuaXQ6ICdmZWV0JyxcclxuICAgIH0sXHJcbiAgfTtcclxuXHJcbiAgdmlld3BvcnRTZXR0aW5nczogUmVuZGVyZXIuVmlld3BvcnRTZXR0aW5ncyA9IHtcclxuICAgIGRlZmF1bHRPcGFjaXR5OiAwLjUsXHJcbiAgICBkaXNjaXBsaW5lT3BhY2l0eTogMC4xLFxyXG4gICAgcGluU2l6ZVNjYWxlRmFjdG9yOiAyLFxyXG4gICAgbWF4V2ViR0xCdWZmZXJTaXplOiAzNTBlMTIsXHJcbiAgICBtaXhlZE1vZGVsTW9kZTogdHJ1ZSxcclxuICAgIHVzZUZyYW1lU2VsZWN0aW9uOiBmYWxzZSxcclxuICAgIHBpbkZseVRvRGlzdGFuY2U6IDIwMDAwLFxyXG4gICAgbmVhckNsaXBwaW5nUGxhbmU6IDAuMDEsXHJcbiAgICBzbGlkZVRobWJTaXplOiBbMTgwLCAxMTJdLFxyXG4gICAgdW5pdHM6IHtcclxuICAgICAgbW06IHRoaXMubWV0cmljVW5pdHMsXHJcbiAgICAgIGluY2g6IHt9LFxyXG4gICAgfSxcclxuICB9O1xyXG5cclxuICB1bml0cyA9IHtcclxuICAgIE1ldHJpYzogdGhpcy5tZXRyaWNVbml0cyxcclxuICAgIEltcGVyaWFsOiB0aGlzLmltcGVyaWFsVW5pdHMsXHJcbiAgfTtcclxuXHJcbiAgc2V0QW1iaWVudE9jY2x1c2lvbk9wdGlvbnMoKSB7XHJcbiAgICBpZiAoIXRoaXMudmlld3BvcnQpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgdmlld3BvcnRPY2NsdXNpb25EYXRhID0ge1xyXG4gICAgICB1c2FnZTogZmFsc2UsXHJcbiAgICAgIHVzYWdlRm9ySW50ZXJhY3Rpb246IGZhbHNlLFxyXG4gICAgICB1c2VTaGFkb3dzOiBmYWxzZSxcclxuICAgICAgdXNlU2hhZG93c0ZvckludGVyYWN0aW9uOiBmYWxzZSxcclxuICAgICAgbGlnaHRSb3RhdGlvbjogTWF0aC5QSSAqIDM1LjAwIC8gMTgwLjAsXHJcbiAgICAgIGxpZ2h0RWxldmF0aW9uOiBNYXRoLlBJICogNTAuMDAgLyAxODAuMCxcclxuICAgICAgbGlnaHRDb2xvcjogbmV3IFRIUkVFLkNvbG9yKDEuMCwgMS4wLCAxLjApLFxyXG4gICAgICBhbWJpZW50TGlnaHRDb2xvcjogbmV3IFRIUkVFLkNvbG9yKDAuNiwgMC42LCAwLjYpLFxyXG4gICAgfTtcclxuICAgIHRoaXMudmlld3BvcnQuc2V0QW1iaWVudE9jY2x1c2lvbk9wdGlvbnModmlld3BvcnRPY2NsdXNpb25EYXRhKTtcclxuICB9XHJcblxyXG4gIHNldEJhY2tncm91bmRPcHRpb25zKCkge1xyXG4gICAgaWYgKCF0aGlzLnZpZXdwb3J0KSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRheVNreUJhY2tncm91bmRTZXR0aW5nID0ge1xyXG4gICAgICBuYW1lOiBcImRheSBza3lcIixcclxuICAgICAgYW1iaWVudExpZ2h0Q29sb3I6IDB4ODY4Njg2LFxyXG4gICAgICBiYWNrZ3JvdW5kVHlwZTogUmVuZGVyZXIuQmFja2dyb3VuZC5CYWNrZ3JvdW5kVHlwZV9MaW5lYXJHcmFkaWVudCxcclxuICAgICAgYmFja2dyb3VuZFBhcmFtczoge1xyXG4gICAgICAgIGFscGhhOiAxLjAsXHJcbiAgICAgICAgY29sb3JTdG9wczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvZmZzZXQ6IDAuMCxcclxuICAgICAgICAgICAgY29sb3I6IFwiIzg3Q0RFOVwiXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvZmZzZXQ6IDAuNTEwNCxcclxuICAgICAgICAgICAgY29sb3I6IFwiI0RERURGRVwiXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvZmZzZXQ6IDAuOTYzNSxcclxuICAgICAgICAgICAgY29sb3I6IFwiI0QzRDNENFwiXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy52aWV3cG9ydC5zZXRCYWNrZ3JvdW5kKGRheVNreUJhY2tncm91bmRTZXR0aW5nLmJhY2tncm91bmRUeXBlLCBkYXlTa3lCYWNrZ3JvdW5kU2V0dGluZy5iYWNrZ3JvdW5kUGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHNldEhvdmVyT3B0aW9uKHVzZUhvdmVyRWZmZWN0OiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgaWYgKCF0aGlzLnZpZXdwb3J0KSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3cG9ydC5zZXRVc2VIb3ZlckVmZmVjdCh1c2VIb3ZlckVmZmVjdCk7XHJcbiAgfVxyXG5cclxuICBpbml0UmVuZGVyZXIoKSB7XHJcbiAgICB0aGlzLnZpZXdwb3J0ID0gbmV3IFJlbmRlcmVyLlZpZXdwb3J0M0Qoe1xyXG4gICAgICBzZXR0aW5nczogdGhpcy52aWV3cG9ydFNldHRpbmdzLFxyXG4gICAgICB1bml0czogdGhpcy51bml0cy5NZXRyaWMsXHJcbiAgICAgIGRvbUVsZW1lbnRJZDogXCJcIixcclxuICAgICAgR1BVUGljazogdHJ1ZSxcclxuICAgICAgYXBpOiB0aGlzLmFwaSBhcyBXZWJTZGsuQXBpLFxyXG4gICAgICBuYW1lOiBcIm9iamVjdFByZXZpZXdSZW5kZXJlclZpZXdwb3J0XCIsXHJcbiAgICAgIGxvb2t1cFRleHR1cmVTaXplOiAzMixcclxuICAgICAgc3Nhb1N1cHBvcnRlZDogZmFsc2UsIC8vIERpc2FibGUgU1NBTyBzdXBwb3J0IGZvciBvYmplY3QgZGV0YWlscyB3aW5kb3dcclxuICAgICAgc2hhZG93c1N1cHBvcnRlZDogZmFsc2UsXHJcbiAgICAgIHBhbm5pbmdTY2FsZUZhY3RvcjogNC4wLCAvL0luIGNhc2Ugb2YgcHJldmlldyB3aW5kb3cgdXNlIGJpZ2dlciBwYW5uaW5nIHNjYWxlIGZhY3RvclxyXG4gICAgICBjb21tYW5kUG9saWNpZXM6IHtcclxuICAgICAgICBDb21tYW5kU2VsZWN0OiB7XHJcbiAgICAgICAgICBub0J1YmJsZTogdHJ1ZSwgLy8gRG9uJ3QgZG8gYSB1cHdhcmRzIGFjdGl2YXRpb25cclxuICAgICAgICAgIG5vVHJhdmVyc2U6IHRydWUgLy8gRG9uJ3QgZG8gYSBkb3dud2FyZHMgYWN0aXZhdGlvblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zZXRCYWNrZ3JvdW5kT3B0aW9ucygpO1xyXG4gICAgdGhpcy5zZXRIb3Zlck9wdGlvbigpO1xyXG4gICAgdGhpcy52aWV3cG9ydC5kcmF3KCk7XHJcblxyXG4gICAgaWYgKHRoaXMudmlld3BvcnQ/LmRvbUVsZW1lbnQpIHtcclxuICAgICAgY29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudD8uc2hhZG93Um9vdCB8fCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIG5hdGl2ZUVsZW1lbnQ/LmdldEVsZW1lbnRzQnlDbGFzc05hbWU/LihcInJlbmRlcmVkLXByZXZpZXdcIilbMF0/LmFwcGVuZENoaWxkPy4odGhpcy52aWV3cG9ydC5kb21FbGVtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJubyBkb20gZWxlbWVudCBwcmVzZW50IGZvciByZW5kZXJlciFcIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uT2JqZWN0SWRDaGFuZ2VkKCkge1xyXG4gICAgdGhpcy5sb2FkT2JqZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRPYmplY3QoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZW5kZXJlckluaXRpYWxpemVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuY29udGVudExvYWRlcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiY29udGVudCBsb2FkZXIgaXMgbm90IHRoZXJlIVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnNvbGUubG9nKCdsb2FkaW5nIG9iamVjdDonLCB0aGlzLm9iamVjdElkKTtcclxuXHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy52aWV3cG9ydD8ucmVzZXRWaWV3cG9ydCgpO1xyXG5cclxuICAgIGNvbnN0IHByb2plY3RDb250ZW50ID0gbnVsbDtcclxuICAgIHRoaXMuY29udGVudExvYWRlci5sb2FkT2JqZWN0KHRoaXMub2JqZWN0SWQgYXMgc3RyaW5nLCB0aGlzLnJldmlzaW9uLCBwcm9qZWN0Q29udGVudCkudGhlbigoKSA9PiB7XHJcbiAgICAgIC8vIFNldCB0aGUgdmlld3BvcnQgdG8gcHJvamVjdCB2aWV3IC0gcmVzZXQgY2FtZXJhXHJcbiAgICAgIHRoaXMudmlld3BvcnQ/LnNldHVwUHJvamVjdFZpZXcoKTtcclxuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmVuZGVyZWQtcHJldmlld1wiICNyZW5kZXJlcnZpZXdwb3J0PlxyXG4gIEBpZiAoaXNMb2FkaW5nKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy1zcGlubmVyLWljb25cIiB0aXRsZT1cInt7J19Mb2FkaW5nR2VvbWV0cnknIHwgdHJhbnNsYXRlfX1cIj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
@@ -7911,7 +7911,6 @@ class ObjectPreviewComponent {
7911
7911
  }
7912
7912
  }
7913
7913
  });
7914
- this.setAmbientOcclusionOptions();
7915
7914
  this.setBackgroundOptions();
7916
7915
  this.setHoverOption();
7917
7916
  this.viewport.draw();
@@ -7934,14 +7933,13 @@ class ObjectPreviewComponent {
7934
7933
  console.error("content loader is not there!");
7935
7934
  return;
7936
7935
  }
7937
- console.log('loading object...');
7936
+ console.log('loading object:', this.objectId);
7938
7937
  this.isLoading = true;
7939
7938
  this.viewport?.resetViewport();
7940
7939
  const projectContent = null;
7941
7940
  this.contentLoader.loadObject(this.objectId, this.revision, projectContent).then(() => {
7942
- this.recalculatePreviewSize();
7943
- this.viewport?.draw(); // TODO: check if this is needed
7944
- this.viewport?.zoomToObjects([this.objectId]);
7941
+ // Set the viewport to project view - reset camera
7942
+ this.viewport?.setupProjectView();
7945
7943
  this.isLoading = false;
7946
7944
  });
7947
7945
  }