obsidian-dev-utils 101.4.1 → 101.6.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 +14 -0
- package/dist/integration-test-plugin/main.js +2818 -2631
- package/dist/lib/cjs/__merged.cjs +10 -1
- package/dist/lib/cjs/__merged.d.cts +3 -2
- package/dist/lib/cjs/generated-during-build.cjs +1 -1
- package/dist/lib/cjs/obsidian/components/index.cjs +4 -1
- package/dist/lib/cjs/obsidian/components/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +1 -1
- package/dist/lib/cjs/obsidian/components/settings-migration-component.cjs +232 -0
- package/dist/lib/cjs/obsidian/components/settings-migration-component.d.cts +120 -0
- package/dist/lib/cjs/obsidian/html-element.cjs +14 -3
- package/dist/lib/cjs/obsidian/html-element.d.cts +46 -2
- package/dist/lib/cjs/obsidian/link.cjs +50 -8
- package/dist/lib/cjs/obsidian/link.d.cts +289 -1
- package/dist/lib/cjs/obsidian/mobile-trusted-input.cjs +1 -1
- package/dist/lib/cjs/obsidian/mobile-trusted-input.d.cts +5 -3
- package/dist/lib/cjs/obsidian/modals/prompt.cjs +9 -2
- package/dist/lib/cjs/obsidian/modals/prompt.d.cts +12 -0
- package/dist/lib/cjs/obsidian/modals/select-item.cjs +13 -1
- package/dist/lib/cjs/obsidian/modals/select-item.d.cts +14 -0
- package/dist/lib/cjs/obsidian/obsidian-settings.cjs +28 -1
- package/dist/lib/cjs/obsidian/obsidian-settings.d.cts +30 -0
- package/dist/lib/cjs/obsidian/plugin/index.cjs +6 -3
- package/dist/lib/cjs/obsidian/plugin/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/plugin/settings-migration-api.cjs +141 -0
- package/dist/lib/cjs/obsidian/plugin/settings-migration-api.d.cts +91 -0
- package/dist/lib/cjs/script-utils/gate.cjs +195 -0
- package/dist/lib/cjs/script-utils/gate.d.cts +78 -0
- package/dist/lib/cjs/script-utils/index.cjs +4 -1
- package/dist/lib/cjs/script-utils/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/version.cjs +7 -15
- package/dist/lib/esm/__merged.d.mts +3 -2
- package/dist/lib/esm/__merged.mjs +13 -3
- package/dist/lib/esm/generated-during-build.mjs +1 -1
- package/dist/lib/esm/obsidian/components/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/components/index.mjs +3 -1
- package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +1 -1
- package/dist/lib/esm/obsidian/components/settings-migration-component.d.mts +120 -0
- package/dist/lib/esm/obsidian/components/settings-migration-component.mjs +127 -0
- package/dist/lib/esm/obsidian/html-element.d.mts +46 -2
- package/dist/lib/esm/obsidian/html-element.mjs +15 -2
- package/dist/lib/esm/obsidian/link.d.mts +289 -1
- package/dist/lib/esm/obsidian/link.mjs +54 -9
- package/dist/lib/esm/obsidian/mobile-trusted-input.d.mts +5 -3
- package/dist/lib/esm/obsidian/mobile-trusted-input.mjs +1 -1
- package/dist/lib/esm/obsidian/modals/prompt.d.mts +12 -0
- package/dist/lib/esm/obsidian/modals/prompt.mjs +10 -3
- package/dist/lib/esm/obsidian/modals/select-item.d.mts +14 -0
- package/dist/lib/esm/obsidian/modals/select-item.mjs +13 -1
- package/dist/lib/esm/obsidian/obsidian-settings.d.mts +30 -0
- package/dist/lib/esm/obsidian/obsidian-settings.mjs +26 -1
- package/dist/lib/esm/obsidian/plugin/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/plugin/index.mjs +4 -2
- package/dist/lib/esm/obsidian/plugin/settings-migration-api.d.mts +91 -0
- package/dist/lib/esm/obsidian/plugin/settings-migration-api.mjs +44 -0
- package/dist/lib/esm/script-utils/gate.d.mts +78 -0
- package/dist/lib/esm/script-utils/gate.mjs +93 -0
- package/dist/lib/esm/script-utils/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/index.mjs +3 -1
- package/dist/lib/esm/script-utils/version.mjs +7 -18
- package/dist/templates/scripts/gate/gate.ts +10 -0
- package/obsidian/components/settings-migration-component/package.json +6 -0
- package/obsidian/plugin/settings-migration-api/package.json +6 -0
- package/package.json +16 -15
- package/script-utils/gate/package.json +6 -0
|
@@ -73,6 +73,18 @@ export interface ConvertLinkParams {
|
|
|
73
73
|
* An Obsidian app instance.
|
|
74
74
|
*/
|
|
75
75
|
readonly app: App;
|
|
76
|
+
/**
|
|
77
|
+
* Whether to allow an empty alias for embeds.
|
|
78
|
+
*
|
|
79
|
+
* Applicable only if the result link style is {@link LinkStyle.Markdown}.
|
|
80
|
+
*
|
|
81
|
+
* If `true`: ``.
|
|
82
|
+
*
|
|
83
|
+
* If `false`: ``.
|
|
84
|
+
*
|
|
85
|
+
* @default `true`
|
|
86
|
+
*/
|
|
87
|
+
readonly isEmptyEmbedAliasAllowed?: boolean;
|
|
76
88
|
/**
|
|
77
89
|
* A reference for the link.
|
|
78
90
|
*/
|
|
@@ -93,12 +105,72 @@ export interface ConvertLinkParams {
|
|
|
93
105
|
* An old path of the link.
|
|
94
106
|
*/
|
|
95
107
|
readonly oldSourcePathOrFile?: PathOrFile;
|
|
108
|
+
/**
|
|
109
|
+
* Whether to escape the alias.
|
|
110
|
+
*
|
|
111
|
+
* Applicable only if the result link style is {@link LinkStyle.Markdown}.
|
|
112
|
+
*
|
|
113
|
+
* If `true`: `[\*\*alias\*\*](link.md)`.
|
|
114
|
+
*
|
|
115
|
+
* If `false`: `[**alias**](link.md)`.
|
|
116
|
+
*
|
|
117
|
+
* @default `false`
|
|
118
|
+
*/
|
|
119
|
+
readonly shouldEscapeAlias?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Whether to include the attachment extension in the embed alias.
|
|
122
|
+
*
|
|
123
|
+
* Applicable only if {@link isEmptyEmbedAliasAllowed} is `false`.
|
|
124
|
+
*
|
|
125
|
+
* If `true`: `[foo.png](foo.png)`.
|
|
126
|
+
*
|
|
127
|
+
* If `false`: `[foo](foo.png)`.
|
|
128
|
+
*
|
|
129
|
+
* @default `false`
|
|
130
|
+
*/
|
|
131
|
+
readonly shouldIncludeAttachmentExtensionToEmbedAlias?: boolean;
|
|
96
132
|
/**
|
|
97
133
|
* Whether to update file name alias.
|
|
98
134
|
*
|
|
99
135
|
* @default `true`
|
|
100
136
|
*/
|
|
101
137
|
readonly shouldUpdateFileNameAlias?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Indicates if the link should use angle brackets.
|
|
140
|
+
*
|
|
141
|
+
* Applicable only if {@link linkStyle} is {@link LinkStyle.Markdown}.
|
|
142
|
+
*
|
|
143
|
+
* If `true`: `[alias](<path with spaces.md>)`.
|
|
144
|
+
*
|
|
145
|
+
* If `false`: `[alias](path%20with%20spaces.md)`.
|
|
146
|
+
*
|
|
147
|
+
* @default `false`
|
|
148
|
+
*/
|
|
149
|
+
readonly shouldUseAngleBrackets?: boolean;
|
|
150
|
+
/**
|
|
151
|
+
* Indicates if the link should use a leading dot.
|
|
152
|
+
*
|
|
153
|
+
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.RelativePathToTheSource}.
|
|
154
|
+
*
|
|
155
|
+
* If `true`: `[[./relative/path/to/target]]`
|
|
156
|
+
*
|
|
157
|
+
* If `false`: `[[relative/path/to/target]]`
|
|
158
|
+
*
|
|
159
|
+
* @default `false`
|
|
160
|
+
*/
|
|
161
|
+
readonly shouldUseLeadingDotForRelativePaths?: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Indicates if the link should use a leading slash.
|
|
164
|
+
*
|
|
165
|
+
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.AbsolutePathInVault}.
|
|
166
|
+
*
|
|
167
|
+
* If `true`: `[[/absolute/path/to/target]]`
|
|
168
|
+
*
|
|
169
|
+
* If `false`: `[[absolute/path/to/target]]`
|
|
170
|
+
*
|
|
171
|
+
* @default `false`
|
|
172
|
+
*/
|
|
173
|
+
readonly shouldUseLeadingSlashForAbsolutePaths?: boolean;
|
|
102
174
|
}
|
|
103
175
|
/**
|
|
104
176
|
* Options for {@link editBacklinks}.
|
|
@@ -385,7 +457,7 @@ export interface GenerateMarkdownLinkParams {
|
|
|
385
457
|
/**
|
|
386
458
|
* Indicates if the link should use a leading dot.
|
|
387
459
|
*
|
|
388
|
-
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.
|
|
460
|
+
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.RelativePathToTheSource}.
|
|
389
461
|
*
|
|
390
462
|
* If `true`: `[[./relative/path/to/target]]`
|
|
391
463
|
*
|
|
@@ -561,6 +633,18 @@ export interface UpdateLinkParams {
|
|
|
561
633
|
* An Obsidian app instance.
|
|
562
634
|
*/
|
|
563
635
|
readonly app: App;
|
|
636
|
+
/**
|
|
637
|
+
* Whether to allow an empty alias for embeds.
|
|
638
|
+
*
|
|
639
|
+
* Applicable only if the result link style is {@link LinkStyle.Markdown}.
|
|
640
|
+
*
|
|
641
|
+
* If `true`: ``.
|
|
642
|
+
*
|
|
643
|
+
* If `false`: ``.
|
|
644
|
+
*
|
|
645
|
+
* @default `true`
|
|
646
|
+
*/
|
|
647
|
+
readonly isEmptyEmbedAliasAllowed?: boolean;
|
|
564
648
|
/**
|
|
565
649
|
* A reference for the link.
|
|
566
650
|
*/
|
|
@@ -589,12 +673,72 @@ export interface UpdateLinkParams {
|
|
|
589
673
|
* An old path of the file.
|
|
590
674
|
*/
|
|
591
675
|
readonly oldTargetPathOrFile?: PathOrFile;
|
|
676
|
+
/**
|
|
677
|
+
* Whether to escape the alias.
|
|
678
|
+
*
|
|
679
|
+
* Applicable only if the result link style is {@link LinkStyle.Markdown}.
|
|
680
|
+
*
|
|
681
|
+
* If `true`: `[\*\*alias\*\*](link.md)`.
|
|
682
|
+
*
|
|
683
|
+
* If `false`: `[**alias**](link.md)`.
|
|
684
|
+
*
|
|
685
|
+
* @default `false`
|
|
686
|
+
*/
|
|
687
|
+
readonly shouldEscapeAlias?: boolean;
|
|
688
|
+
/**
|
|
689
|
+
* Whether to include the attachment extension in the embed alias.
|
|
690
|
+
*
|
|
691
|
+
* Applicable only if {@link isEmptyEmbedAliasAllowed} is `false`.
|
|
692
|
+
*
|
|
693
|
+
* If `true`: `[foo.png](foo.png)`.
|
|
694
|
+
*
|
|
695
|
+
* If `false`: `[foo](foo.png)`.
|
|
696
|
+
*
|
|
697
|
+
* @default `false`
|
|
698
|
+
*/
|
|
699
|
+
readonly shouldIncludeAttachmentExtensionToEmbedAlias?: boolean;
|
|
592
700
|
/**
|
|
593
701
|
* Whether to update file name alias.
|
|
594
702
|
*
|
|
595
703
|
* @default `true`
|
|
596
704
|
*/
|
|
597
705
|
readonly shouldUpdateFileNameAlias?: boolean;
|
|
706
|
+
/**
|
|
707
|
+
* Indicates if the link should use angle brackets.
|
|
708
|
+
*
|
|
709
|
+
* Applicable only if {@link linkStyle} is {@link LinkStyle.Markdown}.
|
|
710
|
+
*
|
|
711
|
+
* If `true`: `[alias](<path with spaces.md>)`.
|
|
712
|
+
*
|
|
713
|
+
* If `false`: `[alias](path%20with%20spaces.md)`.
|
|
714
|
+
*
|
|
715
|
+
* @default `false`
|
|
716
|
+
*/
|
|
717
|
+
readonly shouldUseAngleBrackets?: boolean;
|
|
718
|
+
/**
|
|
719
|
+
* Indicates if the link should use a leading dot.
|
|
720
|
+
*
|
|
721
|
+
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.RelativePathToTheSource}.
|
|
722
|
+
*
|
|
723
|
+
* If `true`: `[[./relative/path/to/target]]`
|
|
724
|
+
*
|
|
725
|
+
* If `false`: `[[relative/path/to/target]]`
|
|
726
|
+
*
|
|
727
|
+
* @default `false`
|
|
728
|
+
*/
|
|
729
|
+
readonly shouldUseLeadingDotForRelativePaths?: boolean;
|
|
730
|
+
/**
|
|
731
|
+
* Indicates if the link should use a leading slash.
|
|
732
|
+
*
|
|
733
|
+
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.AbsolutePathInVault}.
|
|
734
|
+
*
|
|
735
|
+
* If `true`: `[[/absolute/path/to/target]]`
|
|
736
|
+
*
|
|
737
|
+
* If `false`: `[[absolute/path/to/target]]`
|
|
738
|
+
*
|
|
739
|
+
* @default `false`
|
|
740
|
+
*/
|
|
741
|
+
readonly shouldUseLeadingSlashForAbsolutePaths?: boolean;
|
|
598
742
|
}
|
|
599
743
|
/**
|
|
600
744
|
* Params for {@link updateLinksInFile}.
|
|
@@ -604,6 +748,18 @@ export interface UpdateLinksInFileParams extends ProcessOptions {
|
|
|
604
748
|
* An Obsidian app instance.
|
|
605
749
|
*/
|
|
606
750
|
readonly app: App;
|
|
751
|
+
/**
|
|
752
|
+
* Whether to allow an empty alias for embeds.
|
|
753
|
+
*
|
|
754
|
+
* Applicable only if the result link style is {@link LinkStyle.Markdown}.
|
|
755
|
+
*
|
|
756
|
+
* If `true`: ``.
|
|
757
|
+
*
|
|
758
|
+
* If `false`: ``.
|
|
759
|
+
*
|
|
760
|
+
* @default `true`
|
|
761
|
+
*/
|
|
762
|
+
readonly isEmptyEmbedAliasAllowed?: boolean;
|
|
607
763
|
/**
|
|
608
764
|
* A style of the link path.
|
|
609
765
|
*/
|
|
@@ -620,6 +776,30 @@ export interface UpdateLinksInFileParams extends ProcessOptions {
|
|
|
620
776
|
* An old path of the file.
|
|
621
777
|
*/
|
|
622
778
|
readonly oldSourcePathOrFile?: PathOrFile;
|
|
779
|
+
/**
|
|
780
|
+
* Whether to escape the alias.
|
|
781
|
+
*
|
|
782
|
+
* Applicable only if the result link style is {@link LinkStyle.Markdown}.
|
|
783
|
+
*
|
|
784
|
+
* If `true`: `[\*\*alias\*\*](link.md)`.
|
|
785
|
+
*
|
|
786
|
+
* If `false`: `[**alias**](link.md)`.
|
|
787
|
+
*
|
|
788
|
+
* @default `false`
|
|
789
|
+
*/
|
|
790
|
+
readonly shouldEscapeAlias?: boolean;
|
|
791
|
+
/**
|
|
792
|
+
* Whether to include the attachment extension in the embed alias.
|
|
793
|
+
*
|
|
794
|
+
* Applicable only if {@link isEmptyEmbedAliasAllowed} is `false`.
|
|
795
|
+
*
|
|
796
|
+
* If `true`: `[foo.png](foo.png)`.
|
|
797
|
+
*
|
|
798
|
+
* If `false`: `[foo](foo.png)`.
|
|
799
|
+
*
|
|
800
|
+
* @default `false`
|
|
801
|
+
*/
|
|
802
|
+
readonly shouldIncludeAttachmentExtensionToEmbedAlias?: boolean;
|
|
623
803
|
/**
|
|
624
804
|
* Whether to update only embedded links.
|
|
625
805
|
*/
|
|
@@ -630,6 +810,42 @@ export interface UpdateLinksInFileParams extends ProcessOptions {
|
|
|
630
810
|
* @default `true`
|
|
631
811
|
*/
|
|
632
812
|
readonly shouldUpdateFileNameAlias?: boolean;
|
|
813
|
+
/**
|
|
814
|
+
* Indicates if the link should use angle brackets.
|
|
815
|
+
*
|
|
816
|
+
* Applicable only if {@link linkStyle} is {@link LinkStyle.Markdown}.
|
|
817
|
+
*
|
|
818
|
+
* If `true`: `[alias](<path with spaces.md>)`.
|
|
819
|
+
*
|
|
820
|
+
* If `false`: `[alias](path%20with%20spaces.md)`.
|
|
821
|
+
*
|
|
822
|
+
* @default `false`
|
|
823
|
+
*/
|
|
824
|
+
readonly shouldUseAngleBrackets?: boolean;
|
|
825
|
+
/**
|
|
826
|
+
* Indicates if the link should use a leading dot.
|
|
827
|
+
*
|
|
828
|
+
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.RelativePathToTheSource}.
|
|
829
|
+
*
|
|
830
|
+
* If `true`: `[[./relative/path/to/target]]`
|
|
831
|
+
*
|
|
832
|
+
* If `false`: `[[relative/path/to/target]]`
|
|
833
|
+
*
|
|
834
|
+
* @default `false`
|
|
835
|
+
*/
|
|
836
|
+
readonly shouldUseLeadingDotForRelativePaths?: boolean;
|
|
837
|
+
/**
|
|
838
|
+
* Indicates if the link should use a leading slash.
|
|
839
|
+
*
|
|
840
|
+
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.AbsolutePathInVault}.
|
|
841
|
+
*
|
|
842
|
+
* If `true`: `[[/absolute/path/to/target]]`
|
|
843
|
+
*
|
|
844
|
+
* If `false`: `[[absolute/path/to/target]]`
|
|
845
|
+
*
|
|
846
|
+
* @default `false`
|
|
847
|
+
*/
|
|
848
|
+
readonly shouldUseLeadingSlashForAbsolutePaths?: boolean;
|
|
633
849
|
}
|
|
634
850
|
/**
|
|
635
851
|
* Params for {@link updateLinksInContent}.
|
|
@@ -643,6 +859,18 @@ interface UpdateLinksInContentParams {
|
|
|
643
859
|
* A content to update the links in.
|
|
644
860
|
*/
|
|
645
861
|
readonly content: string;
|
|
862
|
+
/**
|
|
863
|
+
* Whether to allow an empty alias for embeds.
|
|
864
|
+
*
|
|
865
|
+
* Applicable only if the result link style is {@link LinkStyle.Markdown}.
|
|
866
|
+
*
|
|
867
|
+
* If `true`: ``.
|
|
868
|
+
*
|
|
869
|
+
* If `false`: ``.
|
|
870
|
+
*
|
|
871
|
+
* @default `true`
|
|
872
|
+
*/
|
|
873
|
+
readonly isEmptyEmbedAliasAllowed?: boolean;
|
|
646
874
|
/**
|
|
647
875
|
* A style of the link path.
|
|
648
876
|
*/
|
|
@@ -659,6 +887,30 @@ interface UpdateLinksInContentParams {
|
|
|
659
887
|
* An old source path or file.
|
|
660
888
|
*/
|
|
661
889
|
readonly oldSourcePathOrFile?: PathOrFile;
|
|
890
|
+
/**
|
|
891
|
+
* Whether to escape the alias.
|
|
892
|
+
*
|
|
893
|
+
* Applicable only if the result link style is {@link LinkStyle.Markdown}.
|
|
894
|
+
*
|
|
895
|
+
* If `true`: `[\*\*alias\*\*](link.md)`.
|
|
896
|
+
*
|
|
897
|
+
* If `false`: `[**alias**](link.md)`.
|
|
898
|
+
*
|
|
899
|
+
* @default `false`
|
|
900
|
+
*/
|
|
901
|
+
readonly shouldEscapeAlias?: boolean;
|
|
902
|
+
/**
|
|
903
|
+
* Whether to include the attachment extension in the embed alias.
|
|
904
|
+
*
|
|
905
|
+
* Applicable only if {@link isEmptyEmbedAliasAllowed} is `false`.
|
|
906
|
+
*
|
|
907
|
+
* If `true`: `[foo.png](foo.png)`.
|
|
908
|
+
*
|
|
909
|
+
* If `false`: `[foo](foo.png)`.
|
|
910
|
+
*
|
|
911
|
+
* @default `false`
|
|
912
|
+
*/
|
|
913
|
+
readonly shouldIncludeAttachmentExtensionToEmbedAlias?: boolean;
|
|
662
914
|
/**
|
|
663
915
|
* Whether to update only embedded links.
|
|
664
916
|
*/
|
|
@@ -669,6 +921,42 @@ interface UpdateLinksInContentParams {
|
|
|
669
921
|
* @default `true`
|
|
670
922
|
*/
|
|
671
923
|
readonly shouldUpdateFileNameAlias?: boolean;
|
|
924
|
+
/**
|
|
925
|
+
* Indicates if the link should use angle brackets.
|
|
926
|
+
*
|
|
927
|
+
* Applicable only if {@link linkStyle} is {@link LinkStyle.Markdown}.
|
|
928
|
+
*
|
|
929
|
+
* If `true`: `[alias](<path with spaces.md>)`.
|
|
930
|
+
*
|
|
931
|
+
* If `false`: `[alias](path%20with%20spaces.md)`.
|
|
932
|
+
*
|
|
933
|
+
* @default `false`
|
|
934
|
+
*/
|
|
935
|
+
readonly shouldUseAngleBrackets?: boolean;
|
|
936
|
+
/**
|
|
937
|
+
* Indicates if the link should use a leading dot.
|
|
938
|
+
*
|
|
939
|
+
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.RelativePathToTheSource}.
|
|
940
|
+
*
|
|
941
|
+
* If `true`: `[[./relative/path/to/target]]`
|
|
942
|
+
*
|
|
943
|
+
* If `false`: `[[relative/path/to/target]]`
|
|
944
|
+
*
|
|
945
|
+
* @default `false`
|
|
946
|
+
*/
|
|
947
|
+
readonly shouldUseLeadingDotForRelativePaths?: boolean;
|
|
948
|
+
/**
|
|
949
|
+
* Indicates if the link should use a leading slash.
|
|
950
|
+
*
|
|
951
|
+
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.AbsolutePathInVault}.
|
|
952
|
+
*
|
|
953
|
+
* If `true`: `[[/absolute/path/to/target]]`
|
|
954
|
+
*
|
|
955
|
+
* If `false`: `[[absolute/path/to/target]]`
|
|
956
|
+
*
|
|
957
|
+
* @default `false`
|
|
958
|
+
*/
|
|
959
|
+
readonly shouldUseLeadingSlashForAbsolutePaths?: boolean;
|
|
672
960
|
}
|
|
673
961
|
/**
|
|
674
962
|
* Converts a link to a new path.
|
|
@@ -192,4 +192,4 @@ function getSeamFunction(name) {
|
|
|
192
192
|
typeIntoEditor,
|
|
193
193
|
unhoverElement
|
|
194
194
|
});
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vYmlsZS10cnVzdGVkLWlucHV0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogTW9iaWxlLW9ubHkgdHJ1c3RlZCBpbnB1dCBoZWxwZXJzLiBUaGVyZSBpcyBubyBpbi1yZW5kZXJlciByb3V0ZSB0byBhIHRydXN0ZWQgZXZlbnQgb24gYSBwaG9uZSBcdTIwMTRcbiAqIGB3ZWJDb250ZW50cy5zZW5kSW5wdXRFdmVudGAgaXMgRWxlY3Ryb24tb25seSBhbmQgYSBkaXNwYXRjaGVkIGV2ZW50IGlzIHVudHJ1c3RlZCBcdTIwMTQgc28gdGhlIGluamVjdGlvblxuICogaGFzIHRvIGJlIGEgcm91bmQtdHJpcDogdGhlIHJlcXVlc3QgZ29lcyB0byB0aGUgaG9zdCBvdmVyIHRoZSBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AgaGFybmVzcydzXG4gKiBiaW5kaW5nIGNoYW5uZWwsIGFuZCB0aGUgaG9zdCBpbmplY3RzIGl0IGludG8gdGhlIFdlYlZpZXcgb3ZlciBDRFAuXG4gKlxuICogVGhhdCBjaGFubmVsIGlzIGluc3RhbGxlZCBieSB0aGUgaGFybmVzcydzIEFwcGl1bSB0cmFuc3BvcnQsIHNvIHRoZXNlIGhlbHBlcnMgKipkZWxlZ2F0ZSoqIHRvIHRoZVxuICogaGFybmVzcyByYXRoZXIgdGhhbiByZWltcGxlbWVudGluZyB0aGUgd2lyZSBmb3JtYXQ6IHRoZXkgY2FsbFxuICogYHdpbmRvdy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nLnRydXN0ZWRJbnB1dC4qYCwgd2hpY2ggaG9sZHMgdGhlIHZlcnkgZnVuY3Rpb24gb2JqZWN0cyB0aGUgaGFybmVzc1xuICogc2VlZHMgaW50byBhbiBgZXZhbEluT2JzaWRpYW5gIGNsb3N1cmUncyBgbGliYCBiYWcuIERlbGVnYXRpbmcgaXMgd2hhdCBrZWVwcyB0aGUgbW9iaWxlIHNlbWFudGljcyBcdTIwMTRcbiAqIHRhcCwgbG9uZy1wcmVzcyBmb3IgYGJ1dHRvbjogJ3JpZ2h0J2AsIGEgdGhyb3cgZm9yIGAnbWlkZGxlJ2AsIHRoZSBgcHJlc3NLZXlgIGtleSBzZXQsIGFuZCB0aGUgdGhyb3dzXG4gKiBmb3IgdGhlIGA6aG92ZXJgIGhlbHBlcnMgXHUyMDE0IGlkZW50aWNhbCB0byB0aGUgaGFybmVzcydzIG93biBjb3B5IGZvciBmcmVlLCBpbnN0ZWFkIG9mIGEgc2Vjb25kXG4gKiBpbXBsZW1lbnRhdGlvbiB0byBoYW5kLXN5bmMgKHNlZSB0aGUgcHJvamVjdCBgQUdFTlRTLm1kYCAqKkw0KiopLlxuICpcbiAqIFRoZSBuYW1lc3BhY2Ugc2hhcGUgaXMgZGVjbGFyZWQgKipsb2NhbGx5Kio6IHRoZSBoYXJuZXNzIG11c3QgbmV2ZXIgYmUgYSBkZXBlbmRlbmN5IG9mIHRoaXMgbGlicmFyeSwgaW5cbiAqIGVpdGhlciBkaXJlY3Rpb24sIGF0IHJ1bnRpbWUgb3IgaW4gdHlwZXMuXG4gKlxuICogKipDb25zZXF1ZW5jZSwgYW5kIGl0IGlzIGRlbGliZXJhdGU6KiogdGhlc2UgaGVscGVycyBvbmx5IHdvcmsgaW5zaWRlIGFuIGFwcCB0aGUgaGFybmVzcyBib290c3RyYXBwZWQuXG4gKiBPdXRzaWRlIG9uZSB0aGV5IHRocm93IGEgbWVzc2FnZSBzYXlpbmcgc28sIHJhdGhlciB0aGFuIHNpbGVudGx5IGRvaW5nIG5vdGhpbmcgXHUyMDE0IGEgbm8tb3Agd291bGQgcmVjcmVhdGVcbiAqIGV4YWN0bHkgdGhlIGZhbHNlLWNvbmZpZGVuY2UgZmFpbHVyZSB0cnVzdGVkIGlucHV0IGV4aXN0cyB0byBlbmQuIENvbnN1bWVycyB3YW50aW5nIHRoZSBwbGF0Zm9ybS1jb3JyZWN0XG4gKiBoZWxwZXIgc2hvdWxkIGltcG9ydCB0aGUge0BsaW5rIC4uL3RydXN0ZWQtaW5wdXQudHMgfCB0cnVzdGVkLWlucHV0fSBmYWNhZGUgaW5zdGVhZCBvZiB0aGlzIG1vZHVsZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIENsaWNrRWxlbWVudFBhcmFtcyxcbiAgQ2xpY2tNb3VzZVBhcmFtcyxcbiAgSG92ZXJFbGVtZW50UGFyYW1zLFxuICBNb3ZlTW91c2VQYXJhbXMsXG4gIFByZXNzS2V5UGFyYW1zLFxuICBUeXBlSW50b0VkaXRvclBhcmFtcyxcbiAgVW5ob3ZlckVsZW1lbnRQYXJhbXNcbiAgLy8gVGhlIHBhcmFtZXRlciBjb250cmFjdHMgbGl2ZSB3aXRoIHRoZSBkZXNrdG9wIHR3aW4gYW5kIGFyZSBzaGFyZWQgdmVyYmF0aW0sIHNvIHRoZSB0d28gcGxhdGZvcm1zXG4gIC8vIENhbm5vdCBkcmlmdCBhcGFydCBvbiB3aGF0IGEgY2FsbGVyIHBhc3Nlcy4gQSB0eXBlLW9ubHkgaW1wb3J0IGxvYWRzIG5vdGhpbmcgKEw1KS5cbn0gZnJvbSAnLi9kZXNrdG9wLXRydXN0ZWQtaW5wdXQudHMnO1xuXG4vKipcbiAqIFRoZSBnbG9iYWwgdGhlIGhhcm5lc3MgYm9vdHN0cmFwcyBpdHMgbmFtZXNwYWNlIG9udG8uXG4gKi9cbmludGVyZmFjZSBPYnNpZGlhbkludGVncmF0aW9uVGVzdGluZ0hvbGRlciB7XG4gIF9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3Rpbmc6IE9ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nTmFtZXNwYWNlO1xufVxuXG4vKipcbiAqIFRoZSBwYXJ0IG9mIHRoZSBoYXJuZXNzIG5hbWVzcGFjZSB0aGlzIG1vZHVsZSByZWFkcy4gRXZlcnl0aGluZyBlbHNlIG9uIGl0IGlzIG5vbmUgb2YgdGhpcyBtb2R1bGUnc1xuICogYnVzaW5lc3MuXG4gKi9cbmludGVyZmFjZSBPYnNpZGlhbkludGVncmF0aW9uVGVzdGluZ05hbWVzcGFjZSB7XG4gIHRydXN0ZWRJbnB1dD86IFBhcnRpYWw8VHJ1c3RlZElucHV0U2VhbT47XG59XG5cbi8qKlxuICogVGhlIHRydXN0ZWQtaW5wdXQgc2VhbSB0aGUgYG9ic2lkaWFuLWludGVncmF0aW9uLXRlc3RpbmdgIGhhcm5lc3MgcHVibGlzaGVzIG9uIGl0cyBuYW1lc3BhY2UuXG4gKlxuICogRGVjbGFyZWQgaGVyZSByYXRoZXIgdGhhbiBpbXBvcnRlZDogdGhlIGhhcm5lc3MgaXMgbm90IGEgZGVwZW5kZW5jeSBvZiB0aGlzIGxpYnJhcnkuIEl0IG1pcnJvcnNcbiAqIGBuYW1lc3BhY2UtYm9vdHN0cmFwLnRzYCdzIGB0cnVzdGVkSW5wdXRgIG9iamVjdCwgYW5kIHRoZSBtaXJyb3JpbmcgaXMgYnkgaGFuZCBcdTIwMTQgdGhlIHNhbWVcbiAqIGJlaGF2aW9yYWwtc3luYyBvYmxpZ2F0aW9uIHRoZSBkZXNrdG9wIHR3aW4gY2Fycmllcy5cbiAqL1xuaW50ZXJmYWNlIFRydXN0ZWRJbnB1dFNlYW0ge1xuICBjbGlja0VsZW1lbnQocGFyYW1zOiBDbGlja0VsZW1lbnRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+O1xuICBjbGlja01vdXNlKHBhcmFtczogQ2xpY2tNb3VzZVBhcmFtcyk6IFByb21pc2U8dm9pZD47XG4gIGhvdmVyRWxlbWVudChwYXJhbXM6IEhvdmVyRWxlbWVudFBhcmFtcyk6IFByb21pc2U8dm9pZD47XG4gIG1vdmVNb3VzZShwYXJhbXM6IE1vdmVNb3VzZVBhcmFtcyk6IFByb21pc2U8dm9pZD47XG4gIHByZXNzS2V5KHBhcmFtczogUHJlc3NLZXlQYXJhbXMpOiBQcm9taXNlPHZvaWQ+O1xuICB0eXBlSW50b0VkaXRvcihwYXJhbXM6IFR5cGVJbnRvRWRpdG9yUGFyYW1zKTogUHJvbWlzZTx2b2lkPjtcbiAgdW5ob3ZlckVsZW1lbnQocGFyYW1zOiBVbmhvdmVyRWxlbWVudFBhcmFtcyk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQ2xpY2tzIHRoZSBjZW50ZXIgb2YgYW4gZWxlbWVudCB1c2luZyAqKnRydXN0ZWQqKiB0b3VjaCBpbnB1dCBcdTIwMTQgYSBDRFAgdGFwIGluIHRoZSBXZWJWaWV3LCBpbmplY3RlZCBieVxuICogdGhlIGhvc3QuXG4gKlxuICogVGhlIGVsZW1lbnQtcmVsYXRpdmUgY291bnRlcnBhcnQgb2Yge0BsaW5rIGNsaWNrTW91c2V9LiBgYnV0dG9uOiAncmlnaHQnYCBpcyB0aGUgbG9uZy1wcmVzcyB0aGF0IG9wZW5zXG4gKiBPYnNpZGlhbiBNb2JpbGUncyBjb250ZXh0IG1lbnU7IGAnbWlkZGxlJ2AgdGhyb3dzLCBiZWNhdXNlIHRvdWNoIGhhcyBubyBnZXN0dXJlIGZvciBpdCBhbmQgaW52ZW50aW5nXG4gKiBvbmUgd291bGQgYmUgd29yc2UgdGhhbiBzYXlpbmcgc28uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBlbGVtZW50IHRvIGNsaWNrLCB0aGUgYnV0dG9uIHRvIHByZXNzIGFuZCBhbnkgbW9kaWZpZXJzIHRvIGhvbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIGNsaWNrIGhhcyBiZWVuIGluamVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2xpY2tFbGVtZW50KHBhcmFtczogQ2xpY2tFbGVtZW50UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGdldFNlYW1GdW5jdGlvbignY2xpY2tFbGVtZW50JykocGFyYW1zKTtcbn1cblxuLyoqXG4gKiBDbGlja3MgYXQgdGhlIGdpdmVuIHZpZXdwb3J0IGNvb3JkaW5hdGVzIHVzaW5nICoqdHJ1c3RlZCoqIHRvdWNoIGlucHV0LCBpbmplY3RlZCBieSB0aGUgaG9zdCBvdmVyIENEUC5cbiAqXG4gKiBUaGUgY29vcmRpbmF0ZXMgYXJlIENTUyBwaXhlbHMgaW4gdGhlIFdlYlZpZXcncyBvd24gdmlld3BvcnQgXHUyMDE0IHdoaWNoIGlzIHdoYXQgQ0RQIHRha2VzIFx1MjAxNCBzb1xuICogYGRldmljZVBpeGVsUmF0aW9gIG5ldmVyIGVudGVycyB0aGUgcGljdHVyZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHZpZXdwb3J0IGNvb3JkaW5hdGVzIHRvIGNsaWNrIGF0LCB0aGUgYnV0dG9uIHRvIHByZXNzIGFuZCBhbnkgbW9kaWZpZXJzIHRvIGhvbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIGNsaWNrIGhhcyBiZWVuIGluamVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2xpY2tNb3VzZShwYXJhbXM6IENsaWNrTW91c2VQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZ2V0U2VhbUZ1bmN0aW9uKCdjbGlja01vdXNlJykocGFyYW1zKTtcbn1cblxuLyoqXG4gKiBBbHdheXMgdGhyb3dzOiBgOmhvdmVyYCBoYXMgbm8gdG91Y2ggZXF1aXZhbGVudC5cbiAqXG4gKiBBIHNpbGVudCBuby1vcCBoZXJlIHdvdWxkIGxldCBhIGhvdmVyIHRlc3QgcGFzcyBvbiBhIHBob25lIHdpdGhvdXQgaG92ZXJpbmcgYW55dGhpbmcsIHNvIHRoZSBtb2JpbGUgYXJtXG4gKiByZWZ1c2VzIGluc3RlYWQuIEdhdGUgdGhlIGFzc2VydGlvbiBvbiBgUGxhdGZvcm0uaXNEZXNrdG9wQXBwYCwgb3IgZHJpdmUgdGhlIGVsZW1lbnQgd2l0aFxuICoge0BsaW5rIGNsaWNrRWxlbWVudH0uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBlbGVtZW50IHRvIGhvdmVyLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCBuZXZlciByZXNvbHZlcyBcdTIwMTQgdGhlIGNhbGwgdGhyb3dzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaG92ZXJFbGVtZW50KHBhcmFtczogSG92ZXJFbGVtZW50UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGdldFNlYW1GdW5jdGlvbignaG92ZXJFbGVtZW50JykocGFyYW1zKTtcbn1cblxuLyoqXG4gKiBBbHdheXMgdGhyb3dzOiBhIHRvdWNoIHNjcmVlbiBoYXMgbm8gcGVyc2lzdGVudCBwb2ludGVyIHRvIG1vdmUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB2aWV3cG9ydCBjb29yZGluYXRlcyB0byBtb3ZlIHRvLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCBuZXZlciByZXNvbHZlcyBcdTIwMTQgdGhlIGNhbGwgdGhyb3dzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbW92ZU1vdXNlKHBhcmFtczogTW92ZU1vdXNlUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGdldFNlYW1GdW5jdGlvbignbW92ZU1vdXNlJykocGFyYW1zKTtcbn1cblxuLyoqXG4gKiBQcmVzc2VzIGEgc2luZ2xlIGtleSB1c2luZyAqKnRydXN0ZWQqKiBrZXlib2FyZCBpbnB1dCwgaW5qZWN0ZWQgYnkgdGhlIGhvc3Qgb3ZlciBDRFAuXG4gKlxuICogTmFtZWQga2V5cyAoYCdFbnRlcidgLCBgJ0VzY2FwZSdgLCBgJ1RhYidgLCBgJ0JhY2tzcGFjZSdgLCBgJ0RlbGV0ZSdgLCB0aGUgYXJyb3dzKSBhbmQgc2luZ2xlIHByaW50YWJsZVxuICogY2hhcmFjdGVycyBhcmUgc3VwcG9ydGVkOyBhbnl0aGluZyBlbHNlIHRocm93cyByYXRoZXIgdGhhbiBwcmVzc2luZyBub3RoaW5nLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUga2V5IHRvIHByZXNzIGFuZCBhbnkgbW9kaWZpZXJzIHRvIGhvbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIGtleSBwcmVzcyBoYXMgYmVlbiBpbmplY3RlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByZXNzS2V5KHBhcmFtczogUHJlc3NLZXlQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZ2V0U2VhbUZ1bmN0aW9uKCdwcmVzc0tleScpKHBhcmFtcyk7XG59XG5cbi8qKlxuICogVHlwZXMgdGV4dCBpbnRvIGEgQ29kZU1pcnJvciBlZGl0b3IgdXNpbmcgKip0cnVzdGVkKioga2V5Ym9hcmQgaW5wdXQsIGluamVjdGVkIGJ5IHRoZSBob3N0IG92ZXIgQ0RQLlxuICpcbiAqIEZvY3VzZXMgdGhlIGVkaXRvciAoY2FyZXQgdG8gdGhlIGVuZCksIHByZXNzZXMgZXZlcnkgY29kZSBwb2ludCBvZiB0aGUgdGV4dCwgdGhlbiBwb2xscyB1bnRpbCB0aGVcbiAqIGRvY3VtZW50IHJlZmxlY3RzIHRoZSBpbnB1dCBvciBhIGJvdW5kZWQgdGltZW91dCBlbGFwc2VzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZWRpdG9yIHRvIHR5cGUgaW50byBhbmQgdGhlIHRleHQgdG8gdHlwZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUga2V5c3Ryb2tlcyBoYXZlIHNldHRsZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0eXBlSW50b0VkaXRvcihwYXJhbXM6IFR5cGVJbnRvRWRpdG9yUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGdldFNlYW1GdW5jdGlvbigndHlwZUludG9FZGl0b3InKShwYXJhbXMpO1xufVxuXG4vKipcbiAqIEFsd2F5cyB0aHJvd3MsIGZvciB0aGUgc2FtZSByZWFzb24gYXMge0BsaW5rIGhvdmVyRWxlbWVudH06IHRoZXJlIGlzIG5vIGA6aG92ZXJgIHN0YXRlIHRvIGNsZWFyLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZWxlbWVudCB0byBtb3ZlIHRoZSBwb2ludGVyIGF3YXkgZnJvbS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgbmV2ZXIgcmVzb2x2ZXMgXHUyMDE0IHRoZSBjYWxsIHRocm93cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVuaG92ZXJFbGVtZW50KHBhcmFtczogVW5ob3ZlckVsZW1lbnRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgZ2V0U2VhbUZ1bmN0aW9uKCd1bmhvdmVyRWxlbWVudCcpKHBhcmFtcyk7XG59XG5cbmZ1bmN0aW9uIGdldFNlYW1GdW5jdGlvbjxLZXkgZXh0ZW5kcyBrZXlvZiBUcnVzdGVkSW5wdXRTZWFtPihuYW1lOiBLZXkpOiBUcnVzdGVkSW5wdXRTZWFtW0tleV0ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9uby1nbG9iYWwtdGhpcyAtLSBUaGUgaGFybmVzcyBpbnN0YWxscyBpdHMgbmFtZXNwYWNlIG9uIHRoZSByZWFsbSBnbG9iYWw7IHRoZXJlIGlzIG5vd2hlcmUgZWxzZSB0byByZWFkIGl0IGZyb20uXG4gIGNvbnN0IGhvbGRlciA9IGdsb2JhbFRoaXMgYXMgUGFydGlhbDxPYnNpZGlhbkludGVncmF0aW9uVGVzdGluZ0hvbGRlcj47XG4gIGNvbnN0IHNlYW1GdW5jdGlvbiA9IGhvbGRlci5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nPy50cnVzdGVkSW5wdXQ/LltuYW1lXTtcbiAgaWYgKCFzZWFtRnVuY3Rpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVHJ1c3RlZCBpbnB1dCBpcyB1bmF2YWlsYWJsZSBvbiBtb2JpbGU6IFxcYHdpbmRvdy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nLnRydXN0ZWRJbnB1dC4ke25hbWV9XFxgIGlzIG5vdCBpbnN0YWxsZWQuIGBcbiAgICAgICAgKyAnQSBwaG9uZSBoYXMgbm8gaW4tcmVuZGVyZXIgcm91dGUgdG8gYSB0cnVzdGVkIGV2ZW50LCBzbyB0aGUgaW5qZWN0aW9uIGlzIGEgcm91bmQtdHJpcCB0byB0aGUgaG9zdCBvdmVyIHRoZSAnXG4gICAgICAgICsgJ2BvYnNpZGlhbi1pbnRlZ3JhdGlvbi10ZXN0aW5nYCBBcHBpdW0gdHJhbnNwb3J0XFwncyBjaGFubmVsIFx1MjAxNCB3aGljaCBtZWFucyB0aGVzZSBoZWxwZXJzIG9ubHkgd29yayBpbnNpZGUgYW4gYXBwIHRoYXQgJ1xuICAgICAgICArICdoYXJuZXNzIGJvb3RzdHJhcHBlZC4nXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBzZWFtRnVuY3Rpb247XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdGQSxlQUFzQixhQUFhLFFBQTJDO0FBQzVFLFFBQU0sZ0JBQWdCLGNBQWMsRUFBRSxNQUFNO0FBQzlDO0FBV0EsZUFBc0IsV0FBVyxRQUF5QztBQUN4RSxRQUFNLGdCQUFnQixZQUFZLEVBQUUsTUFBTTtBQUM1QztBQVlBLGVBQXNCLGFBQWEsUUFBMkM7QUFDNUUsUUFBTSxnQkFBZ0IsY0FBYyxFQUFFLE1BQU07QUFDOUM7QUFRQSxlQUFzQixVQUFVLFFBQXdDO0FBQ3RFLFFBQU0sZ0JBQWdCLFdBQVcsRUFBRSxNQUFNO0FBQzNDO0FBV0EsZUFBc0IsU0FBUyxRQUF1QztBQUNwRSxRQUFNLGdCQUFnQixVQUFVLEVBQUUsTUFBTTtBQUMxQztBQVdBLGVBQXNCLGVBQWUsUUFBNkM7QUFDaEYsUUFBTSxnQkFBZ0IsZ0JBQWdCLEVBQUUsTUFBTTtBQUNoRDtBQVFBLGVBQXNCLGVBQWUsUUFBNkM7QUFDaEYsUUFBTSxnQkFBZ0IsZ0JBQWdCLEVBQUUsTUFBTTtBQUNoRDtBQUVBLFNBQVMsZ0JBQW9ELE1BQWtDO0FBRTdGLFFBQU0sU0FBUztBQUNmLFFBQU0sZUFBZSxPQUFPLDhCQUE4QixlQUFlLElBQUk7QUFDN0UsTUFBSSxDQUFDLGNBQWM7QUFDakIsVUFBTSxJQUFJO0FBQUEsTUFDUiw4RkFBOEYsSUFBSTtBQUFBLElBSXBHO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vYmlsZS10cnVzdGVkLWlucHV0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogTW9iaWxlLW9ubHkgdHJ1c3RlZCBpbnB1dCBoZWxwZXJzLiBUaGVyZSBpcyBubyBpbi1yZW5kZXJlciByb3V0ZSB0byBhIHRydXN0ZWQgZXZlbnQgb24gYSBwaG9uZSBcdTIwMTRcbiAqIGB3ZWJDb250ZW50cy5zZW5kSW5wdXRFdmVudGAgaXMgRWxlY3Ryb24tb25seSBhbmQgYSBkaXNwYXRjaGVkIGV2ZW50IGlzIHVudHJ1c3RlZCBcdTIwMTQgc28gdGhlIGluamVjdGlvblxuICogaGFzIHRvIGJlIGEgcm91bmQtdHJpcDogdGhlIHJlcXVlc3QgZ29lcyB0byB0aGUgaG9zdCBvdmVyIHRoZSBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AgaGFybmVzcydzXG4gKiBiaW5kaW5nIGNoYW5uZWwsIGFuZCB0aGUgaG9zdCBpbmplY3RzIGl0IGludG8gdGhlIFdlYlZpZXcgb3ZlciBDRFAgXHUyMDE0IGFzIGBJbnB1dC5kaXNwYXRjaFRvdWNoRXZlbnRgIGZvclxuICogYSB0YXAgYnV0IGBJbnB1dC5zeW50aGVzaXplVGFwR2VzdHVyZWAgZm9yIGEgbG9uZy1wcmVzcywgYmVjYXVzZSBgZGlzcGF0Y2hUb3VjaEV2ZW50YCBpbmplY3RzIHBhc3RcbiAqIEFuZHJvaWQncyBnZXN0dXJlIHJlY29nbml6ZXIgYW5kIHNvIGlzIGNsYXNzaWZpZWQgYXMgYSB0YXAgYXQgYW55IGR3ZWxsLlxuICpcbiAqIFRoYXQgY2hhbm5lbCBpcyBpbnN0YWxsZWQgYnkgdGhlIGhhcm5lc3MncyBBcHBpdW0gdHJhbnNwb3J0LCBzbyB0aGVzZSBoZWxwZXJzICoqZGVsZWdhdGUqKiB0byB0aGVcbiAqIGhhcm5lc3MgcmF0aGVyIHRoYW4gcmVpbXBsZW1lbnRpbmcgdGhlIHdpcmUgZm9ybWF0OiB0aGV5IGNhbGxcbiAqIGB3aW5kb3cuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZy50cnVzdGVkSW5wdXQuKmAsIHdoaWNoIGhvbGRzIHRoZSB2ZXJ5IGZ1bmN0aW9uIG9iamVjdHMgdGhlIGhhcm5lc3NcbiAqIHNlZWRzIGludG8gYW4gYGV2YWxJbk9ic2lkaWFuYCBjbG9zdXJlJ3MgYGxpYmAgYmFnLiBEZWxlZ2F0aW5nIGlzIHdoYXQga2VlcHMgdGhlIG1vYmlsZSBzZW1hbnRpY3MgXHUyMDE0XG4gKiB0YXAsIGxvbmctcHJlc3MgZm9yIGBidXR0b246ICdyaWdodCdgLCBhIHRocm93IGZvciBgJ21pZGRsZSdgLCB0aGUgYHByZXNzS2V5YCBrZXkgc2V0LCBhbmQgdGhlIHRocm93c1xuICogZm9yIHRoZSBgOmhvdmVyYCBoZWxwZXJzIFx1MjAxNCBpZGVudGljYWwgdG8gdGhlIGhhcm5lc3MncyBvd24gY29weSBmb3IgZnJlZSwgaW5zdGVhZCBvZiBhIHNlY29uZFxuICogaW1wbGVtZW50YXRpb24gdG8gaGFuZC1zeW5jIChzZWUgdGhlIHByb2plY3QgYEFHRU5UUy5tZGAgKipMNCoqKS5cbiAqXG4gKiBUaGUgbmFtZXNwYWNlIHNoYXBlIGlzIGRlY2xhcmVkICoqbG9jYWxseSoqOiB0aGUgaGFybmVzcyBtdXN0IG5ldmVyIGJlIGEgZGVwZW5kZW5jeSBvZiB0aGlzIGxpYnJhcnksIGluXG4gKiBlaXRoZXIgZGlyZWN0aW9uLCBhdCBydW50aW1lIG9yIGluIHR5cGVzLlxuICpcbiAqICoqQ29uc2VxdWVuY2UsIGFuZCBpdCBpcyBkZWxpYmVyYXRlOioqIHRoZXNlIGhlbHBlcnMgb25seSB3b3JrIGluc2lkZSBhbiBhcHAgdGhlIGhhcm5lc3MgYm9vdHN0cmFwcGVkLlxuICogT3V0c2lkZSBvbmUgdGhleSB0aHJvdyBhIG1lc3NhZ2Ugc2F5aW5nIHNvLCByYXRoZXIgdGhhbiBzaWxlbnRseSBkb2luZyBub3RoaW5nIFx1MjAxNCBhIG5vLW9wIHdvdWxkIHJlY3JlYXRlXG4gKiBleGFjdGx5IHRoZSBmYWxzZS1jb25maWRlbmNlIGZhaWx1cmUgdHJ1c3RlZCBpbnB1dCBleGlzdHMgdG8gZW5kLiBDb25zdW1lcnMgd2FudGluZyB0aGUgcGxhdGZvcm0tY29ycmVjdFxuICogaGVscGVyIHNob3VsZCBpbXBvcnQgdGhlIHtAbGluayAuLi90cnVzdGVkLWlucHV0LnRzIHwgdHJ1c3RlZC1pbnB1dH0gZmFjYWRlIGluc3RlYWQgb2YgdGhpcyBtb2R1bGUuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBDbGlja0VsZW1lbnRQYXJhbXMsXG4gIENsaWNrTW91c2VQYXJhbXMsXG4gIEhvdmVyRWxlbWVudFBhcmFtcyxcbiAgTW92ZU1vdXNlUGFyYW1zLFxuICBQcmVzc0tleVBhcmFtcyxcbiAgVHlwZUludG9FZGl0b3JQYXJhbXMsXG4gIFVuaG92ZXJFbGVtZW50UGFyYW1zXG4gIC8vIFRoZSBwYXJhbWV0ZXIgY29udHJhY3RzIGxpdmUgd2l0aCB0aGUgZGVza3RvcCB0d2luIGFuZCBhcmUgc2hhcmVkIHZlcmJhdGltLCBzbyB0aGUgdHdvIHBsYXRmb3Jtc1xuICAvLyBDYW5ub3QgZHJpZnQgYXBhcnQgb24gd2hhdCBhIGNhbGxlciBwYXNzZXMuIEEgdHlwZS1vbmx5IGltcG9ydCBsb2FkcyBub3RoaW5nIChMNSkuXG59IGZyb20gJy4vZGVza3RvcC10cnVzdGVkLWlucHV0LnRzJztcblxuLyoqXG4gKiBUaGUgZ2xvYmFsIHRoZSBoYXJuZXNzIGJvb3RzdHJhcHMgaXRzIG5hbWVzcGFjZSBvbnRvLlxuICovXG5pbnRlcmZhY2UgT2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdIb2xkZXIge1xuICBfX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nOiBPYnNpZGlhbkludGVncmF0aW9uVGVzdGluZ05hbWVzcGFjZTtcbn1cblxuLyoqXG4gKiBUaGUgcGFydCBvZiB0aGUgaGFybmVzcyBuYW1lc3BhY2UgdGhpcyBtb2R1bGUgcmVhZHMuIEV2ZXJ5dGhpbmcgZWxzZSBvbiBpdCBpcyBub25lIG9mIHRoaXMgbW9kdWxlJ3NcbiAqIGJ1c2luZXNzLlxuICovXG5pbnRlcmZhY2UgT2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdOYW1lc3BhY2Uge1xuICB0cnVzdGVkSW5wdXQ/OiBQYXJ0aWFsPFRydXN0ZWRJbnB1dFNlYW0+O1xufVxuXG4vKipcbiAqIFRoZSB0cnVzdGVkLWlucHV0IHNlYW0gdGhlIGBvYnNpZGlhbi1pbnRlZ3JhdGlvbi10ZXN0aW5nYCBoYXJuZXNzIHB1Ymxpc2hlcyBvbiBpdHMgbmFtZXNwYWNlLlxuICpcbiAqIERlY2xhcmVkIGhlcmUgcmF0aGVyIHRoYW4gaW1wb3J0ZWQ6IHRoZSBoYXJuZXNzIGlzIG5vdCBhIGRlcGVuZGVuY3kgb2YgdGhpcyBsaWJyYXJ5LiBJdCBtaXJyb3JzXG4gKiBgbmFtZXNwYWNlLWJvb3RzdHJhcC50c2AncyBgdHJ1c3RlZElucHV0YCBvYmplY3QsIGFuZCB0aGUgbWlycm9yaW5nIGlzIGJ5IGhhbmQgXHUyMDE0IHRoZSBzYW1lXG4gKiBiZWhhdmlvcmFsLXN5bmMgb2JsaWdhdGlvbiB0aGUgZGVza3RvcCB0d2luIGNhcnJpZXMuXG4gKi9cbmludGVyZmFjZSBUcnVzdGVkSW5wdXRTZWFtIHtcbiAgY2xpY2tFbGVtZW50KHBhcmFtczogQ2xpY2tFbGVtZW50UGFyYW1zKTogUHJvbWlzZTx2b2lkPjtcbiAgY2xpY2tNb3VzZShwYXJhbXM6IENsaWNrTW91c2VQYXJhbXMpOiBQcm9taXNlPHZvaWQ+O1xuICBob3ZlckVsZW1lbnQocGFyYW1zOiBIb3ZlckVsZW1lbnRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+O1xuICBtb3ZlTW91c2UocGFyYW1zOiBNb3ZlTW91c2VQYXJhbXMpOiBQcm9taXNlPHZvaWQ+O1xuICBwcmVzc0tleShwYXJhbXM6IFByZXNzS2V5UGFyYW1zKTogUHJvbWlzZTx2b2lkPjtcbiAgdHlwZUludG9FZGl0b3IocGFyYW1zOiBUeXBlSW50b0VkaXRvclBhcmFtcyk6IFByb21pc2U8dm9pZD47XG4gIHVuaG92ZXJFbGVtZW50KHBhcmFtczogVW5ob3ZlckVsZW1lbnRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIENsaWNrcyB0aGUgY2VudGVyIG9mIGFuIGVsZW1lbnQgdXNpbmcgKip0cnVzdGVkKiogdG91Y2ggaW5wdXQsIGluamVjdGVkIGludG8gdGhlIFdlYlZpZXcgYnkgdGhlIGhvc3RcbiAqIG92ZXIgQ0RQLlxuICpcbiAqIFRoZSBlbGVtZW50LXJlbGF0aXZlIGNvdW50ZXJwYXJ0IG9mIHtAbGluayBjbGlja01vdXNlfS4gYGJ1dHRvbjogJ3JpZ2h0J2AgaXMgdGhlIGxvbmctcHJlc3MgdGhhdCBvcGVuc1xuICogT2JzaWRpYW4gTW9iaWxlJ3MgY29udGV4dCBtZW51OyBgJ21pZGRsZSdgIHRocm93cywgYmVjYXVzZSB0b3VjaCBoYXMgbm8gZ2VzdHVyZSBmb3IgaXQgYW5kIGludmVudGluZ1xuICogb25lIHdvdWxkIGJlIHdvcnNlIHRoYW4gc2F5aW5nIHNvLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZWxlbWVudCB0byBjbGljaywgdGhlIGJ1dHRvbiB0byBwcmVzcyBhbmQgYW55IG1vZGlmaWVycyB0byBob2xkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBjbGljayBoYXMgYmVlbiBpbmplY3RlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNsaWNrRWxlbWVudChwYXJhbXM6IENsaWNrRWxlbWVudFBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBnZXRTZWFtRnVuY3Rpb24oJ2NsaWNrRWxlbWVudCcpKHBhcmFtcyk7XG59XG5cbi8qKlxuICogQ2xpY2tzIGF0IHRoZSBnaXZlbiB2aWV3cG9ydCBjb29yZGluYXRlcyB1c2luZyAqKnRydXN0ZWQqKiB0b3VjaCBpbnB1dCwgaW5qZWN0ZWQgYnkgdGhlIGhvc3Qgb3ZlciBDRFAuXG4gKlxuICogVGhlIGNvb3JkaW5hdGVzIGFyZSBDU1MgcGl4ZWxzIGluIHRoZSBXZWJWaWV3J3Mgb3duIHZpZXdwb3J0IFx1MjAxNCB3aGljaCBpcyB3aGF0IENEUCB0YWtlcyBcdTIwMTQgc29cbiAqIGBkZXZpY2VQaXhlbFJhdGlvYCBuZXZlciBlbnRlcnMgdGhlIHBpY3R1cmUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSB2aWV3cG9ydCBjb29yZGluYXRlcyB0byBjbGljayBhdCwgdGhlIGJ1dHRvbiB0byBwcmVzcyBhbmQgYW55IG1vZGlmaWVycyB0byBob2xkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBjbGljayBoYXMgYmVlbiBpbmplY3RlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNsaWNrTW91c2UocGFyYW1zOiBDbGlja01vdXNlUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGdldFNlYW1GdW5jdGlvbignY2xpY2tNb3VzZScpKHBhcmFtcyk7XG59XG5cbi8qKlxuICogQWx3YXlzIHRocm93czogYDpob3ZlcmAgaGFzIG5vIHRvdWNoIGVxdWl2YWxlbnQuXG4gKlxuICogQSBzaWxlbnQgbm8tb3AgaGVyZSB3b3VsZCBsZXQgYSBob3ZlciB0ZXN0IHBhc3Mgb24gYSBwaG9uZSB3aXRob3V0IGhvdmVyaW5nIGFueXRoaW5nLCBzbyB0aGUgbW9iaWxlIGFybVxuICogcmVmdXNlcyBpbnN0ZWFkLiBHYXRlIHRoZSBhc3NlcnRpb24gb24gYFBsYXRmb3JtLmlzRGVza3RvcEFwcGAsIG9yIGRyaXZlIHRoZSBlbGVtZW50IHdpdGhcbiAqIHtAbGluayBjbGlja0VsZW1lbnR9LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgZWxlbWVudCB0byBob3Zlci5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgbmV2ZXIgcmVzb2x2ZXMgXHUyMDE0IHRoZSBjYWxsIHRocm93cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhvdmVyRWxlbWVudChwYXJhbXM6IEhvdmVyRWxlbWVudFBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBnZXRTZWFtRnVuY3Rpb24oJ2hvdmVyRWxlbWVudCcpKHBhcmFtcyk7XG59XG5cbi8qKlxuICogQWx3YXlzIHRocm93czogYSB0b3VjaCBzY3JlZW4gaGFzIG5vIHBlcnNpc3RlbnQgcG9pbnRlciB0byBtb3ZlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgdmlld3BvcnQgY29vcmRpbmF0ZXMgdG8gbW92ZSB0by5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgbmV2ZXIgcmVzb2x2ZXMgXHUyMDE0IHRoZSBjYWxsIHRocm93cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1vdmVNb3VzZShwYXJhbXM6IE1vdmVNb3VzZVBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBnZXRTZWFtRnVuY3Rpb24oJ21vdmVNb3VzZScpKHBhcmFtcyk7XG59XG5cbi8qKlxuICogUHJlc3NlcyBhIHNpbmdsZSBrZXkgdXNpbmcgKip0cnVzdGVkKioga2V5Ym9hcmQgaW5wdXQsIGluamVjdGVkIGJ5IHRoZSBob3N0IG92ZXIgQ0RQLlxuICpcbiAqIE5hbWVkIGtleXMgKGAnRW50ZXInYCwgYCdFc2NhcGUnYCwgYCdUYWInYCwgYCdCYWNrc3BhY2UnYCwgYCdEZWxldGUnYCwgdGhlIGFycm93cykgYW5kIHNpbmdsZSBwcmludGFibGVcbiAqIGNoYXJhY3RlcnMgYXJlIHN1cHBvcnRlZDsgYW55dGhpbmcgZWxzZSB0aHJvd3MgcmF0aGVyIHRoYW4gcHJlc3Npbmcgbm90aGluZy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGtleSB0byBwcmVzcyBhbmQgYW55IG1vZGlmaWVycyB0byBob2xkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBrZXkgcHJlc3MgaGFzIGJlZW4gaW5qZWN0ZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmVzc0tleShwYXJhbXM6IFByZXNzS2V5UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGdldFNlYW1GdW5jdGlvbigncHJlc3NLZXknKShwYXJhbXMpO1xufVxuXG4vKipcbiAqIFR5cGVzIHRleHQgaW50byBhIENvZGVNaXJyb3IgZWRpdG9yIHVzaW5nICoqdHJ1c3RlZCoqIGtleWJvYXJkIGlucHV0LCBpbmplY3RlZCBieSB0aGUgaG9zdCBvdmVyIENEUC5cbiAqXG4gKiBGb2N1c2VzIHRoZSBlZGl0b3IgKGNhcmV0IHRvIHRoZSBlbmQpLCBwcmVzc2VzIGV2ZXJ5IGNvZGUgcG9pbnQgb2YgdGhlIHRleHQsIHRoZW4gcG9sbHMgdW50aWwgdGhlXG4gKiBkb2N1bWVudCByZWZsZWN0cyB0aGUgaW5wdXQgb3IgYSBib3VuZGVkIHRpbWVvdXQgZWxhcHNlcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGVkaXRvciB0byB0eXBlIGludG8gYW5kIHRoZSB0ZXh0IHRvIHR5cGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIGtleXN0cm9rZXMgaGF2ZSBzZXR0bGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdHlwZUludG9FZGl0b3IocGFyYW1zOiBUeXBlSW50b0VkaXRvclBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBnZXRTZWFtRnVuY3Rpb24oJ3R5cGVJbnRvRWRpdG9yJykocGFyYW1zKTtcbn1cblxuLyoqXG4gKiBBbHdheXMgdGhyb3dzLCBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIHtAbGluayBob3ZlckVsZW1lbnR9OiB0aGVyZSBpcyBubyBgOmhvdmVyYCBzdGF0ZSB0byBjbGVhci5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGVsZW1lbnQgdG8gbW92ZSB0aGUgcG9pbnRlciBhd2F5IGZyb20uXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IG5ldmVyIHJlc29sdmVzIFx1MjAxNCB0aGUgY2FsbCB0aHJvd3MuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB1bmhvdmVyRWxlbWVudChwYXJhbXM6IFVuaG92ZXJFbGVtZW50UGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGdldFNlYW1GdW5jdGlvbigndW5ob3ZlckVsZW1lbnQnKShwYXJhbXMpO1xufVxuXG5mdW5jdGlvbiBnZXRTZWFtRnVuY3Rpb248S2V5IGV4dGVuZHMga2V5b2YgVHJ1c3RlZElucHV0U2VhbT4obmFtZTogS2V5KTogVHJ1c3RlZElucHV0U2VhbVtLZXldIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvbm8tZ2xvYmFsLXRoaXMgLS0gVGhlIGhhcm5lc3MgaW5zdGFsbHMgaXRzIG5hbWVzcGFjZSBvbiB0aGUgcmVhbG0gZ2xvYmFsOyB0aGVyZSBpcyBub3doZXJlIGVsc2UgdG8gcmVhZCBpdCBmcm9tLlxuICBjb25zdCBob2xkZXIgPSBnbG9iYWxUaGlzIGFzIFBhcnRpYWw8T2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdIb2xkZXI+O1xuICBjb25zdCBzZWFtRnVuY3Rpb24gPSBob2xkZXIuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8udHJ1c3RlZElucHV0Py5bbmFtZV07XG4gIGlmICghc2VhbUZ1bmN0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFRydXN0ZWQgaW5wdXQgaXMgdW5hdmFpbGFibGUgb24gbW9iaWxlOiBcXGB3aW5kb3cuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZy50cnVzdGVkSW5wdXQuJHtuYW1lfVxcYCBpcyBub3QgaW5zdGFsbGVkLiBgXG4gICAgICAgICsgJ0EgcGhvbmUgaGFzIG5vIGluLXJlbmRlcmVyIHJvdXRlIHRvIGEgdHJ1c3RlZCBldmVudCwgc28gdGhlIGluamVjdGlvbiBpcyBhIHJvdW5kLXRyaXAgdG8gdGhlIGhvc3Qgb3ZlciB0aGUgJ1xuICAgICAgICArICdgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AgQXBwaXVtIHRyYW5zcG9ydFxcJ3MgY2hhbm5lbCBcdTIwMTQgd2hpY2ggbWVhbnMgdGhlc2UgaGVscGVycyBvbmx5IHdvcmsgaW5zaWRlIGFuIGFwcCB0aGF0ICdcbiAgICAgICAgKyAnaGFybmVzcyBib290c3RyYXBwZWQuJ1xuICAgICk7XG4gIH1cblxuICByZXR1cm4gc2VhbUZ1bmN0aW9uO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFrRkEsZUFBc0IsYUFBYSxRQUEyQztBQUM1RSxRQUFNLGdCQUFnQixjQUFjLEVBQUUsTUFBTTtBQUM5QztBQVdBLGVBQXNCLFdBQVcsUUFBeUM7QUFDeEUsUUFBTSxnQkFBZ0IsWUFBWSxFQUFFLE1BQU07QUFDNUM7QUFZQSxlQUFzQixhQUFhLFFBQTJDO0FBQzVFLFFBQU0sZ0JBQWdCLGNBQWMsRUFBRSxNQUFNO0FBQzlDO0FBUUEsZUFBc0IsVUFBVSxRQUF3QztBQUN0RSxRQUFNLGdCQUFnQixXQUFXLEVBQUUsTUFBTTtBQUMzQztBQVdBLGVBQXNCLFNBQVMsUUFBdUM7QUFDcEUsUUFBTSxnQkFBZ0IsVUFBVSxFQUFFLE1BQU07QUFDMUM7QUFXQSxlQUFzQixlQUFlLFFBQTZDO0FBQ2hGLFFBQU0sZ0JBQWdCLGdCQUFnQixFQUFFLE1BQU07QUFDaEQ7QUFRQSxlQUFzQixlQUFlLFFBQTZDO0FBQ2hGLFFBQU0sZ0JBQWdCLGdCQUFnQixFQUFFLE1BQU07QUFDaEQ7QUFFQSxTQUFTLGdCQUFvRCxNQUFrQztBQUU3RixRQUFNLFNBQVM7QUFDZixRQUFNLGVBQWUsT0FBTyw4QkFBOEIsZUFBZSxJQUFJO0FBQzdFLE1BQUksQ0FBQyxjQUFjO0FBQ2pCLFVBQU0sSUFBSTtBQUFBLE1BQ1IsOEZBQThGLElBQUk7QUFBQSxJQUlwRztBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
* Mobile-only trusted input helpers. There is no in-renderer route to a trusted event on a phone —
|
|
6
6
|
* `webContents.sendInputEvent` is Electron-only and a dispatched event is untrusted — so the injection
|
|
7
7
|
* has to be a round-trip: the request goes to the host over the `obsidian-integration-testing` harness's
|
|
8
|
-
* binding channel, and the host injects it into the WebView over CDP.
|
|
8
|
+
* binding channel, and the host injects it into the WebView over CDP — as `Input.dispatchTouchEvent` for
|
|
9
|
+
* a tap but `Input.synthesizeTapGesture` for a long-press, because `dispatchTouchEvent` injects past
|
|
10
|
+
* Android's gesture recognizer and so is classified as a tap at any dwell.
|
|
9
11
|
*
|
|
10
12
|
* That channel is installed by the harness's Appium transport, so these helpers **delegate** to the
|
|
11
13
|
* harness rather than reimplementing the wire format: they call
|
|
@@ -25,8 +27,8 @@
|
|
|
25
27
|
*/
|
|
26
28
|
import type { ClickElementParams, ClickMouseParams, HoverElementParams, MoveMouseParams, PressKeyParams, TypeIntoEditorParams, UnhoverElementParams } from './desktop-trusted-input.cjs';
|
|
27
29
|
/**
|
|
28
|
-
* Clicks the center of an element using **trusted** touch input
|
|
29
|
-
*
|
|
30
|
+
* Clicks the center of an element using **trusted** touch input, injected into the WebView by the host
|
|
31
|
+
* over CDP.
|
|
30
32
|
*
|
|
31
33
|
* The element-relative counterpart of {@link clickMouse}. `button: 'right'` is the long-press that opens
|
|
32
34
|
* Obsidian Mobile's context menu; `'middle'` throws, because touch has no gesture for it and inventing
|
|
@@ -150,6 +150,7 @@ var import_async = require('../../async.cjs');
|
|
|
150
150
|
var import_function = require('../../function.cjs');
|
|
151
151
|
var import_object_utils = require('../../object-utils.cjs');
|
|
152
152
|
var import_css_class = require('../css-class.cjs');
|
|
153
|
+
var import_html_element = require('../html-element.cjs');
|
|
153
154
|
var import_i18n = require('../i18n/i18n.cjs');
|
|
154
155
|
var import_obsidian_settings = require('../obsidian-settings.cjs');
|
|
155
156
|
var import_modal = require('./modal.cjs');
|
|
@@ -161,6 +162,7 @@ class PromptModal extends import_modal.ModalBase {
|
|
|
161
162
|
isTouched = false;
|
|
162
163
|
okButtonText;
|
|
163
164
|
placeholder;
|
|
165
|
+
spellcheckMode;
|
|
164
166
|
title;
|
|
165
167
|
value;
|
|
166
168
|
valueValidator;
|
|
@@ -172,6 +174,7 @@ class PromptModal extends import_modal.ModalBase {
|
|
|
172
174
|
this.commandsRenderMode = params.commandsRenderMode;
|
|
173
175
|
this.okButtonText = params.okButtonText ?? (0, import_i18n.t)(($) => $.obsidianDevUtils.buttons.ok);
|
|
174
176
|
this.placeholder = params.placeholder ?? "";
|
|
177
|
+
this.spellcheckMode = params.spellcheckMode ?? import_obsidian_settings.SpellcheckMode.FollowObsidianSetting;
|
|
175
178
|
this.title = params.title ?? "";
|
|
176
179
|
this.valueValidator = params.valueValidator ?? import_function.noop;
|
|
177
180
|
this.value = params.defaultValue ?? "";
|
|
@@ -183,7 +186,11 @@ class PromptModal extends import_modal.ModalBase {
|
|
|
183
186
|
this.titleEl.setText(this.title);
|
|
184
187
|
const textComponent = new import_obsidian.TextComponent(this.contentEl);
|
|
185
188
|
const inputEl = textComponent.inputEl;
|
|
186
|
-
|
|
189
|
+
(0, import_html_element.applySpellcheckMode)({
|
|
190
|
+
app: this.app,
|
|
191
|
+
element: inputEl,
|
|
192
|
+
spellcheckMode: this.spellcheckMode
|
|
193
|
+
});
|
|
187
194
|
const validate = async (shouldReport) => {
|
|
188
195
|
const errorMessage = await this.valueValidator(inputEl.value);
|
|
189
196
|
inputEl.setCustomValidity(errorMessage ?? "");
|
|
@@ -256,4 +263,4 @@ async function prompt(params) {
|
|
|
256
263
|
0 && (module.exports = {
|
|
257
264
|
prompt
|
|
258
265
|
});
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9wcm9tcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgVGV4dENvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi8uLi90eXBlLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgTW9kYWxDb21tYW5kQnVpbGRlcixcbiAgTW9kYWxDb21tYW5kQnVpbGRlckJ1aWxkT3B0aW9ucyxcbiAgTW9kYWxDb21tYW5kc1JlbmRlck1vZGVcbn0gZnJvbSAnLi9tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuaW1wb3J0IHR5cGUge1xuICBNb2RhbEJhc2VDb25zdHJ1Y3RvclBhcmFtcyxcbiAgTW9kYWxQYXJhbXNCYXNlXG59IGZyb20gJy4vbW9kYWwudHMnO1xuXG5pbXBvcnQge1xuICBjb252ZXJ0QXN5bmNUb1N5bmMsXG4gIGludm9rZUFzeW5jU2FmZWx5XG59IGZyb20gJy4uLy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi8uLi9mdW5jdGlvbi50cyc7XG5pbXBvcnQgeyBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi9vYmplY3QtdXRpbHMudHMnO1xuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBpc1NwZWxsY2hlY2tFbmFibGVkIH0gZnJvbSAnLi4vb2JzaWRpYW4tc2V0dGluZ3MudHMnO1xuaW1wb3J0IHtcbiAgTW9kYWxCYXNlLFxuICBzaG93TW9kYWxcbn0gZnJvbSAnLi9tb2RhbC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIHByb21wdH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0UGFyYW1zIGV4dGVuZHMgTW9kYWxQYXJhbXNCYXNlIHtcbiAgLyoqXG4gICAqIEEgdGV4dCBmb3IgdGhlIFwiQ2FuY2VsXCIgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuY2VsQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogRXh0cmEgY29udHJvbHMgXHUyMDE0IGNoZWNrYm94ZXMsIGRyb3Bkb3ducyBhbmQga2V5Ym9hcmQgc2hvcnRjdXRzIFx1MjAxNCByZW5kZXJlZCBhcyBhIHN0cmlwIGFsb25nIHRoZSBib3R0b21cbiAgICogb2YgdGhlIG1vZGFsLCBzbyBhIGNhbGxlciBnZXRzIGEgdGV4dCBpbnB1dCBwbHVzIG9wdGlvbnMgd2l0aCBubyBiZXNwb2tlIG1vZGFsIG9mIGl0cyBvd24uXG4gICAqXG4gICAqIEhhbmQgaXQgYSBjb25maWd1cmVkIHtAbGluayBNb2RhbENvbW1hbmRCdWlsZGVyfTsgdGhlIG1vZGFsIGJ1aWxkcyBpdC4gVGhlIHN0cmlwIGlzIHJlbmRlcmVkIGFmdGVyXG4gICAqIHRoZSBidXR0b25zLCBzbyBpdCBzaXRzIGFsb25nIHRoZSBib3R0b20gZWRnZSB3aGVyZSBhIGBTdWdnZXN0TW9kYWxgJ3MgaW5zdHJ1Y3Rpb24gYmFyIHNpdHMuXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kQnVpbGRlcj86IE1vZGFsQ29tbWFuZEJ1aWxkZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB3YXkge0BsaW5rIFByb21wdFBhcmFtcy5jb21tYW5kQnVpbGRlcn0ncyBjb250cm9scyBhcmUgcmVuZGVyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBNb2RhbENvbW1hbmRzUmVuZGVyTW9kZS5JbnN0cnVjdGlvbnNgXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kc1JlbmRlck1vZGU/OiBNb2RhbENvbW1hbmRzUmVuZGVyTW9kZTtcblxuICAvKipcbiAgICogQSBkZWZhdWx0IHZhbHVlIHRvIHByZS1maWxsIHRoZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHRleHQgZm9yIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb2tCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJydgXG4gICAqL1xuICByZWFkb25seSB0aXRsZT86IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gdmFsaWRhdGUgdGhlIGlucHV0IHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaW5wdXQgdmFsdWUgdG8gdmFsaWRhdGUuXG4gICAqIEByZXR1cm5zIGFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIGBudWxsYCBpZiB0aGUgdmFsdWUgaXMgdmFsaWQuXG4gICAqL1xuICB2YWx1ZVZhbGlkYXRvcj8odGhpczogdm9pZCwgdmFsdWU6IHN0cmluZyk6IFByb21pc2FibGU8TWF5YmVSZXR1cm48c3RyaW5nPj47XG59XG5cbnR5cGUgUHJvbXB0TW9kYWxDb25zdHJ1Y3RvclBhcmFtcyA9IE1vZGFsQmFzZUNvbnN0cnVjdG9yUGFyYW1zPG51bGwgfCBzdHJpbmc+ICYgUHJvbXB0UGFyYW1zO1xuXG5jbGFzcyBQcm9tcHRNb2RhbCBleHRlbmRzIE1vZGFsQmFzZTxudWxsIHwgc3RyaW5nPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmRCdWlsZGVyOiBNb2RhbENvbW1hbmRCdWlsZGVyIHwgbnVsbDtcbiAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kc1JlbmRlck1vZGU6IE1vZGFsQ29tbWFuZHNSZW5kZXJNb2RlIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGlzT2tDbGlja2VkID0gZmFsc2U7XG4gIHByaXZhdGUgaXNUb3VjaGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgb2tCdXR0b25UZXh0OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSB0aXRsZTogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcbiAgcHJpdmF0ZSB2YWx1ZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlVmFsaWRhdG9yOiAodmFsdWU6IHN0cmluZykgPT4gUHJvbWlzYWJsZTxNYXliZVJldHVybjxzdHJpbmc+PjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBQcm9tcHRNb2RhbENvbnN0cnVjdG9yUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICB0aGlzLmFkZENzc0NsYXNzZXMoQ3NzQ2xhc3MuUHJvbXB0TW9kYWwpO1xuICAgIHRoaXMuY2FuY2VsQnV0dG9uVGV4dCA9IHBhcmFtcy5jYW5jZWxCdXR0b25UZXh0ID8/IHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5idXR0b25zLmNhbmNlbCk7XG4gICAgdGhpcy5jb21tYW5kQnVpbGRlciA9IHBhcmFtcy5jb21tYW5kQnVpbGRlciA/PyBudWxsO1xuICAgIHRoaXMuY29tbWFuZHNSZW5kZXJNb2RlID0gcGFyYW1zLmNvbW1hbmRzUmVuZGVyTW9kZTtcbiAgICB0aGlzLm9rQnV0dG9uVGV4dCA9IHBhcmFtcy5va0J1dHRvblRleHQgPz8gdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmJ1dHRvbnMub2spO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwYXJhbXMucGxhY2Vob2xkZXIgPz8gJyc7XG4gICAgdGhpcy50aXRsZSA9IHBhcmFtcy50aXRsZSA/PyAnJztcbiAgICB0aGlzLnZhbHVlVmFsaWRhdG9yID0gcGFyYW1zLnZhbHVlVmFsaWRhdG9yID8/IG5vb3A7XG4gICAgdGhpcy52YWx1ZSA9IHBhcmFtcy5kZWZhdWx0VmFsdWUgPz8gJyc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnByb21pc2VSZXNvbHZlKHRoaXMuaXNPa0NsaWNrZWQgPyB0aGlzLnZhbHVlIDogbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMudGl0bGUpO1xuICAgIGNvbnN0IHRleHRDb21wb25lbnQgPSBuZXcgVGV4dENvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgY29uc3QgaW5wdXRFbCA9IHRleHRDb21wb25lbnQuaW5wdXRFbDtcbiAgICAvLyBgQWJzdHJhY3RUZXh0Q29tcG9uZW50YCBmb3JjZXMgYHNwZWxsY2hlY2s9XCJmYWxzZVwiYCBvbiBldmVyeSB0ZXh0IGNvbXBvbmVudCwgc28gdGhlIHZhdWx0IHNldHRpbmcgaGFzIHRvIGJlIHJlLWFwcGxpZWQgaGVyZS5cbiAgICAvLyBPYnNpZGlhbidzIG93biBmaWxlIGV4cGxvcmVyIHJlYWRzIHRoZSBzYW1lIGNvbmZpZyB3aGVuIGl0IHN0YXJ0cyBhbiBpbmxpbmUgcmVuYW1lLlxuICAgIGlucHV0RWwuc2V0QXR0cmlidXRlKCdzcGVsbGNoZWNrJywgU3RyaW5nKGlzU3BlbGxjaGVja0VuYWJsZWQodGhpcy5hcHApKSk7XG5cbiAgICBjb25zdCB2YWxpZGF0ZSA9IGFzeW5jIChzaG91bGRSZXBvcnQ6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGF3YWl0IHRoaXMudmFsdWVWYWxpZGF0b3IoaW5wdXRFbC52YWx1ZSkgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgaW5wdXRFbC5zZXRDdXN0b21WYWxpZGl0eShlcnJvck1lc3NhZ2UgPz8gJycpO1xuICAgICAgaWYgKHNob3VsZFJlcG9ydCkge1xuICAgICAgICBpbnB1dEVsLnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUlucHV0ID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgdGhpcy5tYXJrVG91Y2hlZChpbnB1dEVsKTtcbiAgICAgIGF3YWl0IHZhbGlkYXRlKHRydWUpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1cyA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGF3YWl0IHZhbGlkYXRlKHRoaXMuaXNUb3VjaGVkKTtcbiAgICB9O1xuXG4gICAgdGV4dENvbXBvbmVudC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuc2VsZWN0KCk7XG4gICAgdGV4dENvbXBvbmVudC5zZXRQbGFjZWhvbGRlcih0aGlzLnBsYWNlaG9sZGVyKTtcbiAgICBpbnB1dEVsLmFkZENsYXNzKENzc0NsYXNzLlRleHRCb3gpO1xuICAgIC8vIFRoZSBtb2RhbCBvcGVucyBpbnZhbGlkIGJ5IGRlc2lnbiAoc2VlIGJlbG93KSwgc28gdGhlIGludmFsaWQgc3R5bGluZyBpcyBkZWZlcnJlZCB1bnRpbCB0b3VjaGVkLlxuICAgIGlucHV0RWwuYWRkQ2xhc3MoQ3NzQ2xhc3MuVW50b3VjaGVkKTtcbiAgICB0ZXh0Q29tcG9uZW50Lm9uQ2hhbmdlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH0pO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGNvbnZlcnRBc3luY1RvU3luYyhoYW5kbGVJbnB1dCkpO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBjb252ZXJ0QXN5bmNUb1N5bmMoaGFuZGxlRm9jdXMpKTtcbiAgICAvLyBUaGUgbW9kYWwgbXVzdCBzdGFydCBvdXQgaW52YWxpZCBzbyBPSyByZWZ1c2VzLCBidXQgdGhlIHZhbGlkaXR5IGlzIG5vdCByZXBvcnRlZCB1bnRpbCB0aGUgdXNlciB0eXBlcyBvciBzdWJtaXRzLlxuICAgIGludm9rZUFzeW5jU2FmZWx5KCgpID0+IHZhbGlkYXRlKGZhbHNlKSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub2tCdXR0b25UZXh0KTtcbiAgICBva0J1dHRvbi5zZXRDdGEoKTtcbiAgICBva0J1dHRvbi5vbkNsaWNrKChldmVudCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVPayhldmVudCwgdGV4dENvbXBvbmVudCk7XG4gICAgfSk7XG4gICAgb2tCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuT2tCdXR0b24pO1xuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMuY2FuY2VsQnV0dG9uVGV4dCk7XG4gICAgY2FuY2VsQnV0dG9uLm9uQ2xpY2sodGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcbiAgICBjYW5jZWxCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuQ2FuY2VsQnV0dG9uKTtcblxuICAgIC8vIEJ1aWx0IGxhc3Qgc28gdGhlIHN0cmlwIGxhbmRzIGFsb25nIHRoZSBtb2RhbCdzIGJvdHRvbSBlZGdlLCB3aGVyZSBhIGBTdWdnZXN0TW9kYWxgJ3MgaW5zdHJ1Y3Rpb25cbiAgICAvLyBCYXIgc2l0cy5cbiAgICB0aGlzLmNvbW1hbmRCdWlsZGVyPy5idWlsZCh0aGlzLCBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8TW9kYWxDb21tYW5kQnVpbGRlckJ1aWxkT3B0aW9ucz4oeyByZW5kZXJNb2RlOiB0aGlzLmNvbW1hbmRzUmVuZGVyTW9kZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU9rKGV2ZW50OiBFdmVudCwgdGV4dENvbXBvbmVudDogVGV4dENvbXBvbmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0ZXh0Q29tcG9uZW50LmlucHV0RWwuY2hlY2tWYWxpZGl0eSgpKSB7XG4gICAgICB0aGlzLm1hcmtUb3VjaGVkKHRleHRDb21wb25lbnQuaW5wdXRFbCk7XG4gICAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwucmVwb3J0VmFsaWRpdHkoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzT2tDbGlja2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIG1hcmtUb3VjaGVkKGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlzVG91Y2hlZCA9IHRydWU7XG4gICAgaW5wdXRFbC5yZW1vdmVDbGFzcyhDc3NDbGFzcy5VbnRvdWNoZWQpO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBwcm9tcHQgbW9kYWwgaW4gT2JzaWRpYW4gdG8gZ2V0IHVzZXIgaW5wdXQuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgcHJvbXB0IG1vZGFsLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSB1c2VyIGlucHV0IG9yIGBudWxsYCBpZiB0aGUgcHJvbXB0IHdhcyBjYW5jZWxsZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9tcHQocGFyYW1zOiBQcm9tcHRQYXJhbXMpOiBQcm9taXNlPG51bGwgfCBzdHJpbmc+IHtcbiAgcmV0dXJuIGF3YWl0IHNob3dNb2RhbDxudWxsIHwgc3RyaW5nPigocHJvbWlzZVJlc29sdmUpID0+XG4gICAgbmV3IFByb21wdE1vZGFsKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHByb21pc2VSZXNvbHZlXG4gICAgfSlcbiAgKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUEsc0JBR087QUFhUCxtQkFHTztBQUNQLHNCQUFxQjtBQUNyQiwwQkFBNEM7QUFDNUMsdUJBQXlCO0FBQ3pCLGtCQUFrQjtBQUNsQiwrQkFBb0M7QUFDcEMsbUJBR087QUFnRVAsTUFB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
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9wcm9tcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgVGV4dENvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi8uLi90eXBlLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgTW9kYWxDb21tYW5kQnVpbGRlcixcbiAgTW9kYWxDb21tYW5kQnVpbGRlckJ1aWxkT3B0aW9ucyxcbiAgTW9kYWxDb21tYW5kc1JlbmRlck1vZGVcbn0gZnJvbSAnLi9tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuaW1wb3J0IHR5cGUge1xuICBNb2RhbEJhc2VDb25zdHJ1Y3RvclBhcmFtcyxcbiAgTW9kYWxQYXJhbXNCYXNlXG59IGZyb20gJy4vbW9kYWwudHMnO1xuXG5pbXBvcnQge1xuICBjb252ZXJ0QXN5bmNUb1N5bmMsXG4gIGludm9rZUFzeW5jU2FmZWx5XG59IGZyb20gJy4uLy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi8uLi9mdW5jdGlvbi50cyc7XG5pbXBvcnQgeyBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi9vYmplY3QtdXRpbHMudHMnO1xuaW1wb3J0IHsgQ3NzQ2xhc3MgfSBmcm9tICcuLi9jc3MtY2xhc3MudHMnO1xuaW1wb3J0IHsgYXBwbHlTcGVsbGNoZWNrTW9kZSB9IGZyb20gJy4uL2h0bWwtZWxlbWVudC50cyc7XG5pbXBvcnQgeyB0IH0gZnJvbSAnLi4vaTE4bi9pMThuLnRzJztcbmltcG9ydCB7IFNwZWxsY2hlY2tNb2RlIH0gZnJvbSAnLi4vb2JzaWRpYW4tc2V0dGluZ3MudHMnO1xuaW1wb3J0IHtcbiAgTW9kYWxCYXNlLFxuICBzaG93TW9kYWxcbn0gZnJvbSAnLi9tb2RhbC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIHByb21wdH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0UGFyYW1zIGV4dGVuZHMgTW9kYWxQYXJhbXNCYXNlIHtcbiAgLyoqXG4gICAqIEEgdGV4dCBmb3IgdGhlIFwiQ2FuY2VsXCIgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuY2VsQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogRXh0cmEgY29udHJvbHMgXHUyMDE0IGNoZWNrYm94ZXMsIGRyb3Bkb3ducyBhbmQga2V5Ym9hcmQgc2hvcnRjdXRzIFx1MjAxNCByZW5kZXJlZCBhcyBhIHN0cmlwIGFsb25nIHRoZSBib3R0b21cbiAgICogb2YgdGhlIG1vZGFsLCBzbyBhIGNhbGxlciBnZXRzIGEgdGV4dCBpbnB1dCBwbHVzIG9wdGlvbnMgd2l0aCBubyBiZXNwb2tlIG1vZGFsIG9mIGl0cyBvd24uXG4gICAqXG4gICAqIEhhbmQgaXQgYSBjb25maWd1cmVkIHtAbGluayBNb2RhbENvbW1hbmRCdWlsZGVyfTsgdGhlIG1vZGFsIGJ1aWxkcyBpdC4gVGhlIHN0cmlwIGlzIHJlbmRlcmVkIGFmdGVyXG4gICAqIHRoZSBidXR0b25zLCBzbyBpdCBzaXRzIGFsb25nIHRoZSBib3R0b20gZWRnZSB3aGVyZSBhIGBTdWdnZXN0TW9kYWxgJ3MgaW5zdHJ1Y3Rpb24gYmFyIHNpdHMuXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kQnVpbGRlcj86IE1vZGFsQ29tbWFuZEJ1aWxkZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB3YXkge0BsaW5rIFByb21wdFBhcmFtcy5jb21tYW5kQnVpbGRlcn0ncyBjb250cm9scyBhcmUgcmVuZGVyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBNb2RhbENvbW1hbmRzUmVuZGVyTW9kZS5JbnN0cnVjdGlvbnNgXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kc1JlbmRlck1vZGU/OiBNb2RhbENvbW1hbmRzUmVuZGVyTW9kZTtcblxuICAvKipcbiAgICogQSBkZWZhdWx0IHZhbHVlIHRvIHByZS1maWxsIHRoZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHRleHQgZm9yIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb2tCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dCBmaWVsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcnYFxuICAgKi9cbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RlIGRlY2lkaW5nIHdoZXRoZXIgdGhlIGlucHV0IGlzIHNwZWxsLWNoZWNrZWQuXG4gICAqXG4gICAqIFRoZSBkZWZhdWx0IGlzIHdoYXQgdGhpcyBtb2RhbCBoYXMgYWx3YXlzIGRvbmUsIHNvIHBhc3Npbmcgbm90aGluZyBjaGFuZ2VzIG5vdGhpbmc6IHRoZSBpbnB1dCBmb2xsb3dzXG4gICAqIGBFZGl0b3IgPiBTcGVsbGNoZWNrYCwgbGlrZSBPYnNpZGlhbidzIG93biBuYW1lLWVudHJ5IHN1cmZhY2VzLiBQYXNzIHtAbGluayBTcGVsbGNoZWNrTW9kZS5PZmZ9IGZvciBhXG4gICAqIGJveCB0aGF0IGlzIHJlYWxseSBhIHNlYXJjaCBmaWVsZCwgb3Ige0BsaW5rIFNwZWxsY2hlY2tNb2RlLkFsd2F5c09ufSB0byBzcGVsbC1jaGVjayBpdCB3aGF0ZXZlciB0aGVcbiAgICogdmF1bHQgc2V0dGluZyBzYXlzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgU3BlbGxjaGVja01vZGUuRm9sbG93T2JzaWRpYW5TZXR0aW5nYFxuICAgKi9cbiAgcmVhZG9ubHkgc3BlbGxjaGVja01vZGU/OiBTcGVsbGNoZWNrTW9kZTtcblxuICAvKipcbiAgICogQSB0aXRsZSBvZiB0aGUgbW9kYWwuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlPzogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgaW5wdXQgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBpbnB1dCB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAgICogQHJldHVybnMgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgdmFsdWUgaXMgaW52YWxpZCwgb3IgYG51bGxgIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZC5cbiAgICovXG4gIHZhbHVlVmFsaWRhdG9yPyh0aGlzOiB2b2lkLCB2YWx1ZTogc3RyaW5nKTogUHJvbWlzYWJsZTxNYXliZVJldHVybjxzdHJpbmc+Pjtcbn1cblxudHlwZSBQcm9tcHRNb2RhbENvbnN0cnVjdG9yUGFyYW1zID0gTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXM8bnVsbCB8IHN0cmluZz4gJiBQcm9tcHRQYXJhbXM7XG5cbmNsYXNzIFByb21wdE1vZGFsIGV4dGVuZHMgTW9kYWxCYXNlPG51bGwgfCBzdHJpbmc+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZEJ1aWxkZXI6IE1vZGFsQ29tbWFuZEJ1aWxkZXIgfCBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmRzUmVuZGVyTW9kZTogTW9kYWxDb21tYW5kc1JlbmRlck1vZGUgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgaXNPa0NsaWNrZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc1RvdWNoZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBva0J1dHRvblRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHNwZWxsY2hlY2tNb2RlOiBTcGVsbGNoZWNrTW9kZTtcbiAgcHJpdmF0ZSByZWFkb25seSB0aXRsZTogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcbiAgcHJpdmF0ZSB2YWx1ZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlVmFsaWRhdG9yOiAodmFsdWU6IHN0cmluZykgPT4gUHJvbWlzYWJsZTxNYXliZVJldHVybjxzdHJpbmc+PjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBQcm9tcHRNb2RhbENvbnN0cnVjdG9yUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICB0aGlzLmFkZENzc0NsYXNzZXMoQ3NzQ2xhc3MuUHJvbXB0TW9kYWwpO1xuICAgIHRoaXMuY2FuY2VsQnV0dG9uVGV4dCA9IHBhcmFtcy5jYW5jZWxCdXR0b25UZXh0ID8/IHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5idXR0b25zLmNhbmNlbCk7XG4gICAgdGhpcy5jb21tYW5kQnVpbGRlciA9IHBhcmFtcy5jb21tYW5kQnVpbGRlciA/PyBudWxsO1xuICAgIHRoaXMuY29tbWFuZHNSZW5kZXJNb2RlID0gcGFyYW1zLmNvbW1hbmRzUmVuZGVyTW9kZTtcbiAgICB0aGlzLm9rQnV0dG9uVGV4dCA9IHBhcmFtcy5va0J1dHRvblRleHQgPz8gdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmJ1dHRvbnMub2spO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwYXJhbXMucGxhY2Vob2xkZXIgPz8gJyc7XG4gICAgdGhpcy5zcGVsbGNoZWNrTW9kZSA9IHBhcmFtcy5zcGVsbGNoZWNrTW9kZSA/PyBTcGVsbGNoZWNrTW9kZS5Gb2xsb3dPYnNpZGlhblNldHRpbmc7XG4gICAgdGhpcy50aXRsZSA9IHBhcmFtcy50aXRsZSA/PyAnJztcbiAgICB0aGlzLnZhbHVlVmFsaWRhdG9yID0gcGFyYW1zLnZhbHVlVmFsaWRhdG9yID8/IG5vb3A7XG4gICAgdGhpcy52YWx1ZSA9IHBhcmFtcy5kZWZhdWx0VmFsdWUgPz8gJyc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnByb21pc2VSZXNvbHZlKHRoaXMuaXNPa0NsaWNrZWQgPyB0aGlzLnZhbHVlIDogbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMudGl0bGUpO1xuICAgIGNvbnN0IHRleHRDb21wb25lbnQgPSBuZXcgVGV4dENvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgY29uc3QgaW5wdXRFbCA9IHRleHRDb21wb25lbnQuaW5wdXRFbDtcbiAgICAvLyBgQWJzdHJhY3RUZXh0Q29tcG9uZW50YCBmb3JjZXMgYHNwZWxsY2hlY2s9XCJmYWxzZVwiYCBvbiBldmVyeSB0ZXh0IGNvbXBvbmVudCwgc28gdGhlIG1vZGUgaGFzIHRvIGJlIGFwcGxpZWQgaGVyZS5cbiAgICAvLyBPYnNpZGlhbidzIG93biBmaWxlIGV4cGxvcmVyIHJlYWRzIHRoZSBzYW1lIGNvbmZpZyB3aGVuIGl0IHN0YXJ0cyBhbiBpbmxpbmUgcmVuYW1lLlxuICAgIGFwcGx5U3BlbGxjaGVja01vZGUoe1xuICAgICAgYXBwOiB0aGlzLmFwcCxcbiAgICAgIGVsZW1lbnQ6IGlucHV0RWwsXG4gICAgICBzcGVsbGNoZWNrTW9kZTogdGhpcy5zcGVsbGNoZWNrTW9kZVxuICAgIH0pO1xuXG4gICAgY29uc3QgdmFsaWRhdGUgPSBhc3luYyAoc2hvdWxkUmVwb3J0OiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBhd2FpdCB0aGlzLnZhbHVlVmFsaWRhdG9yKGlucHV0RWwudmFsdWUpIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIGlucHV0RWwuc2V0Q3VzdG9tVmFsaWRpdHkoZXJyb3JNZXNzYWdlID8/ICcnKTtcbiAgICAgIGlmIChzaG91bGRSZXBvcnQpIHtcbiAgICAgICAgaW5wdXRFbC5yZXBvcnRWYWxpZGl0eSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVJbnB1dCA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIHRoaXMubWFya1RvdWNoZWQoaW5wdXRFbCk7XG4gICAgICBhd2FpdCB2YWxpZGF0ZSh0cnVlKTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlRm9jdXMgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBhd2FpdCB2YWxpZGF0ZSh0aGlzLmlzVG91Y2hlZCk7XG4gICAgfTtcblxuICAgIHRleHRDb21wb25lbnQuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLnNlbGVjdCgpO1xuICAgIHRleHRDb21wb25lbnQuc2V0UGxhY2Vob2xkZXIodGhpcy5wbGFjZWhvbGRlcik7XG4gICAgaW5wdXRFbC5hZGRDbGFzcyhDc3NDbGFzcy5UZXh0Qm94KTtcbiAgICAvLyBUaGUgbW9kYWwgb3BlbnMgaW52YWxpZCBieSBkZXNpZ24gKHNlZSBiZWxvdyksIHNvIHRoZSBpbnZhbGlkIHN0eWxpbmcgaXMgZGVmZXJyZWQgdW50aWwgdG91Y2hlZC5cbiAgICBpbnB1dEVsLmFkZENsYXNzKENzc0NsYXNzLlVudG91Y2hlZCk7XG4gICAgdGV4dENvbXBvbmVudC5vbkNoYW5nZSgobmV3VmFsdWUpID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB9KTtcbiAgICBpbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVPayhldmVudCwgdGV4dENvbXBvbmVudCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBjb252ZXJ0QXN5bmNUb1N5bmMoaGFuZGxlSW5wdXQpKTtcbiAgICBpbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgY29udmVydEFzeW5jVG9TeW5jKGhhbmRsZUZvY3VzKSk7XG4gICAgLy8gVGhlIG1vZGFsIG11c3Qgc3RhcnQgb3V0IGludmFsaWQgc28gT0sgcmVmdXNlcywgYnV0IHRoZSB2YWxpZGl0eSBpcyBub3QgcmVwb3J0ZWQgdW50aWwgdGhlIHVzZXIgdHlwZXMgb3Igc3VibWl0cy5cbiAgICBpbnZva2VBc3luY1NhZmVseSgoKSA9PiB2YWxpZGF0ZShmYWxzZSkpO1xuICAgIGNvbnN0IG9rQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgb2tCdXR0b24uc2V0QnV0dG9uVGV4dCh0aGlzLm9rQnV0dG9uVGV4dCk7XG4gICAgb2tCdXR0b24uc2V0Q3RhKCk7XG4gICAgb2tCdXR0b24ub25DbGljaygoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlT2soZXZlbnQsIHRleHRDb21wb25lbnQpO1xuICAgIH0pO1xuICAgIG9rQnV0dG9uLnNldENsYXNzKENzc0NsYXNzLk9rQnV0dG9uKTtcbiAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBjYW5jZWxCdXR0b24uc2V0QnV0dG9uVGV4dCh0aGlzLmNhbmNlbEJ1dHRvblRleHQpO1xuICAgIGNhbmNlbEJ1dHRvbi5vbkNsaWNrKHRoaXMuY2xvc2UuYmluZCh0aGlzKSk7XG4gICAgY2FuY2VsQnV0dG9uLnNldENsYXNzKENzc0NsYXNzLkNhbmNlbEJ1dHRvbik7XG5cbiAgICAvLyBCdWlsdCBsYXN0IHNvIHRoZSBzdHJpcCBsYW5kcyBhbG9uZyB0aGUgbW9kYWwncyBib3R0b20gZWRnZSwgd2hlcmUgYSBgU3VnZ2VzdE1vZGFsYCdzIGluc3RydWN0aW9uXG4gICAgLy8gQmFyIHNpdHMuXG4gICAgdGhpcy5jb21tYW5kQnVpbGRlcj8uYnVpbGQodGhpcywgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPE1vZGFsQ29tbWFuZEJ1aWxkZXJCdWlsZE9wdGlvbnM+KHsgcmVuZGVyTW9kZTogdGhpcy5jb21tYW5kc1JlbmRlck1vZGUgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVPayhldmVudDogRXZlbnQsIHRleHRDb21wb25lbnQ6IFRleHRDb21wb25lbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGV4dENvbXBvbmVudC5pbnB1dEVsLmNoZWNrVmFsaWRpdHkoKSkge1xuICAgICAgdGhpcy5tYXJrVG91Y2hlZCh0ZXh0Q29tcG9uZW50LmlucHV0RWwpO1xuICAgICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc09rQ2xpY2tlZCA9IHRydWU7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrVG91Y2hlZChpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc1RvdWNoZWQgPSB0cnVlO1xuICAgIGlucHV0RWwucmVtb3ZlQ2xhc3MoQ3NzQ2xhc3MuVW50b3VjaGVkKTtcbiAgfVxufVxuXG4vKipcbiAqIERpc3BsYXlzIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuIHRvIGdldCB1c2VyIGlucHV0LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHByb21wdCBtb2RhbC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgdXNlciBpbnB1dCBvciBgbnVsbGAgaWYgdGhlIHByb21wdCB3YXMgY2FuY2VsbGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvbXB0KHBhcmFtczogUHJvbXB0UGFyYW1zKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8bnVsbCB8IHN0cmluZz4oKHByb21pc2VSZXNvbHZlKSA9PlxuICAgIG5ldyBQcm9tcHRNb2RhbCh7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBwcm9taXNlUmVzb2x2ZVxuICAgIH0pXG4gICk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLHNCQUdPO0FBYVAsbUJBR087QUFDUCxzQkFBcUI7QUFDckIsMEJBQTRDO0FBQzVDLHVCQUF5QjtBQUN6QiwwQkFBb0M7QUFDcEMsa0JBQWtCO0FBQ2xCLCtCQUErQjtBQUMvQixtQkFHTztBQTRFUCxNQUFNLG9CQUFvQix1QkFBeUI7QUFBQSxFQUNoQztBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDVCxjQUFjO0FBQUEsRUFDZCxZQUFZO0FBQUEsRUFDSDtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFB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
|
|
@@ -10,6 +10,7 @@ import type { Promisable } from 'type-fest' with { 'resolution-mode': 'import' }
|
|
|
10
10
|
import type { MaybeReturn } from '../../type.cjs';
|
|
11
11
|
import type { ModalCommandBuilder, ModalCommandsRenderMode } from './modal-command-builder.cjs';
|
|
12
12
|
import type { ModalParamsBase } from './modal.cjs';
|
|
13
|
+
import { SpellcheckMode } from '../obsidian-settings.cjs';
|
|
13
14
|
/**
|
|
14
15
|
* Options for {@link prompt}.
|
|
15
16
|
*/
|
|
@@ -48,6 +49,17 @@ export interface PromptParams extends ModalParamsBase {
|
|
|
48
49
|
* @default `''`
|
|
49
50
|
*/
|
|
50
51
|
readonly placeholder?: string;
|
|
52
|
+
/**
|
|
53
|
+
* The mode deciding whether the input is spell-checked.
|
|
54
|
+
*
|
|
55
|
+
* The default is what this modal has always done, so passing nothing changes nothing: the input follows
|
|
56
|
+
* `Editor > Spellcheck`, like Obsidian's own name-entry surfaces. Pass {@link SpellcheckMode.Off} for a
|
|
57
|
+
* box that is really a search field, or {@link SpellcheckMode.AlwaysOn} to spell-check it whatever the
|
|
58
|
+
* vault setting says.
|
|
59
|
+
*
|
|
60
|
+
* @default `SpellcheckMode.FollowObsidianSetting`
|
|
61
|
+
*/
|
|
62
|
+
readonly spellcheckMode?: SpellcheckMode;
|
|
51
63
|
/**
|
|
52
64
|
* A title of the modal.
|
|
53
65
|
*
|
|
@@ -147,6 +147,8 @@ __export(select_item_exports, {
|
|
|
147
147
|
module.exports = __toCommonJS(select_item_exports);
|
|
148
148
|
var import_obsidian = require('obsidian');
|
|
149
149
|
var import_css_class = require('../css-class.cjs');
|
|
150
|
+
var import_html_element = require('../html-element.cjs');
|
|
151
|
+
var import_obsidian_settings = require('../obsidian-settings.cjs');
|
|
150
152
|
var import_plugin_context = require('../plugin/plugin-context.cjs');
|
|
151
153
|
var import_modal = require('./modal.cjs');
|
|
152
154
|
class ItemSelectModal extends import_obsidian.FuzzySuggestModal {
|
|
@@ -155,12 +157,14 @@ class ItemSelectModal extends import_obsidian.FuzzySuggestModal {
|
|
|
155
157
|
itemTextFunction;
|
|
156
158
|
placeholder;
|
|
157
159
|
promiseResolve;
|
|
160
|
+
spellcheckMode;
|
|
158
161
|
constructor(params) {
|
|
159
162
|
super(params.app);
|
|
160
163
|
this.items = params.items;
|
|
161
164
|
this.itemTextFunction = params.itemTextFunction;
|
|
162
165
|
this.placeholder = params.placeholder;
|
|
163
166
|
this.promiseResolve = params.promiseResolve;
|
|
167
|
+
this.spellcheckMode = params.spellcheckMode ?? import_obsidian_settings.SpellcheckMode.Off;
|
|
164
168
|
this.setPlaceholder(this.placeholder ?? "");
|
|
165
169
|
(0, import_plugin_context.addPluginCssClasses)(this.containerEl, params.cssClasses);
|
|
166
170
|
(0, import_plugin_context.addPluginCssClasses)(this.containerEl, import_css_class.CssClass.SelectItemModal);
|
|
@@ -179,6 +183,14 @@ class ItemSelectModal extends import_obsidian.FuzzySuggestModal {
|
|
|
179
183
|
this.promiseResolve(null);
|
|
180
184
|
}
|
|
181
185
|
}
|
|
186
|
+
onOpen() {
|
|
187
|
+
super.onOpen();
|
|
188
|
+
(0, import_html_element.applySpellcheckMode)({
|
|
189
|
+
app: this.app,
|
|
190
|
+
element: this.inputEl,
|
|
191
|
+
spellcheckMode: this.spellcheckMode
|
|
192
|
+
});
|
|
193
|
+
}
|
|
182
194
|
selectSuggestion(value, $event) {
|
|
183
195
|
this.isSelected = true;
|
|
184
196
|
super.selectSuggestion(value, $event);
|
|
@@ -196,4 +208,4 @@ async function selectItem(params) {
|
|
|
196
208
|
0 && (module.exports = {
|
|
197
209
|
selectItem
|
|
198
210
|
});
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9zZWxlY3QtaXRlbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgYW4gaXRlbSBmcm9tIGEgbGlzdC4gVGhlIG1vZGFsIHVzZXMgZnV6enkgc2VhcmNoIHRvIGhlbHAgdGhlIHVzZXIgZmluZCB0aGUgaXRlbS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZ1enp5TWF0Y2ggfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IEZ1enp5U3VnZ2VzdE1vZGFsIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2VSZXNvbHZlIH0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuaW1wb3J0IHR5cGUge1xuICBNb2RhbEJhc2VDb25zdHJ1Y3RvclBhcmFtcyxcbiAgTW9kYWxQYXJhbXNCYXNlXG59IGZyb20gJy4vbW9kYWwudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBhcHBseVNwZWxsY2hlY2tNb2RlIH0gZnJvbSAnLi4vaHRtbC1lbGVtZW50LnRzJztcbmltcG9ydCB7IFNwZWxsY2hlY2tNb2RlIH0gZnJvbSAnLi4vb2JzaWRpYW4tc2V0dGluZ3MudHMnO1xuaW1wb3J0IHsgYWRkUGx1Z2luQ3NzQ2xhc3NlcyB9IGZyb20gJy4uL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG5pbXBvcnQgeyBzaG93TW9kYWwgfSBmcm9tICcuL21vZGFsLnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgc2VsZWN0SXRlbX0uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHNlbGVjdGFibGUgaXRlbXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0SXRlbVBhcmFtczxUPiBleHRlbmRzIE1vZGFsUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgaXRlbXMgdG8gY2hvb3NlIGZyb20uXG4gICAqL1xuICByZWFkb25seSBpdGVtczogVFtdO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRpc3BsYXkgdGV4dCBmb3IgZWFjaCBpdGVtXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtIC0gVGhlIGl0ZW0gdG8gZ2V0IHRoZSBkaXNwbGF5IHRleHQgZm9yLlxuICAgKiBAcmV0dXJucyBUaGUgZGlzcGxheSB0ZXh0IGZvciB0aGUgaXRlbS5cbiAgICovXG4gIGl0ZW1UZXh0RnVuY3Rpb24odGhpczogdm9pZCwgaXRlbTogVCk6IHN0cmluZztcblxuICAvKipcbiAgICogQSBwbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXQgZmllbGQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kZSBkZWNpZGluZyB3aGV0aGVyIHRoZSBzZWFyY2ggYm94IGlzIHNwZWxsLWNoZWNrZWQuXG4gICAqXG4gICAqIFRoZSBkZWZhdWx0IGlzIHdoYXQgdGhpcyBtb2RhbCBoYXMgYWx3YXlzIGRvbmUsIHNvIHBhc3Npbmcgbm90aGluZyBjaGFuZ2VzIG5vdGhpbmcuIEl0IGRpZmZlcnMgZnJvbVxuICAgKiB0aGUgYHByb21wdCgpYCBwYXJhbWV0ZXIncyBkZWZhdWx0IG9uIHB1cnBvc2U6IE9ic2lkaWFuIGJ1aWxkcyBldmVyeSBgU3VnZ2VzdE1vZGFsYCBpbnB1dFxuICAgKiB3aXRoIGEgaGFyZGNvZGVkIGBzcGVsbGNoZWNrPVwiZmFsc2VcImAgYW5kIG5ldmVyIGNvbnN1bHRzIGBFZGl0b3IgPiBTcGVsbGNoZWNrYCB0aGVyZSwgc28gYE9mZmAgXHUyMDE0IG5vdFxuICAgKiBgRm9sbG93T2JzaWRpYW5TZXR0aW5nYCBcdTIwMTQgaXMgdGhlIHZhbHVlIHRoYXQgbGVhdmVzIHRoZSBib3ggZXhhY3RseSBhcyBPYnNpZGlhbiBidWlsdCBpdC5cbiAgICpcbiAgICogUmFpc2UgaXQgZm9yIGEgcGlja2VyIHdob3NlIGJveCBjYW4gTkFNRSB0aGUgdGhpbmcgaXQgaXMgYWJvdXQgdG8gY3JlYXRlLCByYXRoZXIgdGhhbiBvbmx5IGZpbmQgb25lLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgU3BlbGxjaGVja01vZGUuT2ZmYFxuICAgKi9cbiAgcmVhZG9ubHkgc3BlbGxjaGVja01vZGU/OiBTcGVsbGNoZWNrTW9kZTtcbn1cblxudHlwZSBJdGVtU2VsZWN0TW9kYWxDb25zdHJ1Y3RvclBhcmFtczxUPiA9IE1vZGFsQmFzZUNvbnN0cnVjdG9yUGFyYW1zPG51bGwgfCBUPiAmIFNlbGVjdEl0ZW1QYXJhbXM8VD47XG5cbmNsYXNzIEl0ZW1TZWxlY3RNb2RhbDxUPiBleHRlbmRzIEZ1enp5U3VnZ2VzdE1vZGFsPFQ+IHtcbiAgcHJpdmF0ZSBpc1NlbGVjdGVkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgaXRlbXM6IFRbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBpdGVtVGV4dEZ1bmN0aW9uOiAodGhpczogdm9pZCwgaXRlbTogVCkgPT4gc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvbWlzZVJlc29sdmU6IFByb21pc2VSZXNvbHZlPG51bGwgfCBUPjtcbiAgcHJpdmF0ZSByZWFkb25seSBzcGVsbGNoZWNrTW9kZTogU3BlbGxjaGVja01vZGU7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogSXRlbVNlbGVjdE1vZGFsQ29uc3RydWN0b3JQYXJhbXM8VD4pIHtcbiAgICBzdXBlcihwYXJhbXMuYXBwKTtcbiAgICB0aGlzLml0ZW1zID0gcGFyYW1zLml0ZW1zO1xuICAgIHRoaXMuaXRlbVRleHRGdW5jdGlvbiA9IHBhcmFtcy5pdGVtVGV4dEZ1bmN0aW9uO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwYXJhbXMucGxhY2Vob2xkZXI7XG4gICAgdGhpcy5wcm9taXNlUmVzb2x2ZSA9IHBhcmFtcy5wcm9taXNlUmVzb2x2ZTtcbiAgICB0aGlzLnNwZWxsY2hlY2tNb2RlID0gcGFyYW1zLnNwZWxsY2hlY2tNb2RlID8/IFNwZWxsY2hlY2tNb2RlLk9mZjtcblxuICAgIHRoaXMuc2V0UGxhY2Vob2xkZXIodGhpcy5wbGFjZWhvbGRlciA/PyAnJyk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyh0aGlzLmNvbnRhaW5lckVsLCBwYXJhbXMuY3NzQ2xhc3Nlcyk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyh0aGlzLmNvbnRhaW5lckVsLCBDc3NDbGFzcy5TZWxlY3RJdGVtTW9kYWwpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldEl0ZW1zKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXM7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0SXRlbVRleHQoaXRlbTogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbVRleHRGdW5jdGlvbihpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNob29zZUl0ZW0oaXRlbTogVCk6IHZvaWQge1xuICAgIHRoaXMucHJvbWlzZVJlc29sdmUoaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNTZWxlY3RlZCkge1xuICAgICAgdGhpcy5wcm9taXNlUmVzb2x2ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHN1cGVyLm9uT3BlbigpO1xuICAgIGFwcGx5U3BlbGxjaGVja01vZGUoe1xuICAgICAgYXBwOiB0aGlzLmFwcCxcbiAgICAgIGVsZW1lbnQ6IHRoaXMuaW5wdXRFbCxcbiAgICAgIHNwZWxsY2hlY2tNb2RlOiB0aGlzLnNwZWxsY2hlY2tNb2RlXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2VsZWN0U3VnZ2VzdGlvbih2YWx1ZTogRnV6enlNYXRjaDxUPiwgJGV2ZW50OiBLZXlib2FyZEV2ZW50IHwgTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgc3VwZXIuc2VsZWN0U3VnZ2VzdGlvbih2YWx1ZSwgJGV2ZW50KTtcbiAgfVxufVxuXG4vKipcbiAqIERpc3BsYXlzIGEgc2VsZWN0aW9uIG1vZGFsIGluIE9ic2lkaWFuIGZvciBjaG9vc2luZyBhbiBpdGVtIGZyb20gYSBsaXN0LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBzZWxlY3RhYmxlIGl0ZW1zLlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgc2VsZWN0aW9uIG1vZGFsLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBzZWxlY3RlZCBpdGVtIG9yIGBudWxsYCBpZiBubyBpdGVtIHdhcyBzZWxlY3RlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbGVjdEl0ZW08VD4ocGFyYW1zOiBTZWxlY3RJdGVtUGFyYW1zPFQ+KTogUHJvbWlzZTxudWxsIHwgVD4ge1xuICByZXR1cm4gYXdhaXQgc2hvd01vZGFsPG51bGwgfCBUPigocHJvbWlzZVJlc29sdmUpID0+XG4gICAgbmV3IEl0ZW1TZWxlY3RNb2RhbCh7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBwcm9taXNlUmVzb2x2ZVxuICAgIH0pXG4gICk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLHNCQUFrQztBQVFsQyx1QkFBeUI7QUFDekIsMEJBQW9DO0FBQ3BDLCtCQUErQjtBQUMvQiw0QkFBb0M7QUFDcEMsbUJBQTBCO0FBNkMxQixNQUFNLHdCQUEyQixrQ0FBcUI7QUFBQSxFQUM1QyxhQUFhO0FBQUEsRUFDSjtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUVWLFlBQVksUUFBNkM7QUFDOUQsVUFBTSxPQUFPLEdBQUc7QUFDaEIsU0FBSyxRQUFRLE9BQU87QUFDcEIsU0FBSyxtQkFBbUIsT0FBTztBQUMvQixTQUFLLGNBQWMsT0FBTztBQUMxQixTQUFLLGlCQUFpQixPQUFPO0FBQzdCLFNBQUssaUJBQWlCLE9BQU8sa0JBQWtCLHdDQUFlO0FBRTlELFNBQUssZUFBZSxLQUFLLGVBQWUsRUFBRTtBQUMxQyxtREFBb0IsS0FBSyxhQUFhLE9BQU8sVUFBVTtBQUN2RCxtREFBb0IsS0FBSyxhQUFhLDBCQUFTLGVBQWU7QUFBQSxFQUNoRTtBQUFBLEVBRWdCLFdBQWdCO0FBQzlCLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQSxFQUVnQixZQUFZLE1BQWlCO0FBQzNDLFdBQU8sS0FBSyxpQkFBaUIsSUFBSTtBQUFBLEVBQ25DO0FBQUEsRUFFZ0IsYUFBYSxNQUFlO0FBQzFDLFNBQUssZUFBZSxJQUFJO0FBQUEsRUFDMUI7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixRQUFJLENBQUMsS0FBSyxZQUFZO0FBQ3BCLFdBQUssZUFBZSxJQUFJO0FBQUEsSUFDMUI7QUFBQSxFQUNGO0FBQUEsRUFFZ0IsU0FBZTtBQUM3QixVQUFNLE9BQU87QUFDYixpREFBb0I7QUFBQSxNQUNsQixLQUFLLEtBQUs7QUFBQSxNQUNWLFNBQVMsS0FBSztBQUFBLE1BQ2QsZ0JBQWdCLEtBQUs7QUFBQSxJQUN2QixDQUFDO0FBQUEsRUFDSDtBQUFBLEVBRWdCLGlCQUFpQixPQUFzQixRQUEwQztBQUMvRixTQUFLLGFBQWE7QUFDbEIsVUFBTSxpQkFBaUIsT0FBTyxNQUFNO0FBQUEsRUFDdEM7QUFDRjtBQVNBLGVBQXNCLFdBQWMsUUFBZ0Q7QUFDbEYsU0FBTyxVQUFNO0FBQUEsSUFBb0IsQ0FBQyxtQkFDaEMsSUFBSSxnQkFBZ0I7QUFBQSxNQUNsQixHQUFHO0FBQUEsTUFDSDtBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0g7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|