@webviz/subsurface-viewer 1.10.10 → 1.11.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.
Files changed (154) hide show
  1. package/dist/components/InfoCard.js +22 -0
  2. package/dist/components/InfoCard.js.map +1 -1
  3. package/dist/components/Map.js +12 -6
  4. package/dist/components/Map.js.map +1 -1
  5. package/dist/extensions/side-projection-extension.d.ts +41 -6
  6. package/dist/extensions/side-projection-extension.js +33 -27
  7. package/dist/extensions/side-projection-extension.js.map +1 -1
  8. package/dist/layers/axes/axes-fragment.glsl.d.ts +1 -1
  9. package/dist/layers/axes/axes-fragment.glsl.js +1 -1
  10. package/dist/layers/axes/grid-vertex.glsl.d.ts +1 -1
  11. package/dist/layers/axes/grid-vertex.glsl.js +1 -1
  12. package/dist/layers/axes2d/axes2DLayer.d.ts +7 -7
  13. package/dist/layers/axes2d/axes2DLayer.js +62 -14
  14. package/dist/layers/axes2d/axes2DLayer.js.map +1 -1
  15. package/dist/layers/axes2d/label-fragment.glsl.d.ts +1 -1
  16. package/dist/layers/axes2d/label-fragment.glsl.js +7 -10
  17. package/dist/layers/axes2d/label-fragment.glsl.js.map +1 -1
  18. package/dist/layers/axes2d/label-vertex.glsl.d.ts +1 -1
  19. package/dist/layers/axes2d/label-vertex.glsl.js +1 -1
  20. package/dist/layers/axes2d/line-fragment.glsl.d.ts +1 -1
  21. package/dist/layers/axes2d/line-fragment.glsl.js +2 -4
  22. package/dist/layers/axes2d/line-fragment.glsl.js.map +1 -1
  23. package/dist/layers/axes2d/line-vertex.glsl.d.ts +1 -1
  24. package/dist/layers/axes2d/line-vertex.glsl.js +2 -4
  25. package/dist/layers/axes2d/line-vertex.glsl.js.map +1 -1
  26. package/dist/layers/colormap/colormap.fs.glsl.d.ts +1 -1
  27. package/dist/layers/colormap/colormap.fs.glsl.js +2 -5
  28. package/dist/layers/colormap/colormap.fs.glsl.js.map +1 -1
  29. package/dist/layers/colormap/colormapLayer.d.ts +3 -2
  30. package/dist/layers/colormap/colormapLayer.js +81 -25
  31. package/dist/layers/colormap/colormapLayer.js.map +1 -1
  32. package/dist/layers/grid3d/cellProperty.fs.glsl.d.ts +1 -1
  33. package/dist/layers/grid3d/cellProperty.fs.glsl.js +14 -27
  34. package/dist/layers/grid3d/cellProperty.fs.glsl.js.map +1 -1
  35. package/dist/layers/grid3d/cellProperty.vs.glsl.d.ts +1 -1
  36. package/dist/layers/grid3d/cellProperty.vs.glsl.js +2 -4
  37. package/dist/layers/grid3d/cellProperty.vs.glsl.js.map +1 -1
  38. package/dist/layers/grid3d/fragment_lines.glsl.d.ts +1 -1
  39. package/dist/layers/grid3d/fragment_lines.glsl.js +1 -1
  40. package/dist/layers/grid3d/grid3dLayer.js +2 -0
  41. package/dist/layers/grid3d/grid3dLayer.js.map +1 -1
  42. package/dist/layers/grid3d/nodeProperty.fs.glsl.d.ts +1 -1
  43. package/dist/layers/grid3d/nodeProperty.fs.glsl.js +5 -13
  44. package/dist/layers/grid3d/nodeProperty.fs.glsl.js.map +1 -1
  45. package/dist/layers/grid3d/nodeProperty.vs.glsl.d.ts +1 -1
  46. package/dist/layers/grid3d/nodeProperty.vs.glsl.js +3 -7
  47. package/dist/layers/grid3d/nodeProperty.vs.glsl.js.map +1 -1
  48. package/dist/layers/grid3d/privateGrid3dLayer.d.ts +26 -5
  49. package/dist/layers/grid3d/privateGrid3dLayer.js +60 -22
  50. package/dist/layers/grid3d/privateGrid3dLayer.js.map +1 -1
  51. package/dist/layers/grid3d/vertex_lines.glsl.d.ts +1 -1
  52. package/dist/layers/grid3d/vertex_lines.glsl.js +2 -4
  53. package/dist/layers/grid3d/vertex_lines.glsl.js.map +1 -1
  54. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.d.ts +1 -1
  55. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.js +8 -15
  56. package/dist/layers/hillshading2d/hillshading2d.fs.glsl.js.map +1 -1
  57. package/dist/layers/hillshading2d/hillshading2dLayer.d.ts +4 -3
  58. package/dist/layers/hillshading2d/hillshading2dLayer.js +109 -33
  59. package/dist/layers/hillshading2d/hillshading2dLayer.js.map +1 -1
  60. package/dist/layers/map/fragment.glsl.d.ts +2 -0
  61. package/dist/layers/map/{fragment.fs.glsl.js → fragment.glsl.js} +15 -27
  62. package/dist/layers/map/fragment.glsl.js.map +1 -0
  63. package/dist/layers/map/fragment_lines.glsl.d.ts +1 -1
  64. package/dist/layers/map/fragment_lines.glsl.js +1 -1
  65. package/dist/layers/map/mapLayer.d.ts +1 -1
  66. package/dist/layers/map/mapLayer.js +2 -0
  67. package/dist/layers/map/mapLayer.js.map +1 -1
  68. package/dist/layers/map/privateMapLayer.d.ts +7 -9
  69. package/dist/layers/map/privateMapLayer.js +85 -17
  70. package/dist/layers/map/privateMapLayer.js.map +1 -1
  71. package/dist/layers/map/vertex.glsl.d.ts +1 -1
  72. package/dist/layers/map/vertex.glsl.js +3 -5
  73. package/dist/layers/map/vertex.glsl.js.map +1 -1
  74. package/dist/layers/map/vertex_lines.glsl.d.ts +1 -1
  75. package/dist/layers/map/vertex_lines.glsl.js +3 -2
  76. package/dist/layers/map/vertex_lines.glsl.js.map +1 -1
  77. package/dist/layers/northarrow/northArrow3DLayer.d.ts +1 -1
  78. package/dist/layers/northarrow/northArrow3DLayer.js +3 -3
  79. package/dist/layers/northarrow/northArrow3DLayer.js.map +1 -1
  80. package/dist/layers/northarrow/northarrow-fragment.glsl.d.ts +1 -1
  81. package/dist/layers/northarrow/northarrow-fragment.glsl.js +1 -1
  82. package/dist/layers/northarrow/northarrow-vertex.glsl.d.ts +1 -1
  83. package/dist/layers/northarrow/northarrow-vertex.glsl.js +1 -1
  84. package/dist/layers/piechart/fragment.glsl.d.ts +1 -1
  85. package/dist/layers/piechart/fragment.glsl.js +1 -1
  86. package/dist/layers/piechart/vertex.glsl.d.ts +1 -1
  87. package/dist/layers/piechart/vertex.glsl.js +1 -1
  88. package/dist/layers/points/privatePointsLayer.d.ts +1 -9
  89. package/dist/layers/points/privatePointsLayer.js +32 -5
  90. package/dist/layers/points/privatePointsLayer.js.map +1 -1
  91. package/dist/layers/points/vertex.glsl.d.ts +1 -1
  92. package/dist/layers/points/vertex.glsl.js +13 -28
  93. package/dist/layers/points/vertex.glsl.js.map +1 -1
  94. package/dist/layers/polylines/path-layer-fragment.glsl.d.ts +1 -1
  95. package/dist/layers/polylines/path-layer-fragment.glsl.js +2 -4
  96. package/dist/layers/polylines/path-layer-fragment.glsl.js.map +1 -1
  97. package/dist/layers/polylines/path-layer-vertex.glsl.d.ts +1 -1
  98. package/dist/layers/polylines/path-layer-vertex.glsl.js +10 -22
  99. package/dist/layers/polylines/path-layer-vertex.glsl.js.map +1 -1
  100. package/dist/layers/polylines/privatePolylinesLayer.d.ts +2 -44
  101. package/dist/layers/polylines/privatePolylinesLayer.js +34 -4
  102. package/dist/layers/polylines/privatePolylinesLayer.js.map +1 -1
  103. package/dist/layers/shader_modules/index.d.ts +1 -1
  104. package/dist/layers/shader_modules/index.js +1 -1
  105. package/dist/layers/shader_modules/index.js.map +1 -1
  106. package/dist/layers/shader_modules/phong-lighting/phong-material.d.ts +11 -0
  107. package/dist/layers/shader_modules/phong-lighting/phong-material.js +38 -0
  108. package/dist/layers/shader_modules/phong-lighting/phong-material.js.map +1 -0
  109. package/dist/layers/shader_modules/phong-lighting/phong-shaders-glsl.d.ts +2 -0
  110. package/dist/layers/shader_modules/phong-lighting/phong-shaders-glsl.js +59 -0
  111. package/dist/layers/shader_modules/phong-lighting/phong-shaders-glsl.js.map +1 -0
  112. package/dist/layers/triangle/fragment.fs.glsl.d.ts +1 -1
  113. package/dist/layers/triangle/fragment.fs.glsl.js +7 -14
  114. package/dist/layers/triangle/fragment.fs.glsl.js.map +1 -1
  115. package/dist/layers/triangle/fragment_lines.glsl.d.ts +1 -1
  116. package/dist/layers/triangle/fragment_lines.glsl.js +1 -1
  117. package/dist/layers/triangle/privateTriangleLayer.d.ts +9 -14
  118. package/dist/layers/triangle/privateTriangleLayer.js +75 -26
  119. package/dist/layers/triangle/privateTriangleLayer.js.map +1 -1
  120. package/dist/layers/triangle/triangleLayer.d.ts +1 -1
  121. package/dist/layers/triangle/triangleLayer.js +2 -0
  122. package/dist/layers/triangle/triangleLayer.js.map +1 -1
  123. package/dist/layers/triangle/vertex.glsl.d.ts +1 -1
  124. package/dist/layers/triangle/vertex.glsl.js +3 -5
  125. package/dist/layers/triangle/vertex.glsl.js.map +1 -1
  126. package/dist/layers/triangle/vertex_lines.glsl.d.ts +1 -1
  127. package/dist/layers/triangle/vertex_lines.glsl.js +2 -4
  128. package/dist/layers/triangle/vertex_lines.glsl.js.map +1 -1
  129. package/dist/layers/utils/layerTools.d.ts +1 -1
  130. package/dist/layers/utils/layerTools.js +1 -1
  131. package/dist/layers/utils/layerTools.js.map +1 -1
  132. package/dist/layers/well_markers/vertex.glsl.d.ts +1 -1
  133. package/dist/layers/well_markers/vertex.glsl.js +3 -7
  134. package/dist/layers/well_markers/vertex.glsl.js.map +1 -1
  135. package/dist/layers/well_markers/wellMarkersLayer.d.ts +3 -8
  136. package/dist/layers/well_markers/wellMarkersLayer.js +49 -16
  137. package/dist/layers/well_markers/wellMarkersLayer.js.map +1 -1
  138. package/dist/layers/wells/layers/wellLabelLayer.d.ts +18 -0
  139. package/dist/layers/wells/layers/wellLabelLayer.js +9 -0
  140. package/dist/layers/wells/layers/wellLabelLayer.js.map +1 -1
  141. package/dist/layers/wells/wellsLayer.js +13 -8
  142. package/dist/layers/wells/wellsLayer.js.map +1 -1
  143. package/dist/views/intersectionView.d.ts +3 -3
  144. package/dist/views/intersectionView.js +5 -0
  145. package/dist/views/intersectionView.js.map +1 -1
  146. package/package.json +11 -11
  147. package/dist/layers/map/fragment.fs.glsl.d.ts +0 -2
  148. package/dist/layers/map/fragment.fs.glsl.js.map +0 -1
  149. package/dist/layers/shader_modules/lighting.fs.glsl.d.ts +0 -1
  150. package/dist/layers/shader_modules/lighting.fs.glsl.js +0 -45
  151. package/dist/layers/shader_modules/lighting.fs.glsl.js.map +0 -1
  152. package/dist/layers/shader_modules/localPhongLighting.d.ts +0 -23
  153. package/dist/layers/shader_modules/localPhongLighting.js +0 -8
  154. package/dist/layers/shader_modules/localPhongLighting.js.map +0 -1
