@ethlete/cdk 4.29.0 → 4.29.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ethlete/cdk
2
2
 
3
+ ## 4.29.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`e63cfe8`](https://github.com/ethlete-io/ethdk/commit/e63cfe810bcba6cf2d7ac44b21607719395e0b3e) Thanks [@TomTomB](https://github.com/TomTomB)! - Fix all masonry items getting placed on the same position (x:0, y:0)
8
+
3
9
  ## 4.29.0
4
10
 
5
11
  ### Minor Changes
@@ -164,8 +164,12 @@ export class MasonryComponent {
164
164
  if (!row)
165
165
  continue;
166
166
  row.push(updatedDimensions.height);
167
+ const total = updatedDimensions.height + state.gap;
167
168
  if (row[0]) {
168
- row[0] += updatedDimensions.height + state.gap;
169
+ row[0] += total;
170
+ }
171
+ else {
172
+ row[0] = total;
169
173
  }
170
174
  }
171
175
  state.hostHeight = this._getHighestColumn(state.gridRowElHeights).highestColumnHeight - state.gap;
@@ -206,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImpor
206
210
  }], initialized: [{
207
211
  type: Output
208
212
  }] } });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzb25yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvbWFzb25yeS9jb21wb25lbnRzL21hc29ucnkvbWFzb25yeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxFQUNmLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFDTCxhQUFhLEVBQ2IsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsY0FBYyxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNySCxPQUFPLEVBQUUsa0JBQWtCLEVBQXdCLE1BQU0sNkJBQTZCLENBQUM7O0FBNkJ2RixNQUFNLE9BQU8sZ0JBQWdCO0lBZjdCO1FBZ0JtQixjQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFDNUIsZ0JBQVcsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBQzFELGVBQVUsR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFZbEUsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBUyxHQUFHLENBQUMsQ0FBQztRQVNoRCxVQUFLLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFB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LFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSXhFLFVBQVU7c0JBRGIsS0FBSztnQkFVRixHQUFHO3NCQUROLEtBQUs7Z0JBVUcsWUFBWTtzQkFEcEIsTUFBTTtnQkFJRSxXQUFXO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIGNyZWF0ZURlc3Ryb3ksXG4gIERFTEFZQUJMRV9UT0tFTixcbiAgT2JzZXJ2ZVJlc2l6ZURpcmVjdGl2ZSxcbiAgc2lnbmFsSG9zdENsYXNzZXMsXG4gIFR5cGVkUXVlcnlMaXN0LFxufSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBvZiwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTUFTT05SWV9JVEVNX1RPS0VOLCBNYXNvbnJ5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhcnRpYWxzL21hc29ucnktaXRlbSc7XG5cbnR5cGUgTWFzb25yeVN0YXRlID0ge1xuICBwcmVmZXJyZWRDb2x1bW5XaWR0aDogbnVtYmVyO1xuICBjb2x1bW5XaWR0aDogbnVtYmVyO1xuICBjb2x1bW5zOiBudW1iZXI7XG4gIGdyaWRSb3dFbEhlaWdodHM6IG51bWJlcltdW107XG4gIGhvc3RIZWlnaHQ6IG51bWJlcjtcbiAgaG9zdERpbWVuc2lvbnM6IERPTVJlY3QgfCBudWxsO1xuICBnYXA6IG51bWJlcjtcbiAgaXNJbml0aWFsaXplZDogYm9vbGVhbjtcbiAgaXRlbUNvdW50OiBudW1iZXI7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1tYXNvbnJ5JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IChldE9ic2VydmVSZXNpemUpPVwic2V0UmVzaXplRXZlbnQoKVwiPjwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltldE1hc29ucnlJdGVtXSwgZXQtbWFzb25yeS1pdGVtLCBuZy1jb250YWluZXJcIiAvPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9tYXNvbnJ5LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1tYXNvbnJ5JyxcbiAgfSxcbiAgaW1wb3J0czogW09ic2VydmVSZXNpemVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXNvbnJ5Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gY3JlYXRlRGVzdHJveSgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVsYXlhYmxlID0gaW5qZWN0KERFTEFZQUJMRV9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gTUFTT05SWV9JVEVNX1RPS0VOKSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIHJlYWRvbmx5IF9pdGVtcz86IFR5cGVkUXVlcnlMaXN0PE1hc29ucnlJdGVtQ29tcG9uZW50PjtcblxuICBASW5wdXQoKVxuICBnZXQgY29sdW1XaWR0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bVdpZHRoJC5nZXRWYWx1ZSgpIHx8IDI1MDtcbiAgfVxuICBzZXQgY29sdW1XaWR0aCh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX2NvbHVtV2lkdGgkLm5leHQobnVtYmVyQXR0cmlidXRlKHZhbHVlLCAyNTApKTtcbiAgfVxuICBwcml2YXRlIF9jb2x1bVdpZHRoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigyNTApO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBnYXAoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZ2FwJC5nZXRWYWx1ZSgpIHx8IDA7XG4gIH1cbiAgc2V0IGdhcCh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX2dhcCQubmV4dChudW1iZXJBdHRyaWJ1dGUodmFsdWUsIDE2KSk7XG4gIH1cbiAgcHJpdmF0ZSBfZ2FwJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxNik7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGluaXRpYWxpemluZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgaW5pdGlhbGl6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGlkUmVzaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaWRJbml0aWFsaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9oaWRlT3ZlcmZsb3ckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzQmluZGluZ3MgPSBzaWduYWxIb3N0Q2xhc3Nlcyh7XG4gICAgJ2V0LW1hc29ucnktLWluaXRpYWxpemVkJzogdG9TaWduYWwodGhpcy5fZGlkSW5pdGlhbGl6ZSQpLFxuICAgICdldC1tYXNvbnJ5LS1oaWRlLW92ZXJmbG93JzogdG9TaWduYWwodGhpcy5faGlkZU92ZXJmbG93JCksXG4gIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlOiBNYXNvbnJ5U3RhdGUgPSB7XG4gICAgcHJlZmVycmVkQ29sdW1uV2lkdGg6IDAsXG4gICAgY29sdW1uV2lkdGg6IDAsXG4gICAgY29sdW1uczogMCxcbiAgICBncmlkUm93RWxIZWlnaHRzOiBbXSxcbiAgICBob3N0SGVpZ2h0OiAwLFxuICAgIGhvc3REaW1lbnNpb25zOiBudWxsLFxuICAgIGdhcDogMCxcbiAgICBpdGVtQ291bnQ6IDAsXG4gICAgaXNJbml0aWFsaXplZDogZmFsc2UsXG4gIH07XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXRlbXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9kZWxheWFibGU/LmVuYWJsZURlbGF5ZWQoKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX2l0ZW1zLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5faXRlbXMpKSwgdGhpcy5fZGlkUmVzaXplJCwgdGhpcy5fY29sdW1XaWR0aCQsIHRoaXMuX2dhcCRdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgxKSxcbiAgICAgICAgdGFwKChbLCBkaWRSZXNpemUsIGNvbFdpZHRoLCBnYXBdKSA9PiB7XG4gICAgICAgICAgaWYgKGRpZFJlc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fZGlkUmVzaXplJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpc0NvbXBsZXRlSW52YWxpZCA9XG4gICAgICAgICAgICBkaWRSZXNpemUgfHwgY29sV2lkdGggIT09IHRoaXMuX3N0YXRlLnByZWZlcnJlZENvbHVtbldpZHRoIHx8IGdhcCAhPT0gdGhpcy5fc3RhdGUuZ2FwO1xuXG4gICAgICAgICAgdGhpcy5pbnZhbGlkYXRlKHsgcGFydGlhbDogIWlzQ29tcGxldGVJbnZhbGlkIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2RpZFJlc2l6ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5faGlkZU92ZXJmbG93JC5uZXh0KHRydWUpKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRpbWVyKDE1MCkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5faGlkZU92ZXJmbG93JC5uZXh0KGZhbHNlKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9pdGVtcy5jaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuX2l0ZW1zKSxcbiAgICAgICAgc3dpdGNoTWFwKChpdGVtcykgPT5cbiAgICAgICAgICBpdGVtcy5sZW5ndGhcbiAgICAgICAgICAgID8gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgICAgICBpdGVtc1xuICAgICAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgLmZpbHRlcigoaSk6IGkgaXMgTWFzb25yeUl0ZW1Db21wb25lbnQgPT4gISFpKVxuICAgICAgICAgICAgICAgICAgLm1hcCgoaSkgPT4gaS5pc1Bvc2l0aW9uZWQkKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZihbXSksXG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcCgocG9zaXRpb25lZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFsbFBvc2l0aW9uZWQgPSBwb3NpdGlvbmVkLmV2ZXJ5KChpKSA9PiBpKTtcblxuICAgICAgICAgIGlmICghYWxsUG9zaXRpb25lZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlkSW5pdGlhbGl6ZSQubmV4dChhbGxQb3NpdGlvbmVkKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6aW5nLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMuX2RlbGF5YWJsZT8uZW5hYmxlRGVsYXllZCgpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aW1lcigxMDApLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9kaWRJbml0aWFsaXplJC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgICB0aGlzLl9kZWxheWFibGU/LmRpc2FibGVEZWxheWVkKCk7XG4gICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQuZW1pdCgpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBpbnZhbGlkYXRlKGNvbmZpZz86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICAgIGNvbnN0IGl0ZW1MaXN0ID0gdGhpcy5faXRlbXM7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLl9zdGF0ZTtcblxuICAgIGlmICghaXRlbUxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtcyA9IGl0ZW1MaXN0LnRvQXJyYXkoKS5maWx0ZXIoKGkpOiBpIGlzIE1hc29ucnlJdGVtQ29tcG9uZW50ID0+ICEhaSk7XG5cbiAgICBpZiAoIWNvbmZpZz8ucGFydGlhbCB8fCAhc3RhdGUuaXNJbml0aWFsaXplZCkge1xuICAgICAgc3RhdGUucHJlZmVycmVkQ29sdW1uV2lkdGggPSB0aGlzLmNvbHVtV2lkdGg7XG4gICAgICBzdGF0ZS5ob3N0RGltZW5zaW9ucyA9IHRoaXMuX2dldEhvc3REaW1lbnNpb25zKCk7XG4gICAgICBzdGF0ZS5jb2x1bW5zID0gTWF0aC5mbG9vcihzdGF0ZS5ob3N0RGltZW5zaW9ucy53aWR0aCAvIHRoaXMuY29sdW1XaWR0aCk7XG4gICAgICBzdGF0ZS5nYXAgPSB0aGlzLmdhcDtcbiAgICAgIHN0YXRlLml0ZW1Db3VudCA9IGl0ZW1zLmxlbmd0aDtcbiAgICAgIHN0YXRlLmNvbHVtbldpZHRoID0gKHN0YXRlLmhvc3REaW1lbnNpb25zLndpZHRoIC0gKHN0YXRlLmNvbHVtbnMgLSAxKSAqIHN0YXRlLmdhcCkgLyBzdGF0ZS5jb2x1bW5zO1xuICAgICAgdGhpcy5fc2V0Q29sdW1uV2lkdGgoc3RhdGUuY29sdW1uV2lkdGgpO1xuXG4gICAgICAvKipcbiAgICAgICAqIERhdGEgc3RydWN0dXJlOlxuICAgICAgICogW1xuICAgICAgICogIFtjdXJyZW50VG90YWxIZWlnaHRPZkNvbCwgaXRlbUhlaWdodCwgaXRlbUhlaWdodCwgaXRlbUhlaWdodF0sXG4gICAgICAgKiAgW2N1cnJlbnRUb3RhbEhlaWdodE9mQ29sLCBpdGVtSGVpZ2h0LCBpdGVtSGVpZ2h0LCBpdGVtSGVpZ2h0XSxcbiAgICAgICAqIF1cbiAgICAgICAqL1xuICAgICAgc3RhdGUuZ3JpZFJvd0VsSGVpZ2h0cyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IHN0YXRlLmNvbHVtbnMgfSkubWFwKCgpID0+IFswXSk7XG5cbiAgICAgIHRoaXMuX3BhaW50TWFzb25yeSgwLCBpdGVtcyk7XG5cbiAgICAgIHN0YXRlLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmcm9tSW5kZXggPSBpdGVtcy5maW5kSW5kZXgoKGl0ZW0pID0+ICFpdGVtLmlzUG9zaXRpb25lZCk7XG5cbiAgICAgIC8vIGl0ZW0gY291bnQgMjAgZnJvbUluZGV4IDIwICsgMSAtPiAyMSA9PiBwYXJ0aWFsIGludmFsaWRhdGlvblxuICAgICAgaWYgKGZyb21JbmRleCArIDEgPiBzdGF0ZS5pdGVtQ291bnQpIHtcbiAgICAgICAgc3RhdGUuaXRlbUNvdW50ID0gaXRlbXMubGVuZ3RoO1xuICAgICAgICB0aGlzLl9wYWludE1hc29ucnkoZnJvbUluZGV4LCBpdGVtcyk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBkbyBhIGZ1bGwgaW52YWxpZGF0aW9uIHRoZSBmcm9tSW5kZXggaXMgbm90IHRoZSBmaXJzdCBuZXcgaXRlbVxuICAgICAgdGhpcy5pbnZhbGlkYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcGFpbnRNYXNvbnJ5KGZyb21JbmRleCA9IDAsIGl0ZW1zOiBNYXNvbnJ5SXRlbUNvbXBvbmVudFtdKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLl9zdGF0ZTtcblxuICAgIGZvciAobGV0IGl0ZW1JbmRleCA9IGZyb21JbmRleDsgaXRlbUluZGV4IDwgaXRlbXMubGVuZ3RoOyBpdGVtSW5kZXgrKykge1xuICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2l0ZW1JbmRleF07XG5cbiAgICAgIGlmICghaXRlbSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW5pdGlhbEl0ZW1EaW1lbnNpb25zID0gaXRlbS5pbml0aWFsRGltZW5zaW9ucztcbiAgICAgIGNvbnN0IHVwZGF0ZWREaW1lbnNpb25zID0gaXRlbS5kaW1lbnNpb25zO1xuXG4gICAgICBpZiAoIWluaXRpYWxJdGVtRGltZW5zaW9ucyB8fCAhdXBkYXRlZERpbWVuc2lvbnMpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgbG93ZXN0Q29sdW1uSGVpZ2h0LCBsb3dlc3RDb2x1bW5JbmRleCB9ID0gdGhpcy5fZ2V0TG93ZXN0Q29sdW1uKHN0YXRlLmdyaWRSb3dFbEhlaWdodHMpO1xuXG4gICAgICBjb25zdCB4ID0gc3RhdGUuY29sdW1uV2lkdGggKiBsb3dlc3RDb2x1bW5JbmRleCArIGxvd2VzdENvbHVtbkluZGV4ICogc3RhdGUuZ2FwO1xuXG4gICAgICBpdGVtLnNldFBvc2l0aW9uKHgsIGxvd2VzdENvbHVtbkhlaWdodCwgdXBkYXRlZERpbWVuc2lvbnMuaGVpZ2h0KTtcblxuICAgICAgY29uc3Qgcm93ID0gc3RhdGUuZ3JpZFJvd0VsSGVpZ2h0c1tsb3dlc3RDb2x1bW5JbmRleF07XG5cbiAgICAgIGlmICghcm93KSBjb250aW51ZTtcblxuICAgICAgcm93LnB1c2godXBkYXRlZERpbWVuc2lvbnMuaGVpZ2h0KTtcblxuICAgICAgaWYgKHJvd1swXSkge1xuICAgICAgICByb3dbMF0gKz0gdXBkYXRlZERpbWVuc2lvbnMuaGVpZ2h0ICsgc3RhdGUuZ2FwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRlLmhvc3RIZWlnaHQgPSB0aGlzLl9nZXRIaWdoZXN0Q29sdW1uKHN0YXRlLmdyaWRSb3dFbEhlaWdodHMpLmhpZ2hlc3RDb2x1bW5IZWlnaHQgLSBzdGF0ZS5nYXA7XG5cbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2hlaWdodCcsIGAke3N0YXRlLmhvc3RIZWlnaHR9cHhgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRSZXNpemVFdmVudCgpIHtcbiAgICB0aGlzLl9kaWRSZXNpemUkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRIb3N0RGltZW5zaW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0Q29sdW1uV2lkdGgod2lkdGg6IG51bWJlcikge1xuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1ldC1tYXNvbnJ5LWNvbHVtbi13aWR0aCcsIGAke3dpZHRofXB4YCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRMb3dlc3RDb2x1bW4gPSAoY29sdW1uSGVpZ2h0czogbnVtYmVyW11bXSkgPT4ge1xuICAgIGxldCBsb3dlc3RDb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHRzWzBdPy5bMF0gPz8gMDtcbiAgICBsZXQgbG93ZXN0Q29sdW1uSW5kZXggPSAwO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bW5IZWlnaHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHRzW2ldPy5bMF07XG5cbiAgICAgIGlmIChjb2x1bW5IZWlnaHQgIT09IHVuZGVmaW5lZCAmJiBjb2x1bW5IZWlnaHQgPCBsb3dlc3RDb2x1bW5IZWlnaHQpIHtcbiAgICAgICAgbG93ZXN0Q29sdW1uSGVpZ2h0ID0gY29sdW1uSGVpZ2h0O1xuICAgICAgICBsb3dlc3RDb2x1bW5JbmRleCA9IGk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgbG93ZXN0Q29sdW1uSGVpZ2h0LCBsb3dlc3RDb2x1bW5JbmRleCB9O1xuICB9O1xuXG4gIHByaXZhdGUgX2dldEhpZ2hlc3RDb2x1bW4gPSAoY29sdW1uSGVpZ2h0czogbnVtYmVyW11bXSkgPT4ge1xuICAgIGxldCBoaWdoZXN0Q29sdW1uSGVpZ2h0ID0gY29sdW1uSGVpZ2h0c1swXT8uWzBdID8/IDA7XG4gICAgbGV0IGhpZ2hlc3RDb2x1bW5JbmRleCA9IDA7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtbkhlaWdodHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodHNbaV0/LlswXTtcblxuICAgICAgaWYgKGNvbHVtbkhlaWdodCAhPT0gdW5kZWZpbmVkICYmIGNvbHVtbkhlaWdodCA+PSBoaWdoZXN0Q29sdW1uSGVpZ2h0KSB7XG4gICAgICAgIGhpZ2hlc3RDb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHQ7XG4gICAgICAgIGhpZ2hlc3RDb2x1bW5JbmRleCA9IGk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgaGlnaGVzdENvbHVtbkhlaWdodCwgaGlnaGVzdENvbHVtbkluZGV4IH07XG4gIH07XG59XG4iXX0=
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzb25yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvbWFzb25yeS9jb21wb25lbnRzL21hc29ucnkvbWFzb25yeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxFQUNmLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFDTCxhQUFhLEVBQ2IsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsY0FBYyxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNySCxPQUFPLEVBQUUsa0JBQWtCLEVBQXdCLE1BQU0sNkJBQTZCLENBQUM7O0FBNkJ2RixNQUFNLE9BQU8sZ0JBQWdCO0lBZjdCO1FBZ0JtQixjQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFDNUIsZ0JBQVcsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBQzFELGVBQVUsR0FBRyxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFZbEUsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBUyxHQUFHLENBQUMsQ0FBQztRQVNoRCxVQUFLLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFHdkMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2xDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV6QixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztZQUM3Qyx5QkFBeUIsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUN6RCwyQkFBMkIsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUMzRCxDQUFDLENBQUM7UUFFYyxXQUFNLEdBQWlCO1lBQ3RDLG9CQUFvQixFQUFFLENBQUM7WUFDdkIsV0FBVyxFQUFFLENBQUM7WUFDZCxPQUFPLEVBQUUsQ0FBQztZQUNWLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsVUFBVSxFQUFFLENBQUM7WUFDYixjQUFjLEVBQUUsSUFBSTtZQUNwQixHQUFHLEVBQUUsQ0FBQztZQUNOLFNBQVMsRUFBRSxDQUFDO1lBQ1osYUFBYSxFQUFFLEtBQUs7U0FDckIsQ0FBQztRQTZLTSxxQkFBZ0IsR0FBRyxDQUFDLGFBQXlCLEVBQUUsRUFBRTtZQUN2RCxJQUFJLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQztZQUUxQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM5QyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFM0MsSUFBSSxZQUFZLEtBQUssU0FBUyxJQUFJLFlBQVksR0FBRyxrQkFBa0IsRUFBRSxDQUFDO29CQUNwRSxrQkFBa0IsR0FBRyxZQUFZLENBQUM7b0JBQ2xDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztnQkFDeEIsQ0FBQztZQUNILENBQUM7WUFFRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztRQUNuRCxDQUFDLENBQUM7UUFFTSxzQkFBaUIsR0FBRyxDQUFDLGFBQXlCLEVBQUUsRUFBRTtZQUN4RCxJQUFJLG1CQUFtQixHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRCxJQUFJLGtCQUFrQixHQUFHLENBQUMsQ0FBQztZQUUzQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM5QyxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFM0MsSUFBSSxZQUFZLEtBQUssU0FBUyxJQUFJLFlBQVksSUFBSSxtQkFBbUIsRUFBRSxDQUFDO29CQUN0RSxtQkFBbUIsR0FBRyxZQUFZLENBQUM7b0JBQ25DLGtCQUFrQixHQUFHLENBQUMsQ0FBQztnQkFDekIsQ0FBQztZQUNILENBQUM7WUFFRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztRQUNyRCxDQUFDLENBQUM7S0FDSDtJQXZQQyxJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksR0FBRyxDQUFDO0lBQzdDLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFjO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBR0QsSUFDSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsS0FBYztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQThCRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFFakMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQy9HLElBQUksQ0FDSCxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFFRCxNQUFNLGlCQUFpQixHQUNyQixTQUFTLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1lBRXhGLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxXQUFXO2FBQ2IsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQzNCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUMxQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO2FBQ2hCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUN0QixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNsQixLQUFLLENBQUMsTUFBTTtZQUNWLENBQUMsQ0FBQyxhQUFhLENBQ1gsS0FBSztpQkFDRixPQUFPLEVBQUU7aUJBQ1QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDN0MsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQy9CO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDWCxFQUNELFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWpELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUM7WUFFRCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUE4QjtRQUN2QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdDLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzdDLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDakQsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN6RSxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDckIsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQy9CLEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDbkcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFeEM7Ozs7OztlQU1HO1lBQ0gsS0FBSyxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU5RSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUU3QixLQUFLLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRWhFLCtEQUErRDtZQUMvRCxJQUFJLFNBQVMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNwQyxLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUVyQyxPQUFPO1lBQ1QsQ0FBQztZQUVELGlFQUFpRTtZQUNqRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxLQUE2QjtRQUNoRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRTFCLEtBQUssSUFBSSxTQUFTLEdBQUcsU0FBUyxFQUFFLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDdEUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTlCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDVixTQUFTO1lBQ1gsQ0FBQztZQUVELE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ3JELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUUxQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNqRCxTQUFTO1lBQ1gsQ0FBQztZQUVELE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUVoRyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxHQUFHLGlCQUFpQixHQUFHLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFFaEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFbEUsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFFdEQsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsU0FBUztZQUVuQixHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRW5DLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBRW5ELElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztZQUNsQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNqQixDQUFDO1FBQ0gsQ0FBQztRQUVELEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFFbEcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRVMsY0FBYztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWE7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDOUYsQ0FBQzs4R0E5TlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isa1JBS08sa0JBQWtCLGlEQWxCMUM7OztHQUdULCtUQVFTLHNCQUFzQjs7MkZBRXJCLGdCQUFnQjtrQkFmNUIsU0FBUzsrQkFDRSxZQUFZLFlBQ1o7OztHQUdULGNBRVcsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQixXQUNRLENBQUMsc0JBQXNCLENBQUM7OEJBUWhCLE1BQU07c0JBRHRCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUl4RSxVQUFVO3NCQURiLEtBQUs7Z0JBVUYsR0FBRztzQkFETixLQUFLO2dCQVVHLFlBQVk7c0JBRHBCLE1BQU07Z0JBSUUsV0FBVztzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBjcmVhdGVEZXN0cm95LFxuICBERUxBWUFCTEVfVE9LRU4sXG4gIE9ic2VydmVSZXNpemVEaXJlY3RpdmUsXG4gIHNpZ25hbEhvc3RDbGFzc2VzLFxuICBUeXBlZFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRlYm91bmNlVGltZSwgb2YsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1BU09OUllfSVRFTV9UT0tFTiwgTWFzb25yeUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXJ0aWFscy9tYXNvbnJ5LWl0ZW0nO1xuXG50eXBlIE1hc29ucnlTdGF0ZSA9IHtcbiAgcHJlZmVycmVkQ29sdW1uV2lkdGg6IG51bWJlcjtcbiAgY29sdW1uV2lkdGg6IG51bWJlcjtcbiAgY29sdW1uczogbnVtYmVyO1xuICBncmlkUm93RWxIZWlnaHRzOiBudW1iZXJbXVtdO1xuICBob3N0SGVpZ2h0OiBudW1iZXI7XG4gIGhvc3REaW1lbnNpb25zOiBET01SZWN0IHwgbnVsbDtcbiAgZ2FwOiBudW1iZXI7XG4gIGlzSW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG4gIGl0ZW1Db3VudDogbnVtYmVyO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtbWFzb25yeScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiAoZXRPYnNlcnZlUmVzaXplKT1cInNldFJlc2l6ZUV2ZW50KClcIj48L2Rpdj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZXRNYXNvbnJ5SXRlbV0sIGV0LW1hc29ucnktaXRlbSwgbmctY29udGFpbmVyXCIgLz5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbWFzb25yeS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtbWFzb25yeScsXG4gIH0sXG4gIGltcG9ydHM6IFtPYnNlcnZlUmVzaXplRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFzb25yeUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGNyZWF0ZURlc3Ryb3koKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlbGF5YWJsZSA9IGluamVjdChERUxBWUFCTEVfVE9LRU4sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IE1BU09OUllfSVRFTV9UT0tFTiksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSByZWFkb25seSBfaXRlbXM/OiBUeXBlZFF1ZXJ5TGlzdDxNYXNvbnJ5SXRlbUNvbXBvbmVudD47XG5cbiAgQElucHV0KClcbiAgZ2V0IGNvbHVtV2lkdGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1XaWR0aCQuZ2V0VmFsdWUoKSB8fCAyNTA7XG4gIH1cbiAgc2V0IGNvbHVtV2lkdGgodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9jb2x1bVdpZHRoJC5uZXh0KG51bWJlckF0dHJpYnV0ZSh2YWx1ZSwgMjUwKSk7XG4gIH1cbiAgcHJpdmF0ZSBfY29sdW1XaWR0aCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMjUwKTtcblxuICBASW5wdXQoKVxuICBnZXQgZ2FwKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2dhcCQuZ2V0VmFsdWUoKSB8fCAwO1xuICB9XG4gIHNldCBnYXAodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9nYXAkLm5leHQobnVtYmVyQXR0cmlidXRlKHZhbHVlLCAxNikpO1xuICB9XG4gIHByaXZhdGUgX2dhcCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMTYpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBpbml0aWFsaXppbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGluaXRpYWxpemVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RpZFJlc2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGlkSW5pdGlhbGl6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaGlkZU92ZXJmbG93JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsSG9zdENsYXNzZXMoe1xuICAgICdldC1tYXNvbnJ5LS1pbml0aWFsaXplZCc6IHRvU2lnbmFsKHRoaXMuX2RpZEluaXRpYWxpemUkKSxcbiAgICAnZXQtbWFzb25yeS0taGlkZS1vdmVyZmxvdyc6IHRvU2lnbmFsKHRoaXMuX2hpZGVPdmVyZmxvdyQpLFxuICB9KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZTogTWFzb25yeVN0YXRlID0ge1xuICAgIHByZWZlcnJlZENvbHVtbldpZHRoOiAwLFxuICAgIGNvbHVtbldpZHRoOiAwLFxuICAgIGNvbHVtbnM6IDAsXG4gICAgZ3JpZFJvd0VsSGVpZ2h0czogW10sXG4gICAgaG9zdEhlaWdodDogMCxcbiAgICBob3N0RGltZW5zaW9uczogbnVsbCxcbiAgICBnYXA6IDAsXG4gICAgaXRlbUNvdW50OiAwLFxuICAgIGlzSW5pdGlhbGl6ZWQ6IGZhbHNlLFxuICB9O1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2l0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZGVsYXlhYmxlPy5lbmFibGVEZWxheWVkKCk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9pdGVtcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2l0ZW1zKSksIHRoaXMuX2RpZFJlc2l6ZSQsIHRoaXMuX2NvbHVtV2lkdGgkLCB0aGlzLl9nYXAkXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMSksXG4gICAgICAgIHRhcCgoWywgZGlkUmVzaXplLCBjb2xXaWR0aCwgZ2FwXSkgPT4ge1xuICAgICAgICAgIGlmIChkaWRSZXNpemUpIHtcbiAgICAgICAgICAgIHRoaXMuX2RpZFJlc2l6ZSQubmV4dChmYWxzZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgaXNDb21wbGV0ZUludmFsaWQgPVxuICAgICAgICAgICAgZGlkUmVzaXplIHx8IGNvbFdpZHRoICE9PSB0aGlzLl9zdGF0ZS5wcmVmZXJyZWRDb2x1bW5XaWR0aCB8fCBnYXAgIT09IHRoaXMuX3N0YXRlLmdhcDtcblxuICAgICAgICAgIHRoaXMuaW52YWxpZGF0ZSh7IHBhcnRpYWw6ICFpc0NvbXBsZXRlSW52YWxpZCB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9kaWRSZXNpemUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2hpZGVPdmVyZmxvdyQubmV4dCh0cnVlKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aW1lcigxNTApKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2hpZGVPdmVyZmxvdyQubmV4dChmYWxzZSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5faXRlbXMuY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLl9pdGVtcyksXG4gICAgICAgIHN3aXRjaE1hcCgoaXRlbXMpID0+XG4gICAgICAgICAgaXRlbXMubGVuZ3RoXG4gICAgICAgICAgICA/IGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgICAgICAgaXRlbXNcbiAgICAgICAgICAgICAgICAgIC50b0FycmF5KClcbiAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGkpOiBpIGlzIE1hc29ucnlJdGVtQ29tcG9uZW50ID0+ICEhaSlcbiAgICAgICAgICAgICAgICAgIC5tYXAoKGkpID0+IGkuaXNQb3NpdGlvbmVkJCksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogb2YoW10pLFxuICAgICAgICApLFxuICAgICAgICBzd2l0Y2hNYXAoKHBvc2l0aW9uZWQpID0+IHtcbiAgICAgICAgICBjb25zdCBhbGxQb3NpdGlvbmVkID0gcG9zaXRpb25lZC5ldmVyeSgoaSkgPT4gaSk7XG5cbiAgICAgICAgICBpZiAoIWFsbFBvc2l0aW9uZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2RpZEluaXRpYWxpemUkLm5leHQoYWxsUG9zaXRpb25lZCk7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemluZy5lbWl0KCk7XG4gICAgICAgICAgICB0aGlzLl9kZWxheWFibGU/LmVuYWJsZURlbGF5ZWQoKTtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGltZXIoMTAwKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5fZGlkSW5pdGlhbGl6ZSQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgICAgdGhpcy5fZGVsYXlhYmxlPy5kaXNhYmxlRGVsYXllZCgpO1xuICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkLmVtaXQoKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgaW52YWxpZGF0ZShjb25maWc/OiB7IHBhcnRpYWw/OiBib29sZWFuIH0pIHtcbiAgICBjb25zdCBpdGVtTGlzdCA9IHRoaXMuX2l0ZW1zO1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fc3RhdGU7XG5cbiAgICBpZiAoIWl0ZW1MaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbXMgPSBpdGVtTGlzdC50b0FycmF5KCkuZmlsdGVyKChpKTogaSBpcyBNYXNvbnJ5SXRlbUNvbXBvbmVudCA9PiAhIWkpO1xuXG4gICAgaWYgKCFjb25maWc/LnBhcnRpYWwgfHwgIXN0YXRlLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHN0YXRlLnByZWZlcnJlZENvbHVtbldpZHRoID0gdGhpcy5jb2x1bVdpZHRoO1xuICAgICAgc3RhdGUuaG9zdERpbWVuc2lvbnMgPSB0aGlzLl9nZXRIb3N0RGltZW5zaW9ucygpO1xuICAgICAgc3RhdGUuY29sdW1ucyA9IE1hdGguZmxvb3Ioc3RhdGUuaG9zdERpbWVuc2lvbnMud2lkdGggLyB0aGlzLmNvbHVtV2lkdGgpO1xuICAgICAgc3RhdGUuZ2FwID0gdGhpcy5nYXA7XG4gICAgICBzdGF0ZS5pdGVtQ291bnQgPSBpdGVtcy5sZW5ndGg7XG4gICAgICBzdGF0ZS5jb2x1bW5XaWR0aCA9IChzdGF0ZS5ob3N0RGltZW5zaW9ucy53aWR0aCAtIChzdGF0ZS5jb2x1bW5zIC0gMSkgKiBzdGF0ZS5nYXApIC8gc3RhdGUuY29sdW1ucztcbiAgICAgIHRoaXMuX3NldENvbHVtbldpZHRoKHN0YXRlLmNvbHVtbldpZHRoKTtcblxuICAgICAgLyoqXG4gICAgICAgKiBEYXRhIHN0cnVjdHVyZTpcbiAgICAgICAqIFtcbiAgICAgICAqICBbY3VycmVudFRvdGFsSGVpZ2h0T2ZDb2wsIGl0ZW1IZWlnaHQsIGl0ZW1IZWlnaHQsIGl0ZW1IZWlnaHRdLFxuICAgICAgICogIFtjdXJyZW50VG90YWxIZWlnaHRPZkNvbCwgaXRlbUhlaWdodCwgaXRlbUhlaWdodCwgaXRlbUhlaWdodF0sXG4gICAgICAgKiBdXG4gICAgICAgKi9cbiAgICAgIHN0YXRlLmdyaWRSb3dFbEhlaWdodHMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBzdGF0ZS5jb2x1bW5zIH0pLm1hcCgoKSA9PiBbMF0pO1xuXG4gICAgICB0aGlzLl9wYWludE1hc29ucnkoMCwgaXRlbXMpO1xuXG4gICAgICBzdGF0ZS5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZnJvbUluZGV4ID0gaXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiAhaXRlbS5pc1Bvc2l0aW9uZWQpO1xuXG4gICAgICAvLyBpdGVtIGNvdW50IDIwIGZyb21JbmRleCAyMCArIDEgLT4gMjEgPT4gcGFydGlhbCBpbnZhbGlkYXRpb25cbiAgICAgIGlmIChmcm9tSW5kZXggKyAxID4gc3RhdGUuaXRlbUNvdW50KSB7XG4gICAgICAgIHN0YXRlLml0ZW1Db3VudCA9IGl0ZW1zLmxlbmd0aDtcbiAgICAgICAgdGhpcy5fcGFpbnRNYXNvbnJ5KGZyb21JbmRleCwgaXRlbXMpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gZG8gYSBmdWxsIGludmFsaWRhdGlvbiB0aGUgZnJvbUluZGV4IGlzIG5vdCB0aGUgZmlyc3QgbmV3IGl0ZW1cbiAgICAgIHRoaXMuaW52YWxpZGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3BhaW50TWFzb25yeShmcm9tSW5kZXggPSAwLCBpdGVtczogTWFzb25yeUl0ZW1Db21wb25lbnRbXSkge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fc3RhdGU7XG5cbiAgICBmb3IgKGxldCBpdGVtSW5kZXggPSBmcm9tSW5kZXg7IGl0ZW1JbmRleCA8IGl0ZW1zLmxlbmd0aDsgaXRlbUluZGV4KyspIHtcbiAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpdGVtSW5kZXhdO1xuXG4gICAgICBpZiAoIWl0ZW0pIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGluaXRpYWxJdGVtRGltZW5zaW9ucyA9IGl0ZW0uaW5pdGlhbERpbWVuc2lvbnM7XG4gICAgICBjb25zdCB1cGRhdGVkRGltZW5zaW9ucyA9IGl0ZW0uZGltZW5zaW9ucztcblxuICAgICAgaWYgKCFpbml0aWFsSXRlbURpbWVuc2lvbnMgfHwgIXVwZGF0ZWREaW1lbnNpb25zKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IGxvd2VzdENvbHVtbkhlaWdodCwgbG93ZXN0Q29sdW1uSW5kZXggfSA9IHRoaXMuX2dldExvd2VzdENvbHVtbihzdGF0ZS5ncmlkUm93RWxIZWlnaHRzKTtcblxuICAgICAgY29uc3QgeCA9IHN0YXRlLmNvbHVtbldpZHRoICogbG93ZXN0Q29sdW1uSW5kZXggKyBsb3dlc3RDb2x1bW5JbmRleCAqIHN0YXRlLmdhcDtcblxuICAgICAgaXRlbS5zZXRQb3NpdGlvbih4LCBsb3dlc3RDb2x1bW5IZWlnaHQsIHVwZGF0ZWREaW1lbnNpb25zLmhlaWdodCk7XG5cbiAgICAgIGNvbnN0IHJvdyA9IHN0YXRlLmdyaWRSb3dFbEhlaWdodHNbbG93ZXN0Q29sdW1uSW5kZXhdO1xuXG4gICAgICBpZiAoIXJvdykgY29udGludWU7XG5cbiAgICAgIHJvdy5wdXNoKHVwZGF0ZWREaW1lbnNpb25zLmhlaWdodCk7XG5cbiAgICAgIGNvbnN0IHRvdGFsID0gdXBkYXRlZERpbWVuc2lvbnMuaGVpZ2h0ICsgc3RhdGUuZ2FwO1xuXG4gICAgICBpZiAocm93WzBdKSB7XG4gICAgICAgIHJvd1swXSArPSB0b3RhbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJvd1swXSA9IHRvdGFsO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRlLmhvc3RIZWlnaHQgPSB0aGlzLl9nZXRIaWdoZXN0Q29sdW1uKHN0YXRlLmdyaWRSb3dFbEhlaWdodHMpLmhpZ2hlc3RDb2x1bW5IZWlnaHQgLSBzdGF0ZS5nYXA7XG5cbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2hlaWdodCcsIGAke3N0YXRlLmhvc3RIZWlnaHR9cHhgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRSZXNpemVFdmVudCgpIHtcbiAgICB0aGlzLl9kaWRSZXNpemUkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRIb3N0RGltZW5zaW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0Q29sdW1uV2lkdGgod2lkdGg6IG51bWJlcikge1xuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1ldC1tYXNvbnJ5LWNvbHVtbi13aWR0aCcsIGAke3dpZHRofXB4YCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRMb3dlc3RDb2x1bW4gPSAoY29sdW1uSGVpZ2h0czogbnVtYmVyW11bXSkgPT4ge1xuICAgIGxldCBsb3dlc3RDb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHRzWzBdPy5bMF0gPz8gMDtcbiAgICBsZXQgbG93ZXN0Q29sdW1uSW5kZXggPSAwO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2x1bW5IZWlnaHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHRzW2ldPy5bMF07XG5cbiAgICAgIGlmIChjb2x1bW5IZWlnaHQgIT09IHVuZGVmaW5lZCAmJiBjb2x1bW5IZWlnaHQgPCBsb3dlc3RDb2x1bW5IZWlnaHQpIHtcbiAgICAgICAgbG93ZXN0Q29sdW1uSGVpZ2h0ID0gY29sdW1uSGVpZ2h0O1xuICAgICAgICBsb3dlc3RDb2x1bW5JbmRleCA9IGk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgbG93ZXN0Q29sdW1uSGVpZ2h0LCBsb3dlc3RDb2x1bW5JbmRleCB9O1xuICB9O1xuXG4gIHByaXZhdGUgX2dldEhpZ2hlc3RDb2x1bW4gPSAoY29sdW1uSGVpZ2h0czogbnVtYmVyW11bXSkgPT4ge1xuICAgIGxldCBoaWdoZXN0Q29sdW1uSGVpZ2h0ID0gY29sdW1uSGVpZ2h0c1swXT8uWzBdID8/IDA7XG4gICAgbGV0IGhpZ2hlc3RDb2x1bW5JbmRleCA9IDA7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtbkhlaWdodHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNvbHVtbkhlaWdodCA9IGNvbHVtbkhlaWdodHNbaV0/LlswXTtcblxuICAgICAgaWYgKGNvbHVtbkhlaWdodCAhPT0gdW5kZWZpbmVkICYmIGNvbHVtbkhlaWdodCA+PSBoaWdoZXN0Q29sdW1uSGVpZ2h0KSB7XG4gICAgICAgIGhpZ2hlc3RDb2x1bW5IZWlnaHQgPSBjb2x1bW5IZWlnaHQ7XG4gICAgICAgIGhpZ2hlc3RDb2x1bW5JbmRleCA9IGk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgaGlnaGVzdENvbHVtbkhlaWdodCwgaGlnaGVzdENvbHVtbkluZGV4IH07XG4gIH07XG59XG4iXX0=
@@ -7448,8 +7448,12 @@ class MasonryComponent {
7448
7448
  if (!row)
7449
7449
  continue;
7450
7450
  row.push(updatedDimensions.height);
7451
+ const total = updatedDimensions.height + state.gap;
7451
7452
  if (row[0]) {
7452
- row[0] += updatedDimensions.height + state.gap;
7453
+ row[0] += total;
7454
+ }
7455
+ else {
7456
+ row[0] = total;
7453
7457
  }
7454
7458
  }
7455
7459
  state.hostHeight = this._getHighestColumn(state.gridRowElHeights).highestColumnHeight - state.gap;