@pobuca/email-builder 1.0.0 → 1.1.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/README.md +1 -1
- package/bundles/pobuca-email-builder.umd.js +4464 -4414
- package/bundles/pobuca-email-builder.umd.js.map +1 -1
- package/bundles/pobuca-email-builder.umd.min.js +1 -1
- package/bundles/pobuca-email-builder.umd.min.js.map +1 -1
- package/esm2015/lib/classes/DefaultEmail.js +54 -53
- package/esm2015/lib/classes/Elements.js +229 -229
- package/esm2015/lib/classes/Structure.js +89 -89
- package/esm2015/lib/components/block/block.component.js +89 -89
- package/esm2015/lib/components/block-settings/block-settings.component.js +53 -53
- package/esm2015/lib/components/builder-container/builder-container.component.js +114 -114
- package/esm2015/lib/components/dialog.component.js +30 -30
- package/esm2015/lib/components/general-settings/general-settings.component.js +25 -25
- package/esm2015/lib/components/import-dialog/import-dialog.component.js +62 -62
- package/esm2015/lib/components/preview.component.js +89 -89
- package/esm2015/lib/components/structure/structure.component.js +163 -163
- package/esm2015/lib/components/structure-settings/structure-settings.component.js +31 -31
- package/esm2015/lib/components/template-list-dialog/template-list-dialog.component.js +45 -45
- package/esm2015/lib/directives/dynamic-component.directive.js +46 -46
- package/esm2015/lib/elements/abstract-block.js +23 -23
- package/esm2015/lib/elements/button/button.component.js +29 -29
- package/esm2015/lib/elements/divider/divider.component.js +30 -30
- package/esm2015/lib/elements/image/image.component.js +54 -54
- package/esm2015/lib/elements/social/social.component.js +42 -42
- package/esm2015/lib/elements/spacer/spacer.component.js +30 -30
- package/esm2015/lib/elements/text-element/text-element.component.js +80 -80
- package/esm2015/lib/groups/align.js +79 -79
- package/esm2015/lib/groups/back-repeat.js +55 -55
- package/esm2015/lib/groups/border.js +102 -102
- package/esm2015/lib/groups/color.js +139 -139
- package/esm2015/lib/groups/direction.js +63 -63
- package/esm2015/lib/groups/font-styles.js +127 -112
- package/esm2015/lib/groups/gaps.js +45 -45
- package/esm2015/lib/groups/line-height.js +68 -68
- package/esm2015/lib/groups/link.js +67 -67
- package/esm2015/lib/groups/margin.js +45 -45
- package/esm2015/lib/groups/padding.js +53 -53
- package/esm2015/lib/groups/upload-image.js +112 -112
- package/esm2015/lib/groups/width-height.js +94 -94
- package/esm2015/lib/interceptors/pb-interceptor.interceptor.js +51 -51
- package/esm2015/lib/interfaces/interfaces.js +13 -13
- package/esm2015/lib/pb-email-builder.component.js +258 -246
- package/esm2015/lib/pb-email-builder.module.js +291 -291
- package/esm2015/lib/pb-email-builder.service.js +134 -134
- package/esm2015/lib/pipes/slugify.pipe.js +39 -39
- package/esm2015/lib/services/internals/pb-email-object-store/pb-email-object-store.service.js +175 -165
- package/esm2015/lib/services/internals/user-interfaces/user-interface.service.js +122 -122
- package/esm2015/lib/services/pb-storage/FreeUsersStorage.class.js +11 -11
- package/esm2015/lib/services/pb-storage/index.js +7 -7
- package/esm2015/lib/services/pb-storage/pb-storage.service.js +79 -79
- package/esm2015/lib/services/user-image-uploader-service/free-users-image-uploader.service.js +26 -26
- package/esm2015/lib/services/user-image-uploader-service/index.js +8 -8
- package/esm2015/lib/services/user-image-uploader-service/paid-users-image-uploader.service.js +30 -30
- package/esm2015/lib/services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component.js +112 -112
- package/esm2015/lib/services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component.js +91 -91
- package/esm2015/lib/services/user-image-uploader-service/user-image-uploader.service.js +26 -26
- package/esm2015/lib/services/user-middleware-service/FreeUsersMiddleware.js +31 -31
- package/esm2015/lib/services/user-middleware-service/PaidUsersMiddleware.js +12 -12
- package/esm2015/lib/services/user-middleware-service/index.js +8 -8
- package/esm2015/lib/services/user-middleware-service/pb-middlewares.service.js +195 -195
- package/esm2015/lib/services/user-rest-api-service/free-users-rest-api.service.js +16 -16
- package/esm2015/lib/services/user-rest-api-service/index.js +7 -7
- package/esm2015/lib/services/user-rest-api-service/user-rest-api.service.js +116 -116
- package/esm2015/lib/tokens/private-tokens.js +17 -17
- package/esm2015/lib/tokens/tokens.js +159 -159
- package/esm2015/lib/utils.js +147 -147
- package/esm2015/pobuca-email-builder.js +42 -42
- package/esm2015/public_api.js +26 -26
- package/fesm2015/pobuca-email-builder.js +4206 -4168
- package/fesm2015/pobuca-email-builder.js.map +1 -1
- package/lib/classes/DefaultEmail.d.ts +10 -9
- package/lib/classes/Elements.d.ts +62 -62
- package/lib/classes/Structure.d.ts +11 -11
- package/lib/components/block/block.component.d.ts +25 -25
- package/lib/components/block-settings/block-settings.component.d.ts +18 -18
- package/lib/components/builder-container/builder-container.component.d.ts +36 -36
- package/lib/components/dialog.component.d.ts +10 -10
- package/lib/components/general-settings/general-settings.component.d.ts +6 -6
- package/lib/components/import-dialog/import-dialog.component.d.ts +16 -16
- package/lib/components/preview.component.d.ts +18 -18
- package/lib/components/structure/structure.component.d.ts +43 -43
- package/lib/components/structure-settings/structure-settings.component.d.ts +9 -9
- package/lib/components/template-list-dialog/template-list-dialog.component.d.ts +15 -15
- package/lib/directives/dynamic-component.directive.d.ts +13 -13
- package/lib/elements/abstract-block.d.ts +8 -8
- package/lib/elements/button/button.component.d.ts +18 -18
- package/lib/elements/divider/divider.component.d.ts +10 -10
- package/lib/elements/image/image.component.d.ts +19 -19
- package/lib/elements/social/social.component.d.ts +21 -21
- package/lib/elements/spacer/spacer.component.d.ts +5 -5
- package/lib/elements/text-element/text-element.component.d.ts +52 -52
- package/lib/groups/align.d.ts +17 -17
- package/lib/groups/back-repeat.d.ts +8 -8
- package/lib/groups/border.d.ts +13 -13
- package/lib/groups/color.d.ts +26 -26
- package/lib/groups/direction.d.ts +13 -13
- package/lib/groups/font-styles.d.ts +21 -17
- package/lib/groups/gaps.d.ts +7 -7
- package/lib/groups/line-height.d.ts +12 -12
- package/lib/groups/link.d.ts +11 -11
- package/lib/groups/margin.d.ts +8 -8
- package/lib/groups/padding.d.ts +8 -8
- package/lib/groups/upload-image.d.ts +19 -19
- package/lib/groups/width-height.d.ts +19 -19
- package/lib/interceptors/pb-interceptor.interceptor.d.ts +10 -10
- package/lib/interfaces/interfaces.d.ts +430 -422
- package/lib/pb-email-builder.component.d.ts +67 -67
- package/lib/pb-email-builder.module.d.ts +51 -51
- package/lib/pb-email-builder.service.d.ts +83 -83
- package/lib/pipes/slugify.pipe.d.ts +9 -9
- package/lib/services/internals/pb-email-object-store/pb-email-object-store.service.d.ts +50 -50
- package/lib/services/internals/user-interfaces/user-interface.service.d.ts +46 -46
- package/lib/services/pb-storage/FreeUsersStorage.class.d.ts +6 -6
- package/lib/services/pb-storage/index.d.ts +2 -2
- package/lib/services/pb-storage/pb-storage.service.d.ts +54 -54
- package/lib/services/user-image-uploader-service/free-users-image-uploader.service.d.ts +12 -12
- package/lib/services/user-image-uploader-service/index.d.ts +3 -3
- package/lib/services/user-image-uploader-service/paid-users-image-uploader.service.d.ts +14 -14
- package/lib/services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component.d.ts +28 -28
- package/lib/services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component.d.ts +27 -27
- package/lib/services/user-image-uploader-service/user-image-uploader.service.d.ts +26 -26
- package/lib/services/user-middleware-service/FreeUsersMiddleware.d.ts +15 -15
- package/lib/services/user-middleware-service/PaidUsersMiddleware.d.ts +7 -7
- package/lib/services/user-middleware-service/index.d.ts +3 -3
- package/lib/services/user-middleware-service/pb-middlewares.service.d.ts +190 -190
- package/lib/services/user-rest-api-service/free-users-rest-api.service.d.ts +10 -10
- package/lib/services/user-rest-api-service/index.d.ts +2 -2
- package/lib/services/user-rest-api-service/user-rest-api.service.d.ts +82 -82
- package/lib/tokens/private-tokens.d.ts +5 -5
- package/lib/tokens/tokens.d.ts +70 -70
- package/lib/utils.d.ts +88 -88
- package/package.json +8 -3
- package/pobuca-email-builder.d.ts +42 -42
- package/pobuca-email-builder.metadata.json +1 -1
- package/public_api.d.ts +16 -16
|
@@ -1,291 +1,291 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2024 Pobuca.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
*/
|
|
5
|
-
import { Inject, NgModule } from '@angular/core';
|
|
6
|
-
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
7
|
-
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
8
|
-
import { MatBottomSheet, MatBottomSheetModule } from '@angular/material/bottom-sheet';
|
|
9
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
10
|
-
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
11
|
-
import { MatDialog, MatDialogModule } from '@angular/material/dialog';
|
|
12
|
-
import { MatDividerModule } from '@angular/material/divider';
|
|
13
|
-
import { MatExpansionModule } from '@angular/material/expansion';
|
|
14
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
15
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
16
|
-
import { MatInputModule } from '@angular/material/input';
|
|
17
|
-
import { MatListModule } from '@angular/material/list';
|
|
18
|
-
import { MatMenuModule } from '@angular/material/menu';
|
|
19
|
-
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
20
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
21
|
-
import { MatSidenavModule } from '@angular/material/sidenav';
|
|
22
|
-
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
23
|
-
import { MatSliderModule } from '@angular/material/slider';
|
|
24
|
-
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
25
|
-
import { MatTabsModule } from '@angular/material/tabs';
|
|
26
|
-
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
27
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
28
|
-
import { ResizableModule } from 'angular-resizable-element';
|
|
29
|
-
import { FormsModule } from '@angular/forms';
|
|
30
|
-
import { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';
|
|
31
|
-
import { CommonModule } from '@angular/common';
|
|
32
|
-
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
33
|
-
import 'quill';
|
|
34
|
-
import { QUILL_CONFIG_TOKEN, QuillModule } from 'ngx-quill';
|
|
35
|
-
import { ColorChromeModule } from 'ngx-color/chrome';
|
|
36
|
-
import { PB_CONFIG, PB_TEMPLATES_TEMPORARY_STORAGE } from './tokens/tokens';
|
|
37
|
-
import { StructureComponent } from './components/structure/structure.component';
|
|
38
|
-
import { PbEmailBuilderComponent } from './pb-email-builder.component';
|
|
39
|
-
import { DynamicComponentDirective } from './directives/dynamic-component.directive';
|
|
40
|
-
import { ImageComponent } from './elements/image/image.component';
|
|
41
|
-
import { TextElementComponent } from './elements/text-element/text-element.component';
|
|
42
|
-
import { ButtonComponent } from './elements/button/button.component';
|
|
43
|
-
import { DividerComponent } from './elements/divider/divider.component';
|
|
44
|
-
import { SpacerComponent } from './elements/spacer/spacer.component';
|
|
45
|
-
import { SocialComponent } from './elements/social/social.component';
|
|
46
|
-
import { BuilderContainerComponent } from './components/builder-container/builder-container.component';
|
|
47
|
-
import { FontStylesComponent } from './groups/font-styles';
|
|
48
|
-
import { PaddingComponent } from './groups/padding';
|
|
49
|
-
import { LineHeightComponent } from './groups/line-height';
|
|
50
|
-
import { WidthHeightComponent } from './groups/width-height';
|
|
51
|
-
import { BorderComponent } from './groups/border';
|
|
52
|
-
import { ColorComponent } from './groups/color';
|
|
53
|
-
import { LinkComponent } from './groups/link';
|
|
54
|
-
import { AlignComponent } from './groups/align';
|
|
55
|
-
import { DirectionComponent } from './groups/direction';
|
|
56
|
-
import { BackRepatComponent } from './groups/back-repeat';
|
|
57
|
-
import { ConfirmDialogComponent } from './components/dialog.component';
|
|
58
|
-
import { PreviewTemplateComponent } from './components/preview.component';
|
|
59
|
-
import { PbEmailBuilderService } from './pb-email-builder.service';
|
|
60
|
-
import { BlockComponent } from './components/block/block.component';
|
|
61
|
-
import { ImageUploadComponent } from './groups/upload-image';
|
|
62
|
-
import { BlockSettingsComponent } from './components/block-settings/block-settings.component';
|
|
63
|
-
import { StructureSettingsComponent } from './components/structure-settings/structure-settings.component';
|
|
64
|
-
import { GeneralSettingsComponent } from './components/general-settings/general-settings.component';
|
|
65
|
-
import { MarginComponent } from './groups/margin';
|
|
66
|
-
import { TemplateListDialogComponent } from './components/template-list-dialog/template-list-dialog.component';
|
|
67
|
-
import { GapsComponent } from './groups/gaps';
|
|
68
|
-
import { SlugifyPipe } from './pipes/slugify.pipe';
|
|
69
|
-
import { FreeUsersMiddleware, PaidUsersMiddleware } from './services/user-middleware-service';
|
|
70
|
-
import { FreeUsersImageUploader, PaidUsersImageUploader } from './services/user-image-uploader-service';
|
|
71
|
-
import { PbUserMiddlewaresService } from './services/user-middleware-service/pb-middlewares.service';
|
|
72
|
-
import { PbUserImageUploaderService } from './services/user-image-uploader-service/user-image-uploader.service';
|
|
73
|
-
import { IpInterceptorInterceptor } from './interceptors/pb-interceptor.interceptor';
|
|
74
|
-
import { ImportDialogComponent } from './components/import-dialog/import-dialog.component';
|
|
75
|
-
import { UploadBottomSheetDialogComponent } from './services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component';
|
|
76
|
-
import { UploadImageGalleryComponent } from './services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component';
|
|
77
|
-
import { LIBRARY_IS_PRO } from './tokens/private-tokens';
|
|
78
|
-
import { PbUserInterfaceService } from './services/internals/user-interfaces/user-interface.service';
|
|
79
|
-
import { PbEmailObjectStoreService } from './services/internals/pb-email-object-store/pb-email-object-store.service';
|
|
80
|
-
import { FreeUsersRestApi } from './services/user-rest-api-service';
|
|
81
|
-
import { FreeUsersPbStorage } from './services/pb-storage';
|
|
82
|
-
import { PbStorageService } from './services/pb-storage/pb-storage.service';
|
|
83
|
-
import { PbUserRestApiService } from './services/user-rest-api-service/user-rest-api.service';
|
|
84
|
-
import { PortalModule } from '@angular/cdk/portal';
|
|
85
|
-
import '@angular/localize/init';
|
|
86
|
-
/**
|
|
87
|
-
* @internal
|
|
88
|
-
* @param http
|
|
89
|
-
*/
|
|
90
|
-
export function createCustomRestApiService(http) {
|
|
91
|
-
return new FreeUsersRestApi(http);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* @internal
|
|
95
|
-
* @param libraryIsProEnv
|
|
96
|
-
*/
|
|
97
|
-
export function createUserMiddlewareService(libraryIsProEnv) {
|
|
98
|
-
if (!libraryIsProEnv) {
|
|
99
|
-
return new FreeUsersMiddleware();
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
return new PaidUsersMiddleware();
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* @internal
|
|
107
|
-
* @param templateStorage
|
|
108
|
-
*/
|
|
109
|
-
export function createUsersIpStorage(templateStorage) {
|
|
110
|
-
return new FreeUsersPbStorage(templateStorage);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* @internal
|
|
114
|
-
* @param libraryIsProEnv
|
|
115
|
-
* @param matBottomSheet
|
|
116
|
-
* @param matDialog
|
|
117
|
-
* @param userMiddleware
|
|
118
|
-
* @param userRestApi
|
|
119
|
-
*/
|
|
120
|
-
export function createUserUploaderService(libraryIsProEnv, matBottomSheet, matDialog, userMiddleware, userRestApi) {
|
|
121
|
-
if (!libraryIsProEnv) {
|
|
122
|
-
return new FreeUsersImageUploader(matBottomSheet, userMiddleware);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
return new PaidUsersImageUploader(matDialog, userMiddleware, userRestApi);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
const ɵ0 = {
|
|
129
|
-
bounds: 'pb-builder-container',
|
|
130
|
-
theme: 'bubble',
|
|
131
|
-
format: 'html',
|
|
132
|
-
trackChanges: 'all',
|
|
133
|
-
suppressGlobalRegisterWarning: true
|
|
134
|
-
};
|
|
135
|
-
export class PbEmailBuilderModule {
|
|
136
|
-
constructor(pbMiddlewaresService, userImageUploader, libraryIsPro) {
|
|
137
|
-
if (!libraryIsPro && !(pbMiddlewaresService instanceof FreeUsersMiddleware)) {
|
|
138
|
-
throw new Error('Upgrade to an Extended or Commercial License to use Custom Middlewares.');
|
|
139
|
-
}
|
|
140
|
-
if (!libraryIsPro && !(userImageUploader instanceof FreeUsersImageUploader)) {
|
|
141
|
-
throw new Error('Upgrade to an Extended or Commercial License to use Custom Image Uploader.');
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* @deprecated use PbEmailBuilderModule.withConfig(userConfig) instead
|
|
146
|
-
* @internal
|
|
147
|
-
*/
|
|
148
|
-
static forRoot(userConfig = {}) {
|
|
149
|
-
return PbEmailBuilderModule.withConfig(userConfig);
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Import module with configurations
|
|
153
|
-
* @param userConfig Configurations
|
|
154
|
-
*/
|
|
155
|
-
static withConfig(userConfig = {}) {
|
|
156
|
-
return {
|
|
157
|
-
ngModule: PbEmailBuilderModule,
|
|
158
|
-
providers: [
|
|
159
|
-
PbEmailBuilderService,
|
|
160
|
-
PbEmailObjectStoreService,
|
|
161
|
-
PbUserInterfaceService,
|
|
162
|
-
{ provide: PB_CONFIG, useValue: userConfig },
|
|
163
|
-
{
|
|
164
|
-
provide: PbUserMiddlewaresService,
|
|
165
|
-
useFactory: createUserMiddlewareService,
|
|
166
|
-
deps: [LIBRARY_IS_PRO]
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
provide: PbStorageService,
|
|
170
|
-
useFactory: createUsersIpStorage,
|
|
171
|
-
deps: [PB_TEMPLATES_TEMPORARY_STORAGE]
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
provide: PbUserImageUploaderService,
|
|
175
|
-
useFactory: createUserUploaderService,
|
|
176
|
-
deps: [LIBRARY_IS_PRO, MatBottomSheet, MatDialog, PbUserMiddlewaresService, PbUserRestApiService]
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
provide: PbUserRestApiService,
|
|
180
|
-
useFactory: createCustomRestApiService,
|
|
181
|
-
deps: [HttpClient]
|
|
182
|
-
}
|
|
183
|
-
]
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
PbEmailBuilderModule.decorators = [
|
|
188
|
-
{ type: NgModule, args: [{
|
|
189
|
-
imports: [
|
|
190
|
-
CommonModule,
|
|
191
|
-
HttpClientModule,
|
|
192
|
-
QuillModule,
|
|
193
|
-
FlexLayoutModule,
|
|
194
|
-
DragDropModule,
|
|
195
|
-
FormsModule,
|
|
196
|
-
ColorChromeModule,
|
|
197
|
-
MatButtonModule,
|
|
198
|
-
MatIconModule,
|
|
199
|
-
MatFormFieldModule,
|
|
200
|
-
MatInputModule,
|
|
201
|
-
MatTabsModule,
|
|
202
|
-
MatSliderModule,
|
|
203
|
-
MatSelectModule,
|
|
204
|
-
MatSlideToggleModule,
|
|
205
|
-
MatButtonToggleModule,
|
|
206
|
-
MatDividerModule,
|
|
207
|
-
MatTooltipModule,
|
|
208
|
-
MatDialogModule,
|
|
209
|
-
MatSnackBarModule,
|
|
210
|
-
MatProgressBarModule,
|
|
211
|
-
MatMenuModule,
|
|
212
|
-
MatSidenavModule,
|
|
213
|
-
MatToolbarModule,
|
|
214
|
-
MatListModule,
|
|
215
|
-
MatBottomSheetModule,
|
|
216
|
-
MatDividerModule,
|
|
217
|
-
MatExpansionModule,
|
|
218
|
-
ResizableModule,
|
|
219
|
-
ScrollingModule,
|
|
220
|
-
PortalModule
|
|
221
|
-
],
|
|
222
|
-
declarations: [
|
|
223
|
-
PbEmailBuilderComponent,
|
|
224
|
-
StructureComponent,
|
|
225
|
-
BlockComponent,
|
|
226
|
-
DynamicComponentDirective,
|
|
227
|
-
PreviewTemplateComponent,
|
|
228
|
-
TextElementComponent,
|
|
229
|
-
ImageComponent,
|
|
230
|
-
ButtonComponent,
|
|
231
|
-
DividerComponent,
|
|
232
|
-
SpacerComponent,
|
|
233
|
-
SocialComponent,
|
|
234
|
-
BuilderContainerComponent,
|
|
235
|
-
FontStylesComponent,
|
|
236
|
-
PaddingComponent,
|
|
237
|
-
MarginComponent,
|
|
238
|
-
GapsComponent,
|
|
239
|
-
LineHeightComponent,
|
|
240
|
-
WidthHeightComponent,
|
|
241
|
-
BorderComponent,
|
|
242
|
-
ColorComponent,
|
|
243
|
-
LinkComponent,
|
|
244
|
-
AlignComponent,
|
|
245
|
-
DirectionComponent,
|
|
246
|
-
BackRepatComponent,
|
|
247
|
-
ConfirmDialogComponent,
|
|
248
|
-
ImageUploadComponent,
|
|
249
|
-
BlockSettingsComponent,
|
|
250
|
-
StructureSettingsComponent,
|
|
251
|
-
GeneralSettingsComponent,
|
|
252
|
-
UploadBottomSheetDialogComponent,
|
|
253
|
-
UploadImageGalleryComponent,
|
|
254
|
-
TemplateListDialogComponent,
|
|
255
|
-
SlugifyPipe,
|
|
256
|
-
ImportDialogComponent
|
|
257
|
-
],
|
|
258
|
-
exports: [PbEmailBuilderComponent, PreviewTemplateComponent, SlugifyPipe],
|
|
259
|
-
entryComponents: [
|
|
260
|
-
TextElementComponent,
|
|
261
|
-
ImageComponent,
|
|
262
|
-
ButtonComponent,
|
|
263
|
-
DividerComponent,
|
|
264
|
-
SpacerComponent,
|
|
265
|
-
SocialComponent,
|
|
266
|
-
ConfirmDialogComponent,
|
|
267
|
-
UploadBottomSheetDialogComponent,
|
|
268
|
-
UploadImageGalleryComponent,
|
|
269
|
-
TemplateListDialogComponent,
|
|
270
|
-
ImportDialogComponent
|
|
271
|
-
],
|
|
272
|
-
providers: [
|
|
273
|
-
{
|
|
274
|
-
provide: QUILL_CONFIG_TOKEN,
|
|
275
|
-
useValue: ɵ0
|
|
276
|
-
},
|
|
277
|
-
{ provide: HTTP_INTERCEPTORS, useClass: IpInterceptorInterceptor, multi: true },
|
|
278
|
-
// { provide: PB_BLOCK_ELEMENT, useClass: TextBlock, multi: true },
|
|
279
|
-
PbEmailBuilderService,
|
|
280
|
-
PbEmailObjectStoreService,
|
|
281
|
-
PbUserInterfaceService
|
|
282
|
-
]
|
|
283
|
-
},] }
|
|
284
|
-
];
|
|
285
|
-
PbEmailBuilderModule.ctorParameters = () => [
|
|
286
|
-
{ type: PbUserMiddlewaresService },
|
|
287
|
-
{ type: PbUserImageUploaderService },
|
|
288
|
-
{ type: Boolean, decorators: [{ type: Inject, args: [LIBRARY_IS_PRO,] }] }
|
|
289
|
-
];
|
|
290
|
-
export { ɵ0 };
|
|
291
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGItZW1haWwtYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvcGItZW1haWwtYnVpbGRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUs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LGFBQWE7b0JBQ2IsY0FBYztvQkFDZCxrQkFBa0I7b0JBQ2xCLGtCQUFrQjtvQkFDbEIsc0JBQXNCO29CQUN0QixvQkFBb0I7b0JBQ3BCLHNCQUFzQjtvQkFDdEIsMEJBQTBCO29CQUMxQix3QkFBd0I7b0JBQ3hCLGdDQUFnQztvQkFDaEMsMkJBQTJCO29CQUMzQiwyQkFBMkI7b0JBQzNCLFdBQVc7b0JBQ1gscUJBQXFCO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSxXQUFXLENBQUM7Z0JBQ3pFLGVBQWUsRUFBRTtvQkFDZixvQkFBb0I7b0JBQ3BCLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixzQkFBc0I7b0JBQ3RCLGdDQUFnQztvQkFDaEMsMkJBQTJCO29CQUMzQiwyQkFBMkI7b0JBQzNCLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxrQkFBa0I7d0JBQzNCLFFBQVEsSUFNUDtxQkFDRjtvQkFDRCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtvQkFDL0UsbUVBQW1FO29CQUNuRSxxQkFBcUI7b0JBQ3JCLHlCQUF5QjtvQkFDekIsc0JBQXNCO2lCQUN2QjthQUNGOzs7WUE3S1Esd0JBQXdCO1lBQ3hCLDBCQUEwQjswQ0FpTDlCLE1BQU0sU0FBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgTWF0Qm90dG9tU2hlZXQsIE1hdEJvdHRvbVNoZWV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBSZXNpemFibGVNb2R1bGUgfSBmcm9tICdhbmd1bGFyLXJlc2l6YWJsZS1lbGVtZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5cbmltcG9ydCAncXVpbGwnO1xuaW1wb3J0IHsgUVVJTExfQ09ORklHX1RPS0VOLCBRdWlsbE1vZHVsZSB9IGZyb20gJ25neC1xdWlsbCc7XG5pbXBvcnQgeyBDb2xvckNocm9tZU1vZHVsZSB9IGZyb20gJ25neC1jb2xvci9jaHJvbWUnO1xuXG5pbXBvcnQgeyBJRm9yUm9vdENvbmYgfSBmcm9tICcuL2ludGVyZmFjZXMvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQQl9DT05GSUcsIFBCX1RFTVBMQVRFU19URU1QT1JBUllfU1RPUkFHRSB9IGZyb20gJy4vdG9rZW5zL3Rva2Vucyc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RydWN0dXJlL3N0cnVjdHVyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGJFbWFpbEJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL3BiLWVtYWlsLWJ1aWxkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlJztcblxuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvdGV4dC1lbGVtZW50L3RleHQtZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNwYWNlckNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvc3BhY2VyL3NwYWNlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29jaWFsQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9zb2NpYWwvc29jaWFsLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEJ1aWxkZXJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGRlci1jb250YWluZXIvYnVpbGRlci1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvbnRTdHlsZXNDb21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy9mb250LXN0eWxlcyc7XG5pbXBvcnQgeyBQYWRkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvcGFkZGluZyc7XG5pbXBvcnQgeyBMaW5lSGVpZ2h0Q29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvbGluZS1oZWlnaHQnO1xuaW1wb3J0IHsgV2lkdGhIZWlnaHRDb21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy93aWR0aC1oZWlnaHQnO1xuaW1wb3J0IHsgQm9yZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvYm9yZGVyJztcbmltcG9ydCB7IENvbG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvY29sb3InO1xuaW1wb3J0IHsgTGlua0NvbXBvbmVudCB9IGZyb20gJy4vZ3JvdXBzL2xpbmsnO1xuaW1wb3J0IHsgQWxpZ25Db21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy9hbGlnbic7XG5pbXBvcnQgeyBEaXJlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy9kaXJlY3Rpb24nO1xuaW1wb3J0IHsgQmFja1JlcGF0Q29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvYmFjay1yZXBlYXQnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByZXZpZXdUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcmV2aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYkVtYWlsQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL3BiLWVtYWlsLWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ibG9jay9ibG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy91cGxvYWQtaW1hZ2UnO1xuaW1wb3J0IHsgQmxvY2tTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ibG9jay1zZXR0aW5ncy9ibG9jay1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RydWN0dXJlU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RydWN0dXJlLXNldHRpbmdzL3N0cnVjdHVyZS1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VuZXJhbFNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyYWwtc2V0dGluZ3MvZ2VuZXJhbC1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFyZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvbWFyZ2luJztcbmltcG9ydCB7IFRlbXBsYXRlTGlzdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW1wbGF0ZS1saXN0LWRpYWxvZy90ZW1wbGF0ZS1saXN0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2Fwc0NvbXBvbmVudCB9IGZyb20gJy4vZ3JvdXBzL2dhcHMnO1xuXG5pbXBvcnQgeyBTbHVnaWZ5UGlwZSB9IGZyb20gJy4vcGlwZXMvc2x1Z2lmeS5waXBlJztcblxuaW1wb3J0IHsgRnJlZVVzZXJzTWlkZGxld2FyZSwgUGFpZFVzZXJzTWlkZGxld2FyZSB9IGZyb20gJy4vc2VydmljZXMvdXNlci1taWRkbGV3YXJlLXNlcnZpY2UnO1xuaW1wb3J0IHsgRnJlZVVzZXJzSW1hZ2VVcGxvYWRlciwgUGFpZFVzZXJzSW1hZ2VVcGxvYWRlciB9IGZyb20gJy4vc2VydmljZXMvdXNlci1pbWFnZS11cGxvYWRlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgUGJVc2VyTWlkZGxld2FyZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLW1pZGRsZXdhcmUtc2VydmljZS9wYi1taWRkbGV3YXJlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFBiVXNlckltYWdlVXBsb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLWltYWdlLXVwbG9hZGVyLXNlcnZpY2UvdXNlci1pbWFnZS11cGxvYWRlci5zZXJ2aWNlJztcblxuaW1wb3J0IHsgSXBJbnRlcmNlcHRvckludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvcGItaW50ZXJjZXB0b3IuaW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgSW1wb3J0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ltcG9ydC1kaWFsb2cvaW1wb3J0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBsb2FkQm90dG9tU2hlZXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXItaW1hZ2UtdXBsb2FkZXItc2VydmljZS91cGxvYWQtYm90dG9tLXNoZWV0LWRpYWxvZy91cGxvYWQtYm90dG9tLXNoZWV0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBsb2FkSW1hZ2VHYWxsZXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLWltYWdlLXVwbG9hZGVyLXNlcnZpY2UvdXBsb2FkLWltYWdlLWdhbGxlcnkvdXBsb2FkLWltYWdlLWdhbGxlcnkuY29tcG9uZW50JztcblxuaW1wb3J0IHsgTElCUkFSWV9JU19QUk8gfSBmcm9tICcuL3Rva2Vucy9wcml2YXRlLXRva2Vucyc7XG5pbXBvcnQgeyBQYlVzZXJJbnRlcmZhY2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9pbnRlcm5hbHMvdXNlci1pbnRlcmZhY2VzL3VzZXItaW50ZXJmYWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGJFbWFpbE9iamVjdFN0b3JlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaW50ZXJuYWxzL3BiLWVtYWlsLW9iamVjdC1zdG9yZS9wYi1lbWFpbC1vYmplY3Qtc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBGcmVlVXNlcnNSZXN0QXBpIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLXJlc3QtYXBpLXNlcnZpY2UnO1xuaW1wb3J0IHsgRnJlZVVzZXJzUGJTdG9yYWdlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wYi1zdG9yYWdlJztcbmltcG9ydCB7IFBiU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BiLXN0b3JhZ2UvcGItc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBiVXNlclJlc3RBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLXJlc3QtYXBpLXNlcnZpY2UvdXNlci1yZXN0LWFwaS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2xvY2FsaXplL2luaXQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIGh0dHBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUN1c3RvbVJlc3RBcGlTZXJ2aWNlKGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgcmV0dXJuIG5ldyBGcmVlVXNlcnNSZXN0QXBpKGh0dHApO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIGxpYnJhcnlJc1Byb0VudlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVXNlck1pZGRsZXdhcmVTZXJ2aWNlKGxpYnJhcnlJc1Byb0VudjogYm9vbGVhbikge1xuICBpZiAoIWxpYnJhcnlJc1Byb0Vudikge1xuICAgIHJldHVybiBuZXcgRnJlZVVzZXJzTWlkZGxld2FyZSgpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgUGFpZFVzZXJzTWlkZGxld2FyZSgpO1xuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0gdGVtcGxhdGVTdG9yYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVc2Vyc0lwU3RvcmFnZSh0ZW1wbGF0ZVN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgcmV0dXJuIG5ldyBGcmVlVXNlcnNQYlN0b3JhZ2UodGVtcGxhdGVTdG9yYWdlKTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSBsaWJyYXJ5SXNQcm9FbnZcbiAqIEBwYXJhbSBtYXRCb3R0b21TaGVldFxuICogQHBhcmFtIG1hdERpYWxvZ1xuICogQHBhcmFtIHVzZXJNaWRkbGV3YXJlXG4gKiBAcGFyYW0gdXNlclJlc3RBcGlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVVzZXJVcGxvYWRlclNlcnZpY2UoXG4gIGxpYnJhcnlJc1Byb0VudjogYm9vbGVhbixcbiAgbWF0Qm90dG9tU2hlZXQ6IE1hdEJvdHRvbVNoZWV0LFxuICBtYXREaWFsb2c6IE1hdERpYWxvZyxcbiAgdXNlck1pZGRsZXdhcmU6IFBiVXNlck1pZGRsZXdhcmVzU2VydmljZSxcbiAgdXNlclJlc3RBcGk6IFBiVXNlclJlc3RBcGlTZXJ2aWNlXG4pIHtcbiAgaWYgKCFsaWJyYXJ5SXNQcm9FbnYpIHtcbiAgICByZXR1cm4gbmV3IEZyZWVVc2Vyc0ltYWdlVXBsb2FkZXIobWF0Qm90dG9tU2hlZXQsIHVzZXJNaWRkbGV3YXJlKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IFBhaWRVc2Vyc0ltYWdlVXBsb2FkZXIobWF0RGlhbG9nLCB1c2VyTWlkZGxld2FyZSwgdXNlclJlc3RBcGkpO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBRdWlsbE1vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIENvbG9yQ2hyb21lTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcblxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE1hdEJvdHRvbVNoZWV0TW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxuICAgIFJlc2l6YWJsZU1vZHVsZSxcbiAgICBTY3JvbGxpbmdNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFBiRW1haWxCdWlsZGVyQ29tcG9uZW50LFxuICAgIFN0cnVjdHVyZUNvbXBvbmVudCxcbiAgICBCbG9ja0NvbXBvbmVudCxcbiAgICBEeW5hbWljQ29tcG9uZW50RGlyZWN0aXZlLFxuICAgIFByZXZpZXdUZW1wbGF0ZUNvbXBvbmVudCxcblxuICAgIFRleHRFbGVtZW50Q29tcG9uZW50LFxuICAgIEltYWdlQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBEaXZpZGVyQ29tcG9uZW50LFxuICAgIFNwYWNlckNvbXBvbmVudCxcbiAgICBTb2NpYWxDb21wb25lbnQsXG5cbiAgICBCdWlsZGVyQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEZvbnRTdHlsZXNDb21wb25lbnQsXG4gICAgUGFkZGluZ0NvbXBvbmVudCxcbiAgICBNYXJnaW5Db21wb25lbnQsXG4gICAgR2Fwc0NvbXBvbmVudCxcbiAgICBMaW5lSGVpZ2h0Q29tcG9uZW50LFxuICAgIFdpZHRoSGVpZ2h0Q29tcG9uZW50LFxuICAgIEJvcmRlckNvbXBvbmVudCxcbiAgICBDb2xvckNvbXBvbmVudCxcbiAgICBMaW5rQ29tcG9uZW50LFxuICAgIEFsaWduQ29tcG9uZW50LFxuICAgIERpcmVjdGlvbkNvbXBvbmVudCxcbiAgICBCYWNrUmVwYXRDb21wb25lbnQsXG4gICAgQ29uZmlybURpYWxvZ0NvbXBvbmVudCxcbiAgICBJbWFnZVVwbG9hZENvbXBvbmVudCxcbiAgICBCbG9ja1NldHRpbmdzQ29tcG9uZW50LFxuICAgIFN0cnVjdHVyZVNldHRpbmdzQ29tcG9uZW50LFxuICAgIEdlbmVyYWxTZXR0aW5nc0NvbXBvbmVudCxcbiAgICBVcGxvYWRCb3R0b21TaGVldERpYWxvZ0NvbXBvbmVudCxcbiAgICBVcGxvYWRJbWFnZUdhbGxlcnlDb21wb25lbnQsXG4gICAgVGVtcGxhdGVMaXN0RGlhbG9nQ29tcG9uZW50LFxuICAgIFNsdWdpZnlQaXBlLFxuICAgIEltcG9ydERpYWxvZ0NvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbUGJFbWFpbEJ1aWxkZXJDb21wb25lbnQsIFByZXZpZXdUZW1wbGF0ZUNvbXBvbmVudCwgU2x1Z2lmeVBpcGVdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICBUZXh0RWxlbWVudENvbXBvbmVudCxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgRGl2aWRlckNvbXBvbmVudCxcbiAgICBTcGFjZXJDb21wb25lbnQsXG4gICAgU29jaWFsQ29tcG9uZW50LFxuICAgIENvbmZpcm1EaWFsb2dDb21wb25lbnQsXG4gICAgVXBsb2FkQm90dG9tU2hlZXREaWFsb2dDb21wb25lbnQsXG4gICAgVXBsb2FkSW1hZ2VHYWxsZXJ5Q29tcG9uZW50LFxuICAgIFRlbXBsYXRlTGlzdERpYWxvZ0NvbXBvbmVudCxcbiAgICBJbXBvcnREaWFsb2dDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUVVJTExfQ09ORklHX1RPS0VOLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgYm91bmRzOiAncGItYnVpbGRlci1jb250YWluZXInLFxuICAgICAgICB0aGVtZTogJ2J1YmJsZScsXG4gICAgICAgIGZvcm1hdDogJ2h0bWwnLFxuICAgICAgICB0cmFja0NoYW5nZXM6ICdhbGwnLFxuICAgICAgICBzdXBwcmVzc0dsb2JhbFJlZ2lzdGVyV2FybmluZzogdHJ1ZVxuICAgICAgfVxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IElwSW50ZXJjZXB0b3JJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcbiAgICAvLyB7IHByb3ZpZGU6IFBCX0JMT0NLX0VMRU1FTlQsIHVzZUNsYXNzOiBUZXh0QmxvY2ssIG11bHRpOiB0cnVlIH0sXG4gICAgUGJFbWFpbEJ1aWxkZXJTZXJ2aWNlLFxuICAgIFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UsXG4gICAgUGJVc2VySW50ZXJmYWNlU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBiRW1haWxCdWlsZGVyTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcGJNaWRkbGV3YXJlc1NlcnZpY2U6IFBiVXNlck1pZGRsZXdhcmVzU2VydmljZSxcbiAgICB1c2VySW1hZ2VVcGxvYWRlcjogUGJVc2VySW1hZ2VVcGxvYWRlclNlcnZpY2UsXG4gICAgQEluamVjdChMSUJSQVJZX0lTX1BSTykgbGlicmFyeUlzUHJvOiBib29sZWFuXG4gICkge1xuICAgIGlmICghbGlicmFyeUlzUHJvICYmICEocGJNaWRkbGV3YXJlc1NlcnZpY2UgaW5zdGFuY2VvZiBGcmVlVXNlcnNNaWRkbGV3YXJlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVcGdyYWRlIHRvIGFuIEV4dGVuZGVkIG9yIENvbW1lcmNpYWwgTGljZW5zZSB0byB1c2UgQ3VzdG9tIE1pZGRsZXdhcmVzLicpO1xuICAgIH1cbiAgICBpZiAoIWxpYnJhcnlJc1BybyAmJiAhKHVzZXJJbWFnZVVwbG9hZGVyIGluc3RhbmNlb2YgRnJlZVVzZXJzSW1hZ2VVcGxvYWRlcikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVXBncmFkZSB0byBhbiBFeHRlbmRlZCBvciBDb21tZXJjaWFsIExpY2Vuc2UgdG8gdXNlIEN1c3RvbSBJbWFnZSBVcGxvYWRlci4nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIFBiRW1haWxCdWlsZGVyTW9kdWxlLndpdGhDb25maWcodXNlckNvbmZpZykgaW5zdGVhZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHN0YXRpYyBmb3JSb290KHVzZXJDb25maWc6IElGb3JSb290Q29uZiA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxQYkVtYWlsQnVpbGRlck1vZHVsZT4ge1xuICAgIHJldHVybiBQYkVtYWlsQnVpbGRlck1vZHVsZS53aXRoQ29uZmlnKHVzZXJDb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBtb2R1bGUgd2l0aCBjb25maWd1cmF0aW9uc1xuICAgKiBAcGFyYW0gdXNlckNvbmZpZyBDb25maWd1cmF0aW9uc1xuICAgKi9cbiAgc3RhdGljIHdpdGhDb25maWcodXNlckNvbmZpZzogSUZvclJvb3RDb25mID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBiRW1haWxCdWlsZGVyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQYkVtYWlsQnVpbGRlck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBQYkVtYWlsQnVpbGRlclNlcnZpY2UsXG4gICAgICAgIFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UsXG4gICAgICAgIFBiVXNlckludGVyZmFjZVNlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogUEJfQ09ORklHLCB1c2VWYWx1ZTogdXNlckNvbmZpZyB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogUGJVc2VyTWlkZGxld2FyZXNTZXJ2aWNlLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZVVzZXJNaWRkbGV3YXJlU2VydmljZSxcbiAgICAgICAgICBkZXBzOiBbTElCUkFSWV9JU19QUk9dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBQYlN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZVVzZXJzSXBTdG9yYWdlLFxuICAgICAgICAgIGRlcHM6IFtQQl9URU1QTEFURVNfVEVNUE9SQVJZX1NUT1JBR0VdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBQYlVzZXJJbWFnZVVwbG9hZGVyU2VydmljZSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBjcmVhdGVVc2VyVXBsb2FkZXJTZXJ2aWNlLFxuICAgICAgICAgIGRlcHM6IFtMSUJSQVJZX0lTX1BSTywgTWF0Qm90dG9tU2hlZXQsIE1hdERpYWxvZywgUGJVc2VyTWlkZGxld2FyZXNTZXJ2aWNlLCBQYlVzZXJSZXN0QXBpU2VydmljZV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFBiVXNlclJlc3RBcGlTZXJ2aWNlLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZUN1c3RvbVJlc3RBcGlTZXJ2aWNlLFxuICAgICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50XVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { Inject, NgModule } from '@angular/core';
|
|
6
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
7
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
8
|
+
import { MatBottomSheet, MatBottomSheetModule } from '@angular/material/bottom-sheet';
|
|
9
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
10
|
+
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
11
|
+
import { MatDialog, MatDialogModule } from '@angular/material/dialog';
|
|
12
|
+
import { MatDividerModule } from '@angular/material/divider';
|
|
13
|
+
import { MatExpansionModule } from '@angular/material/expansion';
|
|
14
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
15
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
16
|
+
import { MatInputModule } from '@angular/material/input';
|
|
17
|
+
import { MatListModule } from '@angular/material/list';
|
|
18
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
19
|
+
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
20
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
21
|
+
import { MatSidenavModule } from '@angular/material/sidenav';
|
|
22
|
+
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
23
|
+
import { MatSliderModule } from '@angular/material/slider';
|
|
24
|
+
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
25
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
26
|
+
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
27
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
28
|
+
import { ResizableModule } from 'angular-resizable-element';
|
|
29
|
+
import { FormsModule } from '@angular/forms';
|
|
30
|
+
import { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';
|
|
31
|
+
import { CommonModule } from '@angular/common';
|
|
32
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
33
|
+
import 'quill';
|
|
34
|
+
import { QUILL_CONFIG_TOKEN, QuillModule } from 'ngx-quill';
|
|
35
|
+
import { ColorChromeModule } from 'ngx-color/chrome';
|
|
36
|
+
import { PB_CONFIG, PB_TEMPLATES_TEMPORARY_STORAGE } from './tokens/tokens';
|
|
37
|
+
import { StructureComponent } from './components/structure/structure.component';
|
|
38
|
+
import { PbEmailBuilderComponent } from './pb-email-builder.component';
|
|
39
|
+
import { DynamicComponentDirective } from './directives/dynamic-component.directive';
|
|
40
|
+
import { ImageComponent } from './elements/image/image.component';
|
|
41
|
+
import { TextElementComponent } from './elements/text-element/text-element.component';
|
|
42
|
+
import { ButtonComponent } from './elements/button/button.component';
|
|
43
|
+
import { DividerComponent } from './elements/divider/divider.component';
|
|
44
|
+
import { SpacerComponent } from './elements/spacer/spacer.component';
|
|
45
|
+
import { SocialComponent } from './elements/social/social.component';
|
|
46
|
+
import { BuilderContainerComponent } from './components/builder-container/builder-container.component';
|
|
47
|
+
import { FontStylesComponent } from './groups/font-styles';
|
|
48
|
+
import { PaddingComponent } from './groups/padding';
|
|
49
|
+
import { LineHeightComponent } from './groups/line-height';
|
|
50
|
+
import { WidthHeightComponent } from './groups/width-height';
|
|
51
|
+
import { BorderComponent } from './groups/border';
|
|
52
|
+
import { ColorComponent } from './groups/color';
|
|
53
|
+
import { LinkComponent } from './groups/link';
|
|
54
|
+
import { AlignComponent } from './groups/align';
|
|
55
|
+
import { DirectionComponent } from './groups/direction';
|
|
56
|
+
import { BackRepatComponent } from './groups/back-repeat';
|
|
57
|
+
import { ConfirmDialogComponent } from './components/dialog.component';
|
|
58
|
+
import { PreviewTemplateComponent } from './components/preview.component';
|
|
59
|
+
import { PbEmailBuilderService } from './pb-email-builder.service';
|
|
60
|
+
import { BlockComponent } from './components/block/block.component';
|
|
61
|
+
import { ImageUploadComponent } from './groups/upload-image';
|
|
62
|
+
import { BlockSettingsComponent } from './components/block-settings/block-settings.component';
|
|
63
|
+
import { StructureSettingsComponent } from './components/structure-settings/structure-settings.component';
|
|
64
|
+
import { GeneralSettingsComponent } from './components/general-settings/general-settings.component';
|
|
65
|
+
import { MarginComponent } from './groups/margin';
|
|
66
|
+
import { TemplateListDialogComponent } from './components/template-list-dialog/template-list-dialog.component';
|
|
67
|
+
import { GapsComponent } from './groups/gaps';
|
|
68
|
+
import { SlugifyPipe } from './pipes/slugify.pipe';
|
|
69
|
+
import { FreeUsersMiddleware, PaidUsersMiddleware } from './services/user-middleware-service';
|
|
70
|
+
import { FreeUsersImageUploader, PaidUsersImageUploader } from './services/user-image-uploader-service';
|
|
71
|
+
import { PbUserMiddlewaresService } from './services/user-middleware-service/pb-middlewares.service';
|
|
72
|
+
import { PbUserImageUploaderService } from './services/user-image-uploader-service/user-image-uploader.service';
|
|
73
|
+
import { IpInterceptorInterceptor } from './interceptors/pb-interceptor.interceptor';
|
|
74
|
+
import { ImportDialogComponent } from './components/import-dialog/import-dialog.component';
|
|
75
|
+
import { UploadBottomSheetDialogComponent } from './services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component';
|
|
76
|
+
import { UploadImageGalleryComponent } from './services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component';
|
|
77
|
+
import { LIBRARY_IS_PRO } from './tokens/private-tokens';
|
|
78
|
+
import { PbUserInterfaceService } from './services/internals/user-interfaces/user-interface.service';
|
|
79
|
+
import { PbEmailObjectStoreService } from './services/internals/pb-email-object-store/pb-email-object-store.service';
|
|
80
|
+
import { FreeUsersRestApi } from './services/user-rest-api-service';
|
|
81
|
+
import { FreeUsersPbStorage } from './services/pb-storage';
|
|
82
|
+
import { PbStorageService } from './services/pb-storage/pb-storage.service';
|
|
83
|
+
import { PbUserRestApiService } from './services/user-rest-api-service/user-rest-api.service';
|
|
84
|
+
import { PortalModule } from '@angular/cdk/portal';
|
|
85
|
+
import '@angular/localize/init';
|
|
86
|
+
/**
|
|
87
|
+
* @internal
|
|
88
|
+
* @param http
|
|
89
|
+
*/
|
|
90
|
+
export function createCustomRestApiService(http) {
|
|
91
|
+
return new FreeUsersRestApi(http);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @internal
|
|
95
|
+
* @param libraryIsProEnv
|
|
96
|
+
*/
|
|
97
|
+
export function createUserMiddlewareService(libraryIsProEnv) {
|
|
98
|
+
if (!libraryIsProEnv) {
|
|
99
|
+
return new FreeUsersMiddleware();
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
return new PaidUsersMiddleware();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @internal
|
|
107
|
+
* @param templateStorage
|
|
108
|
+
*/
|
|
109
|
+
export function createUsersIpStorage(templateStorage) {
|
|
110
|
+
return new FreeUsersPbStorage(templateStorage);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* @internal
|
|
114
|
+
* @param libraryIsProEnv
|
|
115
|
+
* @param matBottomSheet
|
|
116
|
+
* @param matDialog
|
|
117
|
+
* @param userMiddleware
|
|
118
|
+
* @param userRestApi
|
|
119
|
+
*/
|
|
120
|
+
export function createUserUploaderService(libraryIsProEnv, matBottomSheet, matDialog, userMiddleware, userRestApi) {
|
|
121
|
+
if (!libraryIsProEnv) {
|
|
122
|
+
return new FreeUsersImageUploader(matBottomSheet, userMiddleware);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
return new PaidUsersImageUploader(matDialog, userMiddleware, userRestApi);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const ɵ0 = {
|
|
129
|
+
bounds: 'pb-builder-container',
|
|
130
|
+
theme: 'bubble',
|
|
131
|
+
format: 'html',
|
|
132
|
+
trackChanges: 'all',
|
|
133
|
+
suppressGlobalRegisterWarning: true
|
|
134
|
+
};
|
|
135
|
+
export class PbEmailBuilderModule {
|
|
136
|
+
constructor(pbMiddlewaresService, userImageUploader, libraryIsPro) {
|
|
137
|
+
if (!libraryIsPro && !(pbMiddlewaresService instanceof FreeUsersMiddleware)) {
|
|
138
|
+
throw new Error('Upgrade to an Extended or Commercial License to use Custom Middlewares.');
|
|
139
|
+
}
|
|
140
|
+
if (!libraryIsPro && !(userImageUploader instanceof FreeUsersImageUploader)) {
|
|
141
|
+
throw new Error('Upgrade to an Extended or Commercial License to use Custom Image Uploader.');
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* @deprecated use PbEmailBuilderModule.withConfig(userConfig) instead
|
|
146
|
+
* @internal
|
|
147
|
+
*/
|
|
148
|
+
static forRoot(userConfig = {}) {
|
|
149
|
+
return PbEmailBuilderModule.withConfig(userConfig);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Import module with configurations
|
|
153
|
+
* @param userConfig Configurations
|
|
154
|
+
*/
|
|
155
|
+
static withConfig(userConfig = {}) {
|
|
156
|
+
return {
|
|
157
|
+
ngModule: PbEmailBuilderModule,
|
|
158
|
+
providers: [
|
|
159
|
+
PbEmailBuilderService,
|
|
160
|
+
PbEmailObjectStoreService,
|
|
161
|
+
PbUserInterfaceService,
|
|
162
|
+
{ provide: PB_CONFIG, useValue: userConfig },
|
|
163
|
+
{
|
|
164
|
+
provide: PbUserMiddlewaresService,
|
|
165
|
+
useFactory: createUserMiddlewareService,
|
|
166
|
+
deps: [LIBRARY_IS_PRO]
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
provide: PbStorageService,
|
|
170
|
+
useFactory: createUsersIpStorage,
|
|
171
|
+
deps: [PB_TEMPLATES_TEMPORARY_STORAGE]
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
provide: PbUserImageUploaderService,
|
|
175
|
+
useFactory: createUserUploaderService,
|
|
176
|
+
deps: [LIBRARY_IS_PRO, MatBottomSheet, MatDialog, PbUserMiddlewaresService, PbUserRestApiService]
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
provide: PbUserRestApiService,
|
|
180
|
+
useFactory: createCustomRestApiService,
|
|
181
|
+
deps: [HttpClient]
|
|
182
|
+
}
|
|
183
|
+
]
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
PbEmailBuilderModule.decorators = [
|
|
188
|
+
{ type: NgModule, args: [{
|
|
189
|
+
imports: [
|
|
190
|
+
CommonModule,
|
|
191
|
+
HttpClientModule,
|
|
192
|
+
QuillModule,
|
|
193
|
+
FlexLayoutModule,
|
|
194
|
+
DragDropModule,
|
|
195
|
+
FormsModule,
|
|
196
|
+
ColorChromeModule,
|
|
197
|
+
MatButtonModule,
|
|
198
|
+
MatIconModule,
|
|
199
|
+
MatFormFieldModule,
|
|
200
|
+
MatInputModule,
|
|
201
|
+
MatTabsModule,
|
|
202
|
+
MatSliderModule,
|
|
203
|
+
MatSelectModule,
|
|
204
|
+
MatSlideToggleModule,
|
|
205
|
+
MatButtonToggleModule,
|
|
206
|
+
MatDividerModule,
|
|
207
|
+
MatTooltipModule,
|
|
208
|
+
MatDialogModule,
|
|
209
|
+
MatSnackBarModule,
|
|
210
|
+
MatProgressBarModule,
|
|
211
|
+
MatMenuModule,
|
|
212
|
+
MatSidenavModule,
|
|
213
|
+
MatToolbarModule,
|
|
214
|
+
MatListModule,
|
|
215
|
+
MatBottomSheetModule,
|
|
216
|
+
MatDividerModule,
|
|
217
|
+
MatExpansionModule,
|
|
218
|
+
ResizableModule,
|
|
219
|
+
ScrollingModule,
|
|
220
|
+
PortalModule
|
|
221
|
+
],
|
|
222
|
+
declarations: [
|
|
223
|
+
PbEmailBuilderComponent,
|
|
224
|
+
StructureComponent,
|
|
225
|
+
BlockComponent,
|
|
226
|
+
DynamicComponentDirective,
|
|
227
|
+
PreviewTemplateComponent,
|
|
228
|
+
TextElementComponent,
|
|
229
|
+
ImageComponent,
|
|
230
|
+
ButtonComponent,
|
|
231
|
+
DividerComponent,
|
|
232
|
+
SpacerComponent,
|
|
233
|
+
SocialComponent,
|
|
234
|
+
BuilderContainerComponent,
|
|
235
|
+
FontStylesComponent,
|
|
236
|
+
PaddingComponent,
|
|
237
|
+
MarginComponent,
|
|
238
|
+
GapsComponent,
|
|
239
|
+
LineHeightComponent,
|
|
240
|
+
WidthHeightComponent,
|
|
241
|
+
BorderComponent,
|
|
242
|
+
ColorComponent,
|
|
243
|
+
LinkComponent,
|
|
244
|
+
AlignComponent,
|
|
245
|
+
DirectionComponent,
|
|
246
|
+
BackRepatComponent,
|
|
247
|
+
ConfirmDialogComponent,
|
|
248
|
+
ImageUploadComponent,
|
|
249
|
+
BlockSettingsComponent,
|
|
250
|
+
StructureSettingsComponent,
|
|
251
|
+
GeneralSettingsComponent,
|
|
252
|
+
UploadBottomSheetDialogComponent,
|
|
253
|
+
UploadImageGalleryComponent,
|
|
254
|
+
TemplateListDialogComponent,
|
|
255
|
+
SlugifyPipe,
|
|
256
|
+
ImportDialogComponent
|
|
257
|
+
],
|
|
258
|
+
exports: [PbEmailBuilderComponent, PreviewTemplateComponent, SlugifyPipe],
|
|
259
|
+
entryComponents: [
|
|
260
|
+
TextElementComponent,
|
|
261
|
+
ImageComponent,
|
|
262
|
+
ButtonComponent,
|
|
263
|
+
DividerComponent,
|
|
264
|
+
SpacerComponent,
|
|
265
|
+
SocialComponent,
|
|
266
|
+
ConfirmDialogComponent,
|
|
267
|
+
UploadBottomSheetDialogComponent,
|
|
268
|
+
UploadImageGalleryComponent,
|
|
269
|
+
TemplateListDialogComponent,
|
|
270
|
+
ImportDialogComponent
|
|
271
|
+
],
|
|
272
|
+
providers: [
|
|
273
|
+
{
|
|
274
|
+
provide: QUILL_CONFIG_TOKEN,
|
|
275
|
+
useValue: ɵ0
|
|
276
|
+
},
|
|
277
|
+
{ provide: HTTP_INTERCEPTORS, useClass: IpInterceptorInterceptor, multi: true },
|
|
278
|
+
// { provide: PB_BLOCK_ELEMENT, useClass: TextBlock, multi: true },
|
|
279
|
+
PbEmailBuilderService,
|
|
280
|
+
PbEmailObjectStoreService,
|
|
281
|
+
PbUserInterfaceService
|
|
282
|
+
]
|
|
283
|
+
},] }
|
|
284
|
+
];
|
|
285
|
+
PbEmailBuilderModule.ctorParameters = () => [
|
|
286
|
+
{ type: PbUserMiddlewaresService },
|
|
287
|
+
{ type: PbUserImageUploaderService },
|
|
288
|
+
{ type: Boolean, decorators: [{ type: Inject, args: [LIBRARY_IS_PRO,] }] }
|
|
289
|
+
];
|
|
290
|
+
export { ɵ0 };
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGItZW1haWwtYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvcGItZW1haWwtYnVpbGRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUs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LGFBQWE7b0JBQ2IsY0FBYztvQkFDZCxrQkFBa0I7b0JBQ2xCLGtCQUFrQjtvQkFDbEIsc0JBQXNCO29CQUN0QixvQkFBb0I7b0JBQ3BCLHNCQUFzQjtvQkFDdEIsMEJBQTBCO29CQUMxQix3QkFBd0I7b0JBQ3hCLGdDQUFnQztvQkFDaEMsMkJBQTJCO29CQUMzQiwyQkFBMkI7b0JBQzNCLFdBQVc7b0JBQ1gscUJBQXFCO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSxXQUFXLENBQUM7Z0JBQ3pFLGVBQWUsRUFBRTtvQkFDZixvQkFBb0I7b0JBQ3BCLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixzQkFBc0I7b0JBQ3RCLGdDQUFnQztvQkFDaEMsMkJBQTJCO29CQUMzQiwyQkFBMkI7b0JBQzNCLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxrQkFBa0I7d0JBQzNCLFFBQVEsSUFNUDtxQkFDRjtvQkFDRCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtvQkFDL0UsbUVBQW1FO29CQUNuRSxxQkFBcUI7b0JBQ3JCLHlCQUF5QjtvQkFDekIsc0JBQXNCO2lCQUN2QjthQUNGOzs7WUE3S1Esd0JBQXdCO1lBQ3hCLDBCQUEwQjswQ0FpTDlCLE1BQU0sU0FBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChjKSAyMDI0IFBvYnVjYS5cclxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3QsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IE1hdEJvdHRvbVNoZWV0LCBNYXRCb3R0b21TaGVldE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZXInO1xyXG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcclxuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFJlc2l6YWJsZU1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItcmVzaXphYmxlLWVsZW1lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5cclxuaW1wb3J0ICdxdWlsbCc7XHJcbmltcG9ydCB7IFFVSUxMX0NPTkZJR19UT0tFTiwgUXVpbGxNb2R1bGUgfSBmcm9tICduZ3gtcXVpbGwnO1xyXG5pbXBvcnQgeyBDb2xvckNocm9tZU1vZHVsZSB9IGZyb20gJ25neC1jb2xvci9jaHJvbWUnO1xyXG5cclxuaW1wb3J0IHsgSUZvclJvb3RDb25mIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBQQl9DT05GSUcsIFBCX1RFTVBMQVRFU19URU1QT1JBUllfU1RPUkFHRSB9IGZyb20gJy4vdG9rZW5zL3Rva2Vucyc7XHJcbmltcG9ydCB7IFN0cnVjdHVyZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvc3RydWN0dXJlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBiRW1haWxCdWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9wYi1lbWFpbC1idWlsZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlJztcclxuXHJcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvdGV4dC1lbGVtZW50L3RleHQtZWxlbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNwYWNlckNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvc3BhY2VyL3NwYWNlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb2NpYWxDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3NvY2lhbC9zb2NpYWwuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IEJ1aWxkZXJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGRlci1jb250YWluZXIvYnVpbGRlci1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9udFN0eWxlc0NvbXBvbmVudCB9IGZyb20gJy4vZ3JvdXBzL2ZvbnQtc3R5bGVzJztcclxuaW1wb3J0IHsgUGFkZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vZ3JvdXBzL3BhZGRpbmcnO1xyXG5pbXBvcnQgeyBMaW5lSGVpZ2h0Q29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvbGluZS1oZWlnaHQnO1xyXG5pbXBvcnQgeyBXaWR0aEhlaWdodENvbXBvbmVudCB9IGZyb20gJy4vZ3JvdXBzL3dpZHRoLWhlaWdodCc7XHJcbmltcG9ydCB7IEJvcmRlckNvbXBvbmVudCB9IGZyb20gJy4vZ3JvdXBzL2JvcmRlcic7XHJcbmltcG9ydCB7IENvbG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvY29sb3InO1xyXG5pbXBvcnQgeyBMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvbGluayc7XHJcbmltcG9ydCB7IEFsaWduQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvYWxpZ24nO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy9kaXJlY3Rpb24nO1xyXG5pbXBvcnQgeyBCYWNrUmVwYXRDb21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy9iYWNrLXJlcGVhdCc7XHJcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByZXZpZXdUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcmV2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBiRW1haWxCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vcGItZW1haWwtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmxvY2tDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYmxvY2svYmxvY2suY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW1hZ2VVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy91cGxvYWQtaW1hZ2UnO1xyXG5pbXBvcnQgeyBCbG9ja1NldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Jsb2NrLXNldHRpbmdzL2Jsb2NrLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0cnVjdHVyZVNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N0cnVjdHVyZS1zZXR0aW5ncy9zdHJ1Y3R1cmUtc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2VuZXJhbFNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyYWwtc2V0dGluZ3MvZ2VuZXJhbC1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXJnaW5Db21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy9tYXJnaW4nO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZUxpc3REaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVtcGxhdGUtbGlzdC1kaWFsb2cvdGVtcGxhdGUtbGlzdC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2Fwc0NvbXBvbmVudCB9IGZyb20gJy4vZ3JvdXBzL2dhcHMnO1xyXG5cclxuaW1wb3J0IHsgU2x1Z2lmeVBpcGUgfSBmcm9tICcuL3BpcGVzL3NsdWdpZnkucGlwZSc7XHJcblxyXG5pbXBvcnQgeyBGcmVlVXNlcnNNaWRkbGV3YXJlLCBQYWlkVXNlcnNNaWRkbGV3YXJlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLW1pZGRsZXdhcmUtc2VydmljZSc7XHJcbmltcG9ydCB7IEZyZWVVc2Vyc0ltYWdlVXBsb2FkZXIsIFBhaWRVc2Vyc0ltYWdlVXBsb2FkZXIgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXItaW1hZ2UtdXBsb2FkZXItc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBQYlVzZXJNaWRkbGV3YXJlc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXItbWlkZGxld2FyZS1zZXJ2aWNlL3BiLW1pZGRsZXdhcmVzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYlVzZXJJbWFnZVVwbG9hZGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXNlci1pbWFnZS11cGxvYWRlci1zZXJ2aWNlL3VzZXItaW1hZ2UtdXBsb2FkZXIuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBJcEludGVyY2VwdG9ySW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9ycy9wYi1pbnRlcmNlcHRvci5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IEltcG9ydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbXBvcnQtZGlhbG9nL2ltcG9ydC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBsb2FkQm90dG9tU2hlZXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXItaW1hZ2UtdXBsb2FkZXItc2VydmljZS91cGxvYWQtYm90dG9tLXNoZWV0LWRpYWxvZy91cGxvYWQtYm90dG9tLXNoZWV0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVcGxvYWRJbWFnZUdhbGxlcnlDb21wb25lbnQgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXItaW1hZ2UtdXBsb2FkZXItc2VydmljZS91cGxvYWQtaW1hZ2UtZ2FsbGVyeS91cGxvYWQtaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgTElCUkFSWV9JU19QUk8gfSBmcm9tICcuL3Rva2Vucy9wcml2YXRlLXRva2Vucyc7XHJcbmltcG9ydCB7IFBiVXNlckludGVyZmFjZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2ludGVybmFscy91c2VyLWludGVyZmFjZXMvdXNlci1pbnRlcmZhY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2ludGVybmFscy9wYi1lbWFpbC1vYmplY3Qtc3RvcmUvcGItZW1haWwtb2JqZWN0LXN0b3JlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGcmVlVXNlcnNSZXN0QXBpIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLXJlc3QtYXBpLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGcmVlVXNlcnNQYlN0b3JhZ2UgfSBmcm9tICcuL3NlcnZpY2VzL3BiLXN0b3JhZ2UnO1xyXG5pbXBvcnQgeyBQYlN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wYi1zdG9yYWdlL3BiLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFBiVXNlclJlc3RBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLXJlc3QtYXBpLXNlcnZpY2UvdXNlci1yZXN0LWFwaS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgJ0Bhbmd1bGFyL2xvY2FsaXplL2luaXQnO1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKiBAcGFyYW0gaHR0cFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUN1c3RvbVJlc3RBcGlTZXJ2aWNlKGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICByZXR1cm4gbmV3IEZyZWVVc2Vyc1Jlc3RBcGkoaHR0cCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICogQHBhcmFtIGxpYnJhcnlJc1Byb0VudlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVVzZXJNaWRkbGV3YXJlU2VydmljZShsaWJyYXJ5SXNQcm9FbnY6IGJvb2xlYW4pIHtcclxuICBpZiAoIWxpYnJhcnlJc1Byb0Vudikge1xyXG4gICAgcmV0dXJuIG5ldyBGcmVlVXNlcnNNaWRkbGV3YXJlKCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBuZXcgUGFpZFVzZXJzTWlkZGxld2FyZSgpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKiBAcGFyYW0gdGVtcGxhdGVTdG9yYWdlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVXNlcnNJcFN0b3JhZ2UodGVtcGxhdGVTdG9yYWdlOiBTdG9yYWdlKSB7XHJcbiAgcmV0dXJuIG5ldyBGcmVlVXNlcnNQYlN0b3JhZ2UodGVtcGxhdGVTdG9yYWdlKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKiBAcGFyYW0gbGlicmFyeUlzUHJvRW52XHJcbiAqIEBwYXJhbSBtYXRCb3R0b21TaGVldFxyXG4gKiBAcGFyYW0gbWF0RGlhbG9nXHJcbiAqIEBwYXJhbSB1c2VyTWlkZGxld2FyZVxyXG4gKiBAcGFyYW0gdXNlclJlc3RBcGlcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVc2VyVXBsb2FkZXJTZXJ2aWNlKFxyXG4gIGxpYnJhcnlJc1Byb0VudjogYm9vbGVhbixcclxuICBtYXRCb3R0b21TaGVldDogTWF0Qm90dG9tU2hlZXQsXHJcbiAgbWF0RGlhbG9nOiBNYXREaWFsb2csXHJcbiAgdXNlck1pZGRsZXdhcmU6IFBiVXNlck1pZGRsZXdhcmVzU2VydmljZSxcclxuICB1c2VyUmVzdEFwaTogUGJVc2VyUmVzdEFwaVNlcnZpY2VcclxuKSB7XHJcbiAgaWYgKCFsaWJyYXJ5SXNQcm9FbnYpIHtcclxuICAgIHJldHVybiBuZXcgRnJlZVVzZXJzSW1hZ2VVcGxvYWRlcihtYXRCb3R0b21TaGVldCwgdXNlck1pZGRsZXdhcmUpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gbmV3IFBhaWRVc2Vyc0ltYWdlVXBsb2FkZXIobWF0RGlhbG9nLCB1c2VyTWlkZGxld2FyZSwgdXNlclJlc3RBcGkpO1xyXG4gIH1cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgUXVpbGxNb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIENvbG9yQ2hyb21lTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG5cclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICBNYXRTbGlkZXJNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRTaWRlbmF2TW9kdWxlLFxyXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRCb3R0b21TaGVldE1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXHJcbiAgICBSZXNpemFibGVNb2R1bGUsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBQb3J0YWxNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUGJFbWFpbEJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBTdHJ1Y3R1cmVDb21wb25lbnQsXHJcbiAgICBCbG9ja0NvbXBvbmVudCxcclxuICAgIER5bmFtaWNDb21wb25lbnREaXJlY3RpdmUsXHJcbiAgICBQcmV2aWV3VGVtcGxhdGVDb21wb25lbnQsXHJcblxyXG4gICAgVGV4dEVsZW1lbnRDb21wb25lbnQsXHJcbiAgICBJbWFnZUNvbXBvbmVudCxcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIERpdmlkZXJDb21wb25lbnQsXHJcbiAgICBTcGFjZXJDb21wb25lbnQsXHJcbiAgICBTb2NpYWxDb21wb25lbnQsXHJcblxyXG4gICAgQnVpbGRlckNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIEZvbnRTdHlsZXNDb21wb25lbnQsXHJcbiAgICBQYWRkaW5nQ29tcG9uZW50LFxyXG4gICAgTWFyZ2luQ29tcG9uZW50LFxyXG4gICAgR2Fwc0NvbXBvbmVudCxcclxuICAgIExpbmVIZWlnaHRDb21wb25lbnQsXHJcbiAgICBXaWR0aEhlaWdodENvbXBvbmVudCxcclxuICAgIEJvcmRlckNvbXBvbmVudCxcclxuICAgIENvbG9yQ29tcG9uZW50LFxyXG4gICAgTGlua0NvbXBvbmVudCxcclxuICAgIEFsaWduQ29tcG9uZW50LFxyXG4gICAgRGlyZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgQmFja1JlcGF0Q29tcG9uZW50LFxyXG4gICAgQ29uZmlybURpYWxvZ0NvbXBvbmVudCxcclxuICAgIEltYWdlVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgQmxvY2tTZXR0aW5nc0NvbXBvbmVudCxcclxuICAgIFN0cnVjdHVyZVNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgR2VuZXJhbFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgVXBsb2FkQm90dG9tU2hlZXREaWFsb2dDb21wb25lbnQsXHJcbiAgICBVcGxvYWRJbWFnZUdhbGxlcnlDb21wb25lbnQsXHJcbiAgICBUZW1wbGF0ZUxpc3REaWFsb2dDb21wb25lbnQsXHJcbiAgICBTbHVnaWZ5UGlwZSxcclxuICAgIEltcG9ydERpYWxvZ0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1BiRW1haWxCdWlsZGVyQ29tcG9uZW50LCBQcmV2aWV3VGVtcGxhdGVDb21wb25lbnQsIFNsdWdpZnlQaXBlXSxcclxuICBlbnRyeUNvbXBvbmVudHM6IFtcclxuICAgIFRleHRFbGVtZW50Q29tcG9uZW50LFxyXG4gICAgSW1hZ2VDb21wb25lbnQsXHJcbiAgICBCdXR0b25Db21wb25lbnQsXHJcbiAgICBEaXZpZGVyQ29tcG9uZW50LFxyXG4gICAgU3BhY2VyQ29tcG9uZW50LFxyXG4gICAgU29jaWFsQ29tcG9uZW50LFxyXG4gICAgQ29uZmlybURpYWxvZ0NvbXBvbmVudCxcclxuICAgIFVwbG9hZEJvdHRvbVNoZWV0RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVXBsb2FkSW1hZ2VHYWxsZXJ5Q29tcG9uZW50LFxyXG4gICAgVGVtcGxhdGVMaXN0RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgSW1wb3J0RGlhbG9nQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogUVVJTExfQ09ORklHX1RPS0VOLFxyXG4gICAgICB1c2VWYWx1ZToge1xyXG4gICAgICAgIGJvdW5kczogJ3BiLWJ1aWxkZXItY29udGFpbmVyJyxcclxuICAgICAgICB0aGVtZTogJ2J1YmJsZScsXHJcbiAgICAgICAgZm9ybWF0OiAnaHRtbCcsXHJcbiAgICAgICAgdHJhY2tDaGFuZ2VzOiAnYWxsJyxcclxuICAgICAgICBzdXBwcmVzc0dsb2JhbFJlZ2lzdGVyV2FybmluZzogdHJ1ZVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IElwSW50ZXJjZXB0b3JJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcclxuICAgIC8vIHsgcHJvdmlkZTogUEJfQkxPQ0tfRUxFTUVOVCwgdXNlQ2xhc3M6IFRleHRCbG9jaywgbXVsdGk6IHRydWUgfSxcclxuICAgIFBiRW1haWxCdWlsZGVyU2VydmljZSxcclxuICAgIFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UsXHJcbiAgICBQYlVzZXJJbnRlcmZhY2VTZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGJFbWFpbEJ1aWxkZXJNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcGJNaWRkbGV3YXJlc1NlcnZpY2U6IFBiVXNlck1pZGRsZXdhcmVzU2VydmljZSxcclxuICAgIHVzZXJJbWFnZVVwbG9hZGVyOiBQYlVzZXJJbWFnZVVwbG9hZGVyU2VydmljZSxcclxuICAgIEBJbmplY3QoTElCUkFSWV9JU19QUk8pIGxpYnJhcnlJc1BybzogYm9vbGVhblxyXG4gICkge1xyXG4gICAgaWYgKCFsaWJyYXJ5SXNQcm8gJiYgIShwYk1pZGRsZXdhcmVzU2VydmljZSBpbnN0YW5jZW9mIEZyZWVVc2Vyc01pZGRsZXdhcmUpKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVXBncmFkZSB0byBhbiBFeHRlbmRlZCBvciBDb21tZXJjaWFsIExpY2Vuc2UgdG8gdXNlIEN1c3RvbSBNaWRkbGV3YXJlcy4nKTtcclxuICAgIH1cclxuICAgIGlmICghbGlicmFyeUlzUHJvICYmICEodXNlckltYWdlVXBsb2FkZXIgaW5zdGFuY2VvZiBGcmVlVXNlcnNJbWFnZVVwbG9hZGVyKSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VwZ3JhZGUgdG8gYW4gRXh0ZW5kZWQgb3IgQ29tbWVyY2lhbCBMaWNlbnNlIHRvIHVzZSBDdXN0b20gSW1hZ2UgVXBsb2FkZXIuJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVwcmVjYXRlZCB1c2UgUGJFbWFpbEJ1aWxkZXJNb2R1bGUud2l0aENvbmZpZyh1c2VyQ29uZmlnKSBpbnN0ZWFkXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgc3RhdGljIGZvclJvb3QodXNlckNvbmZpZzogSUZvclJvb3RDb25mID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBiRW1haWxCdWlsZGVyTW9kdWxlPiB7XHJcbiAgICByZXR1cm4gUGJFbWFpbEJ1aWxkZXJNb2R1bGUud2l0aENvbmZpZyh1c2VyQ29uZmlnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcG9ydCBtb2R1bGUgd2l0aCBjb25maWd1cmF0aW9uc1xyXG4gICAqIEBwYXJhbSB1c2VyQ29uZmlnIENvbmZpZ3VyYXRpb25zXHJcbiAgICovXHJcbiAgc3RhdGljIHdpdGhDb25maWcodXNlckNvbmZpZzogSUZvclJvb3RDb25mID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBiRW1haWxCdWlsZGVyTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogUGJFbWFpbEJ1aWxkZXJNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFBiRW1haWxCdWlsZGVyU2VydmljZSxcclxuICAgICAgICBQYkVtYWlsT2JqZWN0U3RvcmVTZXJ2aWNlLFxyXG4gICAgICAgIFBiVXNlckludGVyZmFjZVNlcnZpY2UsXHJcbiAgICAgICAgeyBwcm92aWRlOiBQQl9DT05GSUcsIHVzZVZhbHVlOiB1c2VyQ29uZmlnIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogUGJVc2VyTWlkZGxld2FyZXNTZXJ2aWNlLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogY3JlYXRlVXNlck1pZGRsZXdhcmVTZXJ2aWNlLFxyXG4gICAgICAgICAgZGVwczogW0xJQlJBUllfSVNfUFJPXVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogUGJTdG9yYWdlU2VydmljZSxcclxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZVVzZXJzSXBTdG9yYWdlLFxyXG4gICAgICAgICAgZGVwczogW1BCX1RFTVBMQVRFU19URU1QT1JBUllfU1RPUkFHRV1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFBiVXNlckltYWdlVXBsb2FkZXJTZXJ2aWNlLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogY3JlYXRlVXNlclVwbG9hZGVyU2VydmljZSxcclxuICAgICAgICAgIGRlcHM6IFtMSUJSQVJZX0lTX1BSTywgTWF0Qm90dG9tU2hlZXQsIE1hdERpYWxvZywgUGJVc2VyTWlkZGxld2FyZXNTZXJ2aWNlLCBQYlVzZXJSZXN0QXBpU2VydmljZV1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFBiVXNlclJlc3RBcGlTZXJ2aWNlLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogY3JlYXRlQ3VzdG9tUmVzdEFwaVNlcnZpY2UsXHJcbiAgICAgICAgICBkZXBzOiBbSHR0cENsaWVudF1cclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|