@kurot/core 2.4.0 → 2.5.0
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 +61 -2
- package/README.md +45 -14
- package/dist/kurot/display/texture/RenderTexture.d.ts +1 -0
- package/dist/kurot/display/texture/RenderTexture.d.ts.map +1 -1
- package/dist/kurot/display/texture/RenderTexture.js +4 -0
- package/dist/kurot/display/texture/RenderTexture.js.map +1 -1
- package/dist/kurot/display/texture/SpriteSheet.d.ts +4 -0
- package/dist/kurot/display/texture/SpriteSheet.d.ts.map +1 -1
- package/dist/kurot/display/texture/SpriteSheet.js +7 -3
- package/dist/kurot/display/texture/SpriteSheet.js.map +1 -1
- package/dist/kurot/display/texture/Texture.d.ts +14 -0
- package/dist/kurot/display/texture/Texture.d.ts.map +1 -1
- package/dist/kurot/display/texture/Texture.js +28 -6
- package/dist/kurot/display/texture/Texture.js.map +1 -1
- package/dist/kurot/player/bitmap-fill.js +1 -1
- package/dist/kurot/player/bitmap-fill.js.map +1 -1
- package/dist/kurot/player/canvas/CanvasRenderer.d.ts.map +1 -1
- package/dist/kurot/player/canvas/CanvasRenderer.js +25 -36
- package/dist/kurot/player/canvas/CanvasRenderer.js.map +1 -1
- package/dist/kurot/player/pipes/BitmapPipe.js +2 -2
- package/dist/kurot/player/pipes/BitmapPipe.js.map +1 -1
- package/dist/kurot/player/pipes/BitmapTextPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/BitmapTextPipe.js +1 -2
- package/dist/kurot/player/pipes/BitmapTextPipe.js.map +1 -1
- package/dist/kurot/player/pipes/MaskPipe.d.ts.map +1 -1
- package/dist/kurot/player/pipes/MaskPipe.js +7 -1
- package/dist/kurot/player/pipes/MaskPipe.js.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderer.d.ts.map +1 -1
- package/dist/kurot/player/webgl/WebGLRenderer.js +2 -1
- package/dist/kurot/player/webgl/WebGLRenderer.js.map +1 -1
- package/dist/kurot/resource/analyzers/SheetAnalyzer.d.ts.map +1 -1
- package/dist/kurot/resource/analyzers/SheetAnalyzer.js +4 -1
- package/dist/kurot/resource/analyzers/SheetAnalyzer.js.map +1 -1
- package/dist/kurot/text/BitmapFont.d.ts.map +1 -1
- package/dist/kurot/text/BitmapFont.js +2 -0
- package/dist/kurot/text/BitmapFont.js.map +1 -1
- package/dist/kurot/text/TextField.d.ts.map +1 -1
- package/dist/kurot/text/TextField.js +7 -30
- package/dist/kurot/text/TextField.js.map +1 -1
- package/dist/kurot/text/TextLineLayout.d.ts.map +1 -1
- package/dist/kurot/text/TextLineLayout.js +44 -6
- package/dist/kurot/text/TextLineLayout.js.map +1 -1
- package/dist/kurot/text/TextMeasurer.d.ts +5 -0
- package/dist/kurot/text/TextMeasurer.d.ts.map +1 -1
- package/dist/kurot/text/TextMeasurer.js +10 -1
- package/dist/kurot/text/TextMeasurer.js.map +1 -1
- package/dist/kurot/text/TextRenderBounds.d.ts +1 -1
- package/dist/kurot/text/TextRenderBounds.d.ts.map +1 -1
- package/dist/kurot/text/TextRenderBounds.js +9 -2
- package/dist/kurot/text/TextRenderBounds.js.map +1 -1
- package/dist/kurot/text/TextVerticalLayout.d.ts +7 -0
- package/dist/kurot/text/TextVerticalLayout.d.ts.map +1 -0
- package/dist/kurot/text/TextVerticalLayout.js +23 -0
- package/dist/kurot/text/TextVerticalLayout.js.map +1 -0
- package/dist/kurot/text/types/ITextElement.d.ts +12 -0
- package/dist/kurot/text/types/ITextElement.d.ts.map +1 -1
- package/docs/ai-context.md +24 -2
- package/docs/architecture.md +8 -1
- package/docs/bitmap-fill.md +9 -3
- package/docs/bitmap-fonts.md +7 -3
- package/docs/centered-flips.md +4 -4
- package/docs/resource.md +5 -0
- package/docs/text-layout.md +41 -0
- package/docs/texture-density.md +96 -0
- package/package.json +1 -1
|
@@ -93,6 +93,9 @@ export class SheetAnalyzer extends AnalyzerBase {
|
|
|
93
93
|
}
|
|
94
94
|
try {
|
|
95
95
|
const config = JSON.parse(response);
|
|
96
|
+
if (config.resolution !== undefined && (!Number.isFinite(config.resolution) || config.resolution <= 0)) {
|
|
97
|
+
throw new RangeError('Sheet resolution must be a finite positive number.');
|
|
98
|
+
}
|
|
96
99
|
const imageUrl = this.getRelativePath(item.url, config.file);
|
|
97
100
|
resolve({ config, imageUrl });
|
|
98
101
|
}
|
|
@@ -120,7 +123,7 @@ export class SheetAnalyzer extends AnalyzerBase {
|
|
|
120
123
|
const onComplete = () => {
|
|
121
124
|
cleanup();
|
|
122
125
|
if (loader.data) {
|
|
123
|
-
const texture = new Texture();
|
|
126
|
+
const texture = new Texture(config.resolution);
|
|
124
127
|
texture.setBitmapData(loader.data);
|
|
125
128
|
this.analyzeBitmap(item, texture, config);
|
|
126
129
|
item.loaded = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SheetAnalyzer.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/SheetAnalyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"SheetAnalyzer.js","sourceRoot":"","sources":["../../../../src/kurot/resource/analyzers/SheetAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitmapFont.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,WAAW;IAE1C,SAAgB,IAAI,EAAE,cAAc,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,SAAS,CAAS;gBAGP,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB;
|
|
1
|
+
{"version":3,"file":"BitmapFont.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,UAAW,SAAQ,WAAW;IAE1C,SAAgB,IAAI,EAAE,cAAc,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,SAAS,CAAS;gBAGP,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB;IAyB9E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM;IAiBlH,kBAAkB,IAAI,MAAM;IAKnB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAS7C,OAAO,IAAI,IAAI;CAO/B"}
|
|
@@ -17,6 +17,8 @@ export class BitmapFont extends SpriteSheet {
|
|
|
17
17
|
this._ownsTexture = options.ownsTexture ?? true;
|
|
18
18
|
if (textureScaleFactor !== 1)
|
|
19
19
|
throw new RangeError('BitmapFont requires textureScaleFactor=1.');
|
|
20
|
+
if (texture.resolution !== 1)
|
|
21
|
+
throw new RangeError('BitmapFont metrics require a page texture with resolution=1.');
|
|
20
22
|
if (texture.bitmapX !== 0 ||
|
|
21
23
|
texture.bitmapY !== 0 ||
|
|
22
24
|
texture.rotated ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitmapFont.js","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BitmapFont.js","sourceRoot":"","sources":["../../../src/kurot/text/BitmapFont.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextField.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { TextFieldType } from './enums/TextFieldType.js';
|
|
|
8
8
|
import { TextFieldInputType } from './enums/TextFieldInputType.js';
|
|
9
9
|
import { InputController } from './InputController.js';
|
|
10
10
|
import { layoutTextLines } from './TextLineLayout.js';
|
|
11
|
+
import { getTextVerticalOffset } from './TextVerticalLayout.js';
|
|
11
12
|
/**
|
|
12
13
|
* TextField displays text content. Supports single-line, multi-line, word wrap,
|
|
13
14
|
* rich text (textFlow), input mode, and basic styling.
|
|
@@ -682,20 +683,7 @@ export class TextField extends DisplayObject {
|
|
|
682
683
|
if (lines.length === 0)
|
|
683
684
|
return 0;
|
|
684
685
|
const width = !isNaN(this.$explicitWidth) ? this.$explicitWidth : this._textWidth;
|
|
685
|
-
const
|
|
686
|
-
let totalTextHeight = 0;
|
|
687
|
-
for (let i = 0; i < lines.length; i++) {
|
|
688
|
-
totalTextHeight += lines[i].height;
|
|
689
|
-
if (i > 0)
|
|
690
|
-
totalTextHeight += this._lineSpacing;
|
|
691
|
-
}
|
|
692
|
-
let verticalOffset = 0;
|
|
693
|
-
if (this._verticalAlign === VerticalAlign.MIDDLE) {
|
|
694
|
-
verticalOffset = Math.max(0, (height - totalTextHeight) / 2);
|
|
695
|
-
}
|
|
696
|
-
else if (this._verticalAlign === VerticalAlign.BOTTOM) {
|
|
697
|
-
verticalOffset = Math.max(0, height - totalTextHeight);
|
|
698
|
-
}
|
|
686
|
+
const verticalOffset = getTextVerticalOffset(this);
|
|
699
687
|
const contentY = localY + this._inputScrollY - verticalOffset;
|
|
700
688
|
let lineTop = 0;
|
|
701
689
|
let lineStartIndex = 0;
|
|
@@ -816,27 +804,16 @@ export class TextField extends DisplayObject {
|
|
|
816
804
|
this.ensureLines();
|
|
817
805
|
const lines = this._linesArr ?? [];
|
|
818
806
|
const width = !isNaN(this.$explicitWidth) ? this.$explicitWidth : this._textWidth;
|
|
819
|
-
const
|
|
820
|
-
let totalTextHeight = 0;
|
|
821
|
-
for (let i = 0; i < lines.length; i++) {
|
|
822
|
-
totalTextHeight += lines[i].height;
|
|
823
|
-
if (i > 0)
|
|
824
|
-
totalTextHeight += this._lineSpacing;
|
|
825
|
-
}
|
|
826
|
-
let verticalOffset = 0;
|
|
827
|
-
if (this._verticalAlign === VerticalAlign.MIDDLE) {
|
|
828
|
-
verticalOffset = Math.max(0, (height - totalTextHeight) / 2);
|
|
829
|
-
}
|
|
830
|
-
else if (this._verticalAlign === VerticalAlign.BOTTOM) {
|
|
831
|
-
verticalOffset = Math.max(0, height - totalTextHeight);
|
|
832
|
-
}
|
|
807
|
+
const verticalOffset = getTextVerticalOffset(this);
|
|
833
808
|
const scrollOffset = this.getScrollYOffset();
|
|
834
809
|
const localY = y - verticalOffset + scrollOffset;
|
|
835
810
|
let lineY = 0;
|
|
836
811
|
for (const line of lines) {
|
|
837
|
-
|
|
812
|
+
const top = lineY + Math.min(0, line.baseline - line.inkAscent);
|
|
813
|
+
const bottom = lineY + Math.max(line.height, line.baseline + line.inkDescent);
|
|
814
|
+
if (localY < top)
|
|
838
815
|
break;
|
|
839
|
-
if (localY <=
|
|
816
|
+
if (localY <= bottom) {
|
|
840
817
|
let lineX = 0;
|
|
841
818
|
if (this._textAlign === HorizontalAlign.RIGHT) {
|
|
842
819
|
lineX = width - line.width;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../src/kurot/text/TextField.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../src/kurot/text/TextField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,aAAa;IAC3C,6EAA6E;IAEtE,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAC;IACpC,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IAE3C,6EAA6E;IAErE,WAAW,GAAG,SAAS,CAAC,kBAAkB,CAAC;IAC3C,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;IACnC,KAAK,GAAG,KAAK,CAAC;IACd,OAAO,GAAG,KAAK,CAAC;IAChB,UAAU,GAAoB,eAAe,CAAC,IAAI,CAAC;IACnD,cAAc,GAAkB,aAAa,CAAC,GAAG,CAAC;IAClD,UAAU,GAAG,SAAS,CAAC,iBAAiB,CAAC;IACzC,YAAY,GAAG,QAAQ,CAAC;IACxB,OAAO,GAAG,CAAC,CAAC;IACZ,WAAW,CAAU;IACrB,YAAY,GAAG,CAAC,CAAC;IACjB,SAAS,GAAG,KAAK,CAAC;IAClB,UAAU,CAAW;IACrB,KAAK,GAAkB,aAAa,CAAC,OAAO,CAAC;IAC7C,UAAU,GAAuB,kBAAkB,CAAC,IAAI,CAAC;IACzD,KAAK,GAAG,EAAE,CAAC;IACX,kBAAkB,GAAG,KAAK,CAAC;IAC3B,SAAS,GAAG,CAAC,CAAC;IACd,QAAQ,GAAG,CAAC,CAAC;IACb,SAAS,CAAU;IACnB,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,OAAO,GAAG,KAAK,CAAC;IAChB,YAAY,GAAG,QAAQ,CAAC;IACxB,WAAW,GAAG,KAAK,CAAC;IACpB,gBAAgB,GAAG,QAAQ,CAAC;IAC5B,SAAS,CAAkB;IAC3B,UAAU,GAAG,CAAC,CAAC;IACf,WAAW,GAAG,CAAC,CAAC;IAChB,SAAS,GAAG,CAAC,CAAC;IACd,SAAS,CAAkB;IAC3B,UAAU,GAAG,IAAI,CAAC;IAClB,WAAW,GAAG,EAAE,CAAC;IACjB,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,GAAG,CAAC,CAAC;IACrB,SAAS,GAAG,KAAK,CAAC;IAClB,aAAa,GAAG,CAAC,CAAC;IAClB,aAAa,GAAG,CAAC,CAAC;IAClB,aAAa,GAAG,KAAK,CAAC;IACtB,iBAAiB,GAAG,CAAC,CAAC,CAAC;IACvB,eAAe,GAAG,CAAC,CAAC,CAAC;IACrB,gBAAgB,CAAmB;IAE3C,6EAA6E;IAE7E;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,iBAAiB,gCAAwB,CAAC;QAC/C,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC7B,CAAC;IAED,IAAoB,KAAK;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IAC3F,CAAC;IACD,IAAoB,KAAK,CAAC,KAAa;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QACrC,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC;YAAE,OAAO;QACtC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,IAAoB,MAAM;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAC9F,CAAC;IACD,IAAoB,MAAM,CAAC,KAAa;QACvC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QACrC,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC;YAAE,OAAO;QACvC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,6EAA6E;IAE7E,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IACD,IAAW,UAAU,CAAC,KAAa;QAClC,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,IAAW,IAAI,CAAC,KAAa;QAC5B,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,IAAW,IAAI,CAAC,KAAc;QAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,IAAW,MAAM,CAAC,KAAc;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IACD,IAAW,SAAS,CAAC,KAAsB;QAC1C,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IACD,IAAW,aAAa,CAAC,KAAoB;QAC5C,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IACD,IAAW,SAAS,CAAC,KAAa;QACjC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IACD,IAAW,WAAW,CAAC,KAAa;QACnC,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,IAAW,MAAM,CAAC,KAAa;QAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IACD,IAAW,UAAU,CAAC,KAAyB;QAC9C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC;YACnF,UAAU,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU;YAAE,OAAO;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IACD,IAAW,WAAW,CAAC,KAAa;QACnC,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,IAAW,QAAQ,CAAC,KAAc;QACjC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,kBAAkB;gBAAE,OAAO;YACpC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC;IAC9D,CAAC;IACD,IAAW,SAAS,CAAC,KAAc;QAClC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,IAAW,IAAI,CAAC,KAAoB;QACnC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;gBAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YACjD,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;gBAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACP,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC;gBACxC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IACD,IAAW,SAAS,CAAC,KAAyB;QAC7C,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK;YAAE,OAAO;QACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IAC3C,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IACD,IAAW,IAAI,CAAC,KAAa;QAC5B,MAAM,UAAU,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YAAE,OAAO;QAChD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAW,iBAAiB;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IAChC,CAAC;IACD,IAAW,iBAAiB,CAAC,KAAc;QAC1C,IAAI,IAAI,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,IAAW,QAAQ,CAAC,KAAa;QAChC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO;QACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IAC3C,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IACD,IAAW,OAAO,CAAC,KAAa;QAC/B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBAClF,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,IAAW,UAAU;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAW,QAAQ;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,IAAW,QAAQ,CAAC,KAAyB;QAC5C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC/B,CAAC;aAAM,CAAC;YACP,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAClC,IAAI,GAAG,GAAG,CAAC;oBAAE,MAAM;gBACnB,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACjD,KAAK,GAAG,GAAG,CAAC;oBACZ,MAAM;gBACP,CAAC;gBACD,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACb,CAAC;YACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC/B,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,IAAW,MAAM,CAAC,KAAc;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IACD,IAAW,WAAW,CAAC,KAAa;QACnC,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IACD,IAAW,UAAU,CAAC,KAAc;QACnC,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,IAAW,eAAe;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IACD,IAAW,eAAe,CAAC,KAAa;QACvC,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IACD,IAAW,QAAQ,CAAC,KAAiC;QACpD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,IAAW,SAAS;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IACD,IAAW,UAAU;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;IACpE,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,IAAW,mBAAmB;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IACD,IAAW,iBAAiB;QAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IACD,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED,IAAW,iBAAiB;QAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAED,IAAW,eAAe;QACzB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,qBAAqB;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,WAAW;QACV,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB;QACf,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACnC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,6EAA6E;IAEtE,UAAU,CAAC,IAAY;QAC7B,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IAEM,aAAa,CAAC,OAAqB;QACzC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YACtC,OAAO;QACR,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;YAC1B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,KAAK;gBACX,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,SAAkC,EAAE,CAAC;gBACnE,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,QAAgB,GAAG;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,UAAU,CAAC,yDAAyD,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACpD,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC;QAC/B,CAAC;QAED,MAAM,MAAM,GACX,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS;YACpD,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACvE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC;IAEM,QAAQ;QACd,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/E,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAEM,YAAY,CAAC,UAAkB,EAAE,QAAgB;QACvD,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACnF,CAAC;IAED,WAAW,CAAC,KAAc;QACzB,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO;QACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAEM,aAAa;QACnB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,6EAA6E;IAEtE,iBAAiB,CAAC,KAAa;QACrC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAEvE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,sBAAsB,CAAC,UAAkB,EAAE,QAAgB;QACjE,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,IAAI,IAAI,CAAC,gBAAgB,KAAK,GAAG;YAAE,OAAO;QAE7E,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;QAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAEM,gBAAgB,CAAC,KAAc;QACrC,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK;YAAE,OAAO;QACzC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAEM,gBAAgB,CAAC,KAAa;QACpC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO;QACxE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAEM,oBAAoB,CAAC,UAAmB,EAAE,QAAiB;QACjE,MAAM,KAAK,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxF,MAAM,GAAG,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,IAAI,IAAI,CAAC,eAAe,KAAK,GAAG;YAAE,OAAO;QAE7E,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAEM,gBAAgB,CAAC,MAAc,EAAE,MAAM,GAAG,CAAC;QACjD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAClF,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvG,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,KAAK,GAAG,CAAC,CAAC;QACX,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;YACtD,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YACvD,KAAK,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAErB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1D,MAAM,YAAY,GAAG,WAAW,CAC/B,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAC/B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,CACZ,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,GAAG,CAAC,CAAC;YAC7D,aAAa,GAAG,YAAY,CAAC;QAC9B,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,CAAC;IAC3B,CAAC;IAEQ,aAAa,CAAC,KAAY,EAAE,UAAkB;QACtD,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjE,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAChE,CAAC;IAEQ,kBAAkB;QAC1B,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC;IAEQ,qBAAqB,CAAC,MAAiB;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC9E,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,6EAA6E;IAErE,cAAc;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IAC3C,CAAC;IAEO,iBAAiB;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,OAAO;QACR,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClG,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvG,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC7B,CAAC;aAAM,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,aAAa,EAAE,CAAC;YACxD,IAAI,CAAC,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;QAC7C,CAAC;IACF,CAAC;IAEO,wBAAwB,CAAC,MAAc,EAAE,MAAc;QAC9D,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEjC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAClF,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;QAC9D,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,IAAI,CAAC,UAAU,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;oBAC/C,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5B,CAAC;qBAAM,IAAI,IAAI,CAAC,UAAU,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;oBACvD,KAAK,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC;gBAED,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAO,cAAc,CAAC;gBAElC,IAAI,iBAAiB,GAAG,cAAc,CAAC;gBACvC,IAAI,aAAa,GAAG,CAAC,CAAC;gBACtB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;oBAC5B,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC;oBAC/C,MAAM,UAAU,GAAG,KAAK,EAAE,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC;oBACzD,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;oBACvC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC;oBAC7C,IAAI,sBAAsB,GAAG,aAAa,CAAC;oBAE3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;wBAC3D,MAAM,YAAY,GACjB,aAAa;4BACb,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;wBACnF,IAAI,CAAC,GAAG,CAAC,sBAAsB,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;4BACrD,OAAO,iBAAiB,GAAG,KAAK,GAAG,CAAC,CAAC;wBACtC,CAAC;wBACD,sBAAsB,GAAG,YAAY,CAAC;oBACvC,CAAC;oBACD,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;oBAC/B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC1C,CAAC;gBACD,OAAO,iBAAiB,CAAC;YAC1B,CAAC;YAED,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC;YAC/B,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1B,CAAC;IAEO,kBAAkB;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;YAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAEO,oBAAoB;QAC3B,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9F,CAAC;IAEO,WAAW;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC/C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAEvC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ;gBAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YACjD,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAEO,YAAY;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACjD,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QACtC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,GAAG,SAAS,CAAC;QACvD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;YAAE,SAAS,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;IAEO,cAAc,CAAC,QAAgB,IAAI,CAAC,cAAc;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC;QACnD,OAAO,eAAe,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE;YAC3E,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO;SACP,CAAC,CAAC;IACJ,CAAC;IAEO,cAAc;QACrB,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAEO,YAAY,GAAG,CAAC,CAAa,EAAQ,EAAE;QAC9C,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK;YAAE,OAAO;QAC/C,MAAM,EAAE,GAAG,CAAC,CAAC;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI;YAAE,OAAO;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAChC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC,CAAC;IAEM,gBAAgB,CAAC,CAAS,EAAE,CAAS;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAClF,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,GAAG,YAAY,CAAC;QAEjD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9E,IAAI,MAAM,GAAG,GAAG;gBAAE,MAAM;YACxB,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;gBACtB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,IAAI,CAAC,UAAU,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;oBAC/C,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5B,CAAC;qBAAM,IAAI,IAAI,CAAC,UAAU,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;oBACvD,KAAK,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC;gBACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,KAAK;wBAAE,OAAO,EAAE,CAAC;oBAClD,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC;gBACnB,CAAC;gBACD,MAAM;YACP,CAAC;YACD,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;;AAGF,SAAS,UAAU,CAAC,KAAa,EAAE,MAAc;IAChD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextLineLayout.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextLineLayout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAA6B,MAAM,yBAAyB,CAAC;AAErG,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CACjB;AAQD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"TextLineLayout.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextLineLayout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAA6B,MAAM,yBAAyB,CAAC;AAErG,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CACjB;AAQD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,YAAY,EAAE,CAoMxG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getWordLineBreaks } from './LineBreaks.js';
|
|
2
|
-
import {
|
|
2
|
+
import { getFontString, measureTextMetrics } from './TextMeasurer.js';
|
|
3
3
|
import { getGraphemeEndPositions } from './TextSegmentation.js';
|
|
4
4
|
/**
|
|
5
5
|
* Layout uses the complete text so style boundaries cannot create line breaks.
|
|
@@ -8,8 +8,9 @@ import { getGraphemeEndPositions } from './TextSegmentation.js';
|
|
|
8
8
|
*/
|
|
9
9
|
export function layoutTextLines(elements, options) {
|
|
10
10
|
if (options.maxWidth === 0) {
|
|
11
|
-
return [{ width: 0, height: 0, charNum: 0, hasNextLine: false, elements: [] }];
|
|
11
|
+
return [{ width: 0, height: 0, baseline: 0, inkAscent: 0, inkDescent: 0, charNum: 0, hasNextLine: false, elements: [] }];
|
|
12
12
|
}
|
|
13
|
+
const fontFrames = new Map();
|
|
13
14
|
const text = elements.map(element => element.text).join('');
|
|
14
15
|
let offset = 0;
|
|
15
16
|
const spans = elements.map(element => {
|
|
@@ -110,6 +111,20 @@ export function layoutTextLines(elements, options) {
|
|
|
110
111
|
lastLine.charNum += separatorLength;
|
|
111
112
|
lastLine.hasNextLine = separatorLength > 0;
|
|
112
113
|
}
|
|
114
|
+
// Empty-string font bounds keep fallback glyphs from moving paragraph/input baselines.
|
|
115
|
+
function getFontFrame(style) {
|
|
116
|
+
const size = style?.size ?? options.size;
|
|
117
|
+
const family = style?.fontFamily ?? options.fontFamily;
|
|
118
|
+
const bold = style?.bold ?? options.bold;
|
|
119
|
+
const italic = style?.italic ?? options.italic;
|
|
120
|
+
const key = getFontString(size, family, bold, italic);
|
|
121
|
+
let metrics = fontFrames.get(key);
|
|
122
|
+
if (!metrics) {
|
|
123
|
+
metrics = measureTextMetrics('', family, size, bold, italic);
|
|
124
|
+
fontFrames.set(key, metrics);
|
|
125
|
+
}
|
|
126
|
+
return metrics;
|
|
127
|
+
}
|
|
113
128
|
function createLine(start, end, trimSeparators) {
|
|
114
129
|
let visibleEnd = end;
|
|
115
130
|
if (trimSeparators) {
|
|
@@ -120,6 +135,10 @@ export function layoutTextLines(elements, options) {
|
|
|
120
135
|
const lineElements = [];
|
|
121
136
|
let width = 0;
|
|
122
137
|
let height = 0;
|
|
138
|
+
let fontAscent = 0;
|
|
139
|
+
let fontDescent = 0;
|
|
140
|
+
let inkAscent = -Infinity;
|
|
141
|
+
let inkDescent = -Infinity;
|
|
123
142
|
while (spanIndex < spans.length && spans[spanIndex].end <= start) {
|
|
124
143
|
spanIndex++;
|
|
125
144
|
}
|
|
@@ -131,9 +150,16 @@ export function layoutTextLines(elements, options) {
|
|
|
131
150
|
const content = text.slice(Math.max(start, span.start), Math.min(visibleEnd, span.end));
|
|
132
151
|
const style = span.style;
|
|
133
152
|
const size = style?.size ?? options.size;
|
|
134
|
-
const
|
|
135
|
-
lineElements.push({ text: content, width:
|
|
136
|
-
width +=
|
|
153
|
+
const metrics = measureTextMetrics(content, style?.fontFamily ?? options.fontFamily, size, style?.bold ?? options.bold, style?.italic ?? options.italic);
|
|
154
|
+
lineElements.push({ text: content, width: metrics.width, style });
|
|
155
|
+
width += metrics.width;
|
|
156
|
+
const frame = getFontFrame(options.isInput ? undefined : style);
|
|
157
|
+
fontAscent = Math.max(fontAscent, frame.fontBoundingBoxAscent);
|
|
158
|
+
fontDescent = Math.max(fontDescent, frame.fontBoundingBoxDescent);
|
|
159
|
+
if (metrics.actualBoundingBoxAscent + metrics.actualBoundingBoxDescent > 0) {
|
|
160
|
+
inkAscent = Math.max(inkAscent, metrics.actualBoundingBoxAscent);
|
|
161
|
+
inkDescent = Math.max(inkDescent, metrics.actualBoundingBoxDescent);
|
|
162
|
+
}
|
|
137
163
|
if (!options.isInput) {
|
|
138
164
|
height = Math.max(height, size);
|
|
139
165
|
}
|
|
@@ -145,7 +171,19 @@ export function layoutTextLines(elements, options) {
|
|
|
145
171
|
const blankSpan = spans[spanIndex] ?? spans[spans.length - 1];
|
|
146
172
|
height = blankSpan?.style?.size ?? options.size;
|
|
147
173
|
}
|
|
148
|
-
|
|
174
|
+
if (lineElements.length === 0) {
|
|
175
|
+
const style = options.isInput ? undefined : (spans[spanIndex] ?? spans[spans.length - 1])?.style;
|
|
176
|
+
const metrics = getFontFrame(style);
|
|
177
|
+
fontAscent = metrics.fontBoundingBoxAscent;
|
|
178
|
+
fontDescent = metrics.fontBoundingBoxDescent;
|
|
179
|
+
}
|
|
180
|
+
const baseline = (height + fontAscent - fontDescent) / 2;
|
|
181
|
+
return {
|
|
182
|
+
width, height, baseline,
|
|
183
|
+
inkAscent: inkAscent === -Infinity ? 0 : inkAscent,
|
|
184
|
+
inkDescent: inkDescent === -Infinity ? 0 : inkDescent,
|
|
185
|
+
charNum: end - start, hasNextLine: false, elements: lineElements,
|
|
186
|
+
};
|
|
149
187
|
}
|
|
150
188
|
}
|
|
151
189
|
//# sourceMappingURL=TextLineLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextLineLayout.js","sourceRoot":"","sources":["../../../src/kurot/text/TextLineLayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TextLineLayout.js","sourceRoot":"","sources":["../../../src/kurot/text/TextLineLayout.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
* Measures the width of a text string using Canvas 2D.
|
|
3
3
|
*/
|
|
4
4
|
export declare function measureText(text: string, fontFamily: string, fontSize: number, bold: boolean, italic: boolean): number;
|
|
5
|
+
/**
|
|
6
|
+
* Measures logical-pixel ink and font bounds relative to the alphabetic baseline.
|
|
7
|
+
* The caller owns caching and invalidation when fonts become ready.
|
|
8
|
+
*/
|
|
9
|
+
export declare function measureTextMetrics(text: string, fontFamily: string, fontSize: number, bold: boolean, italic: boolean): TextMetrics;
|
|
5
10
|
/**
|
|
6
11
|
* Builds a CSS font string from the given parameters.
|
|
7
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextMeasurer.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextMeasurer.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,GACb,MAAM,
|
|
1
|
+
{"version":3,"file":"TextMeasurer.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextMeasurer.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,GACb,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,OAAO,GACb,WAAW,CAMb;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAE1G"}
|
|
@@ -23,9 +23,18 @@ function buildFontString(fontSize, fontFamily, bold, italic) {
|
|
|
23
23
|
* Measures the width of a text string using Canvas 2D.
|
|
24
24
|
*/
|
|
25
25
|
export function measureText(text, fontFamily, fontSize, bold, italic) {
|
|
26
|
+
return measureTextMetrics(text, fontFamily, fontSize, bold, italic).width;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Measures logical-pixel ink and font bounds relative to the alphabetic baseline.
|
|
30
|
+
* The caller owns caching and invalidation when fonts become ready.
|
|
31
|
+
*/
|
|
32
|
+
export function measureTextMetrics(text, fontFamily, fontSize, bold, italic) {
|
|
26
33
|
const ctx = getContext();
|
|
27
34
|
ctx.font = buildFontString(fontSize, fontFamily, bold, italic);
|
|
28
|
-
|
|
35
|
+
ctx.textBaseline = 'alphabetic';
|
|
36
|
+
ctx.textAlign = 'left';
|
|
37
|
+
return ctx.measureText(text);
|
|
29
38
|
}
|
|
30
39
|
/**
|
|
31
40
|
* Builds a CSS font string from the given parameters.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextMeasurer.js","sourceRoot":"","sources":["../../../src/kurot/text/TextMeasurer.ts"],"names":[],"mappings":"AAAA,IAAI,YAA2C,CAAC;AAChD,IAAI,aAAmD,CAAC;AAExD,SAAS,UAAU;IAClB,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;QACvB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;IAChD,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,UAAkB,EAAE,IAAa,EAAE,MAAe;IAC5F,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,MAAM;QAAE,IAAI,IAAI,SAAS,CAAC;IAC9B,IAAI,IAAI;QAAE,IAAI,IAAI,OAAO,CAAC;IAC1B,IAAI,IAAI,QAAQ,GAAG,KAAK,CAAC;IACzB,IAAI,IAAI,UAAU,CAAC;IACnB,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAC1B,IAAY,EACZ,UAAkB,EAClB,QAAgB,EAChB,IAAa,EACb,MAAe;IAEf,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/D,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"TextMeasurer.js","sourceRoot":"","sources":["../../../src/kurot/text/TextMeasurer.ts"],"names":[],"mappings":"AAAA,IAAI,YAA2C,CAAC;AAChD,IAAI,aAAmD,CAAC;AAExD,SAAS,UAAU;IAClB,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;QACvB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;IAChD,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,UAAkB,EAAE,IAAa,EAAE,MAAe;IAC5F,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,MAAM;QAAE,IAAI,IAAI,SAAS,CAAC;IAC9B,IAAI,IAAI;QAAE,IAAI,IAAI,OAAO,CAAC;IAC1B,IAAI,IAAI,QAAQ,GAAG,KAAK,CAAC;IACzB,IAAI,IAAI,UAAU,CAAC;IACnB,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAC1B,IAAY,EACZ,UAAkB,EAClB,QAAgB,EAChB,IAAa,EACb,MAAe;IAEf,OAAO,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CACjC,IAAY,EACZ,UAAkB,EAClB,QAAgB,EAChB,IAAa,EACb,MAAe;IAEf,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/D,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;IAChC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC;IACvB,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,UAAkB,EAAE,IAAa,EAAE,MAAe;IACjG,OAAO,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TextField } from './TextField.js';
|
|
2
2
|
/**
|
|
3
|
-
* Render-only margin for
|
|
3
|
+
* Render-only margin for dynamic glyph overhang and run-level outlines.
|
|
4
4
|
* Layout metrics and input viewports must not include this margin.
|
|
5
5
|
*/
|
|
6
6
|
export declare function getTextRenderPadding(textField: TextField): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextRenderBounds.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextRenderBounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"TextRenderBounds.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextRenderBounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAqBjE"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { TextFieldType } from './enums/TextFieldType.js';
|
|
2
|
+
import { VerticalAlign } from './enums/VerticalAlign.js';
|
|
2
3
|
/**
|
|
3
|
-
* Render-only margin for
|
|
4
|
+
* Render-only margin for dynamic glyph overhang and run-level outlines.
|
|
4
5
|
* Layout metrics and input viewports must not include this margin.
|
|
5
6
|
*/
|
|
6
7
|
export function getTextRenderPadding(textField) {
|
|
7
8
|
if (textField.type === TextFieldType.INPUT)
|
|
8
9
|
return 0;
|
|
9
10
|
let stroke = 0;
|
|
11
|
+
let overhang = 0;
|
|
10
12
|
for (const line of textField.getLinesArr()) {
|
|
13
|
+
if (line.inkAscent + line.inkDescent > 0) {
|
|
14
|
+
const baseline = !textField.multiline && textField.verticalAlign === VerticalAlign.MIDDLE
|
|
15
|
+
? (line.height + line.inkAscent - line.inkDescent) / 2 : line.baseline;
|
|
16
|
+
overhang = Math.max(overhang, line.inkAscent - baseline, baseline + line.inkDescent - line.height);
|
|
17
|
+
}
|
|
11
18
|
for (const element of line.elements) {
|
|
12
19
|
const value = element.style?.stroke ?? textField.stroke;
|
|
13
20
|
if (Number.isFinite(value) && value > stroke) {
|
|
@@ -16,6 +23,6 @@ export function getTextRenderPadding(textField) {
|
|
|
16
23
|
}
|
|
17
24
|
}
|
|
18
25
|
// Conservative ink margin covers glyph overhang and stroke antialiasing.
|
|
19
|
-
return stroke > 0 ? Math.ceil(stroke * 2) + 2 : 0;
|
|
26
|
+
return (stroke > 0 ? Math.ceil(stroke * 2) + 2 : 0) + (overhang > 0 ? Math.ceil(overhang) + 1 : 0);
|
|
20
27
|
}
|
|
21
28
|
//# sourceMappingURL=TextRenderBounds.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextRenderBounds.js","sourceRoot":"","sources":["../../../src/kurot/text/TextRenderBounds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAoB;IACxD,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAErD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC;YACxD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;gBAC9C,MAAM,GAAG,KAAK,CAAC;YAChB,CAAC;QACF,CAAC;IACF,CAAC;IAED,yEAAyE;IACzE,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TextRenderBounds.js","sourceRoot":"","sources":["../../../src/kurot/text/TextRenderBounds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAoB;IACxD,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAErD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,aAAa,KAAK,aAAa,CAAC,MAAM;gBACxF,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YACxE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,GAAG,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACpG,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC;YACxD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;gBAC9C,MAAM,GAAG,KAAK,CAAC;YAChB,CAAC;QACF,CAAC;IACF,CAAC;IAED,yEAAyE;IACzE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TextField } from './TextField.js';
|
|
2
|
+
/**
|
|
3
|
+
* Single-line dynamic middle alignment centers visible ink. Multiline and input
|
|
4
|
+
* retain nominal line boxes so changing glyphs cannot move their baselines.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getTextVerticalOffset(field: TextField): number;
|
|
7
|
+
//# sourceMappingURL=TextVerticalLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextVerticalLayout.d.ts","sourceRoot":"","sources":["../../../src/kurot/text/TextVerticalLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAe9D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TextFieldType } from './enums/TextFieldType.js';
|
|
2
|
+
import { VerticalAlign } from './enums/VerticalAlign.js';
|
|
3
|
+
/**
|
|
4
|
+
* Single-line dynamic middle alignment centers visible ink. Multiline and input
|
|
5
|
+
* retain nominal line boxes so changing glyphs cannot move their baselines.
|
|
6
|
+
*/
|
|
7
|
+
export function getTextVerticalOffset(field) {
|
|
8
|
+
const lines = field.getLinesArr();
|
|
9
|
+
const height = !isNaN(field.$explicitHeight) ? field.$explicitHeight : field.textHeight;
|
|
10
|
+
const line = lines[0];
|
|
11
|
+
if (field.verticalAlign === VerticalAlign.MIDDLE) {
|
|
12
|
+
if (field.type === TextFieldType.DYNAMIC && !field.multiline && line
|
|
13
|
+
&& line.inkAscent + line.inkDescent > 0) {
|
|
14
|
+
return (height - line.inkAscent - line.inkDescent) / 2 + line.inkAscent - line.baseline;
|
|
15
|
+
}
|
|
16
|
+
return Math.max(0, (height - field.textHeight) / 2);
|
|
17
|
+
}
|
|
18
|
+
if (field.verticalAlign === VerticalAlign.BOTTOM) {
|
|
19
|
+
return Math.max(0, height - field.textHeight);
|
|
20
|
+
}
|
|
21
|
+
return 0;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=TextVerticalLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextVerticalLayout.js","sourceRoot":"","sources":["../../../src/kurot/text/TextVerticalLayout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAgB;IACrD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IACxF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,aAAa,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI;eAChE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzF,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC"}
|
|
@@ -20,6 +20,18 @@ export interface IWTextElement extends ITextElement {
|
|
|
20
20
|
export interface ILineElement {
|
|
21
21
|
width: number;
|
|
22
22
|
height: number;
|
|
23
|
+
/**
|
|
24
|
+
* Shared alphabetic baseline measured from the nominal line top, in logical pixels.
|
|
25
|
+
*/
|
|
26
|
+
baseline: number;
|
|
27
|
+
/**
|
|
28
|
+
* Largest visible run extent above the shared baseline, excluding outlines.
|
|
29
|
+
*/
|
|
30
|
+
inkAscent: number;
|
|
31
|
+
/**
|
|
32
|
+
* Largest visible run extent below the shared baseline, excluding outlines.
|
|
33
|
+
*/
|
|
34
|
+
inkDescent: number;
|
|
23
35
|
charNum: number;
|
|
24
36
|
hasNextLine: boolean;
|
|
25
37
|
elements: IWTextElement[];
|