@snabcentr/client-ui 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/catalog/input-quantity/sc-input-quantity.component.d.ts +2 -2
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +3 -3
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +3 -3
- package/esm2022/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +3 -3
- package/esm2022/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +3 -3
- package/esm2022/catalog/categories-list/sc-categories-list.component.mjs +3 -3
- package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +7 -7
- package/esm2022/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +3 -3
- package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +3 -3
- package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +3 -3
- package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +3 -3
- package/esm2022/files/services/tree-icon.service.mjs +6 -6
- package/esm2022/icons/sc-client-ui-icons-name.mjs +69 -86
- package/esm2022/order/order-item-mobile/order-item-mobile.component.mjs +3 -3
- package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +3 -3
- package/esm2022/samples/ask-to-sample-form/sc-ask-to-sample-form.component.mjs +3 -3
- package/esm2022/share-button/sc-share-button.component.mjs +3 -3
- package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +3 -3
- package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +3 -3
- package/esm2022/user/user-managers/sc-user-managers.component.mjs +3 -3
- package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +3 -3
- package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +3 -3
- package/fesm2022/snabcentr-client-ui.mjs +115 -132
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/icons/svg-pack/application.svg +3 -0
- package/icons/svg-pack/back.svg +4 -0
- package/icons/svg-pack/bag.svg +3 -0
- package/icons/svg-pack/banknote-arrow-in-top.svg +3 -0
- package/icons/svg-pack/catalog/aluminum-systems.svg +9 -0
- package/icons/svg-pack/catalog/arm-profile.svg +3 -0
- package/icons/svg-pack/catalog/batten.svg +4 -0
- package/icons/svg-pack/catalog/brusbox.svg +3 -0
- package/icons/svg-pack/catalog/canopy.svg +3 -0
- package/icons/svg-pack/catalog/configurator.svg +3 -0
- package/icons/svg-pack/catalog/door-accessorie.svg +3 -0
- package/icons/svg-pack/catalog/drainage-system.svg +3 -0
- package/icons/svg-pack/catalog/fastener.svg +3 -0
- package/icons/svg-pack/catalog/fixing-impost.svg +6 -0
- package/icons/svg-pack/catalog/flask.svg +3 -0
- package/icons/svg-pack/catalog/foam-balloon.svg +3 -0
- package/icons/svg-pack/catalog/foam.svg +6 -0
- package/icons/svg-pack/catalog/glue.svg +5 -0
- package/icons/svg-pack/catalog/handle.svg +6 -0
- package/icons/svg-pack/catalog/instrument.svg +3 -0
- package/icons/svg-pack/catalog/kve-profile.svg +5 -0
- package/icons/svg-pack/catalog/mosquito-net.svg +3 -0
- package/icons/svg-pack/catalog/mounting-accessories.svg +3 -0
- package/icons/svg-pack/catalog/net-order.svg +4 -0
- package/icons/svg-pack/catalog/panel-1.svg +7 -0
- package/icons/svg-pack/catalog/panel.svg +3 -0
- package/icons/svg-pack/catalog/profile-plastic.svg +3 -0
- package/icons/svg-pack/catalog/promo-materials.svg +6 -0
- package/icons/svg-pack/catalog/psul.svg +3 -0
- package/icons/svg-pack/catalog/rehau-profile.svg +6 -0
- package/icons/svg-pack/catalog/sandwich-plastic.svg +3 -0
- package/icons/svg-pack/catalog/sealer.svg +3 -0
- package/icons/svg-pack/catalog/siding-2.svg +6 -0
- package/icons/svg-pack/catalog/siding.svg +3 -0
- package/icons/svg-pack/catalog/start-finish-profile.svg +4 -0
- package/icons/svg-pack/catalog/steam-waterproofing.svg +4 -0
- package/icons/svg-pack/catalog/stiz.svg +4 -0
- package/icons/svg-pack/catalog/thermometer.svg +3 -0
- package/icons/svg-pack/catalog/windowsill.svg +7 -0
- package/icons/svg-pack/chart-column-plus.svg +3 -0
- package/icons/svg-pack/circle-arrow-in-right.svg +3 -0
- package/icons/svg-pack/contacts.svg +3 -0
- package/icons/svg-pack/file-p.svg +4 -0
- package/icons/svg-pack/file-search.svg +3 -0
- package/icons/svg-pack/file-w.svg +4 -0
- package/icons/svg-pack/file-x.svg +3 -0
- package/icons/svg-pack/img/copy.svg +5 -0
- package/icons/svg-pack/img/email.svg +5 -0
- package/icons/svg-pack/img/facebook.svg +4 -0
- package/icons/svg-pack/img/instagram.svg +25 -0
- package/icons/svg-pack/img/qr-code.svg +4 -0
- package/icons/svg-pack/img/telegram.svg +12 -0
- package/icons/svg-pack/img/viber.svg +8 -0
- package/icons/svg-pack/img/vk.svg +4 -0
- package/icons/svg-pack/img/whatsapp.svg +4 -0
- package/icons/svg-pack/instagram.svg +6 -0
- package/icons/svg-pack/layout-list-tree.svg +7 -0
- package/icons/svg-pack/list.svg +3 -0
- package/icons/svg-pack/reclamation.svg +3 -0
- package/icons/svg-pack/send.svg +3 -0
- package/icons/svg-pack/solid/facebook.svg +4 -0
- package/icons/svg-pack/solid/instagram.svg +5 -0
- package/icons/svg-pack/solid/telegram.svg +4 -0
- package/icons/svg-pack/solid/vk-rounded.svg +4 -0
- package/icons/svg-pack/solid/vk.svg +4 -0
- package/icons/svg-pack/solid/whatsapp.svg +3 -0
- package/icons/svg-pack/telegram.svg +5 -0
- package/icons/svg-pack/vk.svg +5 -0
- package/icons/svg-pack/whatsapp.svg +3 -0
- package/package.json +7 -9
- package/styles/taiga/taiga-tailwind-preset.js +163 -114
- package/styles/taiga/variables.less +4 -13
- package/styles/tailwind/tailwind.scss +139 -138
- package/icons/svg-pack/scIconAddProfile.svg +0 -11
- package/icons/svg-pack/scIconApplication.svg +0 -11
- package/icons/svg-pack/scIconArrowForward.svg +0 -11
- package/icons/svg-pack/scIconArrowLargeEnd.svg +0 -12
- package/icons/svg-pack/scIconArrowLargeStart.svg +0 -12
- package/icons/svg-pack/scIconArrowReturn.svg +0 -11
- package/icons/svg-pack/scIconAttention.svg +0 -11
- package/icons/svg-pack/scIconBag.svg +0 -11
- package/icons/svg-pack/scIconBell.svg +0 -11
- package/icons/svg-pack/scIconBook.svg +0 -11
- package/icons/svg-pack/scIconCalendar.svg +0 -11
- package/icons/svg-pack/scIconCanopy.svg +0 -12
- package/icons/svg-pack/scIconCart.svg +0 -11
- package/icons/svg-pack/scIconCatalogBack.svg +0 -12
- package/icons/svg-pack/scIconClients.svg +0 -11
- package/icons/svg-pack/scIconClock.svg +0 -11
- package/icons/svg-pack/scIconConfigurator.svg +0 -18
- package/icons/svg-pack/scIconContacts.svg +0 -11
- package/icons/svg-pack/scIconDeleteProfile.svg +0 -12
- package/icons/svg-pack/scIconEdit.svg +0 -11
- package/icons/svg-pack/scIconError.svg +0 -12
- package/icons/svg-pack/scIconExcelFile.svg +0 -11
- package/icons/svg-pack/scIconFastener.svg +0 -11
- package/icons/svg-pack/scIconFavorite.svg +0 -11
- package/icons/svg-pack/scIconFavoriteFill.svg +0 -11
- package/icons/svg-pack/scIconFile.svg +0 -11
- package/icons/svg-pack/scIconFilter.svg +0 -11
- package/icons/svg-pack/scIconFoam.svg +0 -11
- package/icons/svg-pack/scIconFoamBalloon.svg +0 -13
- package/icons/svg-pack/scIconFolder.svg +0 -11
- package/icons/svg-pack/scIconFolderOpen.svg +0 -11
- package/icons/svg-pack/scIconGraph.svg +0 -11
- package/icons/svg-pack/scIconHeart.svg +0 -11
- package/icons/svg-pack/scIconHeartFill.svg +0 -11
- package/icons/svg-pack/scIconHistory.svg +0 -11
- package/icons/svg-pack/scIconHome.svg +0 -12
- package/icons/svg-pack/scIconList.svg +0 -11
- package/icons/svg-pack/scIconLock.svg +0 -11
- package/icons/svg-pack/scIconLockOpen.svg +0 -11
- package/icons/svg-pack/scIconLogIn.svg +0 -11
- package/icons/svg-pack/scIconMail.svg +0 -11
- package/icons/svg-pack/scIconMoney.svg +0 -11
- package/icons/svg-pack/scIconMosquitoNet.svg +0 -11
- package/icons/svg-pack/scIconNews.svg +0 -11
- package/icons/svg-pack/scIconOffer.svg +0 -11
- package/icons/svg-pack/scIconPalette.svg +0 -18
- package/icons/svg-pack/scIconPdfFile.svg +0 -12
- package/icons/svg-pack/scIconPercentage.svg +0 -11
- package/icons/svg-pack/scIconPlasticProfile.svg +0 -11
- package/icons/svg-pack/scIconPrice.svg +0 -11
- package/icons/svg-pack/scIconProfile.svg +0 -11
- package/icons/svg-pack/scIconPromoMaterials.svg +0 -14
- package/icons/svg-pack/scIconQRCodeScan.svg +0 -18
- package/icons/svg-pack/scIconReclamation.svg +0 -11
- package/icons/svg-pack/scIconRepeat.svg +0 -11
- package/icons/svg-pack/scIconRequisites.svg +0 -11
- package/icons/svg-pack/scIconRocket.svg +0 -18
- package/icons/svg-pack/scIconSandwich.svg +0 -15
- package/icons/svg-pack/scIconSandwichPanels.svg +0 -11
- package/icons/svg-pack/scIconSave.svg +0 -11
- package/icons/svg-pack/scIconSearch.svg +0 -12
- package/icons/svg-pack/scIconSend.svg +0 -11
- package/icons/svg-pack/scIconShare.svg +0 -15
- package/icons/svg-pack/scIconSiding.svg +0 -14
- package/icons/svg-pack/scIconSmile.svg +0 -14
- package/icons/svg-pack/scIconSocialCopy.svg +0 -13
- package/icons/svg-pack/scIconSocialEmail.svg +0 -13
- package/icons/svg-pack/scIconSocialFacebook.svg +0 -12
- package/icons/svg-pack/scIconSocialInstagram.svg +0 -33
- package/icons/svg-pack/scIconSocialQR.svg +0 -12
- package/icons/svg-pack/scIconSocialTelegram.svg +0 -20
- package/icons/svg-pack/scIconSocialViber.svg +0 -16
- package/icons/svg-pack/scIconSocialVk.svg +0 -12
- package/icons/svg-pack/scIconSocialWhatsapp.svg +0 -12
- package/icons/svg-pack/scIconStar.svg +0 -11
- package/icons/svg-pack/scIconSuitcase.svg +0 -11
- package/icons/svg-pack/scIconTasks.svg +0 -11
- package/icons/svg-pack/scIconTemplates.svg +0 -11
- package/icons/svg-pack/scIconTop.svg +0 -11
- package/icons/svg-pack/scIconViewInline.svg +0 -11
- package/icons/svg-pack/scIconViewTree.svg +0 -15
- package/icons/svg-pack/scIconWallet.svg +0 -11
- package/icons/svg-pack/scIconWarning.svg +0 -11
- package/icons/svg-pack/scIconWindowsill.svg +0 -15
- package/icons/svg-pack/scIconWordFile.svg +0 -12
@@ -2,90 +2,73 @@
|
|
2
2
|
* Список иконок.
|
3
3
|
*/
|
4
4
|
export const scClientUiIconsName = [
|
5
|
-
'
|
6
|
-
'
|
7
|
-
'
|
8
|
-
'
|
9
|
-
'
|
10
|
-
'
|
11
|
-
'
|
12
|
-
'
|
13
|
-
'
|
14
|
-
'
|
15
|
-
'
|
16
|
-
'
|
17
|
-
'
|
18
|
-
'
|
19
|
-
'
|
20
|
-
'
|
21
|
-
'
|
22
|
-
'
|
23
|
-
'
|
24
|
-
'
|
25
|
-
'
|
26
|
-
'
|
27
|
-
'
|
28
|
-
'
|
29
|
-
'
|
30
|
-
'
|
31
|
-
'
|
32
|
-
'
|
33
|
-
'
|
34
|
-
'
|
35
|
-
'
|
36
|
-
'
|
37
|
-
'
|
38
|
-
'
|
39
|
-
'
|
40
|
-
'
|
41
|
-
'
|
42
|
-
'
|
43
|
-
'
|
44
|
-
'
|
45
|
-
'
|
46
|
-
'
|
47
|
-
'
|
48
|
-
'
|
49
|
-
'
|
50
|
-
'
|
51
|
-
'
|
52
|
-
'
|
53
|
-
'
|
54
|
-
'
|
55
|
-
'
|
56
|
-
'
|
57
|
-
'
|
58
|
-
'
|
59
|
-
'
|
60
|
-
'
|
61
|
-
'
|
62
|
-
'
|
63
|
-
'
|
64
|
-
'
|
65
|
-
'
|
66
|
-
'
|
67
|
-
'
|
68
|
-
'
|
69
|
-
'
|
70
|
-
'
|
71
|
-
'
|
72
|
-
'
|
73
|
-
'scIconConfigurator',
|
74
|
-
'scIconClock',
|
75
|
-
'scIconClients',
|
76
|
-
'scIconCatalogBack',
|
77
|
-
'scIconCart',
|
78
|
-
'scIconCanopy',
|
79
|
-
'scIconCalendar',
|
80
|
-
'scIconBook',
|
81
|
-
'scIconBell',
|
82
|
-
'scIconBag',
|
83
|
-
'scIconAttention',
|
84
|
-
'scIconArrowReturn',
|
85
|
-
'scIconArrowLargeStart',
|
86
|
-
'scIconArrowLargeEnd',
|
87
|
-
'scIconArrowForward',
|
88
|
-
'scIconApplication',
|
89
|
-
'scIconAddProfile'
|
5
|
+
'application',
|
6
|
+
'back',
|
7
|
+
'bag',
|
8
|
+
'banknote-arrow-in-top',
|
9
|
+
'chart-column-plus',
|
10
|
+
'circle-arrow-in-right',
|
11
|
+
'contacts',
|
12
|
+
'file-p',
|
13
|
+
'file-search',
|
14
|
+
'file-w',
|
15
|
+
'file-x',
|
16
|
+
'instagram',
|
17
|
+
'layout-list-tree',
|
18
|
+
'list',
|
19
|
+
'reclamation',
|
20
|
+
'send',
|
21
|
+
'telegram',
|
22
|
+
'vk',
|
23
|
+
'whatsapp',
|
24
|
+
'catalog.aluminum-systems',
|
25
|
+
'catalog.arm-profile',
|
26
|
+
'catalog.batten',
|
27
|
+
'catalog.brusbox',
|
28
|
+
'catalog.canopy',
|
29
|
+
'catalog.configurator',
|
30
|
+
'catalog.door-accessorie',
|
31
|
+
'catalog.drainage-system',
|
32
|
+
'catalog.fastener',
|
33
|
+
'catalog.fixing-impost',
|
34
|
+
'catalog.flask',
|
35
|
+
'catalog.foam-balloon',
|
36
|
+
'catalog.foam',
|
37
|
+
'catalog.glue',
|
38
|
+
'catalog.handle',
|
39
|
+
'catalog.instrument',
|
40
|
+
'catalog.kve-profile',
|
41
|
+
'catalog.mosquito-net',
|
42
|
+
'catalog.mounting-accessories',
|
43
|
+
'catalog.net-order',
|
44
|
+
'catalog.panel-1',
|
45
|
+
'catalog.panel',
|
46
|
+
'catalog.profile-plastic',
|
47
|
+
'catalog.promo-materials',
|
48
|
+
'catalog.psul',
|
49
|
+
'catalog.rehau-profile',
|
50
|
+
'catalog.sandwich-plastic',
|
51
|
+
'catalog.sealer',
|
52
|
+
'catalog.siding',
|
53
|
+
'catalog.start-finish-profile',
|
54
|
+
'catalog.steam-waterproofing',
|
55
|
+
'catalog.stiz',
|
56
|
+
'catalog.thermometer',
|
57
|
+
'catalog.windowsill',
|
58
|
+
'img.email',
|
59
|
+
'img.facebook',
|
60
|
+
'img.instagram',
|
61
|
+
'img.qr-code',
|
62
|
+
'img.telegram',
|
63
|
+
'img.viber',
|
64
|
+
'img.vk',
|
65
|
+
'img.whatsapp',
|
66
|
+
'img.copy',
|
67
|
+
'solid.facebook',
|
68
|
+
'solid.instagram',
|
69
|
+
'solid.telegram',
|
70
|
+
'solid.vk-rounded',
|
71
|
+
'solid.vk',
|
72
|
+
'solid.whatsapp',
|
90
73
|
];
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2xpZW50LXVpLWljb25zLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvaWNvbnMvc2MtY2xpZW50LXVpLWljb25zLW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUMvQixhQUFhO0lBQ2IsTUFBTTtJQUNOLEtBQUs7SUFDTCx1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixVQUFVO0lBQ1YsUUFBUTtJQUNSLGFBQWE7SUFDYixRQUFRO0lBQ1IsUUFBUTtJQUNSLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLGFBQWE7SUFDYixNQUFNO0lBQ04sVUFBVTtJQUNWLElBQUk7SUFDSixVQUFVO0lBQ1YsMEJBQTBCO0lBQzFCLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsY0FBYztJQUNkLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsOEJBQThCO0lBQzlCLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLHlCQUF5QjtJQUN6Qix5QkFBeUI7SUFDekIsY0FBYztJQUNkLHVCQUF1QjtJQUN2QiwwQkFBMEI7SUFDMUIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQiw4QkFBOEI7SUFDOUIsNkJBQTZCO0lBQzdCLGNBQWM7SUFDZCxxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWCxjQUFjO0lBQ2QsZUFBZTtJQUNmLGFBQWE7SUFDYixjQUFjO0lBQ2QsV0FBVztJQUNYLFFBQVE7SUFDUixjQUFjO0lBQ2QsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsZ0JBQWdCO0NBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCh0L/QuNGB0L7QuiDQuNC60L7QvdC+0LouXG4gKi9cbmV4cG9ydCBjb25zdCBzY0NsaWVudFVpSWNvbnNOYW1lID0gW1xuICAgICdhcHBsaWNhdGlvbicsXG4gICAgJ2JhY2snLFxuICAgICdiYWcnLFxuICAgICdiYW5rbm90ZS1hcnJvdy1pbi10b3AnLFxuICAgICdjaGFydC1jb2x1bW4tcGx1cycsXG4gICAgJ2NpcmNsZS1hcnJvdy1pbi1yaWdodCcsXG4gICAgJ2NvbnRhY3RzJyxcbiAgICAnZmlsZS1wJyxcbiAgICAnZmlsZS1zZWFyY2gnLFxuICAgICdmaWxlLXcnLFxuICAgICdmaWxlLXgnLFxuICAgICdpbnN0YWdyYW0nLFxuICAgICdsYXlvdXQtbGlzdC10cmVlJyxcbiAgICAnbGlzdCcsXG4gICAgJ3JlY2xhbWF0aW9uJyxcbiAgICAnc2VuZCcsXG4gICAgJ3RlbGVncmFtJyxcbiAgICAndmsnLFxuICAgICd3aGF0c2FwcCcsXG4gICAgJ2NhdGFsb2cuYWx1bWludW0tc3lzdGVtcycsXG4gICAgJ2NhdGFsb2cuYXJtLXByb2ZpbGUnLFxuICAgICdjYXRhbG9nLmJhdHRlbicsXG4gICAgJ2NhdGFsb2cuYnJ1c2JveCcsXG4gICAgJ2NhdGFsb2cuY2Fub3B5JyxcbiAgICAnY2F0YWxvZy5jb25maWd1cmF0b3InLFxuICAgICdjYXRhbG9nLmRvb3ItYWNjZXNzb3JpZScsXG4gICAgJ2NhdGFsb2cuZHJhaW5hZ2Utc3lzdGVtJyxcbiAgICAnY2F0YWxvZy5mYXN0ZW5lcicsXG4gICAgJ2NhdGFsb2cuZml4aW5nLWltcG9zdCcsXG4gICAgJ2NhdGFsb2cuZmxhc2snLFxuICAgICdjYXRhbG9nLmZvYW0tYmFsbG9vbicsXG4gICAgJ2NhdGFsb2cuZm9hbScsXG4gICAgJ2NhdGFsb2cuZ2x1ZScsXG4gICAgJ2NhdGFsb2cuaGFuZGxlJyxcbiAgICAnY2F0YWxvZy5pbnN0cnVtZW50JyxcbiAgICAnY2F0YWxvZy5rdmUtcHJvZmlsZScsXG4gICAgJ2NhdGFsb2cubW9zcXVpdG8tbmV0JyxcbiAgICAnY2F0YWxvZy5tb3VudGluZy1hY2Nlc3NvcmllcycsXG4gICAgJ2NhdGFsb2cubmV0LW9yZGVyJyxcbiAgICAnY2F0YWxvZy5wYW5lbC0xJyxcbiAgICAnY2F0YWxvZy5wYW5lbCcsXG4gICAgJ2NhdGFsb2cucHJvZmlsZS1wbGFzdGljJyxcbiAgICAnY2F0YWxvZy5wcm9tby1tYXRlcmlhbHMnLFxuICAgICdjYXRhbG9nLnBzdWwnLFxuICAgICdjYXRhbG9nLnJlaGF1LXByb2ZpbGUnLFxuICAgICdjYXRhbG9nLnNhbmR3aWNoLXBsYXN0aWMnLFxuICAgICdjYXRhbG9nLnNlYWxlcicsXG4gICAgJ2NhdGFsb2cuc2lkaW5nJyxcbiAgICAnY2F0YWxvZy5zdGFydC1maW5pc2gtcHJvZmlsZScsXG4gICAgJ2NhdGFsb2cuc3RlYW0td2F0ZXJwcm9vZmluZycsXG4gICAgJ2NhdGFsb2cuc3RpeicsXG4gICAgJ2NhdGFsb2cudGhlcm1vbWV0ZXInLFxuICAgICdjYXRhbG9nLndpbmRvd3NpbGwnLFxuICAgICdpbWcuZW1haWwnLFxuICAgICdpbWcuZmFjZWJvb2snLFxuICAgICdpbWcuaW5zdGFncmFtJyxcbiAgICAnaW1nLnFyLWNvZGUnLFxuICAgICdpbWcudGVsZWdyYW0nLFxuICAgICdpbWcudmliZXInLFxuICAgICdpbWcudmsnLFxuICAgICdpbWcud2hhdHNhcHAnLFxuICAgICdpbWcuY29weScsXG4gICAgJ3NvbGlkLmZhY2Vib29rJyxcbiAgICAnc29saWQuaW5zdGFncmFtJyxcbiAgICAnc29saWQudGVsZWdyYW0nLFxuICAgICdzb2xpZC52ay1yb3VuZGVkJyxcbiAgICAnc29saWQudmsnLFxuICAgICdzb2xpZC53aGF0c2FwcCcsXG5dO1xuIl19
|
@@ -53,11 +53,11 @@ export class ScOrderItemMobileComponent {
|
|
53
53
|
return this.product?.getImage(this.urls.imgServerUrl) ?? this.urls.imgServerUrl + this.pathImageNotFound;
|
54
54
|
}
|
55
55
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScOrderItemMobileComponent, deps: [{ token: i1.ScUnitsHelper }, { token: TuiPreviewDialogService }, { token: SC_URLS }, { token: SC_PATH_IMAGE_NOT_FOUND }], target: i0.ɵɵFactoryTarget.Component }); }
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScOrderItemMobileComponent, selector: "sc-order-item-mobile", inputs: { orderItem: "orderItem" }, outputs: { clickCardEvent: "clickCardEvent", clickActionsEvent: "clickActionsEvent" }, viewQueries: [{ propertyName: "specificationPreviewRef", first: true, predicate: ["specificationPreview"], descendants: true }], ngImport: i0, template: "<div class=\"relative flex flex-wrap gap-x-4 gap-y-2 rounded-xl border border-tui-base-04 bg-white p-4 shadow-sc-2\">\n <ng-container *ngIf=\"orderItem && product; else skeleton\">\n <button\n tuiIconButton\n (click)=\"clickActionsEvent.emit()\"\n size=\"m\"\n iconStart=\"
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScOrderItemMobileComponent, selector: "sc-order-item-mobile", inputs: { orderItem: "orderItem" }, outputs: { clickCardEvent: "clickCardEvent", clickActionsEvent: "clickActionsEvent" }, viewQueries: [{ propertyName: "specificationPreviewRef", first: true, predicate: ["specificationPreview"], descendants: true }], ngImport: i0, template: "<div class=\"relative flex flex-wrap gap-x-4 gap-y-2 rounded-xl border border-tui-base-04 bg-white p-4 shadow-sc-2\">\n <ng-container *ngIf=\"orderItem && product; else skeleton\">\n <button\n tuiIconButton\n (click)=\"clickActionsEvent.emit()\"\n size=\"m\"\n iconStart=\"@tui.ellipsis-vertical\"\n appearance=\"float\"\n class=\"!absolute right-0 top-0 !hidden\"\n ></button>\n <div class=\"flex grow gap-2\">\n <div class=\"flex size-20 shrink-0 items-center justify-center overflow-hidden\">\n <img\n (click)=\"clickCardEvent.emit()\"\n [src]=\"getCardImage()\"\n [alt]=\"product.name\"\n [class.p-5]=\"!product.images?.length\"\n class=\"cursor-pointer\"\n />\n </div>\n\n <div class=\"flex grow flex-wrap gap-x-8 self-center\">\n <div class=\"flex grow basis-min-content flex-col\">\n <a\n tuiLink\n (click)=\"clickCardEvent.emit()\"\n >\n <span class=\"font-bold\">{{ product.name }}</span>\n </a>\n <div class=\"flex flex-col gap-y-0.5 text-xs text-tui-text-02\">\n <div class=\"flex flex-wrap gap-y-0.5\">\n <p class=\"w-40\">\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}</p>\n <p\n class=\"w-40\"\n *ngIf=\"product.pack\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n </p>\n </div>\n <a\n tuiLink\n *ngIf=\"orderItem.specificationImgUrl\"\n (click)=\"showSpecification()\"\n >\u0421\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F</a\n >\n <ng-template\n #specificationPreview\n let-preview\n >\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n >\n <img\n *polymorpheusOutlet=\"orderItem.specificationImgUrl as src\"\n alt=\"preview\"\n [src]=\"orderItem.specificationImgUrl\"\n />\n <button\n iconStart=\"@tui.x\"\n title=\"Close\"\n tuiIconButton\n tuiPreviewAction\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n </ng-template>\n </div>\n </div>\n <div class=\"flex flex-wrap content-center\">\n <div class=\"flex w-40 flex-col gap-x-8 gap-y-0.5\">\n <span\n *ngIf=\"product.discount\"\n class=\"flex items-center text-xs text-tui-text-02\"\n >\n <span class=\"line-through\">{{ product.discountCostString }}</span> \n <span class=\"font-bold text-tui-success-fill\"> -{{ product.discount.percent }}% </span>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <p class=\"flex flex-col items-baseline gap-x-2 font-bold\">\n <span>{{ product.costRubString }}</span>\n <span\n *ngIf=\"!product.priceInRub\"\n class=\"text-xs text-tui-text-02\"\n >{{ product.costString }}</span\n >\n </p>\n <sc-price-warehouse-stock\n [product]=\"product\"\n [fromMain]=\"false\"\n ></sc-price-warehouse-stock>\n </div>\n\n <div class=\"w-40 text-xs text-tui-text-02\">\n <ng-container *ngIf=\"orderItem.height; else length\">\n <p>\u0412\u044B\u0441\u043E\u0442\u0430: {{ orderItem.height }} \u043C.</p>\n </ng-container>\n <ng-template #length>\n <p *ngIf=\"orderItem.length\">\u0414\u043B\u0438\u043D\u0430: {{ orderItem.length }} \u043C.</p>\n </ng-template>\n <p *ngIf=\"orderItem.width\">\u0428\u0438\u0440\u0438\u043D\u0430: {{ orderItem.width }} \u043C.</p>\n <p class=\"text-sm text-tui-base-09\">\n \u0421\u0443\u043C\u043C\u0430: <span class=\"whitespace-nowrap font-bold\"> {{ orderItem.getCostRubStr() }} </span>\n </p>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-template #skeleton>\n <div class=\"flex w-full gap-2\">\n <div class=\"size-20 rounded-xl bg-tui-base-02\"></div>\n <div class=\"flex grow flex-col gap-2.5 bg-white\">\n <div class=\"h-4 w-full rounded-xl bg-tui-base-02\"></div>\n <div class=\"h-4 w-3/5 rounded-xl bg-tui-base-02\"></div>\n <div class=\"h-4 w-4/5 rounded-xl bg-tui-base-02\"></div>\n </div>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i3.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i4.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { kind: "directive", type: i4.TuiPreviewAction, selector: "[tuiPreviewAction]" }, { kind: "component", type: i5.ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint", "fromMain"] }, { kind: "directive", type: i6.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
57
57
|
}
|
58
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScOrderItemMobileComponent, decorators: [{
|
59
59
|
type: Component,
|
60
|
-
args: [{ selector: 'sc-order-item-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative flex flex-wrap gap-x-4 gap-y-2 rounded-xl border border-tui-base-04 bg-white p-4 shadow-sc-2\">\n <ng-container *ngIf=\"orderItem && product; else skeleton\">\n <button\n tuiIconButton\n (click)=\"clickActionsEvent.emit()\"\n size=\"m\"\n iconStart=\"
|
60
|
+
args: [{ selector: 'sc-order-item-mobile', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"relative flex flex-wrap gap-x-4 gap-y-2 rounded-xl border border-tui-base-04 bg-white p-4 shadow-sc-2\">\n <ng-container *ngIf=\"orderItem && product; else skeleton\">\n <button\n tuiIconButton\n (click)=\"clickActionsEvent.emit()\"\n size=\"m\"\n iconStart=\"@tui.ellipsis-vertical\"\n appearance=\"float\"\n class=\"!absolute right-0 top-0 !hidden\"\n ></button>\n <div class=\"flex grow gap-2\">\n <div class=\"flex size-20 shrink-0 items-center justify-center overflow-hidden\">\n <img\n (click)=\"clickCardEvent.emit()\"\n [src]=\"getCardImage()\"\n [alt]=\"product.name\"\n [class.p-5]=\"!product.images?.length\"\n class=\"cursor-pointer\"\n />\n </div>\n\n <div class=\"flex grow flex-wrap gap-x-8 self-center\">\n <div class=\"flex grow basis-min-content flex-col\">\n <a\n tuiLink\n (click)=\"clickCardEvent.emit()\"\n >\n <span class=\"font-bold\">{{ product.name }}</span>\n </a>\n <div class=\"flex flex-col gap-y-0.5 text-xs text-tui-text-02\">\n <div class=\"flex flex-wrap gap-y-0.5\">\n <p class=\"w-40\">\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}</p>\n <p\n class=\"w-40\"\n *ngIf=\"product.pack\"\n >\n \u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}\n </p>\n </div>\n <a\n tuiLink\n *ngIf=\"orderItem.specificationImgUrl\"\n (click)=\"showSpecification()\"\n >\u0421\u043F\u0435\u0446\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F</a\n >\n <ng-template\n #specificationPreview\n let-preview\n >\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n >\n <img\n *polymorpheusOutlet=\"orderItem.specificationImgUrl as src\"\n alt=\"preview\"\n [src]=\"orderItem.specificationImgUrl\"\n />\n <button\n iconStart=\"@tui.x\"\n title=\"Close\"\n tuiIconButton\n tuiPreviewAction\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n </tui-preview>\n </ng-template>\n </div>\n </div>\n <div class=\"flex flex-wrap content-center\">\n <div class=\"flex w-40 flex-col gap-x-8 gap-y-0.5\">\n <span\n *ngIf=\"product.discount\"\n class=\"flex items-center text-xs text-tui-text-02\"\n >\n <span class=\"line-through\">{{ product.discountCostString }}</span> \n <span class=\"font-bold text-tui-success-fill\"> -{{ product.discount.percent }}% </span>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <p class=\"flex flex-col items-baseline gap-x-2 font-bold\">\n <span>{{ product.costRubString }}</span>\n <span\n *ngIf=\"!product.priceInRub\"\n class=\"text-xs text-tui-text-02\"\n >{{ product.costString }}</span\n >\n </p>\n <sc-price-warehouse-stock\n [product]=\"product\"\n [fromMain]=\"false\"\n ></sc-price-warehouse-stock>\n </div>\n\n <div class=\"w-40 text-xs text-tui-text-02\">\n <ng-container *ngIf=\"orderItem.height; else length\">\n <p>\u0412\u044B\u0441\u043E\u0442\u0430: {{ orderItem.height }} \u043C.</p>\n </ng-container>\n <ng-template #length>\n <p *ngIf=\"orderItem.length\">\u0414\u043B\u0438\u043D\u0430: {{ orderItem.length }} \u043C.</p>\n </ng-template>\n <p *ngIf=\"orderItem.width\">\u0428\u0438\u0440\u0438\u043D\u0430: {{ orderItem.width }} \u043C.</p>\n <p class=\"text-sm text-tui-base-09\">\n \u0421\u0443\u043C\u043C\u0430: <span class=\"whitespace-nowrap font-bold\"> {{ orderItem.getCostRubStr() }} </span>\n </p>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-template #skeleton>\n <div class=\"flex w-full gap-2\">\n <div class=\"size-20 rounded-xl bg-tui-base-02\"></div>\n <div class=\"flex grow flex-col gap-2.5 bg-white\">\n <div class=\"h-4 w-full rounded-xl bg-tui-base-02\"></div>\n <div class=\"h-4 w-3/5 rounded-xl bg-tui-base-02\"></div>\n <div class=\"h-4 w-4/5 rounded-xl bg-tui-base-02\"></div>\n </div>\n </div>\n </ng-template>\n</div>\n" }]
|
61
61
|
}], ctorParameters: () => [{ type: i1.ScUnitsHelper }, { type: i4.TuiPreviewDialogService, decorators: [{
|
62
62
|
type: Inject,
|
63
63
|
args: [TuiPreviewDialogService]
|
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
77
77
|
}], clickActionsEvent: [{
|
78
78
|
type: Output
|
79
79
|
}] } });
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItaXRlbS1tb2JpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL29yZGVyL29yZGVyLWl0ZW0tbW9iaWxlL29yZGVyLWl0ZW0tbW9iaWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9vcmRlci1pdGVtLW1vYmlsZS9vcmRlci1pdGVtLW1vYmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBa0MsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBSXhEOztHQUVHO0FBTUgsTUFBTSxPQUFPLDBCQUEwQjtJQXlCbkM7Ozs7Ozs7T0FPRztJQUNILFlBQ29CLFdBQTBCLEVBRXpCLG9CQUE2QyxFQUM1QixJQUFhLEVBQ0csaUJBQXlCO1FBSjNELGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBRXpCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDNUIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQXpCL0U7O1dBRUc7UUFFSSxtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJFOztXQUVHO1FBRUksc0JBQWlCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFnQnJFLENBQUM7SUFFSjs7T0FFRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25GLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQzdHLENBQUM7OEdBNURRLDBCQUEwQiwrQ0FtQ3ZCLHVCQUF1QixhQUV2QixPQUFPLGFBQ1AsdUJBQXVCO2tHQXRDMUIsMEJBQTBCLHdUQ2Z2QyxrOE1BNkhBOzsyRkQ5R2EsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNJLHNCQUFzQixtQkFFZix1QkFBdUIsQ0FBQyxNQUFNOzswQkFxQzFDLE1BQU07MkJBQUMsdUJBQXVCOzswQkFFOUIsTUFBTTsyQkFBQyxPQUFPOzswQkFDZCxNQUFNOzJCQUFDLHVCQUF1Qjt5Q0FqQ2xCLHVCQUF1QjtzQkFEdkMsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBTzFCLFNBQVM7c0JBRGYsS0FBSztnQkFPQyxjQUFjO3NCQURwQixNQUFNO2dCQU9BLGlCQUFpQjtzQkFEdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTQ19QQVRIX0lNQUdFX05PVF9GT1VORCwgU0NfVVJMUywgU2NDYXJ0SXRlbSwgU2NJVXJscywgU2NQcm9kdWN0IH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlEaWFsb2dDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpUHJldmlld0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuaW1wb3J0IHsgU2NVbml0c0hlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvc2MtdW5pdHMtaGVscGVyJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LrQsNGA0YLQvtGH0LrQuCDRjdC70LXQvNC10L3RgtCwINC30LDQutCw0LfQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1vcmRlci1pdGVtLW1vYmlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL29yZGVyLWl0ZW0tbW9iaWxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NPcmRlckl0ZW1Nb2JpbGVDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INGB0L/QtdGG0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdzcGVjaWZpY2F0aW9uUHJldmlldycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBzcGVjaWZpY2F0aW9uUHJldmlld1JlZj86IFRlbXBsYXRlUmVmPFR1aURpYWxvZ0NvbnRleHQ+O1xuXG4gICAgLyoqXG4gICAgICog0K3Qu9C10LzQtdC90YIg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG9yZGVySXRlbT86IFNjQ2FydEl0ZW07XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQ2FyZEV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0LTQtdC50YHRgtCy0LjRjy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tBY3Rpb25zRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjT3JkZXJJdGVtTW9iaWxlQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1bml0c0hlbHBlciDQntCx0YrQtdC60YIt0YXRjdC70L/QtdGAINC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDQt9C90LDRh9C10L3QuNGP0LzQuCDQtdC00LjQvdC40YYg0LjQt9C80LXRgNC10L3QuNGPINGC0L7QstCw0YDQsC5cbiAgICAgKiBAcGFyYW0gcHJldmlld0RpYWxvZ1NlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAg0L/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3QvtCz0L4g0L/RgNC+0YHQvNC+0YLRgNCwLlxuICAgICAqIEBwYXJhbSB1cmxzINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRgNCw0LfQtNC10LvRiyBiYWNrZW5kJ2EuXG4gICAgICogQHBhcmFtIHBhdGhJbWFnZU5vdEZvdW5kINCf0YPRgtGMINC00L4g0LjQt9C+0LHRgNCw0LbQtdC90LjRjyAn0KLQvtCy0LDRgCDQvdC1INC90LDQudC00LXQvScuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgdW5pdHNIZWxwZXI6IFNjVW5pdHNIZWxwZXIsXG4gICAgICAgIEBJbmplY3QoVHVpUHJldmlld0RpYWxvZ1NlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJldmlld0RpYWxvZ1NlcnZpY2U6IFR1aVByZXZpZXdEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgQEluamVjdChTQ19QQVRIX0lNQUdFX05PVF9GT1VORCkgcHJpdmF0ZSByZWFkb25seSBwYXRoSW1hZ2VOb3RGb3VuZDogc3RyaW5nXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0J/RgNC+0LTRg9C60YIg0Y3Qu9C10LzQtdC90YLQsCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGdldCBwcm9kdWN0KCk6IFNjUHJvZHVjdCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9yZGVySXRlbT8ucHJvZHVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntGC0L7QsdGA0LDQt9C40YLRjCDRgdC/0LXRhtC40YTQuNC60LDRhtC40Y4uXG4gICAgICovXG4gICAgcHVibGljIHNob3dTcGVjaWZpY2F0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXZpZXdEaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5zcGVjaWZpY2F0aW9uUHJldmlld1JlZiA/PyAnJykuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHRgdGL0LvQutGDINC90LAg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2FyZEltYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2R1Y3Q/LmdldEltYWdlKHRoaXMudXJscy5pbWdTZXJ2ZXJVcmwpID8/IHRoaXMudXJscy5pbWdTZXJ2ZXJVcmwgKyB0aGlzLnBhdGhJbWFnZU5vdEZvdW5kO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBmbGV4IGZsZXgtd3JhcCBnYXAteC00IGdhcC15LTIgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLXR1aS1iYXNlLTA0IGJnLXdoaXRlIHAtNCBzaGFkb3ctc2MtMlwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcmRlckl0ZW0gJiYgcHJvZHVjdDsgZWxzZSBza2VsZXRvblwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tBY3Rpb25zRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cInNjSWNvblZlcnRpY2FsVGhyZWVEb3RzXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbG9hdFwiXG4gICAgICAgICAgICBjbGFzcz1cIiFhYnNvbHV0ZSByaWdodC0wIHRvcC0wICFoaWRkZW5cIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyb3cgZ2FwLTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHNpemUtMjAgc2hyaW5rLTAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZ2V0Q2FyZEltYWdlKClcIlxuICAgICAgICAgICAgICAgICAgICBbYWx0XT1cInByb2R1Y3QubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5wLTVdPVwiIXByb2R1Y3QuaW1hZ2VzPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC13cmFwIGdhcC14LTggc2VsZi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBncm93IGJhc2lzLW1pbi1jb250ZW50IGZsZXgtY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tDYXJkRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj57eyBwcm9kdWN0Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLXktMC41IHRleHQteHMgdGV4dC10dWktdGV4dC0wMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC15LTAuNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidy00MFwiPtCQ0YDRgtC40LrRg9C7OiB7eyBwcm9kdWN0LmNvZGUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTQwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9kdWN0LnBhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J3QvtGA0LzQsCDRg9C/0LDQutC+0LLQutC4OiB7eyBwcm9kdWN0LnBhY2sgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwib3JkZXJJdGVtLnNwZWNpZmljYXRpb25JbWdVcmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93U3BlY2lmaWNhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+0KHQv9C10YbQuNGE0LjQutCw0YbQuNGPPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjc3BlY2lmaWNhdGlvblByZXZpZXdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQtcHJldmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktcHJldmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm90YXRhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21hYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJvcmRlckl0ZW0uc3BlY2lmaWNhdGlvbkltZ1VybCBhcyBzcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwicHJldmlld1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIm9yZGVySXRlbS5zcGVjaWZpY2F0aW9uSW1nVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS54XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiQ2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpUHJldmlld0FjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldmlldy5jb21wbGV0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLXByZXZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggdy00MCBmbGV4LWNvbCBnYXAteC04IGdhcC15LTAuNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3QuZGlzY291bnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgdGV4dC14cyB0ZXh0LXR1aS10ZXh0LTAyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxpbmUtdGhyb3VnaFwiPnt7IHByb2R1Y3QuZGlzY291bnRDb3N0U3RyaW5nIH19PC9zcGFuPiAmbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LXR1aS1zdWNjZXNzLWZpbGxcIj4gLXt7IHByb2R1Y3QuZGlzY291bnQucGVyY2VudCB9fSUgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlzY291bnRIaW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgcHJvZHVjdC5kaXNjb3VudC5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9kdWN0LmRpc2NvdW50LmV4cGlyZWRBdCBhcyBleHBpcmVkQXRcIj7QlNCw0YLQsCDQvtC60L7QvdGH0LDQvdC40Y86IHt7IGV4cGlyZWRBdCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImZsZXggZmxleC1jb2wgaXRlbXMtYmFzZWxpbmUgZ2FwLXgtMiBmb250LWJvbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBwcm9kdWN0LmNvc3RSdWJTdHJpbmcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhcHJvZHVjdC5wcmljZUluUnViXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgcHJvZHVjdC5jb3N0U3RyaW5nIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNjLXByaWNlLXdhcmVob3VzZS1zdG9ja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcm9kdWN0XT1cInByb2R1Y3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmcm9tTWFpbl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9zYy1wcmljZS13YXJlaG91c2Utc3RvY2s+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTQwIHRleHQteHMgdGV4dC10dWktdGV4dC0wMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9yZGVySXRlbS5oZWlnaHQ7IGVsc2UgbGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+0JLRi9GB0L7RgtCwOiB7eyBvcmRlckl0ZW0uaGVpZ2h0IH19INC8LjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsZW5ndGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJvcmRlckl0ZW0ubGVuZ3RoXCI+0JTQu9C40L3QsDoge3sgb3JkZXJJdGVtLmxlbmd0aCB9fSDQvC48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJvcmRlckl0ZW0ud2lkdGhcIj7QqNC40YDQuNC90LA6IHt7IG9yZGVySXRlbS53aWR0aCB9fSDQvC48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc20gdGV4dC10dWktYmFzZS0wOVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCh0YPQvNC80LA6IDxzcGFuIGNsYXNzPVwid2hpdGVzcGFjZS1ub3dyYXAgZm9udC1ib2xkXCI+IHt7IG9yZGVySXRlbS5nZXRDb3N0UnViU3RyKCkgfX0gPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjc2tlbGV0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBnYXAtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpemUtMjAgcm91bmRlZC14bCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ3JvdyBmbGV4LWNvbCBnYXAtMi41IGJnLXdoaXRlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtNCB3LWZ1bGwgcm91bmRlZC14bCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTQgdy0zLzUgcm91bmRlZC14bCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTQgdy00LzUgcm91bmRlZC14bCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItaXRlbS1tb2JpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL29yZGVyL29yZGVyLWl0ZW0tbW9iaWxlL29yZGVyLWl0ZW0tbW9iaWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9vcmRlci1pdGVtLW1vYmlsZS9vcmRlci1pdGVtLW1vYmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBa0MsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBSXhEOztHQUVHO0FBTUgsTUFBTSxPQUFPLDBCQUEwQjtJQXlCbkM7Ozs7Ozs7T0FPRztJQUNILFlBQ29CLFdBQTBCLEVBRXpCLG9CQUE2QyxFQUM1QixJQUFhLEVBQ0csaUJBQXlCO1FBSjNELGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBRXpCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDNUIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQXpCL0U7O1dBRUc7UUFFSSxtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJFOztXQUVHO1FBRUksc0JBQWlCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFnQnJFLENBQUM7SUFFSjs7T0FFRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25GLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQzdHLENBQUM7OEdBNURRLDBCQUEwQiwrQ0FtQ3ZCLHVCQUF1QixhQUV2QixPQUFPLGFBQ1AsdUJBQXVCO2tHQXRDMUIsMEJBQTBCLHdUQ2Z2QyxpOE1BNkhBOzsyRkQ5R2EsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNJLHNCQUFzQixtQkFFZix1QkFBdUIsQ0FBQyxNQUFNOzswQkFxQzFDLE1BQU07MkJBQUMsdUJBQXVCOzswQkFFOUIsTUFBTTsyQkFBQyxPQUFPOzswQkFDZCxNQUFNOzJCQUFDLHVCQUF1Qjt5Q0FqQ2xCLHVCQUF1QjtzQkFEdkMsU0FBUzt1QkFBQyxzQkFBc0I7Z0JBTzFCLFNBQVM7c0JBRGYsS0FBSztnQkFPQyxjQUFjO3NCQURwQixNQUFNO2dCQU9BLGlCQUFpQjtzQkFEdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTQ19QQVRIX0lNQUdFX05PVF9GT1VORCwgU0NfVVJMUywgU2NDYXJ0SXRlbSwgU2NJVXJscywgU2NQcm9kdWN0IH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlEaWFsb2dDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpUHJldmlld0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuaW1wb3J0IHsgU2NVbml0c0hlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvc2MtdW5pdHMtaGVscGVyJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LrQsNGA0YLQvtGH0LrQuCDRjdC70LXQvNC10L3RgtCwINC30LDQutCw0LfQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1vcmRlci1pdGVtLW1vYmlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL29yZGVyLWl0ZW0tbW9iaWxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NPcmRlckl0ZW1Nb2JpbGVDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQvdCwINC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INGB0L/QtdGG0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdzcGVjaWZpY2F0aW9uUHJldmlldycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBzcGVjaWZpY2F0aW9uUHJldmlld1JlZj86IFRlbXBsYXRlUmVmPFR1aURpYWxvZ0NvbnRleHQ+O1xuXG4gICAgLyoqXG4gICAgICog0K3Qu9C10LzQtdC90YIg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG9yZGVySXRlbT86IFNjQ2FydEl0ZW07XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60LDRgNGC0L7Rh9C60YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQ2FyZEV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0LTQtdC50YHRgtCy0LjRjy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tBY3Rpb25zRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjT3JkZXJJdGVtTW9iaWxlQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB1bml0c0hlbHBlciDQntCx0YrQtdC60YIt0YXRjdC70L/QtdGAINC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDQt9C90LDRh9C10L3QuNGP0LzQuCDQtdC00LjQvdC40YYg0LjQt9C80LXRgNC10L3QuNGPINGC0L7QstCw0YDQsC5cbiAgICAgKiBAcGFyYW0gcHJldmlld0RpYWxvZ1NlcnZpY2Ug0KHQtdGA0LLQuNGBINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAg0L/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3QvtCz0L4g0L/RgNC+0YHQvNC+0YLRgNCwLlxuICAgICAqIEBwYXJhbSB1cmxzINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L3QsCDRgNCw0LfQtNC10LvRiyBiYWNrZW5kJ2EuXG4gICAgICogQHBhcmFtIHBhdGhJbWFnZU5vdEZvdW5kINCf0YPRgtGMINC00L4g0LjQt9C+0LHRgNCw0LbQtdC90LjRjyAn0KLQvtCy0LDRgCDQvdC1INC90LDQudC00LXQvScuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgdW5pdHNIZWxwZXI6IFNjVW5pdHNIZWxwZXIsXG4gICAgICAgIEBJbmplY3QoVHVpUHJldmlld0RpYWxvZ1NlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJldmlld0RpYWxvZ1NlcnZpY2U6IFR1aVByZXZpZXdEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgQEluamVjdChTQ19QQVRIX0lNQUdFX05PVF9GT1VORCkgcHJpdmF0ZSByZWFkb25seSBwYXRoSW1hZ2VOb3RGb3VuZDogc3RyaW5nXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0J/RgNC+0LTRg9C60YIg0Y3Qu9C10LzQtdC90YLQsCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGdldCBwcm9kdWN0KCk6IFNjUHJvZHVjdCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9yZGVySXRlbT8ucHJvZHVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntGC0L7QsdGA0LDQt9C40YLRjCDRgdC/0LXRhtC40YTQuNC60LDRhtC40Y4uXG4gICAgICovXG4gICAgcHVibGljIHNob3dTcGVjaWZpY2F0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXZpZXdEaWFsb2dTZXJ2aWNlLm9wZW4odGhpcy5zcGVjaWZpY2F0aW9uUHJldmlld1JlZiA/PyAnJykuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHRgdGL0LvQutGDINC90LAg0LjQt9C+0LHRgNCw0LbQtdC90LjQtSDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2FyZEltYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2R1Y3Q/LmdldEltYWdlKHRoaXMudXJscy5pbWdTZXJ2ZXJVcmwpID8/IHRoaXMudXJscy5pbWdTZXJ2ZXJVcmwgKyB0aGlzLnBhdGhJbWFnZU5vdEZvdW5kO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBmbGV4IGZsZXgtd3JhcCBnYXAteC00IGdhcC15LTIgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLXR1aS1iYXNlLTA0IGJnLXdoaXRlIHAtNCBzaGFkb3ctc2MtMlwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcmRlckl0ZW0gJiYgcHJvZHVjdDsgZWxzZSBza2VsZXRvblwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tBY3Rpb25zRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkuZWxsaXBzaXMtdmVydGljYWxcIlxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsb2F0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiIWFic29sdXRlIHJpZ2h0LTAgdG9wLTAgIWhpZGRlblwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ3JvdyBnYXAtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggc2l6ZS0yMCBzaHJpbmstMCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tDYXJkRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJnZXRDYXJkSW1hZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgIFthbHRdPVwicHJvZHVjdC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnAtNV09XCIhcHJvZHVjdC5pbWFnZXM/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ3JvdyBmbGV4LXdyYXAgZ2FwLXgtOCBzZWxmLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdyb3cgYmFzaXMtbWluLWNvbnRlbnQgZmxleC1jb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0NhcmRFdmVudC5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPnt7IHByb2R1Y3QubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAteS0wLjUgdGV4dC14cyB0ZXh0LXR1aS10ZXh0LTAyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLXktMC41XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ3LTQwXCI+0JDRgNGC0LjQutGD0Ls6IHt7IHByb2R1Y3QuY29kZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctNDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb2R1Y3QucGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQndC+0YDQvNCwINGD0L/QsNC60L7QstC60Lg6IHt7IHByb2R1Y3QucGFjayB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvcmRlckl0ZW0uc3BlY2lmaWNhdGlvbkltZ1VybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dTcGVjaWZpY2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID7QodC/0LXRhtC40YTQuNC60LDRhtC40Y88L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNzcGVjaWZpY2F0aW9uUHJldmlld1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldC1wcmV2aWV3XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1wcmV2aWV3XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3RhdGFibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbWFibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIm9yZGVySXRlbS5zcGVjaWZpY2F0aW9uSW1nVXJsIGFzIHNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJwcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwib3JkZXJJdGVtLnNwZWNpZmljYXRpb25JbWdVcmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJDbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlQcmV2aWV3QWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aWV3LmNvbXBsZXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktcHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBjb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LTQwIGZsZXgtY29sIGdhcC14LTggZ2FwLXktMC41XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvZHVjdC5kaXNjb3VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LXhzIHRleHQtdHVpLXRleHQtMDJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGluZS10aHJvdWdoXCI+e3sgcHJvZHVjdC5kaXNjb3VudENvc3RTdHJpbmcgfX08L3NwYW4+ICZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtdHVpLXN1Y2Nlc3MtZmlsbFwiPiAte3sgcHJvZHVjdC5kaXNjb3VudC5wZXJjZW50IH19JSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkaXNjb3VudEhpbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGRcIj57eyBwcm9kdWN0LmRpc2NvdW50Lm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2R1Y3QuZGlzY291bnQuZXhwaXJlZEF0IGFzIGV4cGlyZWRBdFwiPtCU0LDRgtCwINC+0LrQvtC90YfQsNC90LjRjzoge3sgZXhwaXJlZEF0IH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1iYXNlbGluZSBnYXAteC0yIGZvbnQtYm9sZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHByb2R1Y3QuY29zdFJ1YlN0cmluZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFwcm9kdWN0LnByaWNlSW5SdWJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQteHMgdGV4dC10dWktdGV4dC0wMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBwcm9kdWN0LmNvc3RTdHJpbmcgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Byb2R1Y3RdPVwicHJvZHVjdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zyb21NYWluXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3NjLXByaWNlLXdhcmVob3VzZS1zdG9jaz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctNDAgdGV4dC14cyB0ZXh0LXR1aS10ZXh0LTAyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3JkZXJJdGVtLmhlaWdodDsgZWxzZSBsZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD7QktGL0YHQvtGC0LA6IHt7IG9yZGVySXRlbS5oZWlnaHQgfX0g0LwuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlbmd0aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIm9yZGVySXRlbS5sZW5ndGhcIj7QlNC70LjQvdCwOiB7eyBvcmRlckl0ZW0ubGVuZ3RoIH19INC8LjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIm9yZGVySXRlbS53aWR0aFwiPtCo0LjRgNC40L3QsDoge3sgb3JkZXJJdGVtLndpZHRoIH19INC8LjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zbSB0ZXh0LXR1aS1iYXNlLTA5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0KHRg9C80LzQsDogPHNwYW4gY2xhc3M9XCJ3aGl0ZXNwYWNlLW5vd3JhcCBmb250LWJvbGRcIj4ge3sgb3JkZXJJdGVtLmdldENvc3RSdWJTdHIoKSB9fSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNza2VsZXRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGdhcC0yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2l6ZS0yMCByb3VuZGVkLXhsIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBncm93IGZsZXgtY29sIGdhcC0yLjUgYmctd2hpdGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC00IHctZnVsbCByb3VuZGVkLXhsIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtNCB3LTMvNSByb3VuZGVkLXhsIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtNCB3LTQvNSByb3VuZGVkLXhsIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs
CHANGED
@@ -139,14 +139,14 @@ export class ScProfileAccordionsContentComponent {
|
|
139
139
|
return this.locationsService.getUserCity$(cityId);
|
140
140
|
}
|
141
141
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScProfileAccordionsContentComponent, deps: [{ token: SC_USER_INFO }, { token: i1.ScLocationsService }, { token: i1.ScUserService }, { token: i1.ScVerificationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
142
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScProfileAccordionsContentComponent, selector: "sc-profile-accordions-content", outputs: { editProfileClick: "editProfileClick", approvePhoneClick: "approvePhoneClick", addContragentClick: "addContragentClick", deleteContragentClick: "deleteContragentClick", addContragentBankAccountClick: "addContragentBankAccountClick", deleteContragentBankAccountClick: "deleteContragentBankAccountClick", addContragentContactClick: "addContragentContactClick", deleteContragentContactClick: "deleteContragentContactClick", addDeliveryAddressClick: "addDeliveryAddressClick", deleteDeliveryAddressClick: "deleteDeliveryAddressClick", addDeliveryAddressContactClick: "addDeliveryAddressContactClick", deleteDeliveryAddressContactClick: "deleteDeliveryAddressContactClick", addUserContactClick: "addUserContactClick", deleteUserContactClick: "deleteUserContactClick" }, providers: [SC_USER_PROVIDERS], ngImport: i0, template: "<div\n *tuiLet=\"user$ | async as user\"\n class=\"flex flex-col gap-4\"\n>\n <sc-accordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n [open]=\"true\"\n >\n \u041E\u0431\u0449\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435\n <ng-template scAccordionContent>\n <tui-loader\n [overlay]=\"true\"\n [showLoader]=\"user === null\"\n >\n <div class=\"flex gap-2 pl-4\">\n <div\n *ngIf=\"user\"\n class=\"flex grow flex-col gap-2\"\n >\n <span class=\"font-medium\">{{ user.name }}</span>\n <div\n *ngIf=\"user.city && (getUserCity$(user.city) | async) as city\"\n class=\"flex items-center gap-1\"\n >\n <tui-icon icon=\"@tui.map-pin\"></tui-icon>\n <div class=\"flex flex-wrap\">\n <span>\u0433. {{ city.name }}, </span>\n <span *ngIf=\"city.region\">{{ city.region.name }}</span>\n </div>\n </div>\n <div class=\"flex flex-wrap gap-2\">\n <a\n tuiLink\n [scTelLink]=\"user.contacts.phone.value\"\n iconStart=\"@tui.phone\"\n \n [pseudo]=\"true\"\n href=\"tel:{{ user.contacts.phone.value | scFormatePhone }}\"\n >{{ user.contacts.phone.value | scFormatePhone }}</a\n >\n <span\n *ngIf=\"!user.contacts.phone.isApproved\"\n class=\"text-tui-text-03\"\n >\n (\u0422\u0435\u043B\u0435\u0444\u043E\u043D \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"approvePhoneClick.emit()\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C</button\n >)\n </span>\n </div>\n <div\n *tuiLet=\"!!(isSendApproveEmail$ | async) as isSendApproveEmail\"\n class=\"flex flex-wrap gap-x-2\"\n >\n <a\n tuiLink\n iconStart=\"@tui.mail\"\n \n [pseudo]=\"true\"\n href=\"mailto:{{ user.contacts.email.value }}\"\n >\n {{ user.contacts.email.value }}\n </a>\n <span\n *ngIf=\"!isSendApproveEmail && !user.contacts.email.isApproved\"\n class=\"inline-flex flex-wrap gap-1 text-tui-text-03\"\n >\n E-mail \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <tui-loader\n [showLoader]=\"!!(approveEmailLoading$ | async)\"\n [overlay]=\"true\"\n >\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"onSendApproveEmail.next(user.contacts.email.value)\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C\n </button>\n </tui-loader>\n </span>\n <span\n *ngIf=\"isSendApproveEmail\"\n class=\"text-tui-success-fill\"\n @tuiFadeIn\n >\n \u041F\u0438\u0441\u044C\u043C\u043E \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E. \u041F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435 \u0432 \u043F\u0438\u0441\u044C\u043C\u0435 \u0438 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0443 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443.\n </span>\n </div>\n <tui-loader\n [showLoader]=\"!!(getNewsLoading$ | async)\"\n [overlay]=\"true\"\n >\n <label tuiLabel> <input tuiCheckbox type=\"checkbox\"\n size=\"s\"\n class=\"w-full\"\n [formControl]=\"getNewsControl\"\n [ngModel]=\"user.getNews\"\n >\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n </tui-loader>\n </div>\n\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.edit-3\"\n appearance=\"flat\"\n (click)=\"editProfileClick.emit()\"\n ></button>\n </div>\n </tui-loader>\n </ng-template>\n </sc-accordion>\n <sc-contragents-accordion\n (addContragentClick)=\"addContragentClick.emit()\"\n (deleteContragentClick)=\"deleteContragentClick.emit($event)\"\n (addContragentBankAccountClick)=\"addContragentBankAccountClick.emit($event)\"\n (deleteContragentBankAccountClick)=\"deleteContragentBankAccountClick.emit($event)\"\n (addContragentContactClick)=\"addContragentContactClick.emit($event)\"\n (deleteContragentContactClick)=\"deleteContragentContactClick.emit($event)\"\n ></sc-contragents-accordion>\n <sc-delivery-address-accordion\n (addDeliveryAddressClick)=\"addDeliveryAddressClick.emit()\"\n (deleteDeliveryAddressClick)=\"deleteDeliveryAddressClick.emit($event)\"\n (addDeliveryAddressContactClick)=\"addDeliveryAddressContactClick.emit($event)\"\n (deleteDeliveryAddressContactClick)=\"deleteDeliveryAddressContactClick.emit($event)\"\n ></sc-delivery-address-accordion>\n <sc-contacts-accordion\n *ngIf=\"user\"\n [contacts$]=\"userContacts$\"\n (addContactClick)=\"addUserContactClick.emit(user.id)\"\n (deleteButtonClick)=\"deleteUserContactClick.emit($event)\"\n ></sc-contacts-accordion>\n <sc-accordion\n #passwordAccordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n >\n \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C\n <ng-template scAccordionContent>\n <sc-reset-user-password (successResetPassword)=\"passwordAccordion.close()\"></sc-reset-user-password>\n </ng-template>\n </sc-accordion>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ScResetUserPasswordComponent, selector: "sc-reset-user-password", outputs: ["successResetPassword"] }, { kind: "component", type: i4.ScAccordionComponent, selector: "sc-accordion", inputs: ["showAddButton", "showDeleteButton", "showArrow", "open", "size"], outputs: ["addButtonClick", "deleteButtonClick"] }, { kind: "directive", type: i5.ScAccordionContentDirective, selector: "ng-template[scAccordionContent]" }, { kind: "component", type: i6.ScContragentsAccordionComponent, selector: "sc-contragents-accordion", outputs: ["addContragentClick", "deleteContragentClick", "addContragentBankAccountClick", "deleteContragentBankAccountClick", "addContragentContactClick", "deleteContragentContactClick"] }, { kind: "component", type: i7.ScDeliveryAddressAccordionComponent, selector: "sc-delivery-address-accordion", outputs: ["addDeliveryAddressClick", "deleteDeliveryAddressClick", "addDeliveryAddressContactClick", "deleteDeliveryAddressContactClick"] }, { kind: "component", type: i8.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "directive", type: i9.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i8.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i8.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i8.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i10.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i11.ScContactsAccordionComponent, selector: "sc-contacts-accordion", inputs: ["contacts$"], outputs: ["addContactClick", "deleteButtonClick"] }, { kind: "directive", type: i12.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i13.ScTelLinkDirective, selector: "[scTelLink]", inputs: ["scTelLink"] }, { kind: "component", type: i14.TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.ScFormatePhonePipe, name: "scFormatePhone" }], animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
142
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: ScProfileAccordionsContentComponent, selector: "sc-profile-accordions-content", outputs: { editProfileClick: "editProfileClick", approvePhoneClick: "approvePhoneClick", addContragentClick: "addContragentClick", deleteContragentClick: "deleteContragentClick", addContragentBankAccountClick: "addContragentBankAccountClick", deleteContragentBankAccountClick: "deleteContragentBankAccountClick", addContragentContactClick: "addContragentContactClick", deleteContragentContactClick: "deleteContragentContactClick", addDeliveryAddressClick: "addDeliveryAddressClick", deleteDeliveryAddressClick: "deleteDeliveryAddressClick", addDeliveryAddressContactClick: "addDeliveryAddressContactClick", deleteDeliveryAddressContactClick: "deleteDeliveryAddressContactClick", addUserContactClick: "addUserContactClick", deleteUserContactClick: "deleteUserContactClick" }, providers: [SC_USER_PROVIDERS], ngImport: i0, template: "<div\n *tuiLet=\"user$ | async as user\"\n class=\"flex flex-col gap-4\"\n>\n <sc-accordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n [open]=\"true\"\n >\n \u041E\u0431\u0449\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435\n <ng-template scAccordionContent>\n <tui-loader\n [overlay]=\"true\"\n [showLoader]=\"user === null\"\n >\n <div class=\"flex gap-2 pl-4\">\n <div\n *ngIf=\"user\"\n class=\"flex grow flex-col gap-2\"\n >\n <span class=\"font-medium\">{{ user.name }}</span>\n <div\n *ngIf=\"user.city && (getUserCity$(user.city) | async) as city\"\n class=\"flex items-center gap-1\"\n >\n <tui-icon icon=\"@tui.map-pin\"></tui-icon>\n <div class=\"flex flex-wrap\">\n <span>\u0433. {{ city.name }}, </span>\n <span *ngIf=\"city.region\">{{ city.region.name }}</span>\n </div>\n </div>\n <div class=\"flex flex-wrap gap-2\">\n <a\n tuiLink\n [scTelLink]=\"user.contacts.phone.value\"\n iconStart=\"@tui.phone\"\n [pseudo]=\"true\"\n href=\"tel:{{ user.contacts.phone.value | scFormatePhone }}\"\n >{{ user.contacts.phone.value | scFormatePhone }}</a\n >\n <span\n *ngIf=\"!user.contacts.phone.isApproved\"\n class=\"text-tui-text-03\"\n >\n (\u0422\u0435\u043B\u0435\u0444\u043E\u043D \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"approvePhoneClick.emit()\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C</button\n >)\n </span>\n </div>\n <div\n *tuiLet=\"!!(isSendApproveEmail$ | async) as isSendApproveEmail\"\n class=\"flex flex-wrap gap-x-2\"\n >\n <a\n tuiLink\n iconStart=\"@tui.mail\"\n [pseudo]=\"true\"\n href=\"mailto:{{ user.contacts.email.value }}\"\n >\n {{ user.contacts.email.value }}\n </a>\n <span\n *ngIf=\"!isSendApproveEmail && !user.contacts.email.isApproved\"\n class=\"inline-flex flex-wrap gap-1 text-tui-text-03\"\n >\n E-mail \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <tui-loader\n [showLoader]=\"!!(approveEmailLoading$ | async)\"\n [overlay]=\"true\"\n >\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"onSendApproveEmail.next(user.contacts.email.value)\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C\n </button>\n </tui-loader>\n </span>\n <span\n *ngIf=\"isSendApproveEmail\"\n class=\"text-tui-success-fill\"\n @tuiFadeIn\n >\n \u041F\u0438\u0441\u044C\u043C\u043E \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E. \u041F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435 \u0432 \u043F\u0438\u0441\u044C\u043C\u0435 \u0438 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0443 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443.\n </span>\n </div>\n <tui-loader\n [showLoader]=\"!!(getNewsLoading$ | async)\"\n [overlay]=\"true\"\n >\n <label tuiLabel>\n <input\n tuiCheckbox\n type=\"checkbox\"\n size=\"s\"\n class=\"w-full\"\n [formControl]=\"getNewsControl\"\n [ngModel]=\"user.getNews\"\n />\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n </tui-loader>\n </div>\n\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.pencil\"\n appearance=\"flat\"\n (click)=\"editProfileClick.emit()\"\n ></button>\n </div>\n </tui-loader>\n </ng-template>\n </sc-accordion>\n <sc-contragents-accordion\n (addContragentClick)=\"addContragentClick.emit()\"\n (deleteContragentClick)=\"deleteContragentClick.emit($event)\"\n (addContragentBankAccountClick)=\"addContragentBankAccountClick.emit($event)\"\n (deleteContragentBankAccountClick)=\"deleteContragentBankAccountClick.emit($event)\"\n (addContragentContactClick)=\"addContragentContactClick.emit($event)\"\n (deleteContragentContactClick)=\"deleteContragentContactClick.emit($event)\"\n ></sc-contragents-accordion>\n <sc-delivery-address-accordion\n (addDeliveryAddressClick)=\"addDeliveryAddressClick.emit()\"\n (deleteDeliveryAddressClick)=\"deleteDeliveryAddressClick.emit($event)\"\n (addDeliveryAddressContactClick)=\"addDeliveryAddressContactClick.emit($event)\"\n (deleteDeliveryAddressContactClick)=\"deleteDeliveryAddressContactClick.emit($event)\"\n ></sc-delivery-address-accordion>\n <sc-contacts-accordion\n *ngIf=\"user\"\n [contacts$]=\"userContacts$\"\n (addContactClick)=\"addUserContactClick.emit(user.id)\"\n (deleteButtonClick)=\"deleteUserContactClick.emit($event)\"\n ></sc-contacts-accordion>\n <sc-accordion\n #passwordAccordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n >\n \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C\n <ng-template scAccordionContent>\n <sc-reset-user-password (successResetPassword)=\"passwordAccordion.close()\"></sc-reset-user-password>\n </ng-template>\n </sc-accordion>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ScResetUserPasswordComponent, selector: "sc-reset-user-password", outputs: ["successResetPassword"] }, { kind: "component", type: i4.ScAccordionComponent, selector: "sc-accordion", inputs: ["showAddButton", "showDeleteButton", "showArrow", "open", "size"], outputs: ["addButtonClick", "deleteButtonClick"] }, { kind: "directive", type: i5.ScAccordionContentDirective, selector: "ng-template[scAccordionContent]" }, { kind: "component", type: i6.ScContragentsAccordionComponent, selector: "sc-contragents-accordion", outputs: ["addContragentClick", "deleteContragentClick", "addContragentBankAccountClick", "deleteContragentBankAccountClick", "addContragentContactClick", "deleteContragentContactClick"] }, { kind: "component", type: i7.ScDeliveryAddressAccordionComponent, selector: "sc-delivery-address-accordion", outputs: ["addDeliveryAddressClick", "deleteDeliveryAddressClick", "addDeliveryAddressContactClick", "deleteDeliveryAddressContactClick"] }, { kind: "component", type: i8.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "directive", type: i9.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i8.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: i8.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i8.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i10.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i11.ScContactsAccordionComponent, selector: "sc-contacts-accordion", inputs: ["contacts$"], outputs: ["addContactClick", "deleteButtonClick"] }, { kind: "directive", type: i12.ScTerminalLinkDirective, selector: "a[href]" }, { kind: "directive", type: i13.ScTelLinkDirective, selector: "[scTelLink]", inputs: ["scTelLink"] }, { kind: "component", type: i14.TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.ScFormatePhonePipe, name: "scFormatePhone" }], animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
143
143
|
}
|
144
144
|
__decorate([
|
145
145
|
tuiPure // TODO: TASK[#7615] Удалить поле рефакторинга сервиса работы с пользователем.
|
146
146
|
], ScProfileAccordionsContentComponent.prototype, "getUserCity$", null);
|
147
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: ScProfileAccordionsContentComponent, decorators: [{
|
148
148
|
type: Component,
|
149
|
-
args: [{ selector: 'sc-profile-accordions-content', providers: [SC_USER_PROVIDERS], animations: [tuiFadeIn], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *tuiLet=\"user$ | async as user\"\n class=\"flex flex-col gap-4\"\n>\n <sc-accordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n [open]=\"true\"\n >\n \u041E\u0431\u0449\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435\n <ng-template scAccordionContent>\n <tui-loader\n [overlay]=\"true\"\n [showLoader]=\"user === null\"\n >\n <div class=\"flex gap-2 pl-4\">\n <div\n *ngIf=\"user\"\n class=\"flex grow flex-col gap-2\"\n >\n <span class=\"font-medium\">{{ user.name }}</span>\n <div\n *ngIf=\"user.city && (getUserCity$(user.city) | async) as city\"\n class=\"flex items-center gap-1\"\n >\n <tui-icon
|
149
|
+
args: [{ selector: 'sc-profile-accordions-content', providers: [SC_USER_PROVIDERS], animations: [tuiFadeIn], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *tuiLet=\"user$ | async as user\"\n class=\"flex flex-col gap-4\"\n>\n <sc-accordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n [open]=\"true\"\n >\n \u041E\u0431\u0449\u0438\u0435 \u0434\u0430\u043D\u043D\u044B\u0435\n <ng-template scAccordionContent>\n <tui-loader\n [overlay]=\"true\"\n [showLoader]=\"user === null\"\n >\n <div class=\"flex gap-2 pl-4\">\n <div\n *ngIf=\"user\"\n class=\"flex grow flex-col gap-2\"\n >\n <span class=\"font-medium\">{{ user.name }}</span>\n <div\n *ngIf=\"user.city && (getUserCity$(user.city) | async) as city\"\n class=\"flex items-center gap-1\"\n >\n <tui-icon icon=\"@tui.map-pin\"></tui-icon>\n <div class=\"flex flex-wrap\">\n <span>\u0433. {{ city.name }}, </span>\n <span *ngIf=\"city.region\">{{ city.region.name }}</span>\n </div>\n </div>\n <div class=\"flex flex-wrap gap-2\">\n <a\n tuiLink\n [scTelLink]=\"user.contacts.phone.value\"\n iconStart=\"@tui.phone\"\n [pseudo]=\"true\"\n href=\"tel:{{ user.contacts.phone.value | scFormatePhone }}\"\n >{{ user.contacts.phone.value | scFormatePhone }}</a\n >\n <span\n *ngIf=\"!user.contacts.phone.isApproved\"\n class=\"text-tui-text-03\"\n >\n (\u0422\u0435\u043B\u0435\u0444\u043E\u043D \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"approvePhoneClick.emit()\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C</button\n >)\n </span>\n </div>\n <div\n *tuiLet=\"!!(isSendApproveEmail$ | async) as isSendApproveEmail\"\n class=\"flex flex-wrap gap-x-2\"\n >\n <a\n tuiLink\n iconStart=\"@tui.mail\"\n [pseudo]=\"true\"\n href=\"mailto:{{ user.contacts.email.value }}\"\n >\n {{ user.contacts.email.value }}\n </a>\n <span\n *ngIf=\"!isSendApproveEmail && !user.contacts.email.isApproved\"\n class=\"inline-flex flex-wrap gap-1 text-tui-text-03\"\n >\n E-mail \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D.\n <tui-loader\n [showLoader]=\"!!(approveEmailLoading$ | async)\"\n [overlay]=\"true\"\n >\n <button\n tuiLink\n [pseudo]=\"true\"\n (click)=\"onSendApproveEmail.next(user.contacts.email.value)\"\n >\n \u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C\n </button>\n </tui-loader>\n </span>\n <span\n *ngIf=\"isSendApproveEmail\"\n class=\"text-tui-success-fill\"\n @tuiFadeIn\n >\n \u041F\u0438\u0441\u044C\u043C\u043E \u0434\u043B\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E. \u041F\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435 \u0432 \u043F\u0438\u0441\u044C\u043C\u0435 \u0438 \u043E\u0431\u043D\u043E\u0432\u0438\u0442\u0435 \u044D\u0442\u0443 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443.\n </span>\n </div>\n <tui-loader\n [showLoader]=\"!!(getNewsLoading$ | async)\"\n [overlay]=\"true\"\n >\n <label tuiLabel>\n <input\n tuiCheckbox\n type=\"checkbox\"\n size=\"s\"\n class=\"w-full\"\n [formControl]=\"getNewsControl\"\n [ngModel]=\"user.getNews\"\n />\n \u042F \u0445\u043E\u0447\u0443 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443 \u0421\u043D\u0430\u0431\u0446\u0435\u043D\u0442\u0440 \u043E \u0441\u043A\u0438\u0434\u043A\u0430\u0445 \u0438 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435.\n </label>\n </tui-loader>\n </div>\n\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n iconStart=\"@tui.pencil\"\n appearance=\"flat\"\n (click)=\"editProfileClick.emit()\"\n ></button>\n </div>\n </tui-loader>\n </ng-template>\n </sc-accordion>\n <sc-contragents-accordion\n (addContragentClick)=\"addContragentClick.emit()\"\n (deleteContragentClick)=\"deleteContragentClick.emit($event)\"\n (addContragentBankAccountClick)=\"addContragentBankAccountClick.emit($event)\"\n (deleteContragentBankAccountClick)=\"deleteContragentBankAccountClick.emit($event)\"\n (addContragentContactClick)=\"addContragentContactClick.emit($event)\"\n (deleteContragentContactClick)=\"deleteContragentContactClick.emit($event)\"\n ></sc-contragents-accordion>\n <sc-delivery-address-accordion\n (addDeliveryAddressClick)=\"addDeliveryAddressClick.emit()\"\n (deleteDeliveryAddressClick)=\"deleteDeliveryAddressClick.emit($event)\"\n (addDeliveryAddressContactClick)=\"addDeliveryAddressContactClick.emit($event)\"\n (deleteDeliveryAddressContactClick)=\"deleteDeliveryAddressContactClick.emit($event)\"\n ></sc-delivery-address-accordion>\n <sc-contacts-accordion\n *ngIf=\"user\"\n [contacts$]=\"userContacts$\"\n (addContactClick)=\"addUserContactClick.emit(user.id)\"\n (deleteButtonClick)=\"deleteUserContactClick.emit($event)\"\n ></sc-contacts-accordion>\n <sc-accordion\n #passwordAccordion\n [showArrow]=\"false\"\n [showAddButton]=\"false\"\n >\n \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u043E\u043B\u044C\n <ng-template scAccordionContent>\n <sc-reset-user-password (successResetPassword)=\"passwordAccordion.close()\"></sc-reset-user-password>\n </ng-template>\n </sc-accordion>\n</div>\n" }]
|
150
150
|
}], ctorParameters: () => [{ type: i16.Observable, decorators: [{
|
151
151
|
type: Inject,
|
152
152
|
args: [SC_USER_INFO]
|
@@ -179,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImpor
|
|
179
179
|
}], deleteUserContactClick: [{
|
180
180
|
type: Output
|
181
181
|
}], getUserCity$: [] } });
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sbUNBQW1DO0lBcUo1Qzs7Ozs7OztPQU9HO0lBQ0gsWUFDMEMsS0FBeUIsRUFDOUMsZ0JBQW9DLEVBQ3BDLFdBQTBCLEVBQzFCLG1CQUEwQztRQUhyQixVQUFLLEdBQUws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O2dCQU9BLDhCQUE4QjtzQkFEcEMsTUFBTTtnQkFPQSxpQ0FBaUM7c0JBRHZDLE1BQU07Z0JBVUEsbUJBQW1CO3NCQUR6QixNQUFNO2dCQU9BLHNCQUFzQjtzQkFENUIsTUFBTTtnQkF3QkEsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NDb250cmFnZW50LCBTY0lCYW5rQWNjb3VudCwgU2NJQ2l0eSwgU2NJQ29udGFjdCwgU2NJRGVsaXZlcnlBZGRyZXNzLCBTY0xvY2F0aW9uc1NlcnZpY2UsIFNjVXNlciwgU2NVc2VyU2VydmljZSwgU2NWZXJpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUVUlfVFJVRV9IQU5ETEVSLCB0dWlJc0ZhbHN5LCB0dWlJc1ByZXNlbnQsIHR1aVB1cmUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IHR1aUZhZGVJbiB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZSwgc2tpcCwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTQ19VU0VSX0lORk8sIFNDX1VTRVJfUFJPVklERVJTIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LrQvtC90YLQtdC90YLQsCDQv9GA0L7RhNC40LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LIg0LLQuNC00LUg0YDQsNGB0LrRgNGL0LLQsNGO0YnQuNGF0YHRjyDRgdC80YvRgdC70L7QstGL0YUg0LHQu9C+0LrQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByb2ZpbGUtYWNjb3JkaW9ucy1jb250ZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1NDX1VTRVJfUFJPVklERVJTXSxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcm9maWxlQWNjb3JkaW9uc0NvbnRlbnRDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBGb3JtQ29udHJvbH0g0L/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Y8gJ9CvINGF0L7Rh9GDINC/0L7Qu9GD0YfQsNGC0Ywg0YDQsNGB0YHRi9C70LrRgycuXG4gICAgICovXG4gICAgcHVibGljIGdldE5ld3NDb250cm9sOiBGb3JtQ29udHJvbDxib29sZWFuPiA9IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPihmYWxzZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQuNC30LzQtdC90LXQvdC40Y8g0L/RgNC40LfQvdCw0LrQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gJ9CvINGF0L7Rh9GDINC/0L7Qu9GD0YfQsNGC0Ywg0YDQsNGB0YHRi9C70LrRgycuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBnZXROZXdzUmVxdWVzdCQgPSB0aGlzLmdldE5ld3NDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VySW5mbyQoeyBnZXROZXdzOiB2YWx1ZSB9KS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVwZGF0ZVVzZXJDaGFuZ2UkKCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgodXNlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0TmV3c0NvbnRyb2wucGF0Y2hWYWx1ZSh1c2VyLmdldE5ld3MsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICApLFxuXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQtNCw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNGPINC/0YDQuNC30L3QsNC60LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICfQryDRhdC+0YfRgyDQv9C+0LvRg9GH0LDRgtGMINGA0LDRgdGB0YvQu9C60YMnLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBnZXROZXdzTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmdldE5ld3NSZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0L7RgtC/0YDQsNCy0LrQuCDRgdC+0L7QsdGJ0LXQvdC40Y8g0LTQu9GPINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINCw0LTRgNC10YHQsCDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU2VuZEFwcHJvdmVFbWFpbDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VuZEFwcHJvdmVFbWFpbFJlcXVlc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBudWxsPiA9IHRoaXMub25TZW5kQXBwcm92ZUVtYWlsLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHRoaXMudmVyaWZpY2F0aW9uU2VydmljZS5zZW5kRW1haWxBcHByb3ZlQ29kZSh2YWx1ZSkucGlwZShtYXAoVFVJX1RSVUVfSEFORExFUiksIHN0YXJ0V2l0aChudWxsKSkpLFxuICAgICAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINC+0YLQv9GA0LDQstC60Lgg0YHQvtC+0LHRidC10L3QuNGPINC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQsNC00YDQtdGB0LAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhcHByb3ZlRW1haWxMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuc2VuZEFwcHJvdmVFbWFpbFJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC/0YDQuNC30L3QsNC60LAsINC+0YLQv9GA0LDQstC70LXQvdC+INC70Lgg0YHQvtC+0LHRidC10L3QuNC1INC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQsNC00YDQtdGB0LAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpc1NlbmRBcHByb3ZlRW1haWwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5zZW5kQXBwcm92ZUVtYWlsUmVxdWVzdCQucGlwZShmaWx0ZXIodHVpSXNQcmVzZW50KSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L/QuNGB0LrQsCDQutC+0L3RgtCw0LrRgtC90YvRhSDQu9C40YYg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB1c2VyQ29udGFjdHMkID0gdGhpcy51c2VyU2VydmljZS5nZXRVc2VyQ29udGFjdHMkKCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INC/0YDQvtGE0LjQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZWRpdFByb2ZpbGVDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYXBwcm92ZVBob25lQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZENvbnRyYWdlbnRDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVDb250cmFnZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INGB0YfRkdGC0LAg0LrQvtC90YLRgNCw0LPQtdC90YLRgy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0YHRh9GR0YLQsCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVDb250cmFnZW50QmFua0FjY291bnRDbGljazogRXZlbnRFbWl0dGVyPFNjSUJhbmtBY2NvdW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NJQmFua0FjY291bnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINC60L7QvdGC0YDQsNCz0LXQvdGC0YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZENvbnRyYWdlbnRDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0YMg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlQ29udHJhZ2VudENvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPHsgY29udGFjdDogU2NJQ29udGFjdDsgY29udHJhZ2VudDogU2NDb250cmFnZW50IH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGNvbnRhY3Q6IFNjSUNvbnRhY3Q7IGNvbnRyYWdlbnQ6IFNjQ29udHJhZ2VudCB9PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60Lgg0LrQu9C40LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZERlbGl2ZXJ5QWRkcmVzc0NsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4INGDINC60LvQuNC10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVEZWxpdmVyeUFkZHJlc3NDbGljazogRXZlbnRFbWl0dGVyPFNjSURlbGl2ZXJ5QWRkcmVzcz4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjSURlbGl2ZXJ5QWRkcmVzcz4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0LTQu9GPINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGREZWxpdmVyeUFkZHJlc3NDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0lEZWxpdmVyeUFkZHJlc3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lEZWxpdmVyeUFkZHJlc3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0YMg0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60LguXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPHsgY29udGFjdDogU2NJQ29udGFjdDsgYWRkcmVzczogU2NJRGVsaXZlcnlBZGRyZXNzIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGNvbnRhY3Q6IFNjSUNvbnRhY3Q7XG4gICAgICAgIGFkZHJlc3M6IFNjSURlbGl2ZXJ5QWRkcmVzcztcbiAgICB9PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDQutC70LjQtdC90YLRgy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkVXNlckNvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDRgyDQutC70LjQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlVXNlckNvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPFNjSUNvbnRhY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lDb250YWN0PigpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1Byb2ZpbGVDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXIkINCf0L7RgtC+0Log0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqIEBwYXJhbSBsb2NhdGlvbnNTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQvtCyINGB0YLRgNCw0L0sINGA0LXQs9C40L7QvdC+0LIsINCz0L7RgNC+0LTQvtCyLlxuICAgICAqIEBwYXJhbSB1c2VyU2VydmljZSDQodC10YDQstC40YEg0LTQsNC90L3Ri9GFINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKiBAcGFyYW0gdmVyaWZpY2F0aW9uU2VydmljZSDQodC10YDQstC40YEg0LLQtdGA0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoU0NfVVNFUl9JTkZPKSBwdWJsaWMgcmVhZG9ubHkgdXNlciQ6IE9ic2VydmFibGU8U2NVc2VyPixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbnNTZXJ2aWNlOiBTY0xvY2F0aW9uc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyaWZpY2F0aW9uU2VydmljZTogU2NWZXJpZmljYXRpb25TZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC/0L7Qu9GD0YfQtdC90LjRjyDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQs9C+0YDQvtC00LUg0YLQtdC60YPRidC10LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0L/QviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDINCz0L7RgNC+0LTQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjaXR5SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC/0LjRgdC4INCz0L7RgNC+0LTQsC5cbiAgICAgKi9cbiAgICBAdHVpUHVyZSAvLyBUT0RPOiBUQVNLWyM3NjE1XSDQo9C00LDQu9C40YLRjCDQv9C+0LvQtSDRgNC10YTQsNC60YLQvtGA0LjQvdCz0LAg0YHQtdGA0LLQuNGB0LAg0YDQsNCx0L7RgtGLINGBINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC8LlxuICAgIHB1YmxpYyBnZXRVc2VyQ2l0eSQoY2l0eUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNjSUNpdHk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25zU2VydmljZS5nZXRVc2VyQ2l0eSQoY2l0eUlkKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKnR1aUxldD1cInVzZXIkIHwgYXN5bmMgYXMgdXNlclwiXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00XCJcbj5cbiAgICA8c2MtYWNjb3JkaW9uXG4gICAgICAgIFtzaG93QXJyb3ddPVwiZmFsc2VcIlxuICAgICAgICBbc2hvd0FkZEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgIFtvcGVuXT1cInRydWVcIlxuICAgID5cbiAgICAgICAg0J7QsdGJ0LjQtSDQtNCw0L3QvdGL0LVcbiAgICAgICAgPG5nLXRlbXBsYXRlIHNjQWNjb3JkaW9uQ29udGVudD5cbiAgICAgICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwidXNlciA9PT0gbnVsbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgcGwtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInVzZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2wgZ2FwLTJcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtXCI+e3sgdXNlci5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlci5jaXR5ICYmIChnZXRVc2VyQ2l0eSQodXNlci5jaXR5KSB8IGFzeW5jKSBhcyBjaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWljb24gIGljb249XCJAdHVpLm1hcC1waW5cIj48L3R1aS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7Qsy4ge3sgY2l0eS5uYW1lIH19LCA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2l0eS5yZWdpb25cIj57eyBjaXR5LnJlZ2lvbi5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY1RlbExpbmtdPVwidXNlci5jb250YWN0cy5waG9uZS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkucGhvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cInRlbDp7eyB1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlIHwgc2NGb3JtYXRlUGhvbmUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgdXNlci5jb250YWN0cy5waG9uZS52YWx1ZSB8IHNjRm9ybWF0ZVBob25lIH19PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXVzZXIuY29udGFjdHMucGhvbmUuaXNBcHByb3ZlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC10dWktdGV4dC0wM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo0KLQtdC70LXRhNC+0L0g0L3QtSDQv9C+0LTRgtCy0LXRgNC20LTQtdC9LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFwcHJvdmVQaG9uZUNsaWNrLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0L7QtNGC0LLQtdGA0LTQuNGC0Yw8L2J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICp0dWlMZXQ9XCIhIShpc1NlbmRBcHByb3ZlRW1haWwkIHwgYXN5bmMpIGFzIGlzU2VuZEFwcHJvdmVFbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAteC0yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkubWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwibWFpbHRvOnt7IHVzZXIuY29udGFjdHMuZW1haWwudmFsdWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdXNlci5jb250YWN0cy5lbWFpbC52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc1NlbmRBcHByb3ZlRW1haWwgJiYgIXVzZXIuY29udGFjdHMuZW1haWwuaXNBcHByb3ZlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggZmxleC13cmFwIGdhcC0xIHRleHQtdHVpLXRleHQtMDNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRS1tYWlsINC90LUg0L/QvtC00YLQstC10YDQttC00LXQvS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cIiEhKGFwcHJvdmVFbWFpbExvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VuZEFwcHJvdmVFbWFpbC5uZXh0KHVzZXIuY29udGFjdHMuZW1haWwudmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQn9C+0LTRgtCy0LXRgNC00LjRgtGMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktbG9hZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzU2VuZEFwcHJvdmVFbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC10dWktc3VjY2Vzcy1maWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHR1aUZhZGVJblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QuNGB0YzQvNC+INC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDRg9GB0L/QtdGI0L3QviDQvtGC0L/RgNCw0LLQu9C10L3Qvi4g0J/QtdGA0LXQudC00LjRgtC1INC/0L4g0YHRgdGL0LvQutC1INCyINC/0LjRgdGM0LzQtSDQuCDQvtCx0L3QvtCy0LjRgtC1INGN0YLRgyDRgdGC0YDQsNC90LjRhtGDLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCIhIShnZXROZXdzTG9hZGluZyQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIHR1aUxhYmVsPiA8aW5wdXQgdHVpQ2hlY2tib3ggdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJnZXROZXdzQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInVzZXIuZ2V0TmV3c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQryDRhdC+0YfRgyDQv9C+0LvRg9GH0LDRgtGMINGA0LDRgdGB0YvQu9C60YMg0KHQvdCw0LHRhtC10L3RgtGAINC+INGB0LrQuNC00LrQsNGFINC4INC90L7QstC+0YHRgtGP0YUg0L/QviDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0LUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLWxvYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLmVkaXQtM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdFByb2ZpbGVDbGljay5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zYy1hY2NvcmRpb24+XG4gICAgPHNjLWNvbnRyYWdlbnRzLWFjY29yZGlvblxuICAgICAgICAoYWRkQ29udHJhZ2VudENsaWNrKT1cImFkZENvbnRyYWdlbnRDbGljay5lbWl0KClcIlxuICAgICAgICAoZGVsZXRlQ29udHJhZ2VudENsaWNrKT1cImRlbGV0ZUNvbnRyYWdlbnRDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoYWRkQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2spPVwiYWRkQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGRlbGV0ZUNvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrKT1cImRlbGV0ZUNvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChhZGRDb250cmFnZW50Q29udGFjdENsaWNrKT1cImFkZENvbnRyYWdlbnRDb250YWN0Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGRlbGV0ZUNvbnRyYWdlbnRDb250YWN0Q2xpY2spPVwiZGVsZXRlQ29udHJhZ2VudENvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgID48L3NjLWNvbnRyYWdlbnRzLWFjY29yZGlvbj5cbiAgICA8c2MtZGVsaXZlcnktYWRkcmVzcy1hY2NvcmRpb25cbiAgICAgICAgKGFkZERlbGl2ZXJ5QWRkcmVzc0NsaWNrKT1cImFkZERlbGl2ZXJ5QWRkcmVzc0NsaWNrLmVtaXQoKVwiXG4gICAgICAgIChkZWxldGVEZWxpdmVyeUFkZHJlc3NDbGljayk9XCJkZWxldGVEZWxpdmVyeUFkZHJlc3NDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoYWRkRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrKT1cImFkZERlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoZGVsZXRlRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrKT1cImRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgID48L3NjLWRlbGl2ZXJ5LWFkZHJlc3MtYWNjb3JkaW9uPlxuICAgIDxzYy1jb250YWN0cy1hY2NvcmRpb25cbiAgICAgICAgKm5nSWY9XCJ1c2VyXCJcbiAgICAgICAgW2NvbnRhY3RzJF09XCJ1c2VyQ29udGFjdHMkXCJcbiAgICAgICAgKGFkZENvbnRhY3RDbGljayk9XCJhZGRVc2VyQ29udGFjdENsaWNrLmVtaXQodXNlci5pZClcIlxuICAgICAgICAoZGVsZXRlQnV0dG9uQ2xpY2spPVwiZGVsZXRlVXNlckNvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgID48L3NjLWNvbnRhY3RzLWFjY29yZGlvbj5cbiAgICA8c2MtYWNjb3JkaW9uXG4gICAgICAgICNwYXNzd29yZEFjY29yZGlvblxuICAgICAgICBbc2hvd0Fycm93XT1cImZhbHNlXCJcbiAgICAgICAgW3Nob3dBZGRCdXR0b25dPVwiZmFsc2VcIlxuICAgID5cbiAgICAgICAg0JjQt9C80LXQvdC40YLRjCDQv9Cw0YDQvtC70YxcbiAgICAgICAgPG5nLXRlbXBsYXRlIHNjQWNjb3JkaW9uQ29udGVudD5cbiAgICAgICAgICAgIDxzYy1yZXNldC11c2VyLXBhc3N3b3JkIChzdWNjZXNzUmVzZXRQYXNzd29yZCk9XCJwYXNzd29yZEFjY29yZGlvbi5jbG9zZSgpXCI+PC9zYy1yZXNldC11c2VyLXBhc3N3b3JkPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvc2MtYWNjb3JkaW9uPlxuPC9kaXY+XG4iXX0=
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb2ZpbGUvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQvc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEU7O0dBRUc7QUFRSCxNQUFNLE9BQU8sbUNBQW1DO0lBcUo1Qzs7Ozs7OztPQU9HO0lBQ0gsWUFDMEMsS0FBeUIsRUFDOUMsZ0JBQW9DLEVBQ3BDLFdBQTBCLEVBQzFCLG1CQUEwQztRQUhyQixVQUFLLEdBQUws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O2dCQU9BLDhCQUE4QjtzQkFEcEMsTUFBTTtnQkFPQSxpQ0FBaUM7c0JBRHZDLE1BQU07Z0JBVUEsbUJBQW1CO3NCQUR6QixNQUFNO2dCQU9BLHNCQUFzQjtzQkFENUIsTUFBTTtnQkF3QkEsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NDb250cmFnZW50LCBTY0lCYW5rQWNjb3VudCwgU2NJQ2l0eSwgU2NJQ29udGFjdCwgU2NJRGVsaXZlcnlBZGRyZXNzLCBTY0xvY2F0aW9uc1NlcnZpY2UsIFNjVXNlciwgU2NVc2VyU2VydmljZSwgU2NWZXJpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUVUlfVFJVRV9IQU5ETEVSLCB0dWlJc0ZhbHN5LCB0dWlJc1ByZXNlbnQsIHR1aVB1cmUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IHR1aUZhZGVJbiB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZSwgc2tpcCwgc3RhcnRXaXRoLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTQ19VU0VSX0lORk8sIFNDX1VTRVJfUFJPVklERVJTIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LrQvtC90YLQtdC90YLQsCDQv9GA0L7RhNC40LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LIg0LLQuNC00LUg0YDQsNGB0LrRgNGL0LLQsNGO0YnQuNGF0YHRjyDRgdC80YvRgdC70L7QstGL0YUg0LHQu9C+0LrQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByb2ZpbGUtYWNjb3JkaW9ucy1jb250ZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtcHJvZmlsZS1hY2NvcmRpb25zLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1NDX1VTRVJfUFJPVklERVJTXSxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NQcm9maWxlQWNjb3JkaW9uc0NvbnRlbnRDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIHtAbGluayBGb3JtQ29udHJvbH0g0L/QtdGA0LXQutC70Y7Rh9Cw0YLQtdC70Y8gJ9CvINGF0L7Rh9GDINC/0L7Qu9GD0YfQsNGC0Ywg0YDQsNGB0YHRi9C70LrRgycuXG4gICAgICovXG4gICAgcHVibGljIGdldE5ld3NDb250cm9sOiBGb3JtQ29udHJvbDxib29sZWFuPiA9IG5ldyBGb3JtQ29udHJvbDxib29sZWFuPihmYWxzZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQt9Cw0L/RgNC+0YHQsCDQuNC30LzQtdC90LXQvdC40Y8g0L/RgNC40LfQvdCw0LrQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gJ9CvINGF0L7Rh9GDINC/0L7Qu9GD0YfQsNGC0Ywg0YDQsNGB0YHRi9C70LrRgycuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBnZXROZXdzUmVxdWVzdCQgPSB0aGlzLmdldE5ld3NDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICBza2lwKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VySW5mbyQoeyBnZXROZXdzOiB2YWx1ZSB9KS5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVwZGF0ZVVzZXJDaGFuZ2UkKCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgodXNlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0TmV3c0NvbnRyb2wucGF0Y2hWYWx1ZSh1c2VyLmdldE5ld3MsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICApLFxuXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQtNCw0L3QvdGL0YUg0LjQt9C80LXQvdC10L3QuNGPINC/0YDQuNC30L3QsNC60LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICfQryDRhdC+0YfRgyDQv9C+0LvRg9GH0LDRgtGMINGA0LDRgdGB0YvQu9C60YMnLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBnZXROZXdzTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmdldE5ld3NSZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgU3ViamVjdH0g0YHQvtCx0YvRgtC40Y8g0L7RgtC/0YDQsNCy0LrQuCDRgdC+0L7QsdGJ0LXQvdC40Y8g0LTQu9GPINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINCw0LTRgNC10YHQsCDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0YsuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9uU2VuZEFwcHJvdmVFbWFpbDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VuZEFwcHJvdmVFbWFpbFJlcXVlc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBudWxsPiA9IHRoaXMub25TZW5kQXBwcm92ZUVtYWlsLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHRoaXMudmVyaWZpY2F0aW9uU2VydmljZS5zZW5kRW1haWxBcHByb3ZlQ29kZSh2YWx1ZSkucGlwZShtYXAoVFVJX1RSVUVfSEFORExFUiksIHN0YXJ0V2l0aChudWxsKSkpLFxuICAgICAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0LTQsNC90L3Ri9GFINC+0YLQv9GA0LDQstC60Lgg0YHQvtC+0LHRidC10L3QuNGPINC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQsNC00YDQtdGB0LAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhcHByb3ZlRW1haWxMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuc2VuZEFwcHJvdmVFbWFpbFJlcXVlc3QkLnBpcGUobWFwKHR1aUlzRmFsc3kpKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQvtGB0YLQvtGP0L3QuNGPINC/0YDQuNC30L3QsNC60LAsINC+0YLQv9GA0LDQstC70LXQvdC+INC70Lgg0YHQvtC+0LHRidC10L3QuNC1INC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDQsNC00YDQtdGB0LAg0Y3Qu9C10LrRgtGA0L7QvdC90L7QuSDQv9C+0YfRgtGLLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpc1NlbmRBcHByb3ZlRW1haWwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5zZW5kQXBwcm92ZUVtYWlsUmVxdWVzdCQucGlwZShmaWx0ZXIodHVpSXNQcmVzZW50KSk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L/QuNGB0LrQsCDQutC+0L3RgtCw0LrRgtC90YvRhSDQu9C40YYg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB1c2VyQ29udGFjdHMkID0gdGhpcy51c2VyU2VydmljZS5nZXRVc2VyQ29udGFjdHMkKCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INC/0YDQvtGE0LjQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZWRpdFByb2ZpbGVDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8g0YLQtdC70LXRhNC+0L3QsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYXBwcm92ZVBob25lQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZENvbnRyYWdlbnRDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0YPQtNCw0LvQtdC90LjRjyDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVDb250cmFnZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQsdCw0L3QutC+0LLRgdC60L7Qs9C+INGB0YfRkdGC0LAg0LrQvtC90YLRgNCw0LPQtdC90YLRgy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0YHRh9GR0YLQsCDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVDb250cmFnZW50QmFua0FjY291bnRDbGljazogRXZlbnRFbWl0dGVyPFNjSUJhbmtBY2NvdW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2NJQmFua0FjY291bnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQtNC+0LHQsNCy0LvQtdC90LjRjyDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwINC60L7QvdGC0YDQsNCz0LXQvdGC0YMuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZENvbnRyYWdlbnRDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NvbnRyYWdlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0YMg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlQ29udHJhZ2VudENvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPHsgY29udGFjdDogU2NJQ29udGFjdDsgY29udHJhZ2VudDogU2NDb250cmFnZW50IH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGNvbnRhY3Q6IFNjSUNvbnRhY3Q7IGNvbnRyYWdlbnQ6IFNjQ29udHJhZ2VudCB9PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60Lgg0LrQu9C40LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGFkZERlbGl2ZXJ5QWRkcmVzc0NsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4INGDINC60LvQuNC10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVEZWxpdmVyeUFkZHJlc3NDbGljazogRXZlbnRFbWl0dGVyPFNjSURlbGl2ZXJ5QWRkcmVzcz4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjSURlbGl2ZXJ5QWRkcmVzcz4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0LTQu9GPINCw0LTRgNC10YHQsCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGREZWxpdmVyeUFkZHJlc3NDb250YWN0Q2xpY2s6IEV2ZW50RW1pdHRlcjxTY0lEZWxpdmVyeUFkZHJlc3M+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lEZWxpdmVyeUFkZHJlc3M+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0YMg0LDQtNGA0LXRgdCwINC00L7RgdGC0LDQstC60LguXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPHsgY29udGFjdDogU2NJQ29udGFjdDsgYWRkcmVzczogU2NJRGVsaXZlcnlBZGRyZXNzIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGNvbnRhY3Q6IFNjSUNvbnRhY3Q7XG4gICAgICAgIGFkZHJlc3M6IFNjSURlbGl2ZXJ5QWRkcmVzcztcbiAgICB9PigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMg0LTQvtCx0LDQstC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDQutC70LjQtdC90YLRgy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkVXNlckNvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDRgyDQutC70LjQtdC90YLQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgZGVsZXRlVXNlckNvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPFNjSUNvbnRhY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lDb250YWN0PigpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1Byb2ZpbGVDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXIkINCf0L7RgtC+0Log0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqIEBwYXJhbSBsb2NhdGlvbnNTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQvtCyINGB0YLRgNCw0L0sINGA0LXQs9C40L7QvdC+0LIsINCz0L7RgNC+0LTQvtCyLlxuICAgICAqIEBwYXJhbSB1c2VyU2VydmljZSDQodC10YDQstC40YEg0LTQsNC90L3Ri9GFINC+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtS5cbiAgICAgKiBAcGFyYW0gdmVyaWZpY2F0aW9uU2VydmljZSDQodC10YDQstC40YEg0LLQtdGA0LjRhNC40LrQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoU0NfVVNFUl9JTkZPKSBwdWJsaWMgcmVhZG9ubHkgdXNlciQ6IE9ic2VydmFibGU8U2NVc2VyPixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbnNTZXJ2aWNlOiBTY0xvY2F0aW9uc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyaWZpY2F0aW9uU2VydmljZTogU2NWZXJpZmljYXRpb25TZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNC10YIg0LfQsNC/0YDQvtGBINC/0L7Qu9GD0YfQtdC90LjRjyDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQs9C+0YDQvtC00LUg0YLQtdC60YPRidC10LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0L/QviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDINCz0L7RgNC+0LTQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjaXR5SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC/0LjRgdC4INCz0L7RgNC+0LTQsC5cbiAgICAgKi9cbiAgICBAdHVpUHVyZSAvLyBUT0RPOiBUQVNLWyM3NjE1XSDQo9C00LDQu9C40YLRjCDQv9C+0LvQtSDRgNC10YTQsNC60YLQvtGA0LjQvdCz0LAg0YHQtdGA0LLQuNGB0LAg0YDQsNCx0L7RgtGLINGBINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC8LlxuICAgIHB1YmxpYyBnZXRVc2VyQ2l0eSQoY2l0eUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNjSUNpdHk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25zU2VydmljZS5nZXRVc2VyQ2l0eSQoY2l0eUlkKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKnR1aUxldD1cInVzZXIkIHwgYXN5bmMgYXMgdXNlclwiXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00XCJcbj5cbiAgICA8c2MtYWNjb3JkaW9uXG4gICAgICAgIFtzaG93QXJyb3ddPVwiZmFsc2VcIlxuICAgICAgICBbc2hvd0FkZEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICAgIFtvcGVuXT1cInRydWVcIlxuICAgID5cbiAgICAgICAg0J7QsdGJ0LjQtSDQtNCw0L3QvdGL0LVcbiAgICAgICAgPG5nLXRlbXBsYXRlIHNjQWNjb3JkaW9uQ29udGVudD5cbiAgICAgICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwidXNlciA9PT0gbnVsbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgcGwtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInVzZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdyb3cgZmxleC1jb2wgZ2FwLTJcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtbWVkaXVtXCI+e3sgdXNlci5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidXNlci5jaXR5ICYmIChnZXRVc2VyQ2l0eSQodXNlci5jaXR5KSB8IGFzeW5jKSBhcyBjaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWljb24gaWNvbj1cIkB0dWkubWFwLXBpblwiPjwvdHVpLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPtCzLiB7eyBjaXR5Lm5hbWUgfX0sIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaXR5LnJlZ2lvblwiPnt7IGNpdHkucmVnaW9uLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjVGVsTGlua109XCJ1c2VyLmNvbnRhY3RzLnBob25lLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5waG9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJ0ZWw6e3sgdXNlci5jb250YWN0cy5waG9uZS52YWx1ZSB8IHNjRm9ybWF0ZVBob25lIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IHVzZXIuY29udGFjdHMucGhvbmUudmFsdWUgfCBzY0Zvcm1hdGVQaG9uZSB9fTwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiF1c2VyLmNvbnRhY3RzLnBob25lLmlzQXBwcm92ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtdHVpLXRleHQtMDNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKNCi0LXQu9C10YTQvtC9INC90LUg0L/QvtC00YLQstC10YDQttC00LXQvS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BzZXVkb109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhcHByb3ZlUGhvbmVDbGljay5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQn9C+0LTRgtCy0LXRgNC00LjRgtGMPC9idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqdHVpTGV0PVwiISEoaXNTZW5kQXBwcm92ZUVtYWlsJCB8IGFzeW5jKSBhcyBpc1NlbmRBcHByb3ZlRW1haWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLXgtMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLm1haWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHNldWRvXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwibWFpbHRvOnt7IHVzZXIuY29udGFjdHMuZW1haWwudmFsdWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdXNlci5jb250YWN0cy5lbWFpbC52YWx1ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc1NlbmRBcHByb3ZlRW1haWwgJiYgIXVzZXIuY29udGFjdHMuZW1haWwuaXNBcHByb3ZlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5saW5lLWZsZXggZmxleC13cmFwIGdhcC0xIHRleHQtdHVpLXRleHQtMDNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRS1tYWlsINC90LUg0L/QvtC00YLQstC10YDQttC00LXQvS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cIiEhKGFwcHJvdmVFbWFpbExvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwc2V1ZG9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VuZEFwcHJvdmVFbWFpbC5uZXh0KHVzZXIuY29udGFjdHMuZW1haWwudmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQn9C+0LTRgtCy0LXRgNC00LjRgtGMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktbG9hZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzU2VuZEFwcHJvdmVFbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC10dWktc3VjY2Vzcy1maWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHR1aUZhZGVJblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/QuNGB0YzQvNC+INC00LvRjyDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjyDRg9GB0L/QtdGI0L3QviDQvtGC0L/RgNCw0LLQu9C10L3Qvi4g0J/QtdGA0LXQudC00LjRgtC1INC/0L4g0YHRgdGL0LvQutC1INCyINC/0LjRgdGM0LzQtSDQuCDQvtCx0L3QvtCy0LjRgtC1INGN0YLRgyDRgdGC0YDQsNC90LjRhtGDLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCIhIShnZXROZXdzTG9hZGluZyQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCB0dWlMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlDaGVja2JveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJnZXROZXdzQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ1c2VyLmdldE5ld3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQryDRhdC+0YfRgyDQv9C+0LvRg9GH0LDRgtGMINGA0LDRgdGB0YvQu9C60YMg0KHQvdCw0LHRhtC10L3RgtGAINC+INGB0LrQuNC00LrQsNGFINC4INC90L7QstC+0YHRgtGP0YUg0L/QviDRjdC70LXQutGC0YDQvtC90L3QvtC5INC/0L7Rh9GC0LUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLWxvYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnBlbmNpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdFByb2ZpbGVDbGljay5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zYy1hY2NvcmRpb24+XG4gICAgPHNjLWNvbnRyYWdlbnRzLWFjY29yZGlvblxuICAgICAgICAoYWRkQ29udHJhZ2VudENsaWNrKT1cImFkZENvbnRyYWdlbnRDbGljay5lbWl0KClcIlxuICAgICAgICAoZGVsZXRlQ29udHJhZ2VudENsaWNrKT1cImRlbGV0ZUNvbnRyYWdlbnRDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoYWRkQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2spPVwiYWRkQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGRlbGV0ZUNvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrKT1cImRlbGV0ZUNvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChhZGRDb250cmFnZW50Q29udGFjdENsaWNrKT1cImFkZENvbnRyYWdlbnRDb250YWN0Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGRlbGV0ZUNvbnRyYWdlbnRDb250YWN0Q2xpY2spPVwiZGVsZXRlQ29udHJhZ2VudENvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgID48L3NjLWNvbnRyYWdlbnRzLWFjY29yZGlvbj5cbiAgICA8c2MtZGVsaXZlcnktYWRkcmVzcy1hY2NvcmRpb25cbiAgICAgICAgKGFkZERlbGl2ZXJ5QWRkcmVzc0NsaWNrKT1cImFkZERlbGl2ZXJ5QWRkcmVzc0NsaWNrLmVtaXQoKVwiXG4gICAgICAgIChkZWxldGVEZWxpdmVyeUFkZHJlc3NDbGljayk9XCJkZWxldGVEZWxpdmVyeUFkZHJlc3NDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoYWRkRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrKT1cImFkZERlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAoZGVsZXRlRGVsaXZlcnlBZGRyZXNzQ29udGFjdENsaWNrKT1cImRlbGV0ZURlbGl2ZXJ5QWRkcmVzc0NvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgID48L3NjLWRlbGl2ZXJ5LWFkZHJlc3MtYWNjb3JkaW9uPlxuICAgIDxzYy1jb250YWN0cy1hY2NvcmRpb25cbiAgICAgICAgKm5nSWY9XCJ1c2VyXCJcbiAgICAgICAgW2NvbnRhY3RzJF09XCJ1c2VyQ29udGFjdHMkXCJcbiAgICAgICAgKGFkZENvbnRhY3RDbGljayk9XCJhZGRVc2VyQ29udGFjdENsaWNrLmVtaXQodXNlci5pZClcIlxuICAgICAgICAoZGVsZXRlQnV0dG9uQ2xpY2spPVwiZGVsZXRlVXNlckNvbnRhY3RDbGljay5lbWl0KCRldmVudClcIlxuICAgID48L3NjLWNvbnRhY3RzLWFjY29yZGlvbj5cbiAgICA8c2MtYWNjb3JkaW9uXG4gICAgICAgICNwYXNzd29yZEFjY29yZGlvblxuICAgICAgICBbc2hvd0Fycm93XT1cImZhbHNlXCJcbiAgICAgICAgW3Nob3dBZGRCdXR0b25dPVwiZmFsc2VcIlxuICAgID5cbiAgICAgICAg0JjQt9C80LXQvdC40YLRjCDQv9Cw0YDQvtC70YxcbiAgICAgICAgPG5nLXRlbXBsYXRlIHNjQWNjb3JkaW9uQ29udGVudD5cbiAgICAgICAgICAgIDxzYy1yZXNldC11c2VyLXBhc3N3b3JkIChzdWNjZXNzUmVzZXRQYXNzd29yZCk9XCJwYXNzd29yZEFjY29yZGlvbi5jbG9zZSgpXCI+PC9zYy1yZXNldC11c2VyLXBhc3N3b3JkPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvc2MtYWNjb3JkaW9uPlxuPC9kaXY+XG4iXX0=
|