@univerjs-pro/engine-shape 1.0.0-alpha.7 → 1.0.0-alpha.8

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.
@@ -20,6 +20,9 @@ export interface IShapeTextImageFillOptions {
20
20
  /**
21
21
  * A live text facade for a Shape in any supported host.
22
22
  *
23
+ * Sheet, Doc, Slide, and Board Shapes share this rich-text effect path. Glow and outer shadow support here does not
24
+ * imply that a host's standalone document text UI exposes the same authoring controls.
25
+ *
23
26
  * @example Sheet
24
27
  * ```ts
25
28
  * const fWorkbook = univerAPI.getActiveWorkbook();
@@ -123,7 +126,18 @@ export declare class FShapeText {
123
126
  * @returns {FShapeText} This Shape text facade for chaining.
124
127
  * @example
125
128
  * ```ts
126
- * fShapeText.setTextStyle({ ff: 'Inter', fs: 18 });
129
+ * fShapeText.setTextStyle({
130
+ * ff: 'Inter',
131
+ * fs: 18,
132
+ * glow: { color: '#f97316', radius: 6 },
133
+ * outerShadow: {
134
+ * color: '#000000',
135
+ * opacity: 0.35,
136
+ * blurRadius: 4,
137
+ * distance: 3,
138
+ * direction: 45,
139
+ * },
140
+ * });
127
141
  * ```
128
142
  */
129
143
  setTextStyle(style: ITextStyle): this;
@@ -1,6 +1,7 @@
1
- import type { IBasicShapeData, ImageSourceTypeEnum, IPresetShapeConfig, IShapeData, IShapeHostAdapter, IShapeLineStyle, IShapePointWithAdjName, IShapeRef, IShapeRelationItem, IShapeSnapshot, IShapeTransform, IShapeUpdateInput, ShapeGradientTypeEnum, ShapeHostType, ShapeLineCapEnum, ShapeLineDashEnum, ShapeLineJoinEnum, ShapeTypeEnum } from '@univerjs-pro/engine-shape';
1
+ import type { IBasicShapeData, ImageSourceTypeEnum, IPresetShapeConfig, IShapeAdjustItemResolved, IShapeData, IShapeHostAdapter, IShapeLineStyle, IShapeRef, IShapeRelationItem, IShapeSnapshot, IShapeTransform, IShapeUpdateInput, ShapeGradientTypeEnum, ShapeHostType, ShapeLineCapEnum, ShapeLineDashEnum, ShapeLineJoinEnum, ShapeTypeEnum } from '@univerjs-pro/engine-shape';
2
2
  import type { Injector } from '@univerjs/core';
3
- import { ShapeLineTypeEnum } from '@univerjs-pro/engine-shape';
3
+ import { IShapeHostAdapterRegistry, ShapeLineTypeEnum } from '@univerjs-pro/engine-shape';
4
+ import { ICommandService } from '@univerjs/core';
4
5
  import { FBase } from '@univerjs/core/facade';
5
6
  import { FShapeText } from './f-shape-text';
6
7
  type ShapeFill = NonNullable<IBasicShapeData['fill']>;
@@ -94,7 +95,9 @@ export type IShapeImageFillOptions = Pick<ShapeFill, 'imageFillMode' | 'imageOpa
94
95
  export declare class FShape extends FBase {
95
96
  protected readonly _shapeRef: IShapeRef;
96
97
  protected readonly _injector: Injector;
97
- constructor(_shapeRef: IShapeRef, _injector: Injector);
98
+ protected readonly _shapeHostAdapterRegistry: IShapeHostAdapterRegistry;
99
+ protected readonly _commandService: Pick<ICommandService, 'syncExecuteCommand'>;
100
+ constructor(_shapeRef: IShapeRef, _injector: Injector, _shapeHostAdapterRegistry: IShapeHostAdapterRegistry, _commandService: Pick<ICommandService, 'syncExecuteCommand'>);
98
101
  /**
99
102
  * Whether this Shape is a Connector preset type.
100
103
  * @returns {boolean} Whether this Shape is a Connector preset type.
@@ -401,17 +404,6 @@ export declare class FShape extends FBase {
401
404
  * ```
402
405
  */
403
406
  getConnectionSites(): IShapeConnectionSite[];
404
- /**
405
- * Returns the geometry adjustment handles exposed by this Shape preset.
406
- * Coordinates are local to the unrotated Shape bounds and `adjName` identifies
407
- * the corresponding entry in `shapeData.adjustValues`.
408
- * @returns {IShapePointWithAdjName[]} The geometry adjustment handles exposed by this Shape preset.
409
- * @example
410
- * ```ts
411
- * console.log(fShape.getAdjustPoints());
412
- * ```
413
- */
414
- getAdjustPoints(): IShapePointWithAdjName[];
415
407
  /**
416
408
  * Returns the Shape and connection-site index bound to a Connector's start point, or `null` when unbound.
417
409
  * @returns {IShapeRelationItem | null} The Shape and connection-site index bound to a Connector's start point, or `null` when unbound.
@@ -430,6 +422,51 @@ export declare class FShape extends FBase {
430
422
  * ```
431
423
  */
432
424
  getEndConnectInfo(): IShapeRelationItem | null;
425
+ /**
426
+ * Returns complete information for every adjustment handle exposed by this Shape.
427
+ * @returns {IShapeAdjustItemResolved[]} Detached resolved adjustment handles in preset order.
428
+ * @example
429
+ * ```ts
430
+ * fShape.setShapeType(univerAPI.Enum.ShapeTypeEnum.BlockArc);
431
+ *
432
+ * const handle = fShape.getAdjustHandles().find(({ gdRefR }) => gdRefR === 'adj3');
433
+ * console.log(handle?.type); // 'ahPolar'
434
+ * console.log(handle?.gdRefAng, handle?.gdRefR); // 'adj2', 'adj3'
435
+ * console.log(handle?.currentAdjustValues); // { adj2: 0, adj3: 25000 }
436
+ * console.log(handle?.resolvedMinR, handle?.resolvedMaxR); // 0, 50000
437
+ * ```
438
+ */
439
+ getAdjustHandles(): IShapeAdjustItemResolved[];
440
+ /**
441
+ * Updates only the supplied Shape adjustment values and clamps them to their handle ranges.
442
+ * @param {Record<string, number>} adjustValues Adjustment names and values to update.
443
+ * @returns {FShape} This Shape facade for chaining.
444
+ * @example
445
+ * ```ts
446
+ * fShape
447
+ * .setShapeType(univerAPI.Enum.ShapeTypeEnum.RoundRect)
448
+ * .setAdjustValues({ adj: 75000 });
449
+ *
450
+ * const [handle] = fShape.getAdjustHandles();
451
+ * console.log(handle.currentAdjustValues.adj); // 50000
452
+ * ```
453
+ */
454
+ setAdjustValues(adjustValues: Record<string, number>): this;
455
+ /**
456
+ * Removes all Shape adjustment overrides and restores preset defaults.
457
+ * @returns {FShape} This Shape facade for chaining.
458
+ * @example
459
+ * ```ts
460
+ * fShape
461
+ * .setShapeType(univerAPI.Enum.ShapeTypeEnum.RoundRect)
462
+ * .setAdjustValues({ adj: 40000 });
463
+ * fShape.resetAdjustValues();
464
+ *
465
+ * const [handle] = fShape.getAdjustHandles();
466
+ * console.log(handle.currentAdjustValues.adj); // 16667
467
+ * ```
468
+ */
469
+ resetAdjustValues(): this;
433
470
  /**
434
471
  * Replaces the current fill with a solid color and optional opacity.
435
472
  * @param {string} color The new fill color.
@@ -627,6 +664,6 @@ export declare class FShape extends FBase {
627
664
  private _patchStroke;
628
665
  private _getSnapshot;
629
666
  private _getGeometryModel;
630
- private _mutate;
667
+ protected _mutate(operation: string, callback: (adapter: IShapeHostAdapter) => boolean): boolean;
631
668
  }
632
669
  export {};
@@ -1,10 +1,8 @@
1
1
  export { BasicShapeModel as ShapeModel } from '../src/models/shape-model';
2
2
  export { BaseShapeRenderModel } from '../src/render-engine/shape-render-model';
3
3
  export { ImageFillModeEnum, ImageSourceTypeEnum, ShapeArrowSizeEnum, ShapeArrowTypeEnum, ShapeFillEnum, ShapeGradientTypeEnum, ShapeLineCapEnum, ShapeLineDashEnum, ShapeLineJoinEnum, ShapeLineTypeEnum, ShapeOperatorEnum, ShapePresetShadowValEnum, ShapeRenderModeEnum, ShapeSketchTypeEnum, ShapeTypeEnum, } from '../src/shape-enum';
4
- export type { IBasicShapeData, IConnectorLayoutResult, IConnectPointInfo, ICustomShapeTextData, ICxnShapeData, IDrawingRect, IGdContext, ILineType, IPathCommand, IPresetShapeConfig, IShapeAdjustItemResolved, IShapeData, IShapeFormulaBinding, IShapeJSONData, IShapeLineStyle, IShapePath, IShapePoint, IShapePointWithAdjName, IShapeRect, IShapeRelation, IShapeRelationItem, IShapeShadowEffect, IShapeText, IShapeTextBodyBehavior, IShapeTextBoxOptions, IShapeTextData, IShapeTextDataModel, IShapeTextRectPadding, ShapeShadowAlignment, ShapeTextHorizontalAnchor, } from '../src/shape-type';
4
+ export type { IBasicShapeData, IConnectorLayoutResult, IConnectPointInfo, ICustomShapeTextData, ICxnShapeData, IDrawingRect, IGdContext, ILineType, IPathCommand, IPresetShapeConfig, IShapeAdjustItemResolved, IShapeData, IShapeFormulaBinding, IShapeJSONData, IShapeLineStyle, IShapePath, IShapePoint, IShapePointWithAdjName, IShapeRect, IShapeRelation, IShapeRelationItem, IShapeText, IShapeTextBodyBehavior, IShapeTextBoxOptions, IShapeTextData, IShapeTextDataModel, IShapeTextRectPadding, ShapeTextHorizontalAnchor, } from '../src/shape-type';
5
5
  export { ShapeTextAutoFitType, ShapeTextDirection, ShapeTextWrapType } from '../src/shape-type';
6
- export type { IResolvedShapeShadow } from '../src/utils/shape-shadow.util';
7
- export { resolveShapeShadow } from '../src/utils/shape-shadow.util';
8
6
  export { applyShapeTextBoxOptions, resolveShapeTextBodyBehavior, resolveShapeTextBoxOptions, shouldUseFullShapeTextRectForAutoFit, } from '../src/utils/shape-text-behavior.util';
9
7
  export type { IResolvedShapeTextBoxOptions } from '../src/utils/shape-text-behavior.util';
10
8
  export { UniverShapePlugin } from './plugin';
@@ -12,8 +10,8 @@ export { computeConnectorRouteLayout, getBasicShapeRotateBound, routeConnectorLi
12
10
  export { ConnectorShapeHostAdapter } from './services/connector-shape-host-adapter';
13
11
  export { IConnectorShapeHostAdapter } from './services/connector-shape-host-adapter.service';
14
12
  export type { IConnectorArrow, IConnectorEndpoint, IConnectorShapeSnapshot, } from './services/connector-shape-host-adapter.service';
15
- export { IShapeHostAdapterRegistry, isShapeHostType, ShapeHostAdapterRegistry, } from './services/shape-host-adapter.service';
16
- export type { IShapeCreateInput, IShapeHostAdapter, IShapeRef, IShapeScope, IShapeSnapshot, IShapeTransform, IShapeUpdateInput, ShapeHostType, } from './services/shape-host-adapter.service';
13
+ export { canApplyShapeFormulaLastValue, IShapeHostAdapterRegistry, isShapeHostType, ShapeHostAdapterRegistry, } from './services/shape-host-adapter.service';
14
+ export type { IShapeCreateInput, IShapeFormulaLastValueGuard, IShapeHostAdapter, IShapeHostChange, IShapeHostChangeStream, IShapeRef, IShapeScope, IShapeSnapshot, IShapeTransform, IShapeUpdateInput, ShapeHostType, } from './services/shape-host-adapter.service';
17
15
  export { ShapeDefaultConfig } from './shape-default';
18
16
  export { resolveShapeDefaultInsertSize } from './shape-default-size';
19
17
  export { ConnectorCoordinateTransform } from './util/connector-transform';
@@ -1,3 +1,4 @@
1
+ import type { IBoundRectNoAngle } from '@univerjs/engine-render';
1
2
  import type { ShapeTypeEnum } from '../shape-enum';
2
3
  import type { IGdContext, IPresetShapeConfig, IShapeAdjustItemResolved, IShapeContextOptions, IShapeData, IShapeJSONData, IShapeModel, IShapePoint, IShapePointWithAdjName, IShapeRect, IShapeRelation, IShapeRelationItem, IShapeRenderParameters, IShapeTextData } from '../shape-type';
3
4
  import { BasicShapeEnum } from '../shape-enum';
@@ -68,6 +69,7 @@ export declare class BasicShapeModel implements IShapeModel {
68
69
  getAdjustInfoByName(adjName: string): IShapeAdjustItemResolved | undefined;
69
70
  getAdjustInfo(index: number): IShapeAdjustItemResolved | undefined;
70
71
  private _getAdjustIndexByName;
72
+ private _getAdjustNames;
71
73
  private _getAdjScope;
72
74
  private _setAdjustValue;
73
75
  clearAdjustValue(): void;
@@ -111,6 +113,7 @@ export declare class BasicShapeModel implements IShapeModel {
111
113
  */
112
114
  isHitLine(pointX: number, pointY: number, width: number, height: number, tolerance?: number): boolean;
113
115
  render(canvasContext: CanvasRenderingContext2D, rect: IShapeRect, renderOption: IShapeRenderParameters): void;
116
+ getDrawingEffectBounds(rect: IShapeRect): IBoundRectNoAngle | undefined;
114
117
  /**
115
118
  * Build the shape outline path on the canvas context and clip.
116
119
  * This only builds paths and clips — no fill or stroke is applied.
@@ -119,7 +122,13 @@ export declare class BasicShapeModel implements IShapeModel {
119
122
  */
120
123
  buildClipPath(canvasContext: CanvasRenderingContext2D, rect: IShapeRect): IShapeRect | false;
121
124
  getDrawingPoints(): IShapePointWithAdjName[];
122
- calcAdjValue(rect: IShapeRect, point: IShapePoint, adjustInfo: IShapeAdjustItemResolved, _isFlipH: boolean, _isFlipV: boolean): number;
125
+ calcAdjValues(rect: IShapeRect, point: IShapePoint, info: IShapeAdjustItemResolved, _isFlipH: boolean, _isFlipV: boolean): Record<string, number>;
126
+ private _getAdjustRefs;
127
+ private _seedAngleAdjustValue;
128
+ private _evaluateAdjustPosition;
129
+ private _calcAdjustDerivative;
130
+ private _solveAdjustDelta;
131
+ private _clamp;
123
132
  dispose(): void;
124
133
  private _getSnapshotAdjustValues;
125
134
  private _cloneShapeDataWithSnapshotAdjustValues;
@@ -4,7 +4,6 @@ export declare abstract class BaseShapeRenderModel {
4
4
  protected _isLineShape: boolean;
5
5
  abstract readonly name: string;
6
6
  abstract readonly presetShapeConfig: IPresetShapeConfig;
7
- private _inverseCache;
8
7
  isLineShape(): boolean;
9
8
  getConnectorLinePoints(): IShapeGdContextKeyPoint[];
10
9
  /**
@@ -152,29 +151,6 @@ export declare abstract class BaseShapeRenderModel {
152
151
  * Apply coordinate scaling to resolved path points in-place.
153
152
  */
154
153
  private _scalePathPoints;
155
- /**
156
- * Check if the adjust handle at the given index has an inverse relationship.
157
- * Uses cache to avoid recalculating.
158
- * @param index The index of the adjust handle in ahLst
159
- * @returns true if inverse relationship exists
160
- */
161
- isInverse(index: number): boolean;
162
- /**
163
- * Detect if there's an inverse relationship between adj value and position.
164
- * Analyzes the gd formula chain to find subtract patterns like "r - adj*k" or "b - adj*k".
165
- * @param adjustInfo The adjust handle info
166
- * @returns true if inverse relationship is detected
167
- */
168
- private _detectInverseRelationship;
169
- /**
170
- * Recursively analyze gd formula to detect inverse relationship.
171
- * Looking for patterns like: pos = r - f(adj) or pos = b - f(adj)
172
- */
173
- private _analyzeFormulaForInverse;
174
- /**
175
- * Check if a gd variable depends on (is derived from) adjName
176
- */
177
- private _dependsOnAdj;
178
154
  getGdValue(key: number | IGdContextKey, gdRecord: Partial<IGdContext>): number;
179
155
  private _renderAdjustHandles;
180
156
  }
@@ -1,6 +1,8 @@
1
- import type { IDisposable, UniverInstanceType } from '@univerjs/core';
1
+ import type { IFormulaLastValue } from '@univerjs-pro/engine-formula';
2
+ import type { IAccessor, IDisposable, IMutationInfo } from '@univerjs/core';
2
3
  import type { ShapeTypeEnum } from '../shape-enum';
3
4
  import type { IShapeData } from '../shape-type';
5
+ import { UniverInstanceType } from '@univerjs/core';
4
6
  export type ShapeHostType = UniverInstanceType.UNIVER_SHEET | UniverInstanceType.UNIVER_DOC | UniverInstanceType.UNIVER_SLIDE | UniverInstanceType.UNIVER_BOARD;
5
7
  export declare function isShapeHostType(type: UniverInstanceType): type is ShapeHostType;
6
8
  export interface IShapeScope {
@@ -15,6 +17,15 @@ export interface IShapeRef extends IShapeScope {
15
17
  /** Stable Shape identifier within the host subunit. */
16
18
  shapeId: string;
17
19
  }
20
+ export interface IShapeHostChange {
21
+ /** Host unit whose persisted Shape projection may have changed. */
22
+ unitId: string;
23
+ }
24
+ export interface IShapeHostChangeStream {
25
+ subscribe(listener: (change: IShapeHostChange) => void): {
26
+ unsubscribe(): void;
27
+ };
28
+ }
18
29
  export interface IShapeTransform {
19
30
  /** Horizontal position in host coordinates. */
20
31
  left: number;
@@ -79,12 +90,39 @@ export interface IShapeUpdateInput {
79
90
  /** Canvas selectability to update. Omit to preserve the current value. */
80
91
  selectable?: boolean;
81
92
  }
93
+ /**
94
+ * Ephemeral compare-and-set guard carried by a derived Formula last-value mutation.
95
+ *
96
+ * The guard is deliberately excluded from persisted Shape data. It prevents an
97
+ * asynchronous result calculated from an older formula or External Reference
98
+ * binding from overwriting a newer user edit.
99
+ */
100
+ export interface IShapeFormulaLastValueGuard {
101
+ expectedFormula: string;
102
+ expectedReferenceRevision: number;
103
+ }
104
+ /** Revalidates a Formula Shape result immediately before its Host mutation writes. */
105
+ export declare function canApplyShapeFormulaLastValue(accessor: IAccessor, ref: IShapeRef, currentFormula: string | undefined, guard: IShapeFormulaLastValueGuard | undefined): boolean;
82
106
  export interface IShapeHostAdapter {
83
107
  readonly hostType: ShapeHostType;
108
+ /** Emits after a Shape mutation has changed this host's persisted Shape data. */
109
+ readonly shapeChanged$?: IShapeHostChangeStream;
84
110
  getShape(ref: IShapeRef): IShapeSnapshot | null;
85
111
  listShapes(scope: IShapeScope): IShapeSnapshot[];
112
+ /**
113
+ * Lists Shapes from every subunit owned by one host Unit.
114
+ * Core consumers use this optional hook to rebuild runtime projections from persisted snapshots.
115
+ */
116
+ listShapesInUnit?(unitId: string): IShapeSnapshot[];
86
117
  createShape(scope: IShapeScope, input: IShapeCreateInput): IShapeSnapshot | null;
87
118
  updateShape(ref: IShapeRef, input: IShapeUpdateInput): boolean;
119
+ /**
120
+ * Builds the Host's existing Shape mutation for a successful Formula result.
121
+ *
122
+ * Implementations must include `guard` in the mutation params and validate it
123
+ * in the mutation handler before replacing `formulaBinding.lastValue`.
124
+ */
125
+ createFormulaLastValueMutation?(ref: IShapeRef, guard: IShapeFormulaLastValueGuard, lastValue: IFormulaLastValue): IMutationInfo | null;
88
126
  removeShape(ref: IShapeRef): boolean;
89
127
  bringToFront(ref: IShapeRef): boolean;
90
128
  bringForward(ref: IShapeRef): boolean;
@@ -1,5 +1,6 @@
1
- import type { HorizontalAlign, IDocumentData, VerticalAlign } from '@univerjs/core';
2
- import type { BasicShapeEnum, ImageFillModeEnum, ImageSourceTypeEnum, ShapeArrowSizeEnum, ShapeArrowTypeEnum, ShapeFillEnum, ShapeGradientTypeEnum, ShapeLineCapEnum, ShapeLineDashEnum, ShapeLineJoinEnum, ShapeLineTypeEnum, ShapeOperatorEnum, ShapePresetShadowValEnum, ShapeRenderModeEnum, ShapeSketchTypeEnum, ShapeTypeEnum } from './shape-enum';
1
+ import type { IFormulaLastValue } from '@univerjs-pro/engine-formula';
2
+ import type { HorizontalAlign, IDocumentData, IGlowEffect, IShadowEffect, VerticalAlign } from '@univerjs/core';
3
+ import type { BasicShapeEnum, ImageFillModeEnum, ImageSourceTypeEnum, ShapeArrowSizeEnum, ShapeArrowTypeEnum, ShapeFillEnum, ShapeGradientTypeEnum, ShapeLineCapEnum, ShapeLineDashEnum, ShapeLineJoinEnum, ShapeLineTypeEnum, ShapeOperatorEnum, ShapeRenderModeEnum, ShapeSketchTypeEnum, ShapeTypeEnum } from './shape-enum';
3
4
  /**
4
5
  * GdContext 用来计算 OOXML Shape 的 Geometry Definitions (gd)
5
6
  * 包含:
@@ -575,7 +576,6 @@ export declare enum ShapeTextWrapType {
575
576
  /** Wrap text inside the shape text box. */
576
577
  Square = "square"
577
578
  }
578
- export type ShapeShadowAlignment = 'tl' | 't' | 'tr' | 'l' | 'ctr' | 'r' | 'bl' | 'b' | 'br';
579
579
  export declare enum ShapeTextAutoFitType {
580
580
  /** Do not automatically adjust overflowing text. */
581
581
  NoAutoFit = "noAutoFit",
@@ -665,39 +665,17 @@ export interface ICustomShapeTextData extends IShapeTextAlign, IShapeTextBodyBeh
665
665
  dataModel?: IShapeTextDataModel;
666
666
  }
667
667
  export type IShapeTextData = IShapeText | ICustomShapeTextData;
668
- /**
669
- * A shape outer-shadow effect. Distances and blur radius use slide drawing
670
- * units; direction is in degrees where 0 points right and 90 points down.
671
- */
672
- export interface IShapeShadowEffect {
673
- /** Shadow color as a CSS color string. */
674
- color: string;
675
- /** OOXML preset shadow value, when the shadow originated from `<a:prstShdw>`. */
676
- preset?: ShapePresetShadowValEnum;
677
- /** Shadow opacity, from 0 (transparent) to 1 (opaque). */
678
- opacity?: number;
679
- /** Blur radius in slide drawing units. */
680
- blurRadius?: number;
681
- /** Direction angle in degrees, with 0 pointing right and 90 pointing down. */
682
- direction?: number;
683
- /** Offset distance from the shape in slide drawing units. */
684
- distance?: number;
685
- /** Horizontal shadow scale factor; 1 means 100%. */
686
- sx?: number;
687
- /** Vertical shadow scale factor; 1 means 100%. */
688
- sy?: number;
689
- /** Horizontal shadow skew angle in degrees. */
690
- skewX?: number;
691
- /** Vertical shadow skew angle in degrees. */
692
- skewY?: number;
693
- /** Alignment point used while scaling or skewing the shadow. */
694
- alignment?: ShapeShadowAlignment;
695
- /** Whether the shadow rotates together with the shape. */
696
- rotateWithShape?: boolean;
697
- }
698
668
  /** Formula data persisted by a formula-backed text-box shape. */
699
669
  export interface IShapeFormulaBinding {
700
- /** The complete formula string, including the leading equals sign. */
670
+ /**
671
+ * The complete formula string, including the leading equals sign.
672
+ *
673
+ * Every reference must include its worksheet or table name; unqualified references
674
+ * such as `=A1` are unsupported. For a Shape hosted by a Document, Slide, or Board,
675
+ * every reference must also include the workbook or Base name. Examples:
676
+ * `=Sheet1!A1`, `=Orders[Amount]`, `='[Sales Workbook]Sheet1'!A1`, and
677
+ * `=[Sales Base]!Orders[Amount]`.
678
+ */
701
679
  formula: string;
702
680
  /** Whether value changes should be animated. Defaults to true. */
703
681
  animationEnabled?: boolean;
@@ -705,6 +683,8 @@ export interface IShapeFormulaBinding {
705
683
  numberFormat?: {
706
684
  pattern: string;
707
685
  };
686
+ /** Last successful scalar value persisted with the Shape for stale-first reload rendering. */
687
+ lastValue?: IFormulaLastValue;
708
688
  }
709
689
  /**
710
690
  * This interface defines the shape data structure , and this part will save in json
@@ -774,8 +754,10 @@ export interface IBasicShapeData {
774
754
  adjustValues?: Record<string, number>;
775
755
  isCustom?: boolean;
776
756
  customGeometry?: IPresetShapeConfig;
777
- /** Basic outer shadow effect applied while rendering the shape path. */
778
- outerShadow?: IShapeShadowEffect;
757
+ /** Outer shadow applied while rendering the shape path. */
758
+ outerShadow?: IShadowEffect;
759
+ /** Glow applied around the rendered shape path. */
760
+ glow?: IGlowEffect;
779
761
  shapeText?: IShapeTextData;
780
762
  /**
781
763
  * Text box inset used to calculate the editable/rendered text rect.
@@ -844,9 +826,9 @@ export interface IPresetShapeConfig {
844
826
  /** Angle in degrees (cd4 = 90°, cd2 = 180°, 3cd4 = 270°) */
845
827
  ang: string | number;
846
828
  /** X coordinate */
847
- x?: string | number;
829
+ x: string | number;
848
830
  /** Y coordinate */
849
- y?: string | number;
831
+ y: string | number;
850
832
  }>;
851
833
  /** Text rectangle definition */
852
834
  rect?: {
@@ -934,14 +916,8 @@ export interface IShapeAdjustItemResolved extends IShapeAdjustItem {
934
916
  x: number;
935
917
  y: number;
936
918
  };
937
- /** Current value of the adj parameter being controlled */
938
- currentAdjValue?: number;
939
- /**
940
- * Indicates inverse relationship between adj value and position.
941
- * Calculated at runtime by analyzing gd formulas.
942
- * When true, increasing adj value will decrease the position value.
943
- */
944
- inverse?: boolean;
919
+ /** Current values of all adjustment parameters controlled by this handle. */
920
+ currentAdjustValues: Record<string, number>;
945
921
  }
946
922
  export interface IShapeRenderParameters {
947
923
  renderMode?: ShapeRenderModeEnum;
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- function _0x3f1c(){const _0x4d844b=['FShape','[Shape\x20Text\x20Facade]:\x20Gradient\x20text\x20fill\x20requires\x20at\x20least\x20two\x20color\x20stops.','applyShapeTextStyle','extend','\x22\x20binding\x20requires\x20a\x20target\x20Shape\x20ID\x20and\x20a\x20non-negative\x20connection\x20site\x20index.','setDescription','shapeTextToRichTextValue','Linear','getPlainText','ShapeArrowSizeEnum','getTransform','isInteger','[Shape\x20Text\x20Facade]:\x20Failed\x20to\x20update\x20Shape\x20\x22','@univerjs/core','getConnector','getSnapshot','color','shapeData','Shape\x20transform\x20\x22','ShapeLineCapEnum','_getSnapshot','[Shape\x20Facade]:\x20Failed\x20to\x20','2866195KuVGQk','scaleX','bring\x20forward','Diamond','Shape\x20height\x20must\x20be\x20greater\x20than\x20zero.','IConnectorShapeHostAdapter','diamond','setRichText','scaleY','flipX','hostType','tile','width','getTextBoxOptions','_injector','[Shape\x20Facade]:\x20Shape\x20\x22','@univerjs/core/facade','shapeText','_getShapeData','setFontFamily','58oYPOhT','[Shape\x20Text\x20Facade]:\x20Failed\x20to\x20read\x20Shape\x20\x22','_mutate','left','UniverProEngineShapeFacade','setStartArrow','2856135EHaIOB','_patchStroke','exports','bringForward','toPlainText','boolean','get','bind\x20','SolidFill','setName','setTextBoxOptions','setGradientFill','setSize','FALSE','sendToBack','setSelectable','Tools','_getAdapter','getEndConnectInfo','_getGeometryModel','Shape\x20width\x20must\x20be\x20greater\x20than\x20zero.','setBold','unbindStart','BooleanNumber','TRUE','ShapeTextWrapType','\x22\x20points\x20must\x20contain\x20finite\x20coordinates.','setShapeType','_bind','[Shape\x20Facade]:\x20','FShapeText','Tile','isVisible','getShapeData','getEndEndpoint','solid','setNoneFill','ShapeImageSourceTypeEnum','ImageSourceTypeEnum','_shapeRef','5955952NfErmX','bringToFront','[Shape\x20Facade]:\x20Failed\x20to\x20read\x20Shape\x20\x22','21526YmjPHq','getEndArrow','amd','setStrokeColor','setStrokeOpacity','ShapeTextAutoFitType','update','\x22\x20requires\x20a\x20Connector\x20Shape\x20type.','getStartEndpoint','setImageFill','\x22\x20must\x20be\x20boolean.','updateContext','setVerticalAlign','ShapeTextDirection','setStroke','bring\x20to\x20front','isFinite','setStrokeLineType','relation','ShapeArrowTypeEnum','transform','\x20Shape\x20\x22','Angular','resolveShapeTextBoxOptions','[Shape\x20Facade]:\x20Connector\x20Shape\x20\x22','GradientFill','shapeId','none','visible','ShapeTypeEnum','lineStrokeType','SolidLine','top','UniverCore','_patchShapeData','Module','getRichText','getText','applyShapeTextAlignment','\x22\x20text.','customGeometry','unbind\x20start','FBase','offsetX','setItalic','set\x20start\x20arrow','setEndPoint','setRoutePoints','set\x20start\x20point','getDescription','applyTextToShapeText','ShapeLineTypeEnum','[Shape\x20Facade]:\x20Connector\x20\x22','URL','[Shape\x20Text\x20Facade]:\x20Shape\x20\x22','Connector\x20relationships\x20and\x20route\x20points\x20require\x20FConnectorShape.','setTransform','FEnum','flipY','radial','shapeType','@univerjs-pro/engine-shape','endArrow','setTextStyle','setStrokeWidth','_getConnectorSnapshot','setShapeData','set\x20route\x20points','selectable','setVisible','ShapeImageFillModeEnum','setHorizontalAlign','bindStart','setCustomGeometry','every','map','_mutateConnector','function','isConnectorShape','deepClone','1884496IwIkuj','setStrokeLineDashType','\x20Connector\x20Shape\x20\x22','ShapeLineDashEnum','set\x20end\x20point','FConnectorShape','updateShape','removeShape','ShapeFillEnum','UniverProEngineShape','27WyXFwm','25942jPHYxm','NoFill','\x22\x20was\x20not\x20found.','getAdjustPoints','setSolidFill','Shape\x20\x22','warn','points','remove','PictureFill','ShapeGradientTypeEnum','_updateShapeData','getRoutePoints','setStartPoint','length','isSelectable','description','object','defineProperty','ShapeLineJoinEnum','start','isCustomShape','getStartConnectInfo','rotation','4845710PHPivj','getShape','getShapeType','ImageFillModeEnum','894qZueZy','send\x20backward','gradient','height','_getConnectorAdapter','Radial','sendBackward','getName','end','stretch','ShapeOperatorEnum','IShapeHostAdapterRegistry','isCustom','NoLine'];_0x3f1c=function(){return _0x4d844b;};return _0x3f1c();}function _0x5bd5(_0x4a1044,_0x552607){_0x4a1044=_0x4a1044-0x18a;const _0x3f1cf5=_0x3f1c();let _0x5bd5f5=_0x3f1cf5[_0x4a1044];return _0x5bd5f5;}(function(_0x59dd0f,_0x48ebbf){const _0x19bad2=_0x5bd5,_0x308619=_0x59dd0f();while(!![]){try{const _0x474e0f=-parseInt(_0x19bad2(0x210))/0x1*(-parseInt(_0x19bad2(0x241))/0x2)+-parseInt(_0x19bad2(0x216))/0x3+parseInt(_0x19bad2(0x1b1))/0x4+parseInt(_0x19bad2(0x1fc))/0x5+-parseInt(_0x19bad2(0x1d8))/0x6*(-parseInt(_0x19bad2(0x1bc))/0x7)+parseInt(_0x19bad2(0x23e))/0x8+-parseInt(_0x19bad2(0x1bb))/0x9*(parseInt(_0x19bad2(0x1d4))/0xa);if(_0x474e0f===_0x48ebbf)break;else _0x308619['push'](_0x308619['shift']());}catch(_0x15a832){_0x308619['push'](_0x308619['shift']());}}}(_0x3f1c,0x889bb),function(_0x452d47,_0x4ee5ff){const _0x39c97d=_0x5bd5;typeof exports==_0x39c97d(0x1cd)&&typeof module<'u'?_0x4ee5ff(exports,require('@univerjs-pro/engine-shape'),require('@univerjs/core/facade'),require('@univerjs/core')):typeof define==_0x39c97d(0x1ae)&&define[_0x39c97d(0x243)]?define([_0x39c97d(0x218),_0x39c97d(0x19e),_0x39c97d(0x20c),_0x39c97d(0x1f3)],_0x4ee5ff):(_0x452d47=typeof globalThis<'u'?globalThis:_0x452d47||self,_0x4ee5ff(_0x452d47[_0x39c97d(0x214)]={},_0x452d47[_0x39c97d(0x1ba)],_0x452d47['UniverCoreFacade'],_0x452d47[_0x39c97d(0x262)]));}(this,function(_0x56c73f,_0x36aa3b,_0x1b9acd,_0x268bbd){const _0x59cf0f=_0x5bd5;Object[_0x59cf0f(0x1ce)](_0x56c73f,Symbol['toStringTag'],{'value':_0x59cf0f(0x264)});var _0xd33d49=class extends _0x1b9acd[_0x59cf0f(0x19a)]{get[_0x59cf0f(0x25e)](){const _0x382c93=_0x59cf0f;return _0x36aa3b[_0x382c93(0x25e)];}get[_0x59cf0f(0x1b9)](){return _0x36aa3b['ShapeFillEnum'];}get[_0x59cf0f(0x1c6)](){return _0x36aa3b['ShapeGradientTypeEnum'];}get[_0x59cf0f(0x1a7)](){const _0x5d531b=_0x59cf0f;return _0x36aa3b[_0x5d531b(0x1d7)];}get[_0x59cf0f(0x23b)](){const _0x1fe35c=_0x59cf0f;return _0x36aa3b[_0x1fe35c(0x23c)];}get[_0x59cf0f(0x194)](){return _0x36aa3b['ShapeLineTypeEnum'];}get[_0x59cf0f(0x1b4)](){return _0x36aa3b['ShapeLineDashEnum'];}get[_0x59cf0f(0x1f9)](){const _0x55e83b=_0x59cf0f;return _0x36aa3b[_0x55e83b(0x1f9)];}get[_0x59cf0f(0x1cf)](){const _0xbab46=_0x59cf0f;return _0x36aa3b[_0xbab46(0x1cf)];}get[_0x59cf0f(0x1e2)](){const _0x1ea3a7=_0x59cf0f;return _0x36aa3b[_0x1ea3a7(0x1e2)];}get[_0x59cf0f(0x254)](){const _0x3bd745=_0x59cf0f;return _0x36aa3b[_0x3bd745(0x254)];}get[_0x59cf0f(0x1ef)](){const _0x330692=_0x59cf0f;return _0x36aa3b[_0x330692(0x1ef)];}get[_0x59cf0f(0x246)](){const _0x4c1294=_0x59cf0f;return _0x36aa3b[_0x4c1294(0x246)];}get[_0x59cf0f(0x24e)](){const _0x25cdd9=_0x59cf0f;return _0x36aa3b[_0x25cdd9(0x24e)];}get[_0x59cf0f(0x22f)](){const _0x29707d=_0x59cf0f;return _0x36aa3b[_0x29707d(0x22f)];}};_0x1b9acd['FEnum'][_0x59cf0f(0x1e9)](_0xd33d49);function _0x475a42(_0x4b45af){const _0x3730c0=_0x59cf0f;switch(_0x4b45af){case _0x36aa3b[_0x3730c0(0x1c6)][_0x3730c0(0x1dd)]:return _0x3730c0(0x19c);case _0x36aa3b[_0x3730c0(0x1c6)][_0x3730c0(0x257)]:return'angular';case _0x36aa3b[_0x3730c0(0x1c6)][_0x3730c0(0x1ff)]:return _0x3730c0(0x202);case _0x36aa3b['ShapeGradientTypeEnum'][_0x3730c0(0x1ed)]:default:return'linear';}}function _0x10474e(_0x43da8d){const _0x5e0fa4=_0x59cf0f;return _0x43da8d===_0x36aa3b[_0x5e0fa4(0x1d7)][_0x5e0fa4(0x235)]?_0x5e0fa4(0x207):_0x5e0fa4(0x1e1);}var _0x2ce68f=class{constructor(_0xa7706f,_0x49051e){const _0x25aaf2=_0x59cf0f;this[_0x25aaf2(0x23d)]=_0xa7706f,this[_0x25aaf2(0x20a)]=_0x49051e;}[_0x59cf0f(0x265)](){const _0x5c4946=_0x59cf0f;var _0x414102;return(0x0,_0x36aa3b[_0x5c4946(0x1ec)])((_0x414102=this[_0x5c4946(0x20e)]())==null?void 0x0:_0x414102[_0x5c4946(0x20d)]);}[_0x59cf0f(0x1ee)](){const _0x3b8bc4=_0x59cf0f;var _0x3ff1ff,_0x217d4b;return(_0x3ff1ff=(_0x217d4b=this[_0x3b8bc4(0x265)]())==null?void 0x0:_0x217d4b[_0x3b8bc4(0x21a)]())==null?null:_0x3ff1ff;}[_0x59cf0f(0x203)](_0x364198){const _0x322aef=_0x59cf0f;return this['_updateShapeData'](_0x3329da=>({..._0x3329da,'shapeText':(0x0,_0x36aa3b['applyRichTextToShapeText'])(_0x3329da[_0x322aef(0x20d)],_0x364198)})),this;}['setText'](_0x3f1560){const _0x28ecf4=_0x59cf0f;return this['_updateShapeData'](_0x1a94e5=>({..._0x1a94e5,'shapeText':(0x0,_0x36aa3b[_0x28ecf4(0x193)])(_0x1a94e5['shapeText'],_0x3f1560)})),this;}['setTextStyle'](_0x118c51){const _0x1076b5=_0x59cf0f;return this[_0x1076b5(0x1c7)](_0x38da6f=>({..._0x38da6f,'shapeText':(0x0,_0x36aa3b[_0x1076b5(0x1e8)])(_0x38da6f['shapeText'],_0x118c51)})),this;}['setColor'](_0x1984da,_0x54d351){const _0x3755c0=_0x59cf0f;return this[_0x3755c0(0x1a0)]({'cl':{'rgb':_0x1984da},'textFill':{'type':_0x3755c0(0x239),'color':_0x1984da,'opacity':_0x54d351}});}[_0x59cf0f(0x23a)](){const _0x4cb2c3=_0x59cf0f;return this[_0x4cb2c3(0x1a0)]({'cl':{'rgb':'rgba(0,\x200,\x200,\x200)'},'textFill':{'type':_0x4cb2c3(0x25c)}});}[_0x59cf0f(0x221)](_0x4795da,_0x4d6e29,_0x26fb38){const _0x599758=_0x59cf0f;return _0x4d6e29[_0x599758(0x1ca)]<0x2?(console[_0x599758(0x1c2)](_0x599758(0x1e7)),this):this[_0x599758(0x1a0)]({'cl':{'rgb':_0x4d6e29[0x0][_0x599758(0x1f6)]},'textFill':{'type':_0x599758(0x1da),'gradient':{'type':_0x475a42(_0x4795da),'angle':_0x26fb38,'stops':_0x4d6e29[_0x599758(0x1ac)](({position:_0x57b57c,color:_0x5d4798,opacity:_0xea0e3})=>({'offset':_0x57b57c,'color':_0x5d4798,'opacity':_0xea0e3}))}}});}[_0x59cf0f(0x24a)](_0x2cb197,_0x1624e7=_0x36aa3b['ImageSourceTypeEnum'][_0x59cf0f(0x196)],_0x1bb39d={}){const _0x7e8936=_0x59cf0f;return this['setTextStyle']({'textFill':{'type':'picture','picture':{'source':_0x2cb197,'sourceType':_0x1624e7,'opacity':_0x1bb39d['opacity'],'mode':_0x10474e(_0x1bb39d['mode']),'scaleX':_0x1bb39d[_0x7e8936(0x1fd)],'scaleY':_0x1bb39d[_0x7e8936(0x204)],'offsetX':_0x1bb39d[_0x7e8936(0x18c)],'offsetY':_0x1bb39d['offsetY']}}});}['setFontSize'](_0x402812){const _0x3d93e4=_0x59cf0f;return this[_0x3d93e4(0x1a0)]({'fs':_0x402812});}[_0x59cf0f(0x20f)](_0x3b9eb4){const _0x38d706=_0x59cf0f;return this[_0x38d706(0x1a0)]({'ff':_0x3b9eb4});}[_0x59cf0f(0x22b)](_0xd82bb3){const _0x23dbb9=_0x59cf0f;return this[_0x23dbb9(0x1a0)]({'bl':_0xd82bb3?_0x268bbd['BooleanNumber']['TRUE']:_0x268bbd[_0x23dbb9(0x22d)][_0x23dbb9(0x223)]});}[_0x59cf0f(0x18d)](_0x561113){const _0x118d02=_0x59cf0f;return this[_0x118d02(0x1a0)]({'it':_0x561113?_0x268bbd[_0x118d02(0x22d)][_0x118d02(0x22e)]:_0x268bbd[_0x118d02(0x22d)][_0x118d02(0x223)]});}['setUnderline'](_0x3ead6b){const _0xf10d1f=_0x59cf0f;return this[_0xf10d1f(0x1a0)]({'ul':{'s':_0x3ead6b?_0x268bbd[_0xf10d1f(0x22d)][_0xf10d1f(0x22e)]:_0x268bbd['BooleanNumber']['FALSE']}});}['setStrikethrough'](_0x3bbcf3){const _0x24845e=_0x59cf0f;return this[_0x24845e(0x1a0)]({'st':{'s':_0x3bbcf3?_0x268bbd[_0x24845e(0x22d)][_0x24845e(0x22e)]:_0x268bbd[_0x24845e(0x22d)]['FALSE']}});}[_0x59cf0f(0x1a8)](_0x29e4fe){const _0x72e5ac=_0x59cf0f;return this[_0x72e5ac(0x1c7)](_0x2c810f=>(0x0,_0x36aa3b[_0x72e5ac(0x267)])(_0x2c810f,{'horizontalAlign':_0x29e4fe})),this;}[_0x59cf0f(0x24d)](_0x30df5e){const _0x24b2bd=_0x59cf0f;return this[_0x24b2bd(0x1c7)](_0x1aad50=>(0x0,_0x36aa3b[_0x24b2bd(0x267)])(_0x1aad50,{'verticalAlign':_0x30df5e})),this;}[_0x59cf0f(0x209)](){const _0x3f00d7=_0x59cf0f;let _0x424305=this[_0x3f00d7(0x20e)]();return _0x424305?(0x0,_0x36aa3b[_0x3f00d7(0x258)])(_0x424305):null;}[_0x59cf0f(0x220)](_0xdfe14e){const _0x21e4c9=_0x59cf0f;return this[_0x21e4c9(0x1c7)](_0x260489=>(0x0,_0x36aa3b['applyShapeTextBoxOptions'])(_0x260489,_0xdfe14e)),this;}['_getAdapter'](){const _0x3e9295=_0x59cf0f;return this[_0x3e9295(0x20a)]['get'](_0x36aa3b['IShapeHostAdapterRegistry'])[_0x3e9295(0x21c)](this[_0x3e9295(0x23d)]['hostType']);}[_0x59cf0f(0x20e)](){const _0x31ff2b=_0x59cf0f;let _0x22f3b2=this[_0x31ff2b(0x227)]();if(!_0x22f3b2)return null;try{var _0x34e722;return((_0x34e722=_0x22f3b2[_0x31ff2b(0x1d5)](this[_0x31ff2b(0x23d)]))==null?void 0x0:_0x34e722[_0x31ff2b(0x1f7)])||(console[_0x31ff2b(0x1c2)](_0x31ff2b(0x197)+this[_0x31ff2b(0x23d)][_0x31ff2b(0x25b)]+_0x31ff2b(0x1be)),null);}catch(_0xcd2fd){return console['warn'](_0x31ff2b(0x211)+this[_0x31ff2b(0x23d)][_0x31ff2b(0x25b)]+_0x31ff2b(0x268),_0xcd2fd),null;}}[_0x59cf0f(0x1c7)](_0x1aaee0){const _0x49c5b1=_0x59cf0f;let _0x31b372=this[_0x49c5b1(0x227)]();if(!_0x31b372)return!0x1;try{var _0x14b35f;let _0x3f789d=(_0x14b35f=_0x31b372[_0x49c5b1(0x1d5)](this[_0x49c5b1(0x23d)]))==null?void 0x0:_0x14b35f[_0x49c5b1(0x1f7)];if(!_0x3f789d)return console['warn'](_0x49c5b1(0x197)+this['_shapeRef'][_0x49c5b1(0x25b)]+_0x49c5b1(0x1be)),!0x1;let _0x481f84=_0x31b372[_0x49c5b1(0x1b7)](this[_0x49c5b1(0x23d)],{'shapeData':_0x1aaee0(_0x3f789d)});return _0x481f84||console[_0x49c5b1(0x1c2)](_0x49c5b1(0x1f2)+this[_0x49c5b1(0x23d)][_0x49c5b1(0x25b)]+_0x49c5b1(0x268)),_0x481f84;}catch(_0x32854e){return console['warn']('[Shape\x20Text\x20Facade]:\x20Failed\x20to\x20update\x20Shape\x20\x22'+this[_0x49c5b1(0x23d)][_0x49c5b1(0x25b)]+_0x49c5b1(0x268),_0x32854e),!0x1;}}},_0x41b18a=class extends _0x1b9acd[_0x59cf0f(0x18b)]{constructor(_0x2a0cee,_0x9f185a){super(),this['_shapeRef']=_0x2a0cee,this['_injector']=_0x9f185a;}['isConnectorShape'](){return!0x1;}['getId'](){const _0x1f263e=_0x59cf0f;return this[_0x1f263e(0x23d)][_0x1f263e(0x25b)];}[_0x59cf0f(0x1df)](){var _0x228d0e;return(_0x228d0e=this['_getSnapshot']())==null?void 0x0:_0x228d0e['name'];}[_0x59cf0f(0x21f)](_0x47b88e){const _0x46e28a=_0x59cf0f;return this[_0x46e28a(0x247)]({'name':_0x47b88e});}[_0x59cf0f(0x192)](){const _0x331568=_0x59cf0f;var _0x1bcee5;return(_0x1bcee5=this[_0x331568(0x1fa)]())==null?void 0x0:_0x1bcee5[_0x331568(0x1cc)];}[_0x59cf0f(0x1eb)](_0x2af186){const _0x5eb707=_0x59cf0f;return this[_0x5eb707(0x247)]({'description':_0x2af186});}['getHostType'](){const _0x4c6830=_0x59cf0f;return this[_0x4c6830(0x23d)][_0x4c6830(0x206)];}[_0x59cf0f(0x1d6)](){const _0x4efb06=_0x59cf0f;var _0x18cb5c,_0x55c14c;return(_0x18cb5c=(_0x55c14c=this[_0x4efb06(0x1fa)]())==null?void 0x0:_0x55c14c[_0x4efb06(0x19d)])==null?null:_0x18cb5c;}[_0x59cf0f(0x237)](){const _0x5297e0=_0x59cf0f;let _0x17aa76=this[_0x5297e0(0x1fa)]();return _0x17aa76?_0x268bbd[_0x5297e0(0x226)]['deepClone'](_0x17aa76[_0x5297e0(0x1f7)]):null;}[_0x59cf0f(0x1f5)](){const _0x3d5a81=_0x59cf0f;let _0x15a9b=this[_0x3d5a81(0x1fa)]();return _0x15a9b?_0x268bbd[_0x3d5a81(0x226)][_0x3d5a81(0x1b0)](_0x15a9b):null;}[_0x59cf0f(0x1f0)](){const _0x3b7302=_0x59cf0f;let _0x59496b=this['_getSnapshot']();return _0x59496b?{..._0x59496b[_0x3b7302(0x255)]}:null;}[_0x59cf0f(0x236)](){var _0x2ddae9,_0x1f1ed1;return(_0x2ddae9=(_0x1f1ed1=this['_getSnapshot']())==null?void 0x0:_0x1f1ed1['visible'])==null?!0x1:_0x2ddae9;}[_0x59cf0f(0x1a6)](_0x40a49d){const _0x5ee739=_0x59cf0f;return this[_0x5ee739(0x247)]({'visible':_0x40a49d});}[_0x59cf0f(0x1cb)](){const _0x2c57fd=_0x59cf0f;var _0x172a7d,_0x2acf5d;return(_0x172a7d=(_0x2acf5d=this['_getSnapshot']())==null?void 0x0:_0x2acf5d[_0x2c57fd(0x1a5)])==null?!0x1:_0x172a7d;}[_0x59cf0f(0x225)](_0x304af7){const _0x9d0ad1=_0x59cf0f;return this[_0x9d0ad1(0x247)]({'selectable':_0x304af7});}[_0x59cf0f(0x266)](){const _0x2c0ac1=_0x59cf0f;return this[_0x2c0ac1(0x20a)]['createInstance'](_0x2ce68f,this[_0x2c0ac1(0x23d)],this[_0x2c0ac1(0x20a)]);}[_0x59cf0f(0x1d1)](){const _0x2592db=_0x59cf0f;let _0x429d7f=this[_0x2592db(0x237)]();return(_0x429d7f==null?void 0x0:_0x429d7f[_0x2592db(0x1e4)])===!0x0&&!!_0x429d7f['customGeometry'];}['getCustomGeometry'](){const _0x269407=_0x59cf0f;var _0x4117ee,_0x361d9d;return(_0x4117ee=(_0x361d9d=this['getShapeData']())==null?void 0x0:_0x361d9d[_0x269407(0x269)])==null?null:_0x4117ee;}[_0x59cf0f(0x231)](_0x4ee67e){const _0x30cdc5=_0x59cf0f;return this[_0x30cdc5(0x263)](_0x4b95e4=>({..._0x4b95e4,'shapeType':_0x4ee67e}),_0x4ee67e);}[_0x59cf0f(0x1a3)](_0x20906d){const _0x47392a=_0x59cf0f;let _0x25d7fe=_0x268bbd['Tools']['deepClone'](_0x20906d);return this[_0x47392a(0x247)]({'shapeType':_0x25d7fe['shapeType'],'shapeData':_0x25d7fe});}[_0x59cf0f(0x199)](_0x329de8){const _0x2b634c=_0x59cf0f;return this[_0x2b634c(0x247)]({'transform':_0x329de8});}[_0x59cf0f(0x222)](_0x792e44,_0x4a2048){const _0xa90586=_0x59cf0f;return this[_0xa90586(0x199)]({'width':_0x792e44,'height':_0x4a2048});}['setRotation'](_0x4cca62){const _0x42a835=_0x59cf0f;return this[_0x42a835(0x199)]({'rotation':_0x4cca62});}['setAbsolutePosition'](_0x1bc005,_0x1eda3d){const _0x1b0aff=_0x59cf0f;return this[_0x1b0aff(0x199)]({'left':_0x1bc005,'top':_0x1eda3d});}[_0x59cf0f(0x1aa)](_0x301bd3){const _0x4ffe02=_0x59cf0f;let _0x28e0c4=_0x268bbd[_0x4ffe02(0x226)]['deepClone'](_0x301bd3);return this[_0x4ffe02(0x263)](_0x529792=>({..._0x529792,'isCustom':!0x0,'customGeometry':_0x28e0c4}));}['getConnectionSites'](){const _0x500644=_0x59cf0f;var _0x25e93a,_0x21a81e;return(_0x25e93a=(_0x21a81e=this[_0x500644(0x229)]())==null?void 0x0:_0x21a81e['getConnectionSiteList']()[_0x500644(0x1ac)](_0x36490c=>({..._0x36490c})))==null?[]:_0x25e93a;}[_0x59cf0f(0x1bf)](){const _0x1524e1=_0x59cf0f;var _0xf34faa,_0x17f58d;return(_0xf34faa=(_0x17f58d=this['_getGeometryModel']())==null?void 0x0:_0x17f58d['getDrawingPoints']()[_0x1524e1(0x1ac)](_0x45e8c9=>({..._0x45e8c9})))==null?[]:_0xf34faa;}['getStartConnectInfo'](){const _0x5e561c=_0x59cf0f;var _0x16146f;let _0x576da3=(_0x16146f=this[_0x5e561c(0x229)]())==null?void 0x0:_0x16146f[_0x5e561c(0x1d2)]();return _0x576da3?{..._0x576da3}:null;}[_0x59cf0f(0x228)](){var _0x23486e;let _0xc21413=(_0x23486e=this['_getGeometryModel']())==null?void 0x0:_0x23486e['getEndConnectInfo']();return _0xc21413?{..._0xc21413}:null;}[_0x59cf0f(0x1c0)](_0x2719c5,_0x189a71){const _0x335e2e=_0x59cf0f;return this[_0x335e2e(0x263)](_0x1d4587=>({..._0x1d4587,'fill':{'fillType':_0x36aa3b['ShapeFillEnum'][_0x335e2e(0x21e)],'color':_0x2719c5,'opacity':_0x189a71}}));}[_0x59cf0f(0x221)](_0x1eb136,_0x39f640,_0x4a85f9){const _0xdd3418=_0x59cf0f;return _0x39f640[_0xdd3418(0x1ca)]<0x2?(console[_0xdd3418(0x1c2)]('[Shape\x20Facade]:\x20Gradient\x20fill\x20requires\x20at\x20least\x20two\x20color\x20stops.'),this):this[_0xdd3418(0x263)](_0x59ef07=>({..._0x59ef07,'fill':{'fillType':_0x36aa3b['ShapeFillEnum'][_0xdd3418(0x25a)],'gradientType':_0x1eb136,'gradientStops':_0x268bbd[_0xdd3418(0x226)][_0xdd3418(0x1b0)](_0x39f640),'gradientAngle':_0x4a85f9}}));}[_0x59cf0f(0x24a)](_0x431125,_0x5b75a6,_0x1d042c={}){const _0x3c6edd=_0x59cf0f;return this[_0x3c6edd(0x263)](_0x3b1777=>({..._0x3b1777,'fill':{..._0x268bbd[_0x3c6edd(0x226)][_0x3c6edd(0x1b0)](_0x1d042c),'fillType':_0x36aa3b[_0x3c6edd(0x1b9)][_0x3c6edd(0x1c5)],'fillImageSource':_0x431125,'fillImageSourceType':_0x5b75a6}}));}[_0x59cf0f(0x23a)](){const _0x30d15b=_0x59cf0f;return this[_0x30d15b(0x263)](_0x422faf=>({..._0x422faf,'fill':{'fillType':_0x36aa3b[_0x30d15b(0x1b9)][_0x30d15b(0x1bd)]}}));}[_0x59cf0f(0x24f)](_0x577c66){const _0x23515b=_0x59cf0f;return this['_patchShapeData'](_0x291129=>({..._0x291129,'stroke':_0x268bbd['Tools'][_0x23515b(0x1b0)](_0x577c66)}));}[_0x59cf0f(0x244)](_0x5ff4fc){const _0x159ce8=_0x59cf0f;return this['_patchStroke'](_0x3659ff=>({..._0x3659ff,'color':_0x5ff4fc,'lineStrokeType':_0x3659ff[_0x159ce8(0x25f)]===_0x36aa3b['ShapeLineTypeEnum']['NoLine']?_0x36aa3b[_0x159ce8(0x194)][_0x159ce8(0x260)]:_0x3659ff['lineStrokeType']}));}[_0x59cf0f(0x1a1)](_0x2731a1){const _0x2c61df=_0x59cf0f;return this[_0x2c61df(0x217)](_0x120805=>({..._0x120805,'width':_0x2731a1,'lineStrokeType':_0x120805[_0x2c61df(0x25f)]===_0x36aa3b[_0x2c61df(0x194)][_0x2c61df(0x1e5)]?_0x36aa3b[_0x2c61df(0x194)][_0x2c61df(0x260)]:_0x120805[_0x2c61df(0x25f)]}));}[_0x59cf0f(0x245)](_0x8b3438){return this['_patchStroke'](_0xef9ef=>({..._0xef9ef,'opacity':_0x8b3438}));}[_0x59cf0f(0x1b2)](_0x8c599f){const _0x4ebcb6=_0x59cf0f;return this[_0x4ebcb6(0x217)](_0x3a9b8d=>({..._0x3a9b8d,'dashType':_0x8c599f}));}['setStrokeLineJoinType'](_0x261d1b){const _0x2144f4=_0x59cf0f;return this[_0x2144f4(0x217)](_0x10d8ca=>({..._0x10d8ca,'lineJoinType':_0x261d1b}));}['setStrokeLineCapType'](_0x20f955){const _0x4b532f=_0x59cf0f;return this[_0x4b532f(0x217)](_0x5af3e5=>({..._0x5af3e5,'capType':_0x20f955}));}[_0x59cf0f(0x252)](_0x40c94e){const _0x245f48=_0x59cf0f;return this[_0x245f48(0x217)](_0x5b1cad=>({..._0x5b1cad,'lineStrokeType':_0x40c94e}));}[_0x59cf0f(0x247)](_0x123e61){const _0x56119d=_0x59cf0f;var _0x6a65ed,_0x3c3ad6,_0x34d898;let _0x216936=_0x123e61[_0x56119d(0x1f7)],_0x1d0090=_0x216936&&(_0x56119d(0x253)in _0x216936||_0x56119d(0x1c3)in _0x216936)?this[_0x56119d(0x1d6)]():null,_0x5ef8de=(_0x6a65ed=(_0x3c3ad6=_0x123e61[_0x56119d(0x19d)])==null?(_0x34d898=_0x123e61[_0x56119d(0x1f7)])==null?void 0x0:_0x34d898['shapeType']:_0x3c3ad6)==null?_0x1d0090:_0x6a65ed,_0x13b060=_0x7c5cb0(_0x123e61,_0x5ef8de!==null&&(0x0,_0x36aa3b[_0x56119d(0x1af)])(_0x5ef8de));return _0x13b060?(console[_0x56119d(0x1c2)](_0x56119d(0x233)+_0x13b060),this):(this[_0x56119d(0x212)](_0x56119d(0x247),_0x7bd094=>_0x7bd094[_0x56119d(0x1b7)](this[_0x56119d(0x23d)],_0x123e61)),this);}[_0x59cf0f(0x1c4)](){const _0x3170bb=_0x59cf0f;return this['_mutate']('remove',_0x27287b=>_0x27287b[_0x3170bb(0x1b8)](this[_0x3170bb(0x23d)]));}[_0x59cf0f(0x23f)](){const _0xb42ea7=_0x59cf0f;return this['_mutate'](_0xb42ea7(0x250),_0x3e6cc3=>_0x3e6cc3[_0xb42ea7(0x23f)](this[_0xb42ea7(0x23d)])),this;}['bringForward'](){const _0x263880=_0x59cf0f;return this[_0x263880(0x212)](_0x263880(0x1fe),_0x3af05c=>_0x3af05c[_0x263880(0x219)](this[_0x263880(0x23d)])),this;}['sendBackward'](){const _0x996c46=_0x59cf0f;return this[_0x996c46(0x212)](_0x996c46(0x1d9),_0x2303cd=>_0x2303cd[_0x996c46(0x1de)](this[_0x996c46(0x23d)])),this;}[_0x59cf0f(0x224)](){const _0x2f090d=_0x59cf0f;return this[_0x2f090d(0x212)]('send\x20to\x20back',_0x508853=>_0x508853[_0x2f090d(0x224)](this['_shapeRef'])),this;}[_0x59cf0f(0x227)](){const _0x2f1f0a=_0x59cf0f;return this[_0x2f1f0a(0x20a)]['get'](_0x36aa3b[_0x2f1f0a(0x1e3)])['get'](this[_0x2f1f0a(0x23d)][_0x2f1f0a(0x206)]);}[_0x59cf0f(0x263)](_0x1fda8a,_0x10c883){const _0x230056=_0x59cf0f;let _0x40ca67=this[_0x230056(0x237)]();return _0x40ca67?this[_0x230056(0x247)]({'shapeType':_0x10c883,'shapeData':_0x1fda8a(_0x40ca67)}):this;}[_0x59cf0f(0x217)](_0x12cb44){const _0x3e91be=_0x59cf0f;return this[_0x3e91be(0x263)](_0x276ff3=>{var _0x2dc890;return{..._0x276ff3,'stroke':_0x12cb44((_0x2dc890=_0x276ff3['stroke'])==null?{}:_0x2dc890)};});}[_0x59cf0f(0x1fa)](){const _0x35534e=_0x59cf0f;let _0x587629=this['_getAdapter']();if(!_0x587629)return null;try{return _0x587629[_0x35534e(0x1d5)](this[_0x35534e(0x23d)])||(console[_0x35534e(0x1c2)](_0x35534e(0x20b)+this[_0x35534e(0x23d)][_0x35534e(0x25b)]+_0x35534e(0x1be)),null);}catch(_0x34786a){return console[_0x35534e(0x1c2)](_0x35534e(0x240)+this[_0x35534e(0x23d)][_0x35534e(0x25b)]+'\x22.',_0x34786a),null;}}[_0x59cf0f(0x229)](){const _0x596250=_0x59cf0f;let _0x5ac363=this[_0x596250(0x1fa)]();if(!_0x5ac363)return null;try{let _0x312422=new _0x36aa3b['ShapeModel'](_0x5ac363['shapeType'],_0x5ac363['shapeId'],_0x5ac363[_0x596250(0x1f7)]);return _0x312422[_0x596250(0x24c)]({'width':_0x5ac363[_0x596250(0x255)]['width'],'height':_0x5ac363[_0x596250(0x255)]['height']}),_0x312422;}catch(_0x1a5f0c){return console[_0x596250(0x1c2)]('[Shape\x20Facade]:\x20Failed\x20to\x20resolve\x20geometry\x20for\x20Shape\x20\x22'+this[_0x596250(0x23d)][_0x596250(0x25b)]+'\x22.',_0x1a5f0c),null;}}[_0x59cf0f(0x212)](_0x12c246,_0x238e34){const _0x2f5f3d=_0x59cf0f;let _0x52c6b7=this[_0x2f5f3d(0x227)]();if(!_0x52c6b7)return!0x1;try{let _0x4c68ea=_0x238e34(_0x52c6b7);return _0x4c68ea||console['warn'](_0x2f5f3d(0x1fb)+_0x12c246+_0x2f5f3d(0x256)+this['_shapeRef']['shapeId']+'\x22.'),_0x4c68ea;}catch(_0x2a56e8){return console['warn'](_0x2f5f3d(0x1fb)+_0x12c246+_0x2f5f3d(0x256)+this[_0x2f5f3d(0x23d)][_0x2f5f3d(0x25b)]+'\x22.',_0x2a56e8),!0x1;}}};function _0x7c5cb0(_0xe2862f,_0x5df44c=!0x1){const _0x22682f=_0x59cf0f;for(let _0x412692 of[_0x22682f(0x25d),_0x22682f(0x1a5)]){let _0x9f1837=_0xe2862f[_0x412692];if(_0x9f1837!==void 0x0&&typeof _0x9f1837!=_0x22682f(0x21b))return _0x22682f(0x1c1)+_0x412692+_0x22682f(0x24b);}let _0x38e93d=_0xe2862f['transform'];if(_0x38e93d){for(let _0x52bc78 of[_0x22682f(0x213),_0x22682f(0x261),_0x22682f(0x208),'height',_0x22682f(0x1d3)]){let _0x3b49df=_0x38e93d[_0x52bc78];if(_0x3b49df!==void 0x0&&!Number['isFinite'](_0x3b49df))return _0x22682f(0x1f8)+_0x52bc78+'\x22\x20must\x20be\x20finite.';}if(_0x38e93d[_0x22682f(0x208)]!==void 0x0&&_0x38e93d[_0x22682f(0x208)]<=0x0)return _0x22682f(0x22a);if(_0x38e93d[_0x22682f(0x1db)]!==void 0x0&&_0x38e93d[_0x22682f(0x1db)]<=0x0)return _0x22682f(0x200);for(let _0x44e10a of[_0x22682f(0x205),_0x22682f(0x19b)]){let _0x1a239a=_0x38e93d[_0x44e10a];if(_0x1a239a!==void 0x0&&typeof _0x1a239a!=_0x22682f(0x21b))return _0x22682f(0x1f8)+_0x44e10a+_0x22682f(0x24b);}}let _0x2ef23b=_0xe2862f[_0x22682f(0x1f7)];return!_0x5df44c&&_0x2ef23b&&(_0x22682f(0x253)in _0x2ef23b||_0x22682f(0x1c3)in _0x2ef23b)?_0x22682f(0x198):null;}var _0x126206=class extends _0x41b18a{[_0x59cf0f(0x1af)](){return!0x0;}[_0x59cf0f(0x249)](){const _0x520e95=_0x59cf0f;let _0x5b4dfb=this[_0x520e95(0x1a2)]();return _0x5b4dfb?_0x268bbd[_0x520e95(0x226)][_0x520e95(0x1b0)](_0x5b4dfb['start']):null;}[_0x59cf0f(0x238)](){const _0x28d0ec=_0x59cf0f;let _0xc6dd78=this[_0x28d0ec(0x1a2)]();return _0xc6dd78?_0x268bbd[_0x28d0ec(0x226)][_0x28d0ec(0x1b0)](_0xc6dd78[_0x28d0ec(0x1e0)]):null;}[_0x59cf0f(0x1c8)](){const _0x3e1d80=_0x59cf0f;let _0x3bf7c0=this['_getConnectorSnapshot']();return _0x3bf7c0?_0x268bbd[_0x3e1d80(0x226)][_0x3e1d80(0x1b0)](_0x3bf7c0['routePoints']):null;}['getStartArrow'](){const _0x37511e=_0x59cf0f;let _0x29bbdd=this[_0x37511e(0x1a2)]();return _0x29bbdd?_0x268bbd[_0x37511e(0x226)][_0x37511e(0x1b0)](_0x29bbdd['startArrow']):null;}[_0x59cf0f(0x242)](){const _0x1d24dc=_0x59cf0f;let _0x24ef6e=this[_0x1d24dc(0x1a2)]();return _0x24ef6e?_0x268bbd['Tools']['deepClone'](_0x24ef6e[_0x1d24dc(0x19f)]):null;}[_0x59cf0f(0x231)](_0x440e56){const _0x34c52b=_0x59cf0f;return(0x0,_0x36aa3b[_0x34c52b(0x1af)])(_0x440e56)?super['setShapeType'](_0x440e56):(console[_0x34c52b(0x1c2)](_0x34c52b(0x259)+this[_0x34c52b(0x23d)][_0x34c52b(0x25b)]+_0x34c52b(0x248)),this);}[_0x59cf0f(0x1a3)](_0x2087d7){const _0x5ab246=_0x59cf0f;return _0x2087d7[_0x5ab246(0x19d)]!==void 0x0&&!(0x0,_0x36aa3b[_0x5ab246(0x1af)])(_0x2087d7['shapeType'])?(console[_0x5ab246(0x1c2)](_0x5ab246(0x259)+this[_0x5ab246(0x23d)][_0x5ab246(0x25b)]+'\x22\x20requires\x20Connector\x20Shape\x20data.'),this):super['setShapeData'](_0x2087d7);}[_0x59cf0f(0x1a9)](_0x19ab90,_0x17d979){const _0x585b69=_0x59cf0f;return this['_bind'](_0x585b69(0x1d0),_0x19ab90,_0x17d979),this;}['bindEnd'](_0x38ada1,_0x33f750){const _0x5be6af=_0x59cf0f;return this[_0x5be6af(0x232)](_0x5be6af(0x1e0),_0x38ada1,_0x33f750),this;}[_0x59cf0f(0x22c)](){const _0x2376e5=_0x59cf0f;return this[_0x2376e5(0x1ad)](_0x2376e5(0x18a),_0x102377=>_0x102377['unbindStart'](this['_shapeRef'])),this;}['unbindEnd'](){const _0x94d17a=_0x59cf0f;return this[_0x94d17a(0x1ad)]('unbind\x20end',_0x5b202f=>_0x5b202f['unbindEnd'](this['_shapeRef'])),this;}[_0x59cf0f(0x1c9)](_0x321470){const _0x442164=_0x59cf0f;return _0x398e9a(_0x321470,this['_shapeRef'][_0x442164(0x25b)])&&this[_0x442164(0x1ad)](_0x442164(0x191),_0x570878=>_0x570878[_0x442164(0x1c9)](this['_shapeRef'],_0x321470)),this;}[_0x59cf0f(0x18f)](_0x515a93){const _0x2cc45f=_0x59cf0f;return _0x398e9a(_0x515a93,this[_0x2cc45f(0x23d)][_0x2cc45f(0x25b)])&&this[_0x2cc45f(0x1ad)](_0x2cc45f(0x1b5),_0x26a222=>_0x26a222[_0x2cc45f(0x18f)](this[_0x2cc45f(0x23d)],_0x515a93)),this;}[_0x59cf0f(0x190)](_0x3cf805){const _0x41a3ef=_0x59cf0f;return _0x3cf805[_0x41a3ef(0x1ab)](_0xc3956b=>_0x398e9a(_0xc3956b,this['_shapeRef']['shapeId']))&&this[_0x41a3ef(0x1ad)](_0x41a3ef(0x1a4),_0x194e85=>_0x194e85[_0x41a3ef(0x190)](this[_0x41a3ef(0x23d)],_0x3cf805)),this;}[_0x59cf0f(0x215)](_0x429dd1,_0xbe0faa){const _0x507489=_0x59cf0f;return this[_0x507489(0x1ad)](_0x507489(0x18e),_0x443a08=>_0x443a08[_0x507489(0x215)](this[_0x507489(0x23d)],_0x429dd1,_0xbe0faa)),this;}['setEndArrow'](_0x435c0d,_0x267f66){const _0x21bcde=_0x59cf0f;return this[_0x21bcde(0x1ad)]('set\x20end\x20arrow',_0x1d4c83=>_0x1d4c83['setEndArrow'](this[_0x21bcde(0x23d)],_0x435c0d,_0x267f66)),this;}['_getConnectorAdapter'](){const _0x4fd44c=_0x59cf0f;return this[_0x4fd44c(0x20a)][_0x4fd44c(0x21c)](_0x36aa3b[_0x4fd44c(0x201)]);}[_0x59cf0f(0x1a2)](){const _0x2db12b=_0x59cf0f;let _0x44b543=this[_0x2db12b(0x1dc)]();if(!_0x44b543)return null;try{return _0x44b543[_0x2db12b(0x1f4)](this[_0x2db12b(0x23d)])||(console[_0x2db12b(0x1c2)]('[Shape\x20Facade]:\x20Connector\x20Shape\x20\x22'+this['_shapeRef']['shapeId']+_0x2db12b(0x1be)),null);}catch(_0x41207e){return console['warn']('[Shape\x20Facade]:\x20Failed\x20to\x20read\x20Connector\x20Shape\x20\x22'+this[_0x2db12b(0x23d)][_0x2db12b(0x25b)]+'\x22.',_0x41207e),null;}}[_0x59cf0f(0x232)](_0x4f770e,_0x1c5fa8,_0xbdf66d){const _0x5476a1=_0x59cf0f;if(!_0x1c5fa8||!Number[_0x5476a1(0x1f1)](_0xbdf66d)||_0xbdf66d<0x0)return console[_0x5476a1(0x1c2)]('[Shape\x20Facade]:\x20Connector\x20\x22'+this[_0x5476a1(0x23d)]['shapeId']+_0x5476a1(0x1ea)),!0x1;let _0x186606={'shapeId':_0x1c5fa8,'cxnIndex':_0xbdf66d};return this[_0x5476a1(0x1ad)](_0x5476a1(0x21d)+_0x4f770e,_0x417667=>_0x4f770e==='start'?_0x417667['bindStart'](this[_0x5476a1(0x23d)],_0x186606):_0x417667['bindEnd'](this[_0x5476a1(0x23d)],_0x186606));}[_0x59cf0f(0x1ad)](_0x3e0754,_0x12d1b4){const _0x1b2fe7=_0x59cf0f;let _0x29517d=this[_0x1b2fe7(0x1dc)]();if(!_0x29517d)return!0x1;try{let _0x17e29a=_0x12d1b4(_0x29517d);return _0x17e29a||console[_0x1b2fe7(0x1c2)]('[Shape\x20Facade]:\x20Failed\x20to\x20'+_0x3e0754+'\x20Connector\x20Shape\x20\x22'+this[_0x1b2fe7(0x23d)][_0x1b2fe7(0x25b)]+'\x22.'),_0x17e29a;}catch(_0x5cd48d){return console[_0x1b2fe7(0x1c2)](_0x1b2fe7(0x1fb)+_0x3e0754+_0x1b2fe7(0x1b3)+this[_0x1b2fe7(0x23d)][_0x1b2fe7(0x25b)]+'\x22.',_0x5cd48d),!0x1;}}};function _0x398e9a(_0x46a822,_0x1ef32e){const _0x570847=_0x59cf0f;return!Number[_0x570847(0x251)](_0x46a822['x'])||!Number[_0x570847(0x251)](_0x46a822['y'])?(console[_0x570847(0x1c2)](_0x570847(0x195)+_0x1ef32e+_0x570847(0x230)),!0x1):!0x0;}_0x56c73f[_0x59cf0f(0x1b6)]=_0x126206,_0x56c73f[_0x59cf0f(0x1e6)]=_0x41b18a,_0x56c73f[_0x59cf0f(0x234)]=_0x2ce68f;}));
1
+ function _0x9a3e(_0x72f652,_0x18b6e5){_0x72f652=_0x72f652-0x77;const _0x2e1efc=_0x2e1e();let _0x9a3e10=_0x2e1efc[_0x72f652];return _0x9a3e10;}(function(_0x2f0eae,_0x3f89c1){const _0x4054bd=_0x9a3e,_0x3f8267=_0x2f0eae();while(!![]){try{const _0x24761=parseInt(_0x4054bd(0x135))/0x1+-parseInt(_0x4054bd(0x10e))/0x2*(-parseInt(_0x4054bd(0x14b))/0x3)+parseInt(_0x4054bd(0xec))/0x4*(parseInt(_0x4054bd(0x161))/0x5)+parseInt(_0x4054bd(0x13f))/0x6+-parseInt(_0x4054bd(0xe8))/0x7*(parseInt(_0x4054bd(0x93))/0x8)+-parseInt(_0x4054bd(0xe9))/0x9*(-parseInt(_0x4054bd(0x13a))/0xa)+-parseInt(_0x4054bd(0x12e))/0xb*(parseInt(_0x4054bd(0x109))/0xc);if(_0x24761===_0x3f89c1)break;else _0x3f8267['push'](_0x3f8267['shift']());}catch(_0x12b73b){_0x3f8267['push'](_0x3f8267['shift']());}}}(_0x2e1e,0x3f339),function(_0x50d2a2,_0x49bb4e){const _0x19d350=_0x9a3e;typeof exports==_0x19d350(0xa6)&&typeof module<'u'?_0x49bb4e(exports,require('@univerjs-pro/engine-shape'),require('@univerjs/core/facade'),require('@univerjs/core')):typeof define==_0x19d350(0xbc)&&define['amd']?define([_0x19d350(0xaf),_0x19d350(0x95),_0x19d350(0xde),_0x19d350(0x8b)],_0x49bb4e):(_0x50d2a2=typeof globalThis<'u'?globalThis:_0x50d2a2||self,_0x49bb4e(_0x50d2a2[_0x19d350(0x158)]={},_0x50d2a2[_0x19d350(0xc6)],_0x50d2a2[_0x19d350(0x12b)],_0x50d2a2[_0x19d350(0xe4)]));}(this,function(_0x11d2b6,_0x468705,_0x418bdc,_0x5adf97){const _0x121483=_0x9a3e;Object[_0x121483(0x123)](_0x11d2b6,Symbol[_0x121483(0x150)],{'value':_0x121483(0x121)});var _0x18b996=class extends _0x418bdc['FEnum']{get[_0x121483(0x138)](){const _0xfcfe10=_0x121483;return _0x468705[_0xfcfe10(0x138)];}get[_0x121483(0x162)](){return _0x468705['ShapeFillEnum'];}get[_0x121483(0x77)](){const _0x31effa=_0x121483;return _0x468705[_0x31effa(0x77)];}get['ShapeImageFillModeEnum'](){const _0x27b1a9=_0x121483;return _0x468705[_0x27b1a9(0x8a)];}get[_0x121483(0x154)](){const _0x510fd8=_0x121483;return _0x468705[_0x510fd8(0xf5)];}get[_0x121483(0x88)](){const _0x3b5ea8=_0x121483;return _0x468705[_0x3b5ea8(0x88)];}get[_0x121483(0x108)](){const _0x45f4e4=_0x121483;return _0x468705[_0x45f4e4(0x108)];}get[_0x121483(0x11f)](){const _0x151f08=_0x121483;return _0x468705[_0x151f08(0x11f)];}get['ShapeLineJoinEnum'](){const _0x27edca=_0x121483;return _0x468705[_0x27edca(0xd5)];}get[_0x121483(0xfc)](){const _0x333c24=_0x121483;return _0x468705[_0x333c24(0xfc)];}get['ShapeArrowTypeEnum'](){const _0x4ed300=_0x121483;return _0x468705[_0x4ed300(0x87)];}get[_0x121483(0xda)](){const _0x5e8224=_0x121483;return _0x468705[_0x5e8224(0xda)];}get[_0x121483(0x13b)](){const _0x5dc0a8=_0x121483;return _0x468705[_0x5dc0a8(0x13b)];}get[_0x121483(0xc1)](){const _0x45c910=_0x121483;return _0x468705[_0x45c910(0xc1)];}get[_0x121483(0x10d)](){return _0x468705['ShapeTextWrapType'];}};_0x418bdc['FEnum'][_0x121483(0x152)](_0x18b996);function _0x396b51(_0x56c1aa){const _0x3252e9=_0x121483;switch(_0x56c1aa){case _0x468705[_0x3252e9(0x77)][_0x3252e9(0x168)]:return'radial';case _0x468705[_0x3252e9(0x77)]['Angular']:return'angular';case _0x468705[_0x3252e9(0x77)]['Diamond']:return _0x3252e9(0xa2);case _0x468705[_0x3252e9(0x77)][_0x3252e9(0x15c)]:default:return _0x3252e9(0x144);}}function _0x4e49b2(_0x5daaba){return _0x5daaba===_0x468705['ImageFillModeEnum']['Tile']?'tile':'stretch';}var _0x3f5ec4=class{constructor(_0x2cb578,_0xda0e03){const _0x3f6f9b=_0x121483;this['_shapeRef']=_0x2cb578,this[_0x3f6f9b(0x12f)]=_0xda0e03;}[_0x121483(0x91)](){const _0x38d0bf=_0x121483;var _0x5b459f;return(0x0,_0x468705[_0x38d0bf(0xcf)])((_0x5b459f=this[_0x38d0bf(0xa9)]())==null?void 0x0:_0x5b459f[_0x38d0bf(0x7b)]);}[_0x121483(0x115)](){const _0x4fbc65=_0x121483;var _0x44ffc9,_0x1cf556;return(_0x44ffc9=(_0x1cf556=this[_0x4fbc65(0x91)]())==null?void 0x0:_0x1cf556[_0x4fbc65(0xa1)]())==null?null:_0x44ffc9;}[_0x121483(0xfe)](_0x1a7eed){return this['_updateShapeData'](_0x1e34aa=>({..._0x1e34aa,'shapeText':(0x0,_0x468705['applyRichTextToShapeText'])(_0x1e34aa['shapeText'],_0x1a7eed)})),this;}[_0x121483(0xd3)](_0x47ad5e){const _0x11047a=_0x121483;return this[_0x11047a(0xab)](_0x32bbb1=>({..._0x32bbb1,'shapeText':(0x0,_0x468705[_0x11047a(0x7a)])(_0x32bbb1['shapeText'],_0x47ad5e)})),this;}['setTextStyle'](_0xa71213){const _0x3625aa=_0x121483;return this['_updateShapeData'](_0x4cee81=>({..._0x4cee81,'shapeText':(0x0,_0x468705[_0x3625aa(0x16e)])(_0x4cee81[_0x3625aa(0x7b)],_0xa71213)})),this;}[_0x121483(0x11e)](_0x2219c8,_0x3b55b1){const _0x3046ec=_0x121483;return this[_0x3046ec(0xc8)]({'cl':{'rgb':_0x2219c8},'textFill':{'type':_0x3046ec(0xa3),'color':_0x2219c8,'opacity':_0x3b55b1}});}[_0x121483(0x157)](){const _0x5eb06b=_0x121483;return this[_0x5eb06b(0xc8)]({'cl':{'rgb':'rgba(0,\x200,\x200,\x200)'},'textFill':{'type':_0x5eb06b(0x145)}});}[_0x121483(0xb8)](_0x4a8832,_0x188d26,_0xca6750){const _0x206016=_0x121483;return _0x188d26[_0x206016(0xd4)]<0x2?(console[_0x206016(0x15a)]('[Shape\x20Text\x20Facade]:\x20Gradient\x20text\x20fill\x20requires\x20at\x20least\x20two\x20color\x20stops.'),this):this[_0x206016(0xc8)]({'cl':{'rgb':_0x188d26[0x0]['color']},'textFill':{'type':_0x206016(0x166),'gradient':{'type':_0x396b51(_0x4a8832),'angle':_0xca6750,'stops':_0x188d26[_0x206016(0xc4)](({position:_0x1a268d,color:_0x209181,opacity:_0x540622})=>({'offset':_0x1a268d,'color':_0x209181,'opacity':_0x540622}))}}});}['setImageFill'](_0xf8cb65,_0x21648c=_0x468705[_0x121483(0xf5)][_0x121483(0x126)],_0x24a441={}){const _0x499f45=_0x121483;return this['setTextStyle']({'textFill':{'type':_0x499f45(0xc7),'picture':{'source':_0xf8cb65,'sourceType':_0x21648c,'opacity':_0x24a441['opacity'],'mode':_0x4e49b2(_0x24a441[_0x499f45(0x142)]),'scaleX':_0x24a441[_0x499f45(0xae)],'scaleY':_0x24a441['scaleY'],'offsetX':_0x24a441[_0x499f45(0x96)],'offsetY':_0x24a441[_0x499f45(0x156)]}}});}['setFontSize'](_0x28b633){const _0x56979b=_0x121483;return this[_0x56979b(0xc8)]({'fs':_0x28b633});}['setFontFamily'](_0x3eff22){const _0x214c65=_0x121483;return this[_0x214c65(0xc8)]({'ff':_0x3eff22});}[_0x121483(0x94)](_0x2dc34c){const _0x5efa0e=_0x121483;return this[_0x5efa0e(0xc8)]({'bl':_0x2dc34c?_0x5adf97[_0x5efa0e(0x14a)]['TRUE']:_0x5adf97[_0x5efa0e(0x14a)][_0x5efa0e(0xef)]});}[_0x121483(0xfb)](_0x31d0d1){const _0x1c4150=_0x121483;return this[_0x1c4150(0xc8)]({'it':_0x31d0d1?_0x5adf97[_0x1c4150(0x14a)]['TRUE']:_0x5adf97[_0x1c4150(0x14a)]['FALSE']});}['setUnderline'](_0x16d614){const _0x32307f=_0x121483;return this[_0x32307f(0xc8)]({'ul':{'s':_0x16d614?_0x5adf97[_0x32307f(0x14a)][_0x32307f(0x131)]:_0x5adf97[_0x32307f(0x14a)][_0x32307f(0xef)]}});}[_0x121483(0x7c)](_0x7c0055){const _0x1e8a9e=_0x121483;return this['setTextStyle']({'st':{'s':_0x7c0055?_0x5adf97[_0x1e8a9e(0x14a)][_0x1e8a9e(0x131)]:_0x5adf97[_0x1e8a9e(0x14a)][_0x1e8a9e(0xef)]}});}[_0x121483(0x89)](_0x53d074){const _0x28a104=_0x121483;return this[_0x28a104(0xab)](_0x6d781c=>(0x0,_0x468705[_0x28a104(0xe3)])(_0x6d781c,{'horizontalAlign':_0x53d074})),this;}[_0x121483(0x149)](_0x4891d5){const _0x191a92=_0x121483;return this[_0x191a92(0xab)](_0x52a5c6=>(0x0,_0x468705[_0x191a92(0xe3)])(_0x52a5c6,{'verticalAlign':_0x4891d5})),this;}[_0x121483(0x10b)](){const _0xa87cf5=_0x121483;let _0x54316e=this[_0xa87cf5(0xa9)]();return _0x54316e?(0x0,_0x468705[_0xa87cf5(0xf9)])(_0x54316e):null;}[_0x121483(0x82)](_0x55c7c3){const _0x4eeea1=_0x121483;return this[_0x4eeea1(0xab)](_0x5ba4dc=>(0x0,_0x468705['applyShapeTextBoxOptions'])(_0x5ba4dc,_0x55c7c3)),this;}[_0x121483(0x104)](){const _0x1e2f10=_0x121483;return this[_0x1e2f10(0x12f)][_0x1e2f10(0x12c)](_0x468705[_0x1e2f10(0x137)])[_0x1e2f10(0x12c)](this['_shapeRef']['hostType']);}[_0x121483(0xa9)](){const _0x19b5aa=_0x121483;let _0x48b3a5=this[_0x19b5aa(0x104)]();if(!_0x48b3a5)return null;try{var _0x29a2f5;return((_0x29a2f5=_0x48b3a5[_0x19b5aa(0x9c)](this['_shapeRef']))==null?void 0x0:_0x29a2f5[_0x19b5aa(0x128)])||(console[_0x19b5aa(0x15a)](_0x19b5aa(0x112)+this['_shapeRef'][_0x19b5aa(0x9d)]+_0x19b5aa(0x13c)),null);}catch(_0x1aeaae){return console[_0x19b5aa(0x15a)](_0x19b5aa(0x164)+this[_0x19b5aa(0xa0)][_0x19b5aa(0x9d)]+_0x19b5aa(0xeb),_0x1aeaae),null;}}[_0x121483(0xab)](_0x50a103){const _0x22fbd2=_0x121483;let _0xd5ef0d=this[_0x22fbd2(0x104)]();if(!_0xd5ef0d)return!0x1;try{var _0x148b94;let _0x5de373=(_0x148b94=_0xd5ef0d['getShape'](this[_0x22fbd2(0xa0)]))==null?void 0x0:_0x148b94[_0x22fbd2(0x128)];if(!_0x5de373)return console['warn']('[Shape\x20Text\x20Facade]:\x20Shape\x20\x22'+this[_0x22fbd2(0xa0)][_0x22fbd2(0x9d)]+'\x22\x20was\x20not\x20found.'),!0x1;let _0xdef6cc=_0xd5ef0d['updateShape'](this[_0x22fbd2(0xa0)],{'shapeData':_0x50a103(_0x5de373)});return _0xdef6cc||console[_0x22fbd2(0x15a)](_0x22fbd2(0x124)+this['_shapeRef'][_0x22fbd2(0x9d)]+_0x22fbd2(0xeb)),_0xdef6cc;}catch(_0x3c4e96){return console[_0x22fbd2(0x15a)]('[Shape\x20Text\x20Facade]:\x20Failed\x20to\x20update\x20Shape\x20\x22'+this['_shapeRef']['shapeId']+_0x22fbd2(0xeb),_0x3c4e96),!0x1;}}};function _0xd83e3e(_0x172dcd,_0x56d86d){return function(_0x261806,_0x33f3a3){_0x56d86d(_0x261806,_0x33f3a3,_0x172dcd);};}function _0x1387f1(_0x1f92f7,_0x5c08,_0x112aae,_0x573f1a){const _0x102fa3=_0x121483;var _0x2fd75d=arguments[_0x102fa3(0xd4)],_0x23d052=_0x2fd75d<0x3?_0x5c08:_0x573f1a===null?_0x573f1a=Object[_0x102fa3(0xe5)](_0x5c08,_0x112aae):_0x573f1a,_0x48505b;if(typeof Reflect==_0x102fa3(0xa6)&&typeof Reflect[_0x102fa3(0xb5)]==_0x102fa3(0xbc))_0x23d052=Reflect[_0x102fa3(0xb5)](_0x1f92f7,_0x5c08,_0x112aae,_0x573f1a);else{for(var _0x108d78=_0x1f92f7[_0x102fa3(0xd4)]-0x1;_0x108d78>=0x0;_0x108d78--)(_0x48505b=_0x1f92f7[_0x108d78])&&(_0x23d052=(_0x2fd75d<0x3?_0x48505b(_0x23d052):_0x2fd75d>0x3?_0x48505b(_0x5c08,_0x112aae,_0x23d052):_0x48505b(_0x5c08,_0x112aae))||_0x23d052);}return _0x2fd75d>0x3&&_0x23d052&&Object[_0x102fa3(0x123)](_0x5c08,_0x112aae,_0x23d052),_0x23d052;}let _0x57bc08=class extends _0x418bdc[_0x121483(0x83)]{constructor(_0x58b1d1,_0x2f1ad2,_0x3feb8b,_0x3e9446){const _0x1c4ec7=_0x121483;super(),this['_shapeRef']=_0x58b1d1,this[_0x1c4ec7(0x12f)]=_0x2f1ad2,this['_shapeHostAdapterRegistry']=_0x3feb8b,this['_commandService']=_0x3e9446;}[_0x121483(0xd6)](){return!0x1;}[_0x121483(0x10c)](){const _0x4ab540=_0x121483;return this[_0x4ab540(0xa0)][_0x4ab540(0x9d)];}[_0x121483(0x119)](){const _0x4373b3=_0x121483;var _0x3e48f0;return(_0x3e48f0=this['_getSnapshot']())==null?void 0x0:_0x3e48f0[_0x4373b3(0x15b)];}[_0x121483(0x10a)](_0x4c20b3){return this['update']({'name':_0x4c20b3});}[_0x121483(0x9b)](){const _0x5a2607=_0x121483;var _0x604cde;return(_0x604cde=this[_0x5a2607(0xb7)]())==null?void 0x0:_0x604cde[_0x5a2607(0x86)];}['setDescription'](_0x589584){const _0x2b7f03=_0x121483;return this[_0x2b7f03(0x103)]({'description':_0x589584});}[_0x121483(0xf3)](){const _0x239089=_0x121483;return this[_0x239089(0xa0)]['hostType'];}[_0x121483(0x79)](){const _0x33fa06=_0x121483;var _0x39a673,_0xe88c73;return(_0x39a673=(_0xe88c73=this[_0x33fa06(0xb7)]())==null?void 0x0:_0xe88c73[_0x33fa06(0x80)])==null?null:_0x39a673;}['getShapeData'](){const _0x102091=_0x121483;let _0x478cdd=this[_0x102091(0xb7)]();return _0x478cdd?_0x5adf97[_0x102091(0xbd)]['deepClone'](_0x478cdd[_0x102091(0x128)]):null;}['getSnapshot'](){const _0x23c26a=_0x121483;let _0x397b98=this[_0x23c26a(0xb7)]();return _0x397b98?_0x5adf97['Tools'][_0x23c26a(0xc5)](_0x397b98):null;}[_0x121483(0xc9)](){const _0x4d8e80=_0x121483;let _0x543353=this[_0x4d8e80(0xb7)]();return _0x543353?{..._0x543353[_0x4d8e80(0xd8)]}:null;}[_0x121483(0x114)](){const _0x2b5b7e=_0x121483;var _0x19b858,_0x49d872;return(_0x19b858=(_0x49d872=this[_0x2b5b7e(0xb7)]())==null?void 0x0:_0x49d872[_0x2b5b7e(0x159)])!=null&&_0x19b858;}[_0x121483(0x8f)](_0x80760f){return this['update']({'visible':_0x80760f});}[_0x121483(0x9a)](){const _0xf0bc53=_0x121483;var _0x519f08,_0x5d3b83;return(_0x519f08=(_0x5d3b83=this[_0xf0bc53(0xb7)]())==null?void 0x0:_0x5d3b83[_0xf0bc53(0x84)])!=null&&_0x519f08;}[_0x121483(0x106)](_0x3941ec){return this['update']({'selectable':_0x3941ec});}[_0x121483(0xc0)](){const _0x91b65c=_0x121483;return this[_0x91b65c(0x12f)][_0x91b65c(0xff)](_0x3f5ec4,this[_0x91b65c(0xa0)],this['_injector']);}['isCustomShape'](){const _0xc5f21f=_0x121483;let _0x1cf29c=this[_0xc5f21f(0xd2)]();return(_0x1cf29c==null?void 0x0:_0x1cf29c[_0xc5f21f(0xaa)])===!0x0&&!!_0x1cf29c[_0xc5f21f(0xcd)];}[_0x121483(0x14f)](){const _0x3c21d2=_0x121483;var _0x49bbcf,_0x6b29b1;return(_0x49bbcf=(_0x6b29b1=this[_0x3c21d2(0xd2)]())==null?void 0x0:_0x6b29b1[_0x3c21d2(0xcd)])==null?null:_0x49bbcf;}[_0x121483(0x141)](_0x5e0e5c){return this['_patchShapeData'](_0x4b5710=>({..._0x4b5710,'shapeType':_0x5e0e5c}),_0x5e0e5c);}[_0x121483(0x7f)](_0x298cd8){const _0x3083ed=_0x121483;let _0x633d9e=_0x5adf97['Tools'][_0x3083ed(0xc5)](_0x298cd8);return this['update']({'shapeType':_0x633d9e[_0x3083ed(0x80)],'shapeData':_0x633d9e});}['setTransform'](_0x56b5c2){const _0x38be8c=_0x121483;return this[_0x38be8c(0x103)]({'transform':_0x56b5c2});}[_0x121483(0x92)](_0x3cfef8,_0x3b780a){const _0x284c73=_0x121483;return this[_0x284c73(0x15d)]({'width':_0x3cfef8,'height':_0x3b780a});}[_0x121483(0x9e)](_0x557a3d){const _0x434122=_0x121483;return this[_0x434122(0x15d)]({'rotation':_0x557a3d});}[_0x121483(0xd9)](_0x16fd36,_0x4d467c){const _0x19b73b=_0x121483;return this[_0x19b73b(0x15d)]({'left':_0x16fd36,'top':_0x4d467c});}[_0x121483(0x165)](_0x127f71){const _0x51423d=_0x121483;var _0x4cff1f,_0x10ad7f,_0x5b63a6;let _0xf61384=(_0x4cff1f=(_0x10ad7f=_0x127f71[_0x51423d(0xdb)])==null?void 0x0:_0x10ad7f['findIndex'](({x:_0x3c4cdc,y:_0x1facd0})=>_0x3c4cdc===void 0x0||_0x1facd0===void 0x0))==null?-0x1:_0x4cff1f;if(_0xf61384>=0x0)return console[_0x51423d(0x15a)]('[Shape\x20Facade]:\x20Custom\x20geometry\x20connection\x20site\x20'+_0xf61384+_0x51423d(0xf7)),this;let _0x3b6cb5=_0x5adf97['Tools'][_0x51423d(0xc5)](_0x127f71);if((_0x5b63a6=_0x3b6cb5[_0x51423d(0xdb)])!=null&&_0x5b63a6['length']){let _0x1747ad=this[_0x51423d(0xb7)]();if(!_0x1747ad)return this;try{let _0x4dd4f9=new _0x468705[(_0x51423d(0xc3))](_0x1747ad['shapeType'],_0x1747ad[_0x51423d(0x9d)],{..._0x1747ad[_0x51423d(0x128)],'isCustom':!0x0,'customGeometry':_0x3b6cb5});_0x4dd4f9[_0x51423d(0xf8)]({'width':_0x1747ad[_0x51423d(0xd8)][_0x51423d(0x129)],'height':_0x1747ad[_0x51423d(0xd8)][_0x51423d(0x16b)]}),_0x4dd4f9[_0x51423d(0x136)]();}catch{return console[_0x51423d(0x15a)]('[Shape\x20Facade]:\x20Custom\x20geometry\x20connection\x20sites\x20must\x20resolve\x20to\x20finite\x20coordinates.'),this;}}return this[_0x51423d(0x160)](_0x142aa4=>({..._0x142aa4,'isCustom':!0x0,'customGeometry':_0x3b6cb5}));}[_0x121483(0x90)](){const _0x13f04e=_0x121483;var _0x139945,_0x4a41c7;return(_0x139945=(_0x4a41c7=this['_getGeometryModel']())==null?void 0x0:_0x4a41c7[_0x13f04e(0x136)]()[_0x13f04e(0xc4)](_0x152102=>({..._0x152102})))==null?[]:_0x139945;}['getStartConnectInfo'](){const _0x48642b=_0x121483;var _0x54325a;let _0x294d88=(_0x54325a=this['_getGeometryModel']())==null?void 0x0:_0x54325a[_0x48642b(0xee)]();return _0x294d88?{..._0x294d88}:null;}[_0x121483(0x105)](){const _0x3da6e2=_0x121483;var _0x4fadab;let _0x86bc66=(_0x4fadab=this['_getGeometryModel']())==null?void 0x0:_0x4fadab[_0x3da6e2(0x105)]();return _0x86bc66?{..._0x86bc66}:null;}[_0x121483(0x11c)](){const _0x54b21f=_0x121483;var _0x26a428,_0x574d57;let _0xf845f3=this['_getGeometryModel'](),_0x9b5d10=(_0x26a428=_0xf845f3==null||(_0x574d57=_0xf845f3[_0x54b21f(0x78)]()[_0x54b21f(0x85)])==null?void 0x0:_0x574d57[_0x54b21f(0xd4)])==null?0x0:_0x26a428;return!_0xf845f3||_0x9b5d10===0x0?[]:Array[_0x54b21f(0xdd)]({'length':_0x9b5d10},(_0xf194c2,_0x5292fc)=>_0xf845f3[_0x54b21f(0xb1)](_0x5292fc))[_0x54b21f(0xe6)](_0x3a7ef1=>_0x3a7ef1!==void 0x0)['map'](_0x1da387=>_0x5adf97[_0x54b21f(0xbd)][_0x54b21f(0xc5)](_0x1da387));}[_0x121483(0xd0)](_0x2fb7f8){const _0x34d2d5=_0x121483;let _0x4bf84c=Object[_0x34d2d5(0xf6)](_0x2fb7f8);if(_0x4bf84c['length']===0x0)return this;let _0x2a78c9=this[_0x34d2d5(0xdf)]();if(!_0x2a78c9)return this;let _0xc50426=new Set(_0x2a78c9[_0x34d2d5(0xcb)]());for(let [_0x39c24c,_0x2d5079]of _0x4bf84c){if(!_0xc50426[_0x34d2d5(0xe0)](_0x39c24c))return console[_0x34d2d5(0x15a)]('[Shape\x20Facade]:\x20Shape\x20adjustment\x20\x22'+_0x39c24c+_0x34d2d5(0x16c)),this;if(!Number[_0x34d2d5(0x7d)](_0x2d5079))return console['warn']('[Shape\x20Facade]:\x20Shape\x20adjustment\x20\x22'+_0x39c24c+'\x22\x20must\x20be\x20finite.'),this;}let _0x55962d=Object[_0x34d2d5(0xd1)](_0x4bf84c[_0x34d2d5(0xc4)](([_0x327a1a,_0x38c772])=>[_0x327a1a,_0x2a78c9[_0x34d2d5(0xb3)](_0x327a1a,_0x38c772)]));return this[_0x34d2d5(0x160)](_0x564376=>({..._0x564376,'adjustValues':{..._0x564376[_0x34d2d5(0x9f)],..._0x55962d}}));}[_0x121483(0x98)](){const _0x472154=_0x121483;let _0x5c75f3=this['getShapeData']();return _0x5c75f3!=null&&_0x5c75f3['adjustValues']?(delete _0x5c75f3[_0x472154(0x9f)],this['update']({'shapeData':_0x5c75f3})):this;}[_0x121483(0x12a)](_0x51cb2f,_0x5ce90a){const _0x276002=_0x121483;return this[_0x276002(0x160)](_0x3cf606=>({..._0x3cf606,'fill':{'fillType':_0x468705[_0x276002(0x162)][_0x276002(0x153)],'color':_0x51cb2f,'opacity':_0x5ce90a}}));}[_0x121483(0xb8)](_0x7fb0a4,_0xddb903,_0x86f1ef){const _0x2f34fa=_0x121483;return _0xddb903[_0x2f34fa(0xd4)]<0x2?(console[_0x2f34fa(0x15a)](_0x2f34fa(0xce)),this):this[_0x2f34fa(0x160)](_0x16e18b=>({..._0x16e18b,'fill':{'fillType':_0x468705[_0x2f34fa(0x162)][_0x2f34fa(0x13d)],'gradientType':_0x7fb0a4,'gradientStops':_0x5adf97[_0x2f34fa(0xbd)][_0x2f34fa(0xc5)](_0xddb903),'gradientAngle':_0x86f1ef}}));}[_0x121483(0x111)](_0x230cbc,_0x2f72e1,_0x538971={}){const _0x13867d=_0x121483;return this[_0x13867d(0x160)](_0x32ae6b=>({..._0x32ae6b,'fill':{..._0x5adf97[_0x13867d(0xbd)][_0x13867d(0xc5)](_0x538971),'fillType':_0x468705[_0x13867d(0x162)][_0x13867d(0xca)],'fillImageSource':_0x230cbc,'fillImageSourceType':_0x2f72e1}}));}[_0x121483(0x157)](){const _0x9a86f6=_0x121483;return this[_0x9a86f6(0x160)](_0x26a8f8=>({..._0x26a8f8,'fill':{'fillType':_0x468705[_0x9a86f6(0x162)][_0x9a86f6(0xb4)]}}));}[_0x121483(0xa7)](_0x29fb0f){const _0x28fb5d=_0x121483;return this['_patchShapeData'](_0x4831ac=>({..._0x4831ac,'stroke':_0x5adf97[_0x28fb5d(0xbd)]['deepClone'](_0x29fb0f)}));}[_0x121483(0xc2)](_0x37d5d4){const _0x5789f9=_0x121483;return this[_0x5789f9(0xea)](_0x11bf7d=>({..._0x11bf7d,'color':_0x37d5d4,'lineStrokeType':_0x11bf7d[_0x5789f9(0x130)]===_0x468705[_0x5789f9(0x88)][_0x5789f9(0xf0)]?_0x468705['ShapeLineTypeEnum'][_0x5789f9(0x15f)]:_0x11bf7d['lineStrokeType']}));}[_0x121483(0x10f)](_0xa6dcc0){const _0x10ba4e=_0x121483;return this[_0x10ba4e(0xea)](_0x2f918c=>({..._0x2f918c,'width':_0xa6dcc0,'lineStrokeType':_0x2f918c[_0x10ba4e(0x130)]===_0x468705[_0x10ba4e(0x88)][_0x10ba4e(0xf0)]?_0x468705['ShapeLineTypeEnum'][_0x10ba4e(0x15f)]:_0x2f918c[_0x10ba4e(0x130)]}));}[_0x121483(0xbf)](_0x5df884){const _0xa5d335=_0x121483;return this[_0xa5d335(0xea)](_0x3997eb=>({..._0x3997eb,'opacity':_0x5df884}));}[_0x121483(0x14c)](_0x425d84){const _0x48bb44=_0x121483;return this[_0x48bb44(0xea)](_0x4eb6e5=>({..._0x4eb6e5,'dashType':_0x425d84}));}[_0x121483(0x13e)](_0x8ee952){const _0x37e347=_0x121483;return this[_0x37e347(0xea)](_0x1803f7=>({..._0x1803f7,'lineJoinType':_0x8ee952}));}[_0x121483(0xac)](_0x3e273e){const _0x199d37=_0x121483;return this[_0x199d37(0xea)](_0x3be146=>({..._0x3be146,'capType':_0x3e273e}));}[_0x121483(0xfd)](_0xc66961){const _0x574aef=_0x121483;return this[_0x574aef(0xea)](_0x5023bb=>({..._0x5023bb,'lineStrokeType':_0xc66961}));}[_0x121483(0x103)](_0x1a2aa5){const _0x1cf1cd=_0x121483;var _0x3581cb,_0x5813f6,_0x3fb90a;let _0x253805=_0x1a2aa5[_0x1cf1cd(0x128)],_0x2911e5=_0x253805&&(_0x1cf1cd(0x16d)in _0x253805||_0x1cf1cd(0x15e)in _0x253805)?this[_0x1cf1cd(0x79)]():null,_0x2405df=(_0x3581cb=(_0x5813f6=_0x1a2aa5['shapeType'])==null?(_0x3fb90a=_0x1a2aa5[_0x1cf1cd(0x128)])==null?void 0x0:_0x3fb90a[_0x1cf1cd(0x80)]:_0x5813f6)==null?_0x2911e5:_0x3581cb,_0x3baf6d=_0x41009b(_0x1a2aa5,_0x2405df!==null&&(0x0,_0x468705[_0x1cf1cd(0xd6)])(_0x2405df));return _0x3baf6d?(console['warn'](_0x1cf1cd(0x14d)+_0x3baf6d),this):(this[_0x1cf1cd(0x155)](_0x1cf1cd(0x103),_0x18acf2=>_0x18acf2[_0x1cf1cd(0xed)](this[_0x1cf1cd(0xa0)],_0x1a2aa5)),this);}[_0x121483(0xad)](){const _0x1be426=_0x121483;return this['_mutate'](_0x1be426(0xad),_0x2304f6=>_0x2304f6[_0x1be426(0x122)](this[_0x1be426(0xa0)]));}[_0x121483(0xd7)](){const _0x4ff9a9=_0x121483;return this[_0x4ff9a9(0x155)]('bring\x20to\x20front',_0x3d7896=>_0x3d7896[_0x4ff9a9(0xd7)](this[_0x4ff9a9(0xa0)])),this;}['bringForward'](){const _0x10de8b=_0x121483;return this[_0x10de8b(0x155)](_0x10de8b(0x146),_0x2af7e9=>_0x2af7e9['bringForward'](this[_0x10de8b(0xa0)])),this;}[_0x121483(0x139)](){const _0x20f4c7=_0x121483;return this[_0x20f4c7(0x155)](_0x20f4c7(0xf2),_0x367a6f=>_0x367a6f['sendBackward'](this['_shapeRef'])),this;}['sendToBack'](){const _0xa0f9d=_0x121483;return this[_0xa0f9d(0x155)](_0xa0f9d(0x143),_0x340474=>_0x340474['sendToBack'](this[_0xa0f9d(0xa0)])),this;}['_getAdapter'](){const _0x143080=_0x121483;return this[_0x143080(0xb6)][_0x143080(0x12c)](this[_0x143080(0xa0)][_0x143080(0x163)]);}[_0x121483(0x160)](_0x5031b5,_0x6ed9b5){const _0x35e895=_0x121483;let _0x2fd44b=this[_0x35e895(0xd2)]();return _0x2fd44b?this[_0x35e895(0x103)]({'shapeType':_0x6ed9b5,'shapeData':_0x5031b5(_0x2fd44b)}):this;}[_0x121483(0xea)](_0x41019c){const _0x4a76fe=_0x121483;return this[_0x4a76fe(0x160)](_0x52ec07=>{var _0x1ac166;return{..._0x52ec07,'stroke':_0x41019c((_0x1ac166=_0x52ec07['stroke'])==null?{}:_0x1ac166)};});}[_0x121483(0xb7)](){const _0x140e61=_0x121483;let _0x35b414=this['_getAdapter']();if(!_0x35b414)return null;try{return _0x35b414['getShape'](this['_shapeRef'])||(console[_0x140e61(0x15a)]('[Shape\x20Facade]:\x20Shape\x20\x22'+this[_0x140e61(0xa0)]['shapeId']+_0x140e61(0x13c)),null);}catch(_0x45d44a){return console[_0x140e61(0x15a)](_0x140e61(0xa8)+this[_0x140e61(0xa0)][_0x140e61(0x9d)]+'\x22.',_0x45d44a),null;}}[_0x121483(0xdf)](){const _0x356efd=_0x121483;let _0x32c35a=this[_0x356efd(0xb7)]();if(!_0x32c35a)return null;try{let _0x3b5313=new _0x468705[(_0x356efd(0xc3))](_0x32c35a[_0x356efd(0x80)],_0x32c35a[_0x356efd(0x9d)],_0x5adf97[_0x356efd(0xbd)][_0x356efd(0xc5)](_0x32c35a[_0x356efd(0x128)]));return _0x3b5313['updateContext']({'width':_0x32c35a[_0x356efd(0xd8)][_0x356efd(0x129)],'height':_0x32c35a['transform'][_0x356efd(0x16b)]}),_0x3b5313;}catch(_0x5e3b9d){return console['warn']('[Shape\x20Facade]:\x20Failed\x20to\x20resolve\x20geometry\x20for\x20Shape\x20\x22'+this[_0x356efd(0xa0)][_0x356efd(0x9d)]+'\x22.',_0x5e3b9d),null;}}[_0x121483(0x155)](_0x44c639,_0x52e713){const _0x4645c6=_0x121483;let _0x2ee988=this[_0x4645c6(0x104)]();if(!_0x2ee988)return!0x1;try{let _0x4f1521=_0x52e713(_0x2ee988);return _0x4f1521||console['warn'](_0x4645c6(0x81)+_0x44c639+_0x4645c6(0x140)+this['_shapeRef'][_0x4645c6(0x9d)]+'\x22.'),_0x4f1521;}catch(_0x31b37a){return console[_0x4645c6(0x15a)](_0x4645c6(0x81)+_0x44c639+_0x4645c6(0x140)+this[_0x4645c6(0xa0)]['shapeId']+'\x22.',_0x31b37a),!0x1;}}};_0x57bc08=_0x1387f1([_0xd83e3e(0x2,_0x468705[_0x121483(0x137)]),_0xd83e3e(0x3,_0x5adf97[_0x121483(0x134)])],_0x57bc08);function _0x41009b(_0x42f7ca,_0x509f8e=!0x1){const _0x4bb0ff=_0x121483;for(let _0x7d7b06 of[_0x4bb0ff(0x159),'selectable']){let _0x41ab53=_0x42f7ca[_0x7d7b06];if(_0x41ab53!==void 0x0&&typeof _0x41ab53!='boolean')return _0x4bb0ff(0x148)+_0x7d7b06+_0x4bb0ff(0xa4);}let _0x573013=_0x42f7ca[_0x4bb0ff(0xd8)];if(_0x573013){for(let _0x87eaea of[_0x4bb0ff(0x12d),'top','width',_0x4bb0ff(0x16b),_0x4bb0ff(0x101)]){let _0x17c345=_0x573013[_0x87eaea];if(_0x17c345!==void 0x0&&!Number[_0x4bb0ff(0x7d)](_0x17c345))return'Shape\x20transform\x20\x22'+_0x87eaea+'\x22\x20must\x20be\x20finite.';}if(_0x573013[_0x4bb0ff(0x129)]!==void 0x0&&_0x573013[_0x4bb0ff(0x129)]<=0x0)return _0x4bb0ff(0x11a);if(_0x573013['height']!==void 0x0&&_0x573013[_0x4bb0ff(0x16b)]<=0x0)return _0x4bb0ff(0xb0);for(let _0x1c5221 of[_0x4bb0ff(0x102),_0x4bb0ff(0xbe)]){let _0xcc285=_0x573013[_0x1c5221];if(_0xcc285!==void 0x0&&typeof _0xcc285!=_0x4bb0ff(0xfa))return _0x4bb0ff(0x125)+_0x1c5221+_0x4bb0ff(0xa4);}}let _0x7cdbdf=_0x42f7ca['shapeData'];return!_0x509f8e&&_0x7cdbdf&&('relation'in _0x7cdbdf||_0x4bb0ff(0x15e)in _0x7cdbdf)?_0x4bb0ff(0x11d):null;}var _0x236e8f=class extends _0x57bc08{[_0x121483(0xd6)](){return!0x0;}[_0x121483(0x8e)](){const _0x5d9e6a=_0x121483;let _0x54c5c1=this[_0x5d9e6a(0x116)]();return _0x54c5c1?_0x5adf97[_0x5d9e6a(0xbd)][_0x5d9e6a(0xc5)](_0x54c5c1[_0x5d9e6a(0x107)]):null;}[_0x121483(0x127)](){const _0x53d654=_0x121483;let _0x570997=this[_0x53d654(0x116)]();return _0x570997?_0x5adf97['Tools'][_0x53d654(0xc5)](_0x570997['end']):null;}[_0x121483(0xdc)](){const _0x2d7ca8=_0x121483;let _0x2b598b=this[_0x2d7ca8(0x116)]();return _0x2b598b?_0x5adf97[_0x2d7ca8(0xbd)][_0x2d7ca8(0xc5)](_0x2b598b['routePoints']):null;}[_0x121483(0xa5)](){const _0x5e50ad=_0x121483;let _0x39e469=this[_0x5e50ad(0x116)]();return _0x39e469?_0x5adf97[_0x5e50ad(0xbd)][_0x5e50ad(0xc5)](_0x39e469[_0x5e50ad(0x167)]):null;}[_0x121483(0xe2)](){const _0x1428db=_0x121483;let _0x353f11=this[_0x1428db(0x116)]();return _0x353f11?_0x5adf97[_0x1428db(0xbd)][_0x1428db(0xc5)](_0x353f11[_0x1428db(0x147)]):null;}[_0x121483(0x141)](_0x2b8f55){const _0x3728b3=_0x121483;return(0x0,_0x468705[_0x3728b3(0xd6)])(_0x2b8f55)?super['setShapeType'](_0x2b8f55):(console[_0x3728b3(0x15a)]('[Shape\x20Facade]:\x20Connector\x20Shape\x20\x22'+this[_0x3728b3(0xa0)]['shapeId']+'\x22\x20requires\x20a\x20Connector\x20Shape\x20type.'),this);}[_0x121483(0x7f)](_0x49ce6b){const _0x2ff1ba=_0x121483;return _0x49ce6b[_0x2ff1ba(0x80)]!==void 0x0&&!(0x0,_0x468705[_0x2ff1ba(0xd6)])(_0x49ce6b[_0x2ff1ba(0x80)])?(console[_0x2ff1ba(0x15a)]('[Shape\x20Facade]:\x20Connector\x20Shape\x20\x22'+this[_0x2ff1ba(0xa0)][_0x2ff1ba(0x9d)]+'\x22\x20requires\x20Connector\x20Shape\x20data.'),this):super[_0x2ff1ba(0x7f)](_0x49ce6b);}[_0x121483(0x7e)](_0x2e26eb,_0x40c666){const _0x25a21b=_0x121483;return this[_0x25a21b(0xb9)]('start',_0x2e26eb,_0x40c666),this;}['bindEnd'](_0x451fe6,_0x3168d1){const _0x4aba3e=_0x121483;return this['_bind'](_0x4aba3e(0xbb),_0x451fe6,_0x3168d1),this;}['unbindStart'](){const _0xa63453=_0x121483;return this[_0xa63453(0xf4)](_0xa63453(0x99),_0x51a432=>_0x51a432[_0xa63453(0x8c)](this[_0xa63453(0xa0)])),this;}[_0x121483(0x97)](){const _0x2840a9=_0x121483;return this[_0x2840a9(0xf4)](_0x2840a9(0x16a),_0x2d8b4c=>_0x2d8b4c[_0x2840a9(0x97)](this[_0x2840a9(0xa0)])),this;}[_0x121483(0xba)](_0x506d50){const _0x343fb8=_0x121483;return _0x1b635c(_0x506d50,this[_0x343fb8(0xa0)][_0x343fb8(0x9d)])&&this[_0x343fb8(0xf4)]('set\x20start\x20point',_0x6af343=>_0x6af343['setStartPoint'](this[_0x343fb8(0xa0)],_0x506d50)),this;}[_0x121483(0x100)](_0x505d12){const _0xe1b063=_0x121483;return _0x1b635c(_0x505d12,this[_0xe1b063(0xa0)][_0xe1b063(0x9d)])&&this['_mutateConnector'](_0xe1b063(0xe7),_0x272a29=>_0x272a29[_0xe1b063(0x100)](this[_0xe1b063(0xa0)],_0x505d12)),this;}[_0x121483(0x113)](_0x1e2d14){const _0x59287f=_0x121483;return _0x1e2d14[_0x59287f(0xf1)](_0x5817d0=>_0x1b635c(_0x5817d0,this['_shapeRef'][_0x59287f(0x9d)]))&&this[_0x59287f(0xf4)](_0x59287f(0x169),_0x1d2768=>_0x1d2768[_0x59287f(0x113)](this[_0x59287f(0xa0)],_0x1e2d14)),this;}[_0x121483(0x132)](_0x4fa6d6,_0x211687){const _0x19dd4b=_0x121483;return this['_mutateConnector']('set\x20start\x20arrow',_0x5263f7=>_0x5263f7[_0x19dd4b(0x132)](this[_0x19dd4b(0xa0)],_0x4fa6d6,_0x211687)),this;}['setEndArrow'](_0x33bcbf,_0x2e0381){const _0x32980e=_0x121483;return this[_0x32980e(0xf4)]('set\x20end\x20arrow',_0x5d1e62=>_0x5d1e62[_0x32980e(0xe1)](this[_0x32980e(0xa0)],_0x33bcbf,_0x2e0381)),this;}['_getConnectorAdapter'](){const _0x25cbfb=_0x121483;return this[_0x25cbfb(0x12f)][_0x25cbfb(0x12c)](_0x468705[_0x25cbfb(0x151)]);}[_0x121483(0x116)](){const _0x48d024=_0x121483;let _0x40da66=this['_getConnectorAdapter']();if(!_0x40da66)return null;try{return _0x40da66['getConnector'](this[_0x48d024(0xa0)])||(console[_0x48d024(0x15a)]('[Shape\x20Facade]:\x20Connector\x20Shape\x20\x22'+this[_0x48d024(0xa0)][_0x48d024(0x9d)]+'\x22\x20was\x20not\x20found.'),null);}catch(_0x5b67b6){return console[_0x48d024(0x15a)]('[Shape\x20Facade]:\x20Failed\x20to\x20read\x20Connector\x20Shape\x20\x22'+this['_shapeRef']['shapeId']+'\x22.',_0x5b67b6),null;}}[_0x121483(0xb9)](_0x445358,_0x55f84a,_0x49379c){const _0x3cdfd2=_0x121483;if(!_0x55f84a||!Number[_0x3cdfd2(0x14e)](_0x49379c)||_0x49379c<0x0)return console[_0x3cdfd2(0x15a)]('[Shape\x20Facade]:\x20Connector\x20\x22'+this[_0x3cdfd2(0xa0)][_0x3cdfd2(0x9d)]+_0x3cdfd2(0x118)),!0x1;let _0x58407d={'shapeId':_0x55f84a,'cxnIndex':_0x49379c};return this['_mutateConnector'](_0x3cdfd2(0xb2)+_0x445358,_0x23feb3=>_0x445358==='start'?_0x23feb3[_0x3cdfd2(0x7e)](this[_0x3cdfd2(0xa0)],_0x58407d):_0x23feb3[_0x3cdfd2(0x133)](this[_0x3cdfd2(0xa0)],_0x58407d));}['_mutateConnector'](_0x44c4f0,_0x4443cb){const _0x3e8da8=_0x121483;let _0x1c0f41=this[_0x3e8da8(0x8d)]();if(!_0x1c0f41)return!0x1;try{let _0x53e406=_0x4443cb(_0x1c0f41);return _0x53e406||console[_0x3e8da8(0x15a)](_0x3e8da8(0x81)+_0x44c4f0+_0x3e8da8(0x110)+this[_0x3e8da8(0xa0)][_0x3e8da8(0x9d)]+'\x22.'),_0x53e406;}catch(_0x343454){return console[_0x3e8da8(0x15a)](_0x3e8da8(0x81)+_0x44c4f0+_0x3e8da8(0x110)+this['_shapeRef'][_0x3e8da8(0x9d)]+'\x22.',_0x343454),!0x1;}}};function _0x1b635c(_0xa2b8b7,_0x1d827a){const _0x25dc04=_0x121483;return!Number[_0x25dc04(0x7d)](_0xa2b8b7['x'])||!Number[_0x25dc04(0x7d)](_0xa2b8b7['y'])?(console[_0x25dc04(0x15a)]('[Shape\x20Facade]:\x20Connector\x20\x22'+_0x1d827a+_0x25dc04(0x11b)),!0x1):!0x0;}_0x11d2b6[_0x121483(0x120)]=_0x236e8f,Object[_0x121483(0x123)](_0x11d2b6,_0x121483(0xcc),{'enumerable':!0x0,'get':function(){return _0x57bc08;}}),_0x11d2b6[_0x121483(0x117)]=_0x3f5ec4;}));function _0x2e1e(){const _0x369aff=['toStringTag','IConnectorShapeHostAdapter','extend','SolidFill','ShapeImageSourceTypeEnum','_mutate','offsetY','setNoneFill','UniverProEngineShapeFacade','visible','warn','name','Linear','setTransform','points','SolidLine','_patchShapeData','90meHJMQ','ShapeFillEnum','hostType','[Shape\x20Text\x20Facade]:\x20Failed\x20to\x20read\x20Shape\x20\x22','setCustomGeometry','gradient','startArrow','Radial','set\x20route\x20points','unbind\x20end','height','\x22\x20does\x20not\x20exist.','relation','applyShapeTextStyle','ShapeGradientTypeEnum','getPresetShapeConfig','getShapeType','applyTextToShapeText','shapeText','setStrikethrough','isFinite','bindStart','setShapeData','shapeType','[Shape\x20Facade]:\x20Failed\x20to\x20','setTextBoxOptions','FBase','selectable','ahLst','description','ShapeArrowTypeEnum','ShapeLineTypeEnum','setHorizontalAlign','ImageFillModeEnum','@univerjs/core','unbindStart','_getConnectorAdapter','getStartEndpoint','setVisible','getConnectionSites','getRichText','setSize','194336nRsgtJ','setBold','@univerjs-pro/engine-shape','offsetX','unbindEnd','resetAdjustValues','unbind\x20start','isSelectable','getDescription','getShape','shapeId','setRotation','adjustValues','_shapeRef','toPlainText','diamond','solid','\x22\x20must\x20be\x20boolean.','getStartArrow','object','setStroke','[Shape\x20Facade]:\x20Failed\x20to\x20read\x20Shape\x20\x22','_getShapeData','isCustom','_updateShapeData','setStrokeLineCapType','remove','scaleX','exports','Shape\x20height\x20must\x20be\x20greater\x20than\x20zero.','getAdjustInfo','bind\x20','setAdjustValueByName','NoFill','decorate','_shapeHostAdapterRegistry','_getSnapshot','setGradientFill','_bind','setStartPoint','end','function','Tools','flipY','setStrokeOpacity','getText','ShapeTextDirection','setStrokeColor','ShapeModel','map','deepClone','UniverProEngineShape','picture','setTextStyle','getTransform','PictureFill','getAdjustNames','FShape','customGeometry','[Shape\x20Facade]:\x20Gradient\x20fill\x20requires\x20at\x20least\x20two\x20color\x20stops.','shapeTextToRichTextValue','setAdjustValues','fromEntries','getShapeData','setText','length','ShapeLineJoinEnum','isConnectorShape','bringToFront','transform','setAbsolutePosition','ShapeArrowSizeEnum','cxnLst','getRoutePoints','from','@univerjs/core/facade','_getGeometryModel','has','setEndArrow','getEndArrow','applyShapeTextAlignment','UniverCore','getOwnPropertyDescriptor','filter','set\x20end\x20point','119bkcpWv','36nxTQJd','_patchStroke','\x22\x20text.','4948amduZF','updateShape','getStartConnectInfo','FALSE','NoLine','every','send\x20backward','getHostType','_mutateConnector','ImageSourceTypeEnum','entries','\x20requires\x20both\x20\x22x\x22\x20and\x20\x22y\x22.','updateContext','resolveShapeTextBoxOptions','boolean','setItalic','ShapeOperatorEnum','setStrokeLineType','setRichText','createInstance','setEndPoint','rotation','flipX','update','_getAdapter','getEndConnectInfo','setSelectable','start','ShapeLineDashEnum','150504DqLlwl','setName','getTextBoxOptions','getId','ShapeTextWrapType','33310kehfml','setStrokeWidth','\x20Connector\x20Shape\x20\x22','setImageFill','[Shape\x20Text\x20Facade]:\x20Shape\x20\x22','setRoutePoints','isVisible','getPlainText','_getConnectorSnapshot','FShapeText','\x22\x20binding\x20requires\x20a\x20target\x20Shape\x20ID\x20and\x20a\x20non-negative\x20connection\x20site\x20index.','getName','Shape\x20width\x20must\x20be\x20greater\x20than\x20zero.','\x22\x20points\x20must\x20contain\x20finite\x20coordinates.','getAdjustHandles','Connector\x20relationships\x20and\x20route\x20points\x20require\x20FConnectorShape.','setColor','ShapeLineCapEnum','FConnectorShape','Module','removeShape','defineProperty','[Shape\x20Text\x20Facade]:\x20Failed\x20to\x20update\x20Shape\x20\x22','Shape\x20transform\x20\x22','URL','getEndEndpoint','shapeData','width','setSolidFill','UniverCoreFacade','get','left','143liUnIH','_injector','lineStrokeType','TRUE','setStartArrow','bindEnd','ICommandService','241230iCCqfe','getConnectionSiteList','IShapeHostAdapterRegistry','ShapeTypeEnum','sendBackward','51010JMTQsQ','ShapeTextAutoFitType','\x22\x20was\x20not\x20found.','GradientFill','setStrokeLineJoinType','208068twTXsH','\x20Shape\x20\x22','setShapeType','mode','send\x20to\x20back','linear','none','bring\x20forward','endArrow','Shape\x20\x22','setVerticalAlign','BooleanNumber','93unHuoQ','setStrokeLineDashType','[Shape\x20Facade]:\x20','isInteger','getCustomGeometry'];_0x2e1e=function(){return _0x369aff;};return _0x2e1e();}