@@ -367,7 +367,7 @@ export default class Axes2DLayer extends Layer {
367
367
  }
368
368
  return labels;
369
369
  }
370
- draw({ context, }) {
370
+ draw(opts) {
371
371
  const is_orthographic = this.context.viewport.constructor === OrthographicViewport;
372
372
  if (typeof this.state["fontTexture"] === "undefined" ||
373
373
  !is_orthographic) {
@@ -380,12 +380,12 @@ export default class Axes2DLayer extends Layer {
380
380
  return;
381
381
  }
382
382
  // background
383
- models[n - 1].draw(context.renderPass);
383
+ models[n - 1].draw(opts.context.renderPass);
384
384
  // lines
385
- models[n - 2].draw(context.renderPass);
385
+ models[n - 2].draw(opts.context.renderPass);
386
386
  // labels
387
387
  for (let i = 0; i < n - 2; i++) {
388
- models[i].draw(context.renderPass);
388
+ models[i].draw(opts.context.renderPass);
389
389
  }
390
390
  return;
391
391
  }
@@ -465,7 +465,6 @@ export default class Axes2DLayer extends Layer {
465
465
  id: `${this.props.id}-lines`,
466
466
  vs: lineVertexShader,
467
467
  fs: lineFragmentShader,
468
- uniforms: { uColor: lineColor, uClipZ: -1 },
469
468
  geometry: new Geometry({
470
469
  topology: "line-list",
471
470
  attributes: {
@@ -473,9 +472,15 @@ export default class Axes2DLayer extends Layer {
473
472
  },
474
473
  vertexCount: tick_and_axes_lines.length / 3,
475
474
  }),
476
- modules: [project32],
475
+ modules: [project32, linesUniforms],
477
476
  isInstanced: false,
478
477
  });
478
+ lineModel.shaderInputs.setProps({
479
+ lines: {
480
+ uColor: lineColor,
481
+ uClipZ: -1,
482
+ },
483
+ });
479
484
  //-- Background model --
480
485
  // Color on axes background.
481
486
  let bColor = [0.5, 0.5, 0.5, 1];
@@ -490,7 +495,6 @@ export default class Axes2DLayer extends Layer {
490
495
  id: `${this.props.id}-background`,
491
496
  vs: lineVertexShader,
492
497
  fs: lineFragmentShader,
493
- uniforms: { uColor: bColor, uClipZ: -0.9 },
494
498
  geometry: new Geometry({
495
499
  topology: "triangle-list",
496
500
  attributes: {
@@ -498,9 +502,15 @@ export default class Axes2DLayer extends Layer {
498
502
  },
499
503
  vertexCount: background_lines.length / 3,
500
504
  }),
501
- modules: [project32],
505
+ modules: [project32, linesUniforms],
502
506
  isInstanced: false,
503
507
  });
508
+ backgroundModel.shaderInputs.setProps({
509
+ lines: {
510
+ uColor: bColor,
511
+ uClipZ: -0.9,
512
+ },
513
+ });
504
514
  //-- Labels model--
505
515
  const labelModels = [];
506
516
  const pixelScale = GetPixelsScale((_a = this.props.labelFontSizePt) !== null && _a !== void 0 ? _a : defaultProps.labelFontSizePt);
@@ -598,10 +608,6 @@ export default class Axes2DLayer extends Layer {
598
608
  id: `${this.props.id}-${label}`,
599
609
  vs: labelVertexShader,
600
610
  fs: labelFragmentShader,
601
- uniforms: {
602
- uAxisColor: lineColor,
603
- uBackGroundColor: bColor,
604
- },
605
611
  bindings: {
606
612
  // @ts-ignore
607
613
  fontTexture,
@@ -618,12 +624,22 @@ export default class Axes2DLayer extends Layer {
618
624
  vertexCount: positions.length / 3,
619
625
  }),
620
626
  bufferLayout: this.getAttributeManager().getBufferLayouts(),
621
- modules: [project32],
627
+ modules: [project32, axesUniforms],
622
628
  isInstanced: false,
623
629
  });
630
+ model.shaderInputs.setProps({
631
+ axes: {
632
+ uAxisColor: lineColor,
633
+ uBackGroundColor: bColor,
634
+ },
635
+ });
624
636
  labelModels.push(model);
625
637
  }
626
- return { labelModels: labelModels, lineModel: lineModel, backgroundModel: backgroundModel };
638
+ return {
639
+ labelModels: labelModels,
640
+ lineModel: lineModel,
641
+ backgroundModel: backgroundModel,
642
+ };
627
643
  }
628
644
  }
629
645
  Axes2DLayer.layerName = "Axes2DLayer";
@@ -697,4 +713,36 @@ function GetPixelsScale(labelFontSizePt) {
697
713
  const px = Math.max(0, (8 / 9) * labelFontSizePt);
698
714
  return px;
699
715
  }
716
+ const linesUniformsBlock = /*glsl*/ `\
717
+ uniform linesUniforms {
718
+ vec4 uColor;
719
+ float uClipZ;
720
+ } lines;
721
+ `;
722
+ // NOTE: this must exactly the same name than in the uniform block
723
+ const linesUniforms = {
724
+ name: "lines",
725
+ vs: linesUniformsBlock,
726
+ fs: linesUniformsBlock,
727
+ uniformTypes: {
728
+ uColor: "vec4<f32>",
729
+ uClipZ: "f32",
730
+ },
731
+ };
732
+ const axesUniformsBlock = /*glsl*/ `\
733
+ uniform axesUniforms {
734
+ vec4 uAxisColor;
735
+ vec4 uBackGroundColor;
736
+ } axes;
737
+ `;
738
+ // NOTE: this must exactly the same name than in the uniform block
739
+ const axesUniforms = {
740
+ name: "axes",
741
+ vs: axesUniformsBlock,
742
+ fs: axesUniformsBlock,
743
+ uniformTypes: {
744
+ uAxisColor: "vec4<f32>",
745
+ uBackGroundColor: "vec4<f32>",
746
+ },
747
+ };
700
748
  //# sourceMappingURL=axes2DLayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"axes2DLayer.js","sourceRoot":"","sources":["../../../src/layers/axes2d/axes2DLayer.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,iBAAiB,EACjB,KAAK,EACL,oBAAoB,EACpB,SAAS,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,IAAK,WAIJ;AAJD,WAAK,WAAW;IACZ,+CAAS,CAAA;IACT,iDAAU,CAAA;IACV,2CAAO,CAAA;AACX,CAAC,EAJI,WAAW,KAAX,WAAW,QAIf;AAED,IAAK,kBAIJ;AAJD,WAAK,kBAAkB;IACnB,yDAAO,CAAA;IACP,+DAAU,CAAA;IACV,gEAAW,CAAA;AACf,CAAC,EAJI,kBAAkB,KAAlB,kBAAkB,QAItB;AAUD,IAAK,QAKJ;AALD,WAAK,QAAQ;IACT,uCAAI,CAAA;IACJ,yCAAK,CAAA;IACL,2CAAM,CAAA;IACN,qCAAG,CAAA;AACP,CAAC,EALI,QAAQ,KAAR,QAAQ,QAKZ;AAED,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,cAAc,GAAG,EAAE,CAAC;AA0B1B,MAAM,YAAY,GAAG;IACjB,QAAQ,EAAE,aAAa;IACvB,IAAI,EAAE,QAAQ;IACd,EAAE,EAAE,cAAc;IAClB,OAAO,EAAE,IAAI;IACb,gBAAgB,EAAE,iBAAiB,CAAC,SAAS;IAC7C,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,EAAE;IAClB,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,CAAC;CACrB,CAAC;AAEF,aAAa;AACb,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,EAAE,GAAG,EAAE,CAAC;AACd,MAAM,QAAQ,GAAG;IACb,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE;QACR,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QACpC,CAAC,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAC7C,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QACjD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QACjD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QACjD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QACjD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QACjD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QACjD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QACjD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QACjD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAElD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACrC,CAAC,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAC9C,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACrD,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACrD,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACrD,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;KACxD;CACJ,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,KAAuB;IAC5D,iBAAiB,CAAC,EACd,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAAW,GACU;QACrB,OAAO,CACH,KAAK,CAAC,iBAAiB,CAAC;YACpB,KAAK;YACL,QAAQ;YACR,OAAO;YACP,WAAW;SACd,CAAC,IAAI,WAAW,CAAC,eAAe,CACpC,CAAC;IACN,CAAC;IAED,WAAW;QACP,uBAAuB;;QAEvB,oFAAoF;QACpF,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,mBAAmB;QAClC,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG;YACJ,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YACzB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YACzB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;SAC5B,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEhE,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,GAAG;YACA,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YACzB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YACzB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;SAC5B,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEhE,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAChE,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAChE,IAAI,YAAY,GAAG,OAAO,GAAG,cAAc,CAAC;QAC5C,IAAI,YAAY,GAAG,OAAO,GAAG,cAAc,CAAC;QAE5C,8EAA8E;QAC9E,MAAM,cAAc,GAAG,cAAc,CACjC,MAAA,IAAI,CAAC,KAAK,CAAC,eAAe,mCAAI,YAAY,CAAC,eAAe,CAC7D,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,8BAA8B;QACzF,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1D,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1D,MAAM,WAAW,GAAG,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC;QAChD,MAAM,mBAAmB,GAAG,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC;QAE5D,IAAI,OAAO,GAAG,mBAAmB,EAAE,CAAC;YAChC,YAAY,GAAG,mBAAmB,GAAG,cAAc,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CACxB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,EAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CACjC,CAAC;QACF,MAAM,UAAU,GAAG,cAAc,GAAG,WAAW,CAAC;QAChD,MAAM,mBAAmB,GAAG,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC;QAC5D,IAAI,OAAO,GAAG,mBAAmB,EAAE,CAAC;YAChC,YAAY,GAAG,mBAAmB,GAAG,cAAc,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,QAAQ,iCACN,IAAI,CAAC,KAAK,KACb,YAAY;YACZ,YAAY;YACZ,cAAc;YACd,cAAc,IAChB,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,EACF,WAAW,EACX,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,GACnC,GAAG,IAAI,CAAC,UAAU,CAAC,WAA2B,CAAC,CAAC;QAEjD,IAAI,CAAC,QAAQ,iCACN,IAAI,CAAC,KAAK,KACb,EAAE,EAAE,YAAY,EAChB,EAAE,EAAE,YAAY,IAClB,CAAC;QAEH,IAAI,CAAC,QAAQ,iCACN,IAAI,CAAC,KAAK,KACb,MAAM,EAAE,CAAC,GAAG,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,IACtD,CAAC;IACP,CAAC;IAED,eAAe;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE;YAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,0BAA0B;SACtD,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;gBAClD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,iBAAiB;gBACzB,IAAI,EAAE,IAAmB;gBACzB,OAAO,EAAE;oBACL,YAAY,EAAE,eAAe;oBAC7B,YAAY,EAAE,eAAe;oBAC7B,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,QAAQ;iBACtB;aACJ,CAAC,CAAC;YAEH,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,UAAU,CAC/D,WAAsC,CACzC,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC;gBACV,WAAW;gBACX,MAAM,EAAE,CAAC,GAAG,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC;aACvD,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,CAAS,EAAE,SAAiB;QAClC,IAAI,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC7B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAW,CAAC;YAChD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,oCAAoC;YACrE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,0BAA0B;QACpE,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,qBAAqB,CACjB,GAAW,EACX,GAAW,EACX,QAAkB;QAElB,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,MAAM,aAAa,GAAG,CAAC,CAAC;QAExB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAW,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAW,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAW,CAAC;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAW,CAAC;QAE9D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACnD,IAAI,KAAK,CAAC;QACV,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,QAAQ,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC5B,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;YACnC,MAAM,GAAG,KAAK,CAAC;QACnB,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;YACnC,MAAM,GAAG,KAAK,CAAC;QACnB,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;YACnC,MAAM,GAAG,KAAK,CAAC;QACnB,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;YACnC,MAAM,GAAG,KAAK,CAAC;QACnB,CAAC;QAED,MAAM,kBAAkB,GACpB,QAAQ,KAAK,QAAQ,CAAC,GAAG,IAAI,QAAQ,KAAK,QAAQ,CAAC,MAAM,CAAC;QAE9D,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,mBAAmB;QAC7C,MAAM,KAAK,GAAG,kBAAkB;YAC5B,CAAC,CAAC,CAAC,GAAG,cAAc;YACpB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;QAEzB,MAAM,CAAC,GAAG,kBAAkB;YACxB,CAAC,CAAC,kBAAkB,CACd,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EACX,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EACX,IAAI,CAAC,OAAO,CAAC,QAAQ,CACxB;YACH,CAAC,CAAC,kBAAkB,CACd,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EACX,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EACX,IAAI,CAAC,OAAO,CAAC,QAAQ,CACxB,CAAC;QAER,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,uDAAuD;QAE5F,MAAM,WAAW,GACb,QAAQ,KAAK,QAAQ,CAAC,IAAI,IAAI,QAAQ,KAAK,QAAQ,CAAC,MAAM;YACtD,CAAC,CAAC,CAAC,KAAK;YACR,CAAC,CAAC,KAAK,CAAC;QAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC9C,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAExB,kBAAkB;YAClB,IAAI,kBAAkB,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB;gBACxD,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB;YACzE,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;QAED,qBAAqB;QACrB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,KAAK,CAAC;YAEzB,KAAK;YACL,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrB,CAAC,EAAE,CAAC;gBAEJ,IAAI,kBAAkB,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB;oBACxD,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB;gBAC/E,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;oBACrC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC7D,CAAC;YACL,CAAC;YAED,OAAO;YACP,CAAC,GAAG,CAAC,CAAC;YACN,OAAO,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrB,CAAC,EAAE,CAAC;gBAEJ,IAAI,kBAAkB,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;oBACrC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,WAAW,EAAE,UAAU,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;oBACrC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC7D,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEvD,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,oCAAoC,CAChC,OAAe,EACf,OAAe,EACf,KAAc;QAEd,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAW,CAAC;QAE1D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,2BAA2B;QAEhF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;QACjE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEjE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAExC,mBAAmB;QACnB,MAAM,gBAAgB,GAAa;YAC/B,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAG,aAAa;YACnC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAG,cAAc;SACvC,CAAC;QACF,kBAAkB;QAElB,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,kCAAkC,CAC9B,OAAe,EACf,OAAe,EACf,MAAe,CAAC,uBAAuB;;QAEvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAW,CAAC;QAE1D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,2BAA2B;QAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;QAElE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAExC,mBAAmB;QACnB,MAAM,gBAAgB,GAAa;YAC/B,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAG,aAAa;YACnC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAG,cAAc;SACvC,CAAC;QACF,kBAAkB;QAElB,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,UAAoB,EAAE,WAAqB;QACtD,MAAM,MAAM,GAAgB,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG;gBACT,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACxB,CAAC;YACF,MAAM,EAAE,GAAG;gBACP,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACxB,CAAC;YACF,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAE7B,MAAM,QAAQ,GAAG;gBACb,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACf,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACf,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;aAClB,CAAC;YACF,MAAM,CAAC,GAAG,GAAG,CAAC;YACd,MAAM,GAAG,GAAe;gBACpB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;gBACvB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;gBACvB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;aAC1B,CAAC;YAEF,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC;YAC7B,IAAI,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC5B,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAEpD,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChC,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC/B,CAAC;YACL,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,EACD,OAAO,GAKV;QACG,MAAM,eAAe,GACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,KAAK,oBAAoB,CAAC;QAC/D,IACI,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,WAAW;YAChD,CAAC,eAAe,EAClB,CAAC;YACC,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAExB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACR,sBAAsB;YACtB,OAAO;QACX,CAAC;QAED,aAAa;QACb,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEvC,QAAQ;QACR,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEvC,SAAS;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QAED,OAAO;IACX,CAAC;IAED,sEAAsE;IACtE,UAAU,CAAC,WAAyB;;QAKhC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAEnC,WAAW;QACX,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAW,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAW,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAW,CAAC;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAW,CAAC;QAE9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,8BAA8B;QAC3F,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,mBAAmB,GAAa,EAAE,CAAC;QACvC,IAAI,gBAAgB,GAAa,EAAE,CAAC;QACpC,IAAI,SAAS,GAAgB,EAAE,CAAC;QAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAEpC,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1D,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1D,yDAAyD;QACzD,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAE9D,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAC9C,IAAI,EACJ,IAAI,EACJ,QAAQ,CAAC,MAAM,CAClB,CAAC;YACF,MAAM,UAAU,GACZ,IAAI,CAAC,oCAAoC,CACrC,UAAU,EACV,UAAU,EACV,KAAK,CACR,CAAC;YAEN,mBAAmB,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;YAClE,gBAAgB,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,UAAU,CAAC,CAAC;YACxD,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,sDAAsD;QACtD,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9D,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAC9C,IAAI,EACJ,IAAI,EACJ,QAAQ,CAAC,GAAG,CACf,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,oCAAoC,CACxD,UAAU,EACV,UAAU,EACV,IAAI,CAAC,QAAQ;aAChB,CAAC;YAEF,mBAAmB,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;YAClE,gBAAgB,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,UAAU,CAAC,CAAC;YACxD,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,uDAAuD;QACvD,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9D,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAC9C,IAAI,EACJ,IAAI,EACJ,QAAQ,CAAC,IAAI,CAChB,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,kCAAkC,CACtD,IAAI,EACJ,IAAI,EACJ,IAAI,CACP,CAAC;YAEF,mBAAmB,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;YAClE,gBAAgB,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,UAAU,CAAC,CAAC;YACxD,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,wDAAwD;QACxD,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9D,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAC9C,IAAI,EACJ,IAAI,EACJ,QAAQ,CAAC,KAAK,CACjB,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,kCAAkC,CACtD,IAAI,EACJ,IAAI,EACJ,KAAK,CACR,CAAC;YAEF,mBAAmB,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;YAClE,gBAAgB,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,UAAU,CAAC,CAAC;YACxD,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,0CAA0C;QAC1C,0BAA0B;QAC1B,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;YAC9C,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAqB,CAAC;YAC7C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YACD,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;YAChC,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ;YAC5B,EAAE,EAAE,gBAAgB;YACpB,EAAE,EAAE,kBAAkB;YACtB,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE;YAC3C,QAAQ,EAAE,IAAI,QAAQ,CAAC;gBACnB,QAAQ,EAAE,WAAW;gBACrB,UAAU,EAAE;oBACR,SAAS,EAAE,IAAI,YAAY,CAAC,mBAAmB,CAAC;iBACnD;gBACD,WAAW,EAAE,mBAAmB,CAAC,MAAM,GAAG,CAAC;aAC9C,CAAC;YAEF,OAAO,EAAE,CAAC,SAAS,CAAC;YACpB,WAAW,EAAE,KAAK;SACrB,CAAC,CAAC;QAEH,wBAAwB;QACxB,4BAA4B;QAC5B,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;YACpD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAA2B,CAAC;YAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;YACtC,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,aAAa;YACjC,EAAE,EAAE,gBAAgB;YACpB,EAAE,EAAE,kBAAkB;YACtB,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE;YAC1C,QAAQ,EAAE,IAAI,QAAQ,CAAC;gBACnB,QAAQ,EAAE,eAAe;gBACzB,UAAU,EAAE;oBACR,SAAS,EAAE,IAAI,YAAY,CAAC,gBAAgB,CAAC;iBAChD;gBACD,WAAW,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC;aAC3C,CAAC;YAEF,OAAO,EAAE,CAAC,SAAS,CAAC;YACpB,WAAW,EAAE,KAAK;SACrB,CAAC,CAAC;QAEH,mBAAmB;QACnB,MAAM,WAAW,GAAY,EAAE,CAAC;QAEhC,MAAM,UAAU,GAAG,cAAc,CAC7B,MAAA,IAAI,CAAC,KAAK,CAAC,eAAe,mCAAI,YAAY,CAAC,eAAe,CAC7D,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,WAAW,CAAC,KAAK,CAAC;YAChD,MAAM,kBAAkB,GACpB,MAAA,IAAI,CAAC,SAAS,mCAAI,kBAAkB,CAAC,MAAM,CAAC;YAEhD,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACf,SAAS;YACb,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY;YAEvD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,MAAM,WAAW,GAAG,GAAG,GAAG,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC;YACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC;YACpC,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,aAAa,GAAG,CAAC,CAAC;YAEtB,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,MAAM,KAAK,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC7B,EAAE,GAAG,CAAC,GAAG,CAAC;YACd,CAAC;iBAAM,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;gBACvC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,IAAI,kBAAkB,KAAK,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBACnD,kBAAkB,GAAG,GAAG,GAAG,UAAU,CAAC;YAC1C,CAAC;iBAAM,IAAI,kBAAkB,KAAK,kBAAkB,CAAC,GAAG,EAAE,CAAC;gBACvD,kBAAkB,GAAG,CAAC,GAAG,UAAU,CAAC;YACxC,CAAC;YAED,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzB,6DAA6D;gBAC7D,aAAa;gBACb,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,SAAS,EAAE,CAAC;oBACZ,eAAe;oBACf,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;oBAClB,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC;oBAC9B,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;oBAC5D,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;oBACtD,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC;oBAE9B,MAAM,CAAC,GAAG,CAAC,CAAC;oBAEZ,wBAAwB;oBACxB,KAAK;oBACL,mBAAmB;oBACnB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,cAAc,CAAC,CAAC,qDAAqD;oBAC1H,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,kBAAkB,CAAC,GAAG,cAAc,CAAC;oBAC1F,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAClC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAElC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,cAAc,CAAC;oBACpE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,kBAAkB,CAAC,GAAG,cAAc,CAAC;oBAC1F,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAClC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAElC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,cAAc,CAAC;oBACpE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,kBAAkB,CAAC,GAAG,cAAc,CAAC;oBAC1F,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAClC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAElC,KAAK;oBACL,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,cAAc,CAAC;oBACpE,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,kBAAkB,CAAC,GAAG,cAAc,CAAC;oBAC3F,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAClC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAClC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAElC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,cAAc,CAAC;oBACrE,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,kBAAkB,CAAC,GAAG,cAAc,CAAC;oBAC3F,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAClC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAClC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAElC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,cAAc,CAAC;oBACrE,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,kBAAkB,CAAC,GAAG,cAAc,CAAC;oBAC3F,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAClC,SAAS,CAAC,aAAa,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBACnC,SAAS,CAAC,aAAa,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;oBACnC,mBAAmB;oBAEnB,EAAE,IAAI,CAAC,CAAC;oBACR,MAAM,IAAI,EAAE,CAAC;oBACb,aAAa,IAAI,EAAE,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACJ,+CAA+C;oBAC/C,EAAE,IAAI,CAAC,CAAC;gBACZ,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;gBAC5B,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,EAAE;gBAC/B,EAAE,EAAE,iBAAiB;gBACrB,EAAE,EAAE,mBAAmB;gBACvB,QAAQ,EAAE;oBACN,UAAU,EAAE,SAAS;oBACrB,gBAAgB,EAAE,MAAM;iBAC3B;gBACD,QAAQ,EAAE;oBACN,aAAa;oBACb,WAAW;iBACd;gBACD,QAAQ,EAAE,IAAI,QAAQ,CAAC;oBACnB,QAAQ,EAAE,eAAe;oBACzB,UAAU,EAAE;wBACR,SAAS;wBACT,SAAS,EAAE;4BACP,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,CAAC;yBACV;qBACJ;oBACD,WAAW,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;iBACpC,CAAC;gBACF,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAG,CAAC,gBAAgB,EAAE;gBAC5D,OAAO,EAAE,CAAC,SAAS,CAAC;gBACpB,WAAW,EAAE,KAAK;aACrB,CAAC,CAAC;YAEH,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;IAChG,CAAC;CACJ;AAED,WAAW,CAAC,SAAS,GAAG,aAAa,CAAC;AACtC,WAAW,CAAC,YAAY,GAAG,YAAY,CAAC;AAExC,4EAA4E;AAE5E,gBAAgB;AAChB,SAAS;AACT,0DAA0D;AAC1D,2DAA2D;AAC3D,uBAAuB;AACvB,4BAA4B;AAC5B,kBAAkB;AAClB,gCAAgC;AAChC,wCAAwC;AACxC,yBAAyB;AACzB,iBAAiB;AACjB,2BAA2B;AAC3B,6EAA6E;AAC7E,yCAAyC;AACzC,iBAAiB;AACjB,YAAY;AACZ,SAAS;AAET,4DAA4D;AAC5D,IAAI;AAEJ,SAAS,kBAAkB,CACvB,EAAc,EACd,EAAc,EACd,QAAkB;IAElB,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,CAAC,GAAG;QACN,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC7B,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC7B,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;KAChC,CAAC;IACF,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sCAAsC;IACtF,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CACb,GAAW,EACX,GAAW,EACX,iBAAyB;IAEzB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;IAExB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACrC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IAC9C,IAAI,YAAY,IAAI,CAAC;QAAE,YAAY,GAAG,CAAC,CAAC;SACnC,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC;QAChE,YAAY,GAAG,CAAC,CAAC;SAChB,IAAI,YAAY,GAAG,CAAC;QAAE,YAAY,GAAG,EAAE,CAAC;SACxC,IAAI,YAAY,GAAG,CAAC;QAAE,YAAY,GAAG,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,YAAY,GAAG,MAAM,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5D,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAErC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,kBAAkB;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,eAAuB;IAC3C,2DAA2D;IAC3D,6FAA6F;IAC7F,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"axes2DLayer.js","sourceRoot":"","sources":["../../../src/layers/axes2d/axes2DLayer.ts"],"names":[],"mappings":"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AE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;QAElD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACrC,CAAC,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAC9C,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QAClD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACnD,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;QACrD,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,E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"}
@@ -1,2 +1,2 @@
1
- declare const _default: "#version 300 es\n#define SHADER_NAME axes2d-layer-fragment-shader\n\nprecision highp float;\n\nout vec4 fragColor;\n\nuniform sampler2D fontTexture;\n\nuniform vec4 uAxisColor;\nuniform vec4 uBackGroundColor;\n\nin vec2 _vTexCoord;\n\nvoid main(void) {\n vec4 color = texture(fontTexture, _vTexCoord);\n \n float x = 1.0 - (color.r + color.g + color.b) / 3.0; // intensity of text color\n x = smoothstep(0.0, 0.2, x); \n\n float text_r = uAxisColor.r;\n float text_g = uAxisColor.g;\n float text_b = uAxisColor.b;\n\n float bg_r = uBackGroundColor.r;\n float bg_g = uBackGroundColor.g;\n float bg_b = uBackGroundColor.b;\n \n float r = x * text_r + (1.0 - x) * bg_r;\n float g = x * text_g + (1.0 - x) * bg_g;\n float b = x * text_b + (1.0 - x) * bg_b;\n\n fragColor = vec4(r, g, b, 1.0);\n}\n";
1
+ declare const _default: "#version 300 es\n#define SHADER_NAME axes2d-label-fragment-shader\n\nprecision highp float;\n\nout vec4 fragColor;\n\nuniform sampler2D fontTexture;\n\nin vec2 _vTexCoord;\n\nvoid main(void) {\n vec4 color = texture(fontTexture, _vTexCoord);\n \n float x = 1.0 - (color.r + color.g + color.b) / 3.0; // intensity of text color\n x = smoothstep(0.0, 0.2, x); \n\n float text_r = axes.uAxisColor.r;\n float text_g = axes.uAxisColor.g;\n float text_b = axes.uAxisColor.b;\n\n float bg_r = axes.uBackGroundColor.r;\n float bg_g = axes.uBackGroundColor.g;\n float bg_b = axes.uBackGroundColor.b;\n \n float r = x * text_r + (1.0 - x) * bg_r;\n float g = x * text_g + (1.0 - x) * bg_g;\n float b = x * text_b + (1.0 - x) * bg_b;\n\n fragColor = vec4(r, g, b, 1.0);\n}\n";
2
2
  export default _default;
@@ -1,6 +1,6 @@
1
1
  export default `\
2
2
  #version 300 es
3
- #define SHADER_NAME axes2d-layer-fragment-shader
3
+ #define SHADER_NAME axes2d-label-fragment-shader
4
4
 
5
5
  precision highp float;
6
6
 
@@ -8,9 +8,6 @@ out vec4 fragColor;
8
8
 
9
9
  uniform sampler2D fontTexture;
10
10
 
11
- uniform vec4 uAxisColor;
12
- uniform vec4 uBackGroundColor;
13
-
14
11
  in vec2 _vTexCoord;
15
12
 
16
13
  void main(void) {
@@ -19,13 +16,13 @@ void main(void) {
19
16
  float x = 1.0 - (color.r + color.g + color.b) / 3.0; // intensity of text color
20
17
  x = smoothstep(0.0, 0.2, x);
21
18
 
22
- float text_r = uAxisColor.r;
23
- float text_g = uAxisColor.g;
24
- float text_b = uAxisColor.b;
19
+ float text_r = axes.uAxisColor.r;
20
+ float text_g = axes.uAxisColor.g;
21
+ float text_b = axes.uAxisColor.b;
25
22
 
26
- float bg_r = uBackGroundColor.r;
27
- float bg_g = uBackGroundColor.g;
28
- float bg_b = uBackGroundColor.b;
23
+ float bg_r = axes.uBackGroundColor.r;
24
+ float bg_g = axes.uBackGroundColor.g;
25
+ float bg_b = axes.uBackGroundColor.b;
29
26
 
30
27
  float r = x * text_r + (1.0 - x) * bg_r;
31
28
  float g = x * text_g + (1.0 - x) * bg_g;
@@ -1 +1 @@
1
- {"version":3,"file":"label-fragment.glsl.js","sourceRoot":"","sources":["../../../src/layers/axes2d/label-fragment.glsl.js"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCd,CAAC"}
1
+ {"version":3,"file":"label-fragment.glsl.js","sourceRoot":"","sources":["../../../src/layers/axes2d/label-fragment.glsl.js"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCd,CAAC"}
@@ -1,2 +1,2 @@
1
- declare const _default: "#version 300 es\n#define SHADER_NAME axes2d-layer-vertex-shader\n\nprecision highp float;\n\nin vec3 positions;\n\nin vec2 vTexCoord;\nout vec2 _vTexCoord;\n\nvoid main(void) {\n _vTexCoord = vTexCoord;\n\n vec3 position_commonspace = project_position(positions);\n vec4 position_clipspace = project_common_position_to_clipspace(vec4(position_commonspace, 1.0));\n gl_Position = vec4(position_clipspace.x, position_clipspace.y, -1.0, position_clipspace.w);\n}\n";
1
+ declare const _default: "#version 300 es\n#define SHADER_NAME axes2d-label-vertex-shader\n\nprecision highp float;\n\nin vec3 positions;\n\nin vec2 vTexCoord;\nout vec2 _vTexCoord;\n\nvoid main(void) {\n _vTexCoord = vTexCoord;\n\n vec3 position_commonspace = project_position(positions);\n vec4 position_clipspace = project_common_position_to_clipspace(vec4(position_commonspace, 1.0));\n gl_Position = vec4(position_clipspace.x, position_clipspace.y, -1.0, position_clipspace.w);\n}\n";
2
2
  export default _default;
@@ -1,6 +1,6 @@
1
1
  export default `\
2
2
  #version 300 es
3
- #define SHADER_NAME axes2d-layer-vertex-shader
3
+ #define SHADER_NAME axes2d-label-vertex-shader
4
4
 
5
5
  precision highp float;
6
6
 
@@ -1,2 +1,2 @@
1
- declare const _default: "#version 300 es\n#define SHADER_NAME axes2dlayer-line-fragment-shader\n\nprecision highp float;\n\nuniform vec4 uColor;\n\nout vec4 fragColor;\n\nvoid main(void) {\n fragColor = uColor;\n}\n";
1
+ declare const _default: "#version 300 es\n#define SHADER_NAME axes2d-line-fragment-shader\n\nprecision highp float;\n\nout vec4 fragColor;\n\nvoid main(void) {\n fragColor = lines.uColor;\n}\n";
2
2
  export default _default;
@@ -1,15 +1,13 @@
1
1
  export default `\
2
2
  #version 300 es
3
- #define SHADER_NAME axes2dlayer-line-fragment-shader
3
+ #define SHADER_NAME axes2d-line-fragment-shader
4
4
 
5
5
  precision highp float;
6
6
 
7
- uniform vec4 uColor;
8
-
9
7
  out vec4 fragColor;
10
8
 
11
9
  void main(void) {
12
- fragColor = uColor;
10
+ fragColor = lines.uColor;
13
11
  }
14
12
  `;
15
13
  //# sourceMappingURL=line-fragment.glsl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"line-fragment.glsl.js","sourceRoot":"","sources":["../../../src/layers/axes2d/line-fragment.glsl.js"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;CAad,CAAC"}
1
+ {"version":3,"file":"line-fragment.glsl.js","sourceRoot":"","sources":["../../../src/layers/axes2d/line-fragment.glsl.js"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;CAWd,CAAC"}
@@ -1,2 +1,2 @@
1
- declare const _default: "#version 300 es\n#define SHADER_NAME axes2dlayer-line-vertex-shader\n\nprecision highp float;\n\nuniform float uClipZ;\n\nin vec3 positions;\n\nvoid main(void) {\n vec3 position_commonspace = project_position(positions);\n vec4 position_clipspace = project_common_position_to_clipspace(vec4(position_commonspace, 1.0));\n gl_Position = vec4(position_clipspace.x, position_clipspace.y, uClipZ, position_clipspace.w);\n}\n";
1
+ declare const _default: "#version 300 es\n#define SHADER_NAME axes2d-line-vertex-shader\n\nprecision highp float;\n\nin vec3 positions;\n\nvoid main(void) {\n vec3 position_commonspace = project_position(positions);\n vec4 position_clipspace = project_common_position_to_clipspace(vec4(position_commonspace, 1.0));\n gl_Position = vec4(position_clipspace.x, position_clipspace.y, lines.uClipZ, position_clipspace.w);\n}\n";
2
2
  export default _default;
@@ -1,17 +1,15 @@
1
1
  export default `\
2
2
  #version 300 es
3
- #define SHADER_NAME axes2dlayer-line-vertex-shader
3
+ #define SHADER_NAME axes2d-line-vertex-shader
4
4
 
5
5
  precision highp float;
6
6
 
7
- uniform float uClipZ;
8
-
9
7
  in vec3 positions;
10
8
 
11
9
  void main(void) {
12
10
  vec3 position_commonspace = project_position(positions);
13
11
  vec4 position_clipspace = project_common_position_to_clipspace(vec4(position_commonspace, 1.0));
14
- gl_Position = vec4(position_clipspace.x, position_clipspace.y, uClipZ, position_clipspace.w);
12
+ gl_Position = vec4(position_clipspace.x, position_clipspace.y, lines.uClipZ, position_clipspace.w);
15
13
  }
16
14
  `;
17
15
  //# sourceMappingURL=line-vertex.glsl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"line-vertex.glsl.js","sourceRoot":"","sources":["../../../src/layers/axes2d/line-vertex.glsl.js"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;;;CAed,CAAC"}
1
+ {"version":3,"file":"line-vertex.glsl.js","sourceRoot":"","sources":["../../../src/layers/axes2d/line-vertex.glsl.js"],"names":[],"mappings":"AAAA,eAAe;;;;;;;;;;;;;CAad,CAAC"}
@@ -1,2 +1,2 @@
1
- declare const fsColormap = "#version 300 es\n#define SHADER_NAME colormap-shader\n\nprecision highp float;\n\nin vec2 vTexCoord;\n\nout vec4 fragColor;\n\nuniform sampler2D bitmapTexture; // Property map\nuniform sampler2D colormap;\n\nuniform float opacity;\n\nvoid main(void) {\n vec4 bitmapColor = texture(bitmapTexture, vTexCoord);\n\n // If it's a picking pass, we just return the raw property map value.\n if (picking.isActive > 0.5) {\n fragColor = bitmapColor;\n return;\n }\n\n // Decode the RGB value into a float. See decoder.fs.glsl for more details.\n float val = decode_rgb2float(bitmapColor.rgb);\n // The resulting val will be in [0, 1] interval, so we can use it directly as a texture coord\n // to sample from the colormap.\n // 0 => Leftmost color in the colormap, 1 => rightmost color, linearly interpolated in between.\n vec4 color = texture(colormap, vec2(val, 0.5));\n\n // The final pixel opacity is the combination of the user provided image-wide opacity,\n // the colormap opacity at the sampled pixel and the property map opacity of the sampled pixel.\n fragColor = vec4(color.rgb, color.a * bitmapColor.a * opacity);\n\n // Support for existing functionality that comes from the BitmapLayer, such as desaturate, tintColor etc.\n // See https://deck.gl/docs/api-reference/layers/bitmap-layer#render-options for more details.\n geometry.uv = vTexCoord;\n DECKGL_FILTER_COLOR(fragColor, geometry);\n\n}\n";
1
+ declare const fsColormap = "#version 300 es\n#define SHADER_NAME colormap-fragment-shader\n\nprecision highp float;\n\nin vec2 vTexCoord;\n\nout vec4 fragColor;\n\nuniform sampler2D bitmapTexture; // Property map\nuniform sampler2D colormap;\n\nvoid main(void) {\n vec4 bitmapColor = texture(bitmapTexture, vTexCoord);\n\n // If it's a picking pass, we just return the raw property map value.\n if (picking.isActive > 0.5) {\n fragColor = bitmapColor;\n return;\n }\n\n // Decode the RGB value into a float. See decoder.fs.glsl for more details.\n float val = decode_rgb2float(bitmapColor.rgb);\n // The resulting val will be in [0, 1] interval, so we can use it directly as a texture coord\n // to sample from the colormap.\n // 0 => Leftmost color in the colormap, 1 => rightmost color, linearly interpolated in between.\n vec4 color = texture(colormap, vec2(val, 0.5));\n\n // The final pixel opacity is the combination of the user provided image-wide opacity,\n // the colormap opacity at the sampled pixel and the property map opacity of the sampled pixel.\n fragColor = vec4(color.rgb, color.a * bitmapColor.a * layer.opacity);\n\n // Support for existing functionality that comes from the BitmapLayer, such as desaturate, tintColor etc.\n // See https://deck.gl/docs/api-reference/layers/bitmap-layer#render-options for more details.\n geometry.uv = vTexCoord;\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n";
2
2
  export default fsColormap;
@@ -1,5 +1,5 @@
1
1
  const fsColormap = `#version 300 es
2
- #define SHADER_NAME colormap-shader
2
+ #define SHADER_NAME colormap-fragment-shader
3
3
 
4
4
  precision highp float;
5
5
 
@@ -10,8 +10,6 @@ out vec4 fragColor;
10
10
  uniform sampler2D bitmapTexture; // Property map
11
11
  uniform sampler2D colormap;
12
12
 
13
- uniform float opacity;
14
-
15
13
  void main(void) {
16
14
  vec4 bitmapColor = texture(bitmapTexture, vTexCoord);
17
15
 
@@ -30,13 +28,12 @@ void main(void) {
30
28
 
31
29
  // The final pixel opacity is the combination of the user provided image-wide opacity,
32
30
  // the colormap opacity at the sampled pixel and the property map opacity of the sampled pixel.
33
- fragColor = vec4(color.rgb, color.a * bitmapColor.a * opacity);
31
+ fragColor = vec4(color.rgb, color.a * bitmapColor.a * layer.opacity);
34
32
 
35
33
  // Support for existing functionality that comes from the BitmapLayer, such as desaturate, tintColor etc.
36
34
  // See https://deck.gl/docs/api-reference/layers/bitmap-layer#render-options for more details.
37
35
  geometry.uv = vTexCoord;
38
36
  DECKGL_FILTER_COLOR(fragColor, geometry);
39
-
40
37
  }
41
38
  `;
42
39
  export default fsColormap;
@@ -1 +1 @@
1
- {"version":3,"file":"colormap.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/colormap/colormap.fs.glsl.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwClB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"colormap.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/colormap/colormap.fs.glsl.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqClB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -3,10 +3,11 @@ import type { BitmapLayerPickingInfo, BitmapLayerProps } from "@deck.gl/layers";
3
3
  import { BitmapLayer } from "@deck.gl/layers";
4
4
  import type { PickingInfo } from "@deck.gl/core";
5
5
  import type { LayerPickInfo, TypeAndNameLayerProps } from "../../layers/utils/layerTools";
6
- import type { ValueDecoder } from "../utils/propertyMapTools";
6
+ import { type ValueDecoder } from "../utils/propertyMapTools";
7
7
  import type { ColorMapFunctionType } from "../utils/layerTools";
8
8
  import type { ReportBoundingBoxAction } from "../../components/Map";
9
9
  import type { ContinuousLegendDataType } from "../../components/ColorLegend";
10
+ import type { Model } from "@luma.gl/engine";
10
11
  export interface ColormapLayerProps extends BitmapLayerProps, TypeAndNameLayerProps {
11
12
  colorMapName: string;
12
13
  colorMapFunction?: ColorMapFunctionType;
@@ -18,7 +19,7 @@ export interface ColormapLayerProps extends BitmapLayerProps, TypeAndNameLayerPr
18
19
  }
19
20
  export default class ColormapLayer extends BitmapLayer<ColormapLayerProps> {
20
21
  initializeState(): void;
21
- draw({ moduleParameters, uniforms }: any): void;
22
+ setShaderModuleProps(...props: Parameters<Model["shaderInputs"]["setProps"]>): void;
22
23
  getShaders(): any;
23
24
  getPickingInfo({ info, }: {
24
25
  info: PickingInfo;
@@ -1,9 +1,9 @@
1
1
  import { BitmapLayer } from "@deck.gl/layers";
2
- import { decoder } from "../shader_modules";
3
2
  import { decodeRGB } from "../utils/propertyMapTools";
4
3
  import { getModelMatrix } from "../utils/layerTools";
5
4
  import fsColormap from "./colormap.fs.glsl";
6
5
  import { getRgbData } from "@emerson-eps/color-tables";
6
+ import { project32 } from "@deck.gl/core";
7
7
  function getImageData(colorMapName, colorTables, colorMapFunction) {
8
8
  const isColorMapFunctionDefined = typeof colorMapFunction !== "undefined";
9
9
  const data = new Uint8Array(256 * 3);
@@ -49,10 +49,8 @@ export default class ColormapLayer extends BitmapLayer {
49
49
  initializeState() {
50
50
  super.initializeState();
51
51
  }
52
- // Signature from the base class, eslint doesn't like the any type.
53
- // eslint-disable-next-line
54
- draw({ moduleParameters, uniforms }) {
55
- var _a, _b, _c, _d, _e, _f, _g;
52
+ setShaderModuleProps(...props) {
53
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
56
54
  if (!this.isLoaded) {
57
55
  if (typeof this.props.reportBoundingBox !== "undefined") {
58
56
  const xMin = this.props.bounds[0];
@@ -66,41 +64,51 @@ export default class ColormapLayer extends BitmapLayer {
66
64
  });
67
65
  }
68
66
  }
69
- const mergedModuleParams = Object.assign(Object.assign({}, moduleParameters), { valueDecoder: Object.assign(Object.assign({}, defaultProps.valueDecoder), moduleParameters.valueDecoder), modelMatrix: getModelMatrix(this.props.rotDeg, this.props.bounds[0], // Rotate around upper left corner of bounds
70
- this.props.bounds[3]) });
71
- super.setModuleParameters(mergedModuleParams);
72
- const valueRangeMin = (_a = this.props.valueRange[0]) !== null && _a !== void 0 ? _a : 0.0;
73
- const valueRangeMax = (_b = this.props.valueRange[1]) !== null && _b !== void 0 ? _b : 1.0;
67
+ // Set property for modelMatrix.
68
+ const m = getModelMatrix(this.props.rotDeg, this.props.bounds[0], // Rotate around upper left corner of bounds
69
+ this.props.bounds[3]);
70
+ for (const model of this.getModels()) {
71
+ const isDefined = ((_b = (_a = props[0]) === null || _a === void 0 ? void 0 : _a.project) === null || _b === void 0 ? void 0 : _b.modelMatrix) !== undefined;
72
+ if (isDefined) {
73
+ props[0]["project"].modelMatrix =
74
+ m;
75
+ }
76
+ model.shaderInputs.setProps(...props);
77
+ }
78
+ // Properties for local shader module.
79
+ const valueRangeMin = (_c = this.props.valueRange[0]) !== null && _c !== void 0 ? _c : 0.0;
80
+ const valueRangeMax = (_d = this.props.valueRange[1]) !== null && _d !== void 0 ? _d : 1.0;
74
81
  // If specified color map will extend from colorMapRangeMin to colorMapRangeMax.
75
82
  // Otherwise it will extend from valueRangeMin to valueRangeMax.
76
- const colorMapRangeMin = (_d = (_c = this.props.colorMapRange) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : valueRangeMin;
77
- const colorMapRangeMax = (_f = (_e = this.props.colorMapRange) === null || _e === void 0 ? void 0 : _e[1]) !== null && _f !== void 0 ? _f : valueRangeMax;
83
+ const colorMapRangeMin = (_f = (_e = this.props.colorMapRange) === null || _e === void 0 ? void 0 : _e[0]) !== null && _f !== void 0 ? _f : valueRangeMin;
84
+ const colorMapRangeMax = (_h = (_g = this.props.colorMapRange) === null || _g === void 0 ? void 0 : _g[1]) !== null && _h !== void 0 ? _h : valueRangeMax;
78
85
  const colormap = this.context.device.createTexture({
79
86
  width: 256,
80
87
  height: 1,
81
88
  format: "rgb8unorm-webgl",
82
89
  data: getImageData(this.props.colorMapName, this.context.userData.colorTables, this.props.colorMapFunction),
83
90
  });
84
- (_g = this.state.model) === null || _g === void 0 ? void 0 : _g.setBindings({ colormap });
85
- super.draw({
86
- uniforms: Object.assign(Object.assign({}, uniforms), {
87
- // Send the colormap texture to the shader.
91
+ (_j = this.state.model) === null || _j === void 0 ? void 0 : _j.setBindings({ colormap });
92
+ super.setShaderModuleProps({
93
+ map: {
88
94
  valueRangeMin,
89
95
  valueRangeMax,
90
96
  colorMapRangeMin,
91
- colorMapRangeMax }),
92
- moduleParameters: mergedModuleParams,
97
+ colorMapRangeMax,
98
+ rgbScaler: this.props.valueDecoder.rgbScaler,
99
+ floatScaler: this.props.valueDecoder.floatScaler,
100
+ offset: this.props.valueDecoder.offset,
101
+ step: this.props.valueDecoder.step,
102
+ },
93
103
  });
94
104
  }
95
- // Signature from the base class, eslint doesn't like the any type.
96
- // eslint-disable-next-line
97
105
  getShaders() {
98
106
  const parentShaders = super.getShaders();
99
- // Overwrite the BitmapLayer's default fragment shader with ours, that does colormapping.
100
- parentShaders.fs = fsColormap;
101
- // Add the decoder shader module to our colormap shader, so we can use the decoder function from our shader.
102
- parentShaders.modules.push(decoder);
103
- return parentShaders;
107
+ // use object.assign to make sure we don't overwrite existing fields like `vs`, `modules`...
108
+ return Object.assign({}, parentShaders, {
109
+ fs: fsColormap,
110
+ modules: [...parentShaders.modules, project32, map2DUniforms],
111
+ });
104
112
  }
105
113
  getPickingInfo({ info, }) {
106
114
  if (!info.color) {
@@ -134,4 +142,52 @@ export default class ColormapLayer extends BitmapLayer {
134
142
  }
135
143
  ColormapLayer.layerName = "ColormapLayer";
136
144
  ColormapLayer.defaultProps = defaultProps;
145
+ // local shader module for the uniforms
146
+ const map2DUniformsBlock = /*glsl*/ `\
147
+ uniform mapUniforms {
148
+ float valueRangeMin;
149
+ float valueRangeMax;
150
+ float colorMapRangeMin;
151
+ float colorMapRangeMax;
152
+
153
+ vec3 rgbScaler; // r, g and b multipliers
154
+ float floatScaler; // value multiplier
155
+ float offset; // translation of the r, g, b sum
156
+ float step; // discretize the value in a number of
157
+ } map;
158
+
159
+ float decode_rgb2float(vec3 rgb) {
160
+ rgb *= map.rgbScaler * vec3(16711680.0, 65280.0, 255.0); //255*256*256, 255*256, 255
161
+ float value = (rgb.r + rgb.g + rgb.b + map.offset) * map.floatScaler;
162
+
163
+ // Value must be in [0, 1] and step in (0, 1]
164
+ if (map.step > 0.0) {
165
+ value = floor(value / map.step + 0.5) * map.step;
166
+ }
167
+
168
+ // If colorMapRangeMin/Max specified, color map will span this interval.
169
+ float x = value * (map.valueRangeMax - map.valueRangeMin) + map.valueRangeMin;
170
+ x = (x - map.colorMapRangeMin) / (map.colorMapRangeMax - map.colorMapRangeMin);
171
+ x = max(0.0, x);
172
+ x = min(1.0, x);
173
+
174
+ return x;
175
+ }
176
+ `;
177
+ // NOTE: this must exactly the same name as in the uniform block
178
+ const map2DUniforms = {
179
+ name: "map",
180
+ vs: map2DUniformsBlock,
181
+ fs: map2DUniformsBlock,
182
+ uniformTypes: {
183
+ valueRangeMin: "f32",
184
+ valueRangeMax: "f32",
185
+ colorMapRangeMin: "f32",
186
+ colorMapRangeMax: "f32",
187
+ rgbScaler: "vec3<f32>",
188
+ floatScaler: "f32",
189
+ offset: "f32",
190
+ step: "f32",
191
+ },
192
+ };
137
193
  //# sourceMappingURL=colormapLayer.js.map