@thetradeengineorg1/snova-shell-module 0.0.259 → 0.0.261
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/bundles/thetradeengineorg1-snova-shell-module.umd.js +18874 -18887
- package/bundles/thetradeengineorg1-snova-shell-module.umd.js.map +1 -1
- package/esm2015/lib/globaldependencies/components/avatar.component.js +33 -33
- package/esm2015/lib/globaldependencies/components/componentbase.js +538 -538
- package/esm2015/lib/globaldependencies/constants/feature-ids.js +449 -449
- package/esm2015/lib/globaldependencies/constants/localstorage-properties.js +38 -38
- package/esm2015/lib/globaldependencies/helpers/dom.helper.js +70 -70
- package/esm2015/lib/globaldependencies/helpers/fontawesome-icons.js +144 -144
- package/esm2015/lib/globaldependencies/helpers/moment-utc-date-adapter.js +37 -37
- package/esm2015/lib/globaldependencies/helpers/window.helper.js +32 -32
- package/esm2015/lib/globaldependencies/intercepter/jwt.interceptor.js +40 -40
- package/esm2015/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.js +36 -36
- package/esm2015/lib/globaldependencies/pipes/highLightText.pipe.js +24 -24
- package/esm2015/lib/globaldependencies/pipes/orderby-pipe.js +24 -24
- package/esm2015/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.js +22 -22
- package/esm2015/lib/globaldependencies/pipes/sanitize.pipe.js +24 -24
- package/esm2015/lib/globaldependencies/pipes/softlabels.pipes.js +346 -346
- package/esm2015/lib/globaldependencies/pipes/utctolocaltime.pipe.js +23 -23
- package/esm2015/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.js +25 -25
- package/esm2015/lib/globaldependencies/pipes/workflowstatus.pipes.js +27 -27
- package/esm2015/lib/shell-components/components/Payments/account.component.js +121 -121
- package/esm2015/lib/shell-components/components/Payments/company-information.js +558 -558
- package/esm2015/lib/shell-components/components/Payments/company-plans.component.js +636 -636
- package/esm2015/lib/shell-components/components/Payments/document.component.js +129 -129
- package/esm2015/lib/shell-components/components/Payments/payment-method.component.js +90 -90
- package/esm2015/lib/shell-components/components/Payments/product-service.component.js +438 -438
- package/esm2015/lib/shell-components/components/Payments/purchase-more-licenses.js +249 -249
- package/esm2015/lib/shell-components/components/Payments/transactions.component.js +172 -172
- package/esm2015/lib/shell-components/components/admin-layout/admin-layout.component.js +350 -350
- package/esm2015/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.js +102 -102
- package/esm2015/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.js +126 -139
- package/esm2015/lib/shell-components/components/export-import-configuration/export-configuration.component.js +502 -502
- package/esm2015/lib/shell-components/components/feed-time/feed-time-dialog.component.js +98 -98
- package/esm2015/lib/shell-components/components/feed-time/feed-time.component.js +87 -87
- package/esm2015/lib/shell-components/components/header-side/header-side.component.js +2342 -2344
- package/esm2015/lib/shell-components/components/header-top/header-top.component.js +489 -489
- package/esm2015/lib/shell-components/components/lives/lives-welcome-page.js +55 -55
- package/esm2015/lib/shell-components/components/menu/menu.component.js +3413 -3413
- package/esm2015/lib/shell-components/components/menu/searchTask.enum.js +10 -10
- package/esm2015/lib/shell-components/components/notifications/announcement-dialog.component.js +110 -110
- package/esm2015/lib/shell-components/components/notifications/notifications.component.js +534 -534
- package/esm2015/lib/shell-components/components/sidebar-top/sidebar-top.component.js +39 -39
- package/esm2015/lib/shell-components/components/sidenav/side-bar.component.js +148 -148
- package/esm2015/lib/shell-components/components/sidenav/sidenav.component.js +439 -439
- package/esm2015/lib/shell-components/components/submit-feedback/submit-feedback.component.js +75 -75
- package/esm2015/lib/shell-components/constants/api-urls.js +1052 -1052
- package/esm2015/lib/shell-components/constants/available-languages.js +25 -25
- package/esm2015/lib/shell-components/constants/channel-names.js +38 -38
- package/esm2015/lib/shell-components/constants/menu-categories.js +6 -6
- package/esm2015/lib/shell-components/constants/notification-routes.js +6 -6
- package/esm2015/lib/shell-components/constants/notification-type-ids.js +42 -42
- package/esm2015/lib/shell-components/enum/recentSearchType.enum.js +13 -13
- package/esm2015/lib/shell-components/models/AppMenuItemModel.js +3 -3
- package/esm2015/lib/shell-components/models/AppNotification.js +17 -17
- package/esm2015/lib/shell-components/models/AssetAssignedNotificationModel.js +12 -12
- package/esm2015/lib/shell-components/models/ChannelUpdateModel.js +3 -3
- package/esm2015/lib/shell-components/models/EmployeeStatusModel.js +3 -3
- package/esm2015/lib/shell-components/models/IAdjust-screen-options.js +2 -2
- package/esm2015/lib/shell-components/models/IBadge.js +2 -2
- package/esm2015/lib/shell-components/models/IChildItem.js +2 -2
- package/esm2015/lib/shell-components/models/ILayout-change-options.js +2 -2
- package/esm2015/lib/shell-components/models/IMenuItem.js +2 -2
- package/esm2015/lib/shell-components/models/IlayoutConf.js +2 -2
- package/esm2015/lib/shell-components/models/IntroModel.js +3 -3
- package/esm2015/lib/shell-components/models/MessageDetails.js +3 -3
- package/esm2015/lib/shell-components/models/MessageTypingDetails.js +3 -3
- package/esm2015/lib/shell-components/models/NewProjectCreatedNotificationModel.js +10 -10
- package/esm2015/lib/shell-components/models/NewProjectFeatureNotificationModel.js +10 -10
- package/esm2015/lib/shell-components/models/NotificationsOutPutModel.js +22 -22
- package/esm2015/lib/shell-components/models/ProjectSearchCriteriaInputModel.js +3 -3
- package/esm2015/lib/shell-components/models/RecentSearchModel.js +5 -5
- package/esm2015/lib/shell-components/models/ReportConfigAssignedNotification.js +11 -11
- package/esm2015/lib/shell-components/models/ReportSubmittedNotification.js +12 -12
- package/esm2015/lib/shell-components/models/RoleUpdatedNotification.js +9 -9
- package/esm2015/lib/shell-components/models/UserStoryAssignedNotification.js +13 -13
- package/esm2015/lib/shell-components/models/archiveUserStoryModel.js +10 -10
- package/esm2015/lib/shell-components/models/companieslist.model.js +3 -3
- package/esm2015/lib/shell-components/models/company-model.js +7 -7
- package/esm2015/lib/shell-components/models/company-payment-model.js +3 -3
- package/esm2015/lib/shell-components/models/dragedWidget.js +3 -3
- package/esm2015/lib/shell-components/models/employee-List.js +3 -3
- package/esm2015/lib/shell-components/models/employee.js +4 -4
- package/esm2015/lib/shell-components/models/entityRoleFeature.js +3 -3
- package/esm2015/lib/shell-components/models/export-configuration-model.js +3 -3
- package/esm2015/lib/shell-components/models/export-data.module.js +8 -8
- package/esm2015/lib/shell-components/models/goalApprovedNotificationModel.js +9 -9
- package/esm2015/lib/shell-components/models/import-configuration-model.js +3 -3
- package/esm2015/lib/shell-components/models/initialStatusofUsers.js +3 -3
- package/esm2015/lib/shell-components/models/invoiceOutput-model.js +3 -3
- package/esm2015/lib/shell-components/models/leaveApplicationNotifiction.js +9 -9
- package/esm2015/lib/shell-components/models/multiChartsScheduling.js +11 -11
- package/esm2015/lib/shell-components/models/parkUserStoryInputModel.js +10 -10
- package/esm2015/lib/shell-components/models/project.js +3 -3
- package/esm2015/lib/shell-components/models/recentSearchApiModel.js +3 -3
- package/esm2015/lib/shell-components/models/searchCriteriaInputModelBase.js +3 -3
- package/esm2015/lib/shell-components/models/shellModulesInfo.js +7 -7
- package/esm2015/lib/shell-components/models/softlabels-model.js +7 -7
- package/esm2015/lib/shell-components/models/sprintReplanRequestedModel.js +9 -9
- package/esm2015/lib/shell-components/models/sprintStartedNotificationModel.js +9 -9
- package/esm2015/lib/shell-components/models/store-model.js +3 -3
- package/esm2015/lib/shell-components/models/store-search-model.js +4 -4
- package/esm2015/lib/shell-components/models/themes.model.js +3 -3
- package/esm2015/lib/shell-components/models/timesheetenabledisable.js +4 -4
- package/esm2015/lib/shell-components/models/user.js +8 -8
- package/esm2015/lib/shell-components/models/userStory.js +3 -3
- package/esm2015/lib/shell-components/models/userStoryCommentNotificationModel.js +9 -9
- package/esm2015/lib/shell-components/models/userStoryUpdateNotificationModel.js +9 -9
- package/esm2015/lib/shell-components/models/userstory-custom-fields.model.js +3 -3
- package/esm2015/lib/shell-components/models/validation.model.js +2 -2
- package/esm2015/lib/shell-components/models/widgetlist.js +6 -6
- package/esm2015/lib/shell-components/models/workspaceList.js +3 -3
- package/esm2015/lib/shell-components/services/authentication.service.js +96 -96
- package/esm2015/lib/shell-components/services/chat.service.js +67 -67
- package/esm2015/lib/shell-components/services/common-used.service.js +263 -263
- package/esm2015/lib/shell-components/services/feature.service.js +101 -101
- package/esm2015/lib/shell-components/services/google-analytics.service.js +24 -24
- package/esm2015/lib/shell-components/services/layout.service.js +68 -68
- package/esm2015/lib/shell-components/services/payment.service.js +103 -103
- package/esm2015/lib/shell-components/services/recentSearch.service.js +90 -90
- package/esm2015/lib/shell-components/services/shell.modules.service.js +24 -24
- package/esm2015/lib/shell-components/services/signalr.service.js +113 -113
- package/esm2015/lib/shell-components/services/theme.service.js +161 -161
- package/esm2015/lib/shell-components/shell.module.js +450 -450
- package/esm2015/lib/shell-components/shell.routing.js +16 -16
- package/esm2015/lib/shell-components/store/actions/authentication.actions.js +260 -260
- package/esm2015/lib/shell-components/store/actions/chat.actions.js +248 -248
- package/esm2015/lib/shell-components/store/actions/menuitems.actions.js +39 -39
- package/esm2015/lib/shell-components/store/actions/notification-validator.action.js +19 -19
- package/esm2015/lib/shell-components/store/actions/notifications.actions.js +74 -74
- package/esm2015/lib/shell-components/store/effects/authentication.effects.js +503 -503
- package/esm2015/lib/shell-components/store/effects/chat.effects.js +139 -139
- package/esm2015/lib/shell-components/store/effects/index.js +13 -13
- package/esm2015/lib/shell-components/store/effects/menuitems.effects.js +53 -53
- package/esm2015/lib/shell-components/store/effects/notification-validator.effects.js +56 -56
- package/esm2015/lib/shell-components/store/effects/notifications.effects.js +116 -116
- package/esm2015/lib/shell-components/store/reducers/authentication.reducers.js +86 -86
- package/esm2015/lib/shell-components/store/reducers/chat.reducers.js +68 -68
- package/esm2015/lib/shell-components/store/reducers/index.js +80 -80
- package/esm2015/lib/shell-components/store/reducers/menuitems.reducers.js +56 -56
- package/esm2015/lib/shell-components/store/reducers/notification-validator.reducers.js +13 -13
- package/esm2015/lib/shell-components/store/reducers/notifications.reducers.js +38 -38
- package/esm2015/public-api.js +92 -92
- package/esm2015/store/reducers/index.js +47 -47
- package/esm2015/thetradeengineorg1-snova-shell-module.js +4 -4
- package/fesm2015/thetradeengineorg1-snova-shell-module.js +16984 -16997
- package/fesm2015/thetradeengineorg1-snova-shell-module.js.map +1 -1
- package/lib/globaldependencies/components/avatar.component.d.ts +10 -10
- package/lib/globaldependencies/components/componentbase.d.ts +455 -455
- package/lib/globaldependencies/constants/feature-ids.d.ts +448 -448
- package/lib/globaldependencies/constants/localstorage-properties.d.ts +37 -37
- package/lib/globaldependencies/helpers/dom.helper.d.ts +7 -7
- package/lib/globaldependencies/helpers/fontawesome-icons.d.ts +1 -1
- package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts +9 -9
- package/lib/globaldependencies/helpers/window.helper.d.ts +12 -12
- package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts +11 -11
- package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts +8 -8
- package/lib/globaldependencies/pipes/highLightText.pipe.d.ts +8 -8
- package/lib/globaldependencies/pipes/orderby-pipe.d.ts +9 -9
- package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts +8 -8
- package/lib/globaldependencies/pipes/sanitize.pipe.d.ts +11 -11
- package/lib/globaldependencies/pipes/softlabels.pipes.d.ts +8 -8
- package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts +8 -8
- package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts +8 -8
- package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts +8 -8
- package/lib/shell-components/components/Payments/account.component.d.ts +14 -14
- package/lib/shell-components/components/Payments/company-information.d.ts +62 -62
- package/lib/shell-components/components/Payments/company-plans.component.d.ts +47 -47
- package/lib/shell-components/components/Payments/document.component.d.ts +20 -20
- package/lib/shell-components/components/Payments/payment-method.component.d.ts +15 -15
- package/lib/shell-components/components/Payments/product-service.component.d.ts +48 -48
- package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts +37 -37
- package/lib/shell-components/components/Payments/transactions.component.d.ts +28 -28
- package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts +67 -67
- package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts +32 -32
- package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts +32 -32
- package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts +60 -60
- package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts +33 -33
- package/lib/shell-components/components/feed-time/feed-time.component.d.ts +27 -27
- package/lib/shell-components/components/header-side/header-side.component.d.ts +220 -220
- package/lib/shell-components/components/header-side/header-side.component.d.ts.map +1 -1
- package/lib/shell-components/components/header-top/header-top.component.d.ts +40 -40
- package/lib/shell-components/components/lives/lives-welcome-page.d.ts +14 -14
- package/lib/shell-components/components/menu/menu.component.d.ts +220 -220
- package/lib/shell-components/components/menu/searchTask.enum.d.ts +8 -8
- package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts +27 -27
- package/lib/shell-components/components/notifications/notifications.component.d.ts +53 -53
- package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts +10 -10
- package/lib/shell-components/components/sidenav/side-bar.component.d.ts +23 -23
- package/lib/shell-components/components/sidenav/sidenav.component.d.ts +17 -17
- package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts +25 -25
- package/lib/shell-components/constants/api-urls.d.ts +1051 -1051
- package/lib/shell-components/constants/available-languages.d.ts +7 -7
- package/lib/shell-components/constants/channel-names.d.ts +37 -37
- package/lib/shell-components/constants/menu-categories.d.ts +5 -5
- package/lib/shell-components/constants/notification-routes.d.ts +5 -5
- package/lib/shell-components/constants/notification-type-ids.d.ts +41 -41
- package/lib/shell-components/enum/recentSearchType.enum.d.ts +11 -11
- package/lib/shell-components/models/AppMenuItemModel.d.ts +12 -12
- package/lib/shell-components/models/AppNotification.d.ts +12 -12
- package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts +10 -10
- package/lib/shell-components/models/ChannelUpdateModel.d.ts +47 -47
- package/lib/shell-components/models/EmployeeStatusModel.d.ts +11 -11
- package/lib/shell-components/models/IAdjust-screen-options.d.ts +4 -4
- package/lib/shell-components/models/IBadge.d.ts +4 -4
- package/lib/shell-components/models/IChildItem.d.ts +7 -7
- package/lib/shell-components/models/ILayout-change-options.d.ts +4 -4
- package/lib/shell-components/models/IMenuItem.d.ts +14 -14
- package/lib/shell-components/models/IlayoutConf.d.ts +10 -10
- package/lib/shell-components/models/IntroModel.d.ts +3 -3
- package/lib/shell-components/models/MessageDetails.d.ts +55 -55
- package/lib/shell-components/models/MessageTypingDetails.d.ts +9 -9
- package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts +8 -8
- package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts +8 -8
- package/lib/shell-components/models/NotificationsOutPutModel.d.ts +41 -41
- package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts +10 -10
- package/lib/shell-components/models/RecentSearchModel.d.ts +14 -14
- package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts +9 -9
- package/lib/shell-components/models/ReportSubmittedNotification.d.ts +10 -10
- package/lib/shell-components/models/RoleUpdatedNotification.d.ts +7 -7
- package/lib/shell-components/models/UserStoryAssignedNotification.d.ts +8 -8
- package/lib/shell-components/models/archiveUserStoryModel.d.ts +7 -7
- package/lib/shell-components/models/companieslist.model.d.ts +8 -8
- package/lib/shell-components/models/company-model.d.ts +31 -31
- package/lib/shell-components/models/company-payment-model.d.ts +18 -18
- package/lib/shell-components/models/dragedWidget.d.ts +16 -16
- package/lib/shell-components/models/employee-List.d.ts +8 -8
- package/lib/shell-components/models/employee.d.ts +60 -60
- package/lib/shell-components/models/entityRoleFeature.d.ts +9 -9
- package/lib/shell-components/models/export-configuration-model.d.ts +8 -8
- package/lib/shell-components/models/export-data.module.d.ts +6 -6
- package/lib/shell-components/models/goalApprovedNotificationModel.d.ts +8 -8
- package/lib/shell-components/models/import-configuration-model.d.ts +3 -3
- package/lib/shell-components/models/initialStatusofUsers.d.ts +5 -5
- package/lib/shell-components/models/invoiceOutput-model.d.ts +9 -9
- package/lib/shell-components/models/leaveApplicationNotifiction.d.ts +7 -7
- package/lib/shell-components/models/multiChartsScheduling.d.ts +9 -9
- package/lib/shell-components/models/parkUserStoryInputModel.d.ts +7 -7
- package/lib/shell-components/models/project.d.ts +28 -28
- package/lib/shell-components/models/recentSearchApiModel.d.ts +6 -6
- package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts +10 -10
- package/lib/shell-components/models/shellModulesInfo.d.ts +16 -16
- package/lib/shell-components/models/softlabels-model.d.ts +66 -66
- package/lib/shell-components/models/sprintReplanRequestedModel.d.ts +7 -7
- package/lib/shell-components/models/sprintStartedNotificationModel.d.ts +7 -7
- package/lib/shell-components/models/store-model.d.ts +13 -13
- package/lib/shell-components/models/store-search-model.d.ts +7 -7
- package/lib/shell-components/models/themes.model.d.ts +9 -9
- package/lib/shell-components/models/timesheetenabledisable.d.ts +16 -16
- package/lib/shell-components/models/user.d.ts +40 -40
- package/lib/shell-components/models/userStory.d.ts +188 -188
- package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts +6 -6
- package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts +6 -6
- package/lib/shell-components/models/userstory-custom-fields.model.d.ts +6 -6
- package/lib/shell-components/models/validation.model.d.ts +5 -5
- package/lib/shell-components/models/widgetlist.d.ts +28 -28
- package/lib/shell-components/models/workspaceList.d.ts +19 -19
- package/lib/shell-components/services/authentication.service.d.ts +18 -18
- package/lib/shell-components/services/chat.service.d.ts +16 -16
- package/lib/shell-components/services/common-used.service.d.ts +45 -45
- package/lib/shell-components/services/feature.service.d.ts +19 -19
- package/lib/shell-components/services/google-analytics.service.d.ts +9 -9
- package/lib/shell-components/services/layout.service.d.ts +23 -23
- package/lib/shell-components/services/payment.service.d.ts +19 -19
- package/lib/shell-components/services/recentSearch.service.d.ts +16 -16
- package/lib/shell-components/services/shell.modules.service.d.ts +9 -9
- package/lib/shell-components/services/signalr.service.d.ts +25 -25
- package/lib/shell-components/services/theme.service.d.ts +14 -14
- package/lib/shell-components/shell.module.d.ts +119 -119
- package/lib/shell-components/shell.routing.d.ts +2 -2
- package/lib/shell-components/store/actions/authentication.actions.d.ts +327 -327
- package/lib/shell-components/store/actions/chat.actions.d.ts +399 -399
- package/lib/shell-components/store/actions/menuitems.actions.d.ts +51 -51
- package/lib/shell-components/store/actions/notification-validator.action.d.ts +25 -25
- package/lib/shell-components/store/actions/notifications.actions.d.ts +116 -116
- package/lib/shell-components/store/effects/authentication.effects.d.ts +54 -54
- package/lib/shell-components/store/effects/chat.effects.d.ts +30 -30
- package/lib/shell-components/store/effects/index.d.ts +1 -1
- package/lib/shell-components/store/effects/menuitems.effects.d.ts +17 -17
- package/lib/shell-components/store/effects/notification-validator.effects.d.ts +21 -21
- package/lib/shell-components/store/effects/notifications.effects.d.ts +23 -23
- package/lib/shell-components/store/reducers/authentication.reducers.d.ts +30 -30
- package/lib/shell-components/store/reducers/chat.reducers.d.ts +17 -17
- package/lib/shell-components/store/reducers/index.d.ts +59 -59
- package/lib/shell-components/store/reducers/menuitems.reducers.d.ts +11 -11
- package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts +5 -5
- package/lib/shell-components/store/reducers/notifications.reducers.d.ts +10 -10
- package/package.json +1 -1
- package/public-api.d.ts +82 -82
- package/store/reducers/index.d.ts +24 -24
- package/thetradeengineorg1-snova-shell-module.d.ts +5 -5
|
@@ -1,538 +1,538 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { FeatureIds } from '../constants/feature-ids';
|
|
3
|
-
import * as _ from "underscore";
|
|
4
|
-
import { LocalStorageProperties } from '../constants/localstorage-properties';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class CustomAppBaseComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.logNavigation();
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() {
|
|
11
|
-
var roles = JSON.parse(localStorage.getItem(LocalStorageProperties.RoleFeatures));
|
|
12
|
-
this.canAccess_feature_ManageRegion = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRegion.toString().toLowerCase(); }) != null;
|
|
13
|
-
this.canAccess_feature_AddOrUpdateEmployeeJob = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeJob.toString().toLowerCase(); }) != null;
|
|
14
|
-
this.canAccess_feature_ArchiveOrUnarchiveInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveInvoice.toString().toLowerCase(); }) != null;
|
|
15
|
-
this.canAccess_feature_ManageTimeFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeFormat.toString().toLowerCase(); }) != null;
|
|
16
|
-
this.canAccess_feature_ViewLeaves = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewLeaves.toString().toLowerCase(); }) != null;
|
|
17
|
-
this.canAccess_feature_ManageTestcaseAutomationType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseAutomationType.toString().toLowerCase(); }) != null;
|
|
18
|
-
this.canAccess_feature_ManagePeakHour = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePeakHour.toString().toLowerCase(); }) != null;
|
|
19
|
-
this.canAccess_feature_ManageEducationLevels = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEducationLevels.toString().toLowerCase(); }) != null;
|
|
20
|
-
this.canAccess_feature_MyWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MyWork.toString().toLowerCase(); }) != null;
|
|
21
|
-
this.canAccess_feature_Notifications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Notifications.toString().toLowerCase(); }) != null;
|
|
22
|
-
this.canAccess_feature_StatusReporting = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_StatusReporting.toString().toLowerCase(); }) != null;
|
|
23
|
-
this.canAccess_feature_AddOrUpdateAuditCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditCategory.toString().toLowerCase(); }) != null;
|
|
24
|
-
this.canAccess_feature_ViewEmployeeContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeContactDetails.toString().toLowerCase(); }) != null;
|
|
25
|
-
this.canAccess_feature_ManageMasterSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMasterSettings.toString().toLowerCase(); }) != null;
|
|
26
|
-
this.canAccess_feature_ArchiveOrUnarchiveAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditReports.toString().toLowerCase(); }) != null;
|
|
27
|
-
this.canAccess_feature_ViewAuditConducts = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditConducts.toString().toLowerCase(); }) != null;
|
|
28
|
-
this.canAccess_feature_AddOrUpdateExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateExpense.toString().toLowerCase(); }) != null;
|
|
29
|
-
this.canAccess_feature_ViewBadgesAssignedToEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewBadgesAssignedToEmployee.toString().toLowerCase(); }) != null;
|
|
30
|
-
this.canAccess_feature_HrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_HrManagement.toString().toLowerCase(); }) != null;
|
|
31
|
-
this.canAccess_feature_TaxSlabs = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TaxSlabs.toString().toLowerCase(); }) != null;
|
|
32
|
-
this.canAccess_feature_ViewEmployeeBankDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeBankDetails.toString().toLowerCase(); }) != null;
|
|
33
|
-
this.canAccess_feature_MarkDamagedAssest = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MarkDamagedAssest.toString().toLowerCase(); }) != null;
|
|
34
|
-
this.canAccess_feature_WorkItemsHavingOthersDependency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemsHavingOthersDependency.toString().toLowerCase(); }) != null;
|
|
35
|
-
this.canAccess_feature_ViewPayrollReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewPayrollReports.toString().toLowerCase(); }) != null;
|
|
36
|
-
this.canAccess_feature_ManageDocumentTemplates = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDocumentTemplates.toString().toLowerCase(); }) != null;
|
|
37
|
-
this.canAccess_feature_ViewTrainingCourses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingCourses.toString().toLowerCase(); }) != null;
|
|
38
|
-
this.canAccess_feature_EmployeeSpentTime = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeSpentTime.toString().toLowerCase(); }) != null;
|
|
39
|
-
this.canAccess_feature_ManagePaymentMethod = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentMethod.toString().toLowerCase(); }) != null;
|
|
40
|
-
this.canAccess_feature_PayrollCalculationConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollCalculationConfigurations.toString().toLowerCase(); }) != null;
|
|
41
|
-
this.canAccess_feature_AddOrUpdateEmployeeDependentContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeDependentContactDetails.toString().toLowerCase(); }) != null;
|
|
42
|
-
this.canAccess_feature_ContractPaySettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ContractPaySettings.toString().toLowerCase(); }) != null;
|
|
43
|
-
this.canAccess_feature_AddOrUpdateAuditQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditQuestions.toString().toLowerCase(); }) != null;
|
|
44
|
-
this.canAccess_feature_AddOrUpdateEmployeeSkills = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeSkills.toString().toLowerCase(); }) != null;
|
|
45
|
-
this.canAccess_feature_ManageExpenseManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageExpenseManagement.toString().toLowerCase(); }) != null;
|
|
46
|
-
this.canAccess_feature_CreateRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CreateRoster.toString().toLowerCase(); }) != null;
|
|
47
|
-
this.canAccess_feature_ManageLicenceType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLicenceType.toString().toLowerCase(); }) != null;
|
|
48
|
-
this.canAccess_feature_AssignOrUnassignTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignOrUnassignTrainingCourse.toString().toLowerCase(); }) != null;
|
|
49
|
-
this.canAccess_feature_EmployeeAccountDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeAccountDetails.toString().toLowerCase(); }) != null;
|
|
50
|
-
this.canAccess_feature_EmployeeLoans = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeLoans.toString().toLowerCase(); }) != null;
|
|
51
|
-
this.canAccess_feature_AbilityToChat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AbilityToChat.toString().toLowerCase(); }) != null;
|
|
52
|
-
this.canAccess_feature_EmployeeWorkAllocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkAllocation.toString().toLowerCase(); }) != null;
|
|
53
|
-
this.canAccess_feature_ViewEmployeeShiftDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeShiftDetails.toString().toLowerCase(); }) != null;
|
|
54
|
-
this.canAccess_feature_ViewEmployeeLanguageDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeLanguageDetails.toString().toLowerCase(); }) != null;
|
|
55
|
-
this.canAccess_feature_ManageBranch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBranch.toString().toLowerCase(); }) != null;
|
|
56
|
-
this.canAccess_feature_ManageMaritalStatuses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMaritalStatuses.toString().toLowerCase(); }) != null;
|
|
57
|
-
this.canAccess_feature_AddOrUpdateFoodItem = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateFoodItem.toString().toLowerCase(); }) != null;
|
|
58
|
-
this.canAccess_feature_ManageHtmltemplate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageHtmltemplate.toString().toLowerCase(); }) != null;
|
|
59
|
-
this.canAccess_feature_ManageRateSheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateSheet.toString().toLowerCase(); }) != null;
|
|
60
|
-
this.canAccess_feature_AddOrUpdateAsset = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAsset.toString().toLowerCase(); }) != null;
|
|
61
|
-
this.canAccess_feature_AddOrEditEmployeeLoanInstallment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditEmployeeLoanInstallment.toString().toLowerCase(); }) != null;
|
|
62
|
-
this.canAccess_feature_AddOrUpdateAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditReports.toString().toLowerCase(); }) != null;
|
|
63
|
-
this.canAccess_feature_ManageDateFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDateFormat.toString().toLowerCase(); }) != null;
|
|
64
|
-
this.canAccess_feature_ConfigurePayrollStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigurePayrollStatus.toString().toLowerCase(); }) != null;
|
|
65
|
-
this.canAccess_feature_UpsertCompanyDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpsertCompanyDetails.toString().toLowerCase(); }) != null;
|
|
66
|
-
this.canAccess_feature_ViewEmploymentContractDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmploymentContractDetails.toString().toLowerCase(); }) != null;
|
|
67
|
-
this.canAccess_feature_DownloadOrShareInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DownloadOrShareInvoice.toString().toLowerCase(); }) != null;
|
|
68
|
-
this.canAccess_feature_ViewAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAudit.toString().toLowerCase(); }) != null;
|
|
69
|
-
this.canAccess_feature_EditMessage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditMessage.toString().toLowerCase(); }) != null;
|
|
70
|
-
this.canAccess_feature_ApproveOrRejectLeave = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveOrRejectLeave.toString().toLowerCase(); }) != null;
|
|
71
|
-
this.canAccess_feature_SpentTimeDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SpentTimeDetails.toString().toLowerCase(); }) != null;
|
|
72
|
-
this.canAccess_feature_ArchiveOrUnarchiveAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAudit.toString().toLowerCase(); }) != null;
|
|
73
|
-
this.canAccess_feature_ManageBugPriority = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBugPriority.toString().toLowerCase(); }) != null;
|
|
74
|
-
this.canAccess_feature_ViewEmployeeWorkExperienceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeWorkExperienceDetails.toString().toLowerCase(); }) != null;
|
|
75
|
-
this.canAccess_feature_ProfessionalTaxRanges = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProfessionalTaxRanges.toString().toLowerCase(); }) != null;
|
|
76
|
-
this.canAccess_feature_EnableNotifications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EnableNotifications.toString().toLowerCase(); }) != null;
|
|
77
|
-
this.canAccess_feature_TdsSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TdsSettings.toString().toLowerCase(); }) != null;
|
|
78
|
-
this.canAccess_feature_ManageCountry = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCountry.toString().toLowerCase(); }) != null;
|
|
79
|
-
this.canAccess_feature_ViewExpenses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewExpenses.toString().toLowerCase(); }) != null;
|
|
80
|
-
this.canAccess_feature_EmployeeLogtimeDetailsReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeLogtimeDetailsReport.toString().toLowerCase(); }) != null;
|
|
81
|
-
this.canAccess_feature_CreditAmount = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CreditAmount.toString().toLowerCase(); }) != null;
|
|
82
|
-
this.canAccess_feature_AllGoals = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllGoals.toString().toLowerCase(); }) != null;
|
|
83
|
-
this.canAccess_feature_AddOrUpdateAssignmentStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAssignmentStatus.toString().toLowerCase(); }) != null;
|
|
84
|
-
this.canAccess_feature_ArchiveOrUnarchiveAuditConduct = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditConduct.toString().toLowerCase(); }) != null;
|
|
85
|
-
this.canAccess_feature_ViewEmployeeActivityTimeUsage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeActivityTimeUsage.toString().toLowerCase(); }) != null;
|
|
86
|
-
this.canAccess_feature_ProcessDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProcessDashboard.toString().toLowerCase(); }) != null;
|
|
87
|
-
this.canAccess_feature_ManageTimeSheetManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeSheetManagement.toString().toLowerCase(); }) != null;
|
|
88
|
-
this.canAccess_feature_ManageCompanySettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanySettings.toString().toLowerCase(); }) != null;
|
|
89
|
-
this.canAccess_feature_AccessTestrepo = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AccessTestrepo.toString().toLowerCase(); }) != null;
|
|
90
|
-
this.canAccess_feature_CanAssignAuditTags = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAssignAuditTags.toString().toLowerCase(); }) != null;
|
|
91
|
-
this.canAccess_feature_AddOrEditLeaveType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditLeaveType.toString().toLowerCase(); }) != null;
|
|
92
|
-
this.canAccess_feature_EveryDayTargetStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EveryDayTargetStatus.toString().toLowerCase(); }) != null;
|
|
93
|
-
this.canAccess_feature_ArchiveProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveProject.toString().toLowerCase(); }) != null;
|
|
94
|
-
this.canAccess_feature_DirectMessaging = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DirectMessaging.toString().toLowerCase(); }) != null;
|
|
95
|
-
this.canAccess_feature_ViewStores = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewStores.toString().toLowerCase(); }) != null;
|
|
96
|
-
this.canAccess_feature_ApplyLeave = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApplyLeave.toString().toLowerCase(); }) != null;
|
|
97
|
-
this.canAccess_feature_ManageInvoiceSchedule = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageInvoiceSchedule.toString().toLowerCase(); }) != null;
|
|
98
|
-
this.canAccess_feature_AssignAdhocWorkToAllUsers = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignAdhocWorkToAllUsers.toString().toLowerCase(); }) != null;
|
|
99
|
-
this.canAccess_feature_ManagePermissionReason = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePermissionReason.toString().toLowerCase(); }) != null;
|
|
100
|
-
this.canAccess_feature_CanChangeVisualisationType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanChangeVisualisationType.toString().toLowerCase(); }) != null;
|
|
101
|
-
this.canAccess_feature_AddOrUpdateClient = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateClient.toString().toLowerCase(); }) != null;
|
|
102
|
-
this.canAccess_feature_AddOrUpdateInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateInvoice.toString().toLowerCase(); }) != null;
|
|
103
|
-
this.canAccess_feature_RecentlyPurchasedAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentlyPurchasedAssets.toString().toLowerCase(); }) != null;
|
|
104
|
-
this.canAccess_feature_CanCreateReminders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanCreateReminders.toString().toLowerCase(); }) != null;
|
|
105
|
-
this.canAccess_feature_ManagePaygrade = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaygrade.toString().toLowerCase(); }) != null;
|
|
106
|
-
this.canAccess_feature_ViewRoles = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRoles.toString().toLowerCase(); }) != null;
|
|
107
|
-
this.canAccess_feature_AddOrUpdateMasterQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateMasterQuestionType.toString().toLowerCase(); }) != null;
|
|
108
|
-
this.canAccess_feature_ManageRelationShip = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRelationShip.toString().toLowerCase(); }) != null;
|
|
109
|
-
this.canAccess_feature_PayrollRun = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollRun.toString().toLowerCase(); }) != null;
|
|
110
|
-
this.canAccess_feature_ArchiveOrUnarchiveAuditCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditCategory.toString().toLowerCase(); }) != null;
|
|
111
|
-
this.canAccess_feature_DragApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DragApps.toString().toLowerCase(); }) != null;
|
|
112
|
-
this.canAccess_feature_ArchiveSubmittedStatusReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveSubmittedStatusReport.toString().toLowerCase(); }) != null;
|
|
113
|
-
this.canAccess_feature_CanViewOrganizationChart = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewOrganizationChart.toString().toLowerCase(); }) != null;
|
|
114
|
-
this.canAccess_feature_DeleteCustomFieldsForHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteCustomFieldsForHrManagement.toString().toLowerCase(); }) != null;
|
|
115
|
-
this.canAccess_feature_EditPayslip = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditPayslip.toString().toLowerCase(); }) != null;
|
|
116
|
-
this.canAccess_feature_ViewEmployeeCredits = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeCredits.toString().toLowerCase(); }) != null;
|
|
117
|
-
this.canAccess_feature_FinancialYearConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FinancialYearConfigurations.toString().toLowerCase(); }) != null;
|
|
118
|
-
this.canAccess_feature_TestrepoManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TestrepoManagement.toString().toLowerCase(); }) != null;
|
|
119
|
-
this.canAccess_feature_DocumentManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DocumentManagement.toString().toLowerCase(); }) != null;
|
|
120
|
-
this.canAccess_feature_ApproveEmployeeTaxAllowances = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveEmployeeTaxAllowances.toString().toLowerCase(); }) != null;
|
|
121
|
-
this.canAccess_feature_ViewEmployeeReportToDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeReportToDetails.toString().toLowerCase(); }) != null;
|
|
122
|
-
this.canAccess_feature_AddOrEditCustomFieldsForProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditCustomFieldsForProjectManagement.toString().toLowerCase(); }) != null;
|
|
123
|
-
this.canAccess_feature_AddOrUpdateStatusReportingConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateStatusReportingConfiguration.toString().toLowerCase(); }) != null;
|
|
124
|
-
this.canAccess_feature_UserUpload = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UserUpload.toString().toLowerCase(); }) != null;
|
|
125
|
-
this.canAccess_feature_LateEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LateEmployee.toString().toLowerCase(); }) != null;
|
|
126
|
-
this.canAccess_feature_ViewEmployeeLoanInstallment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeLoanInstallment.toString().toLowerCase(); }) != null;
|
|
127
|
-
this.canAccess_feature_ViewEmployeeMembershipDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeMembershipDetails.toString().toLowerCase(); }) != null;
|
|
128
|
-
this.canAccess_feature_RecentlyAssignedAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentlyAssignedAssets.toString().toLowerCase(); }) != null;
|
|
129
|
-
this.canAccess_feature_EmployeesCurrentWorkingOrBacklogWorkItems = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeesCurrentWorkingOrBacklogWorkItems.toString().toLowerCase(); }) != null;
|
|
130
|
-
this.canAccess_feature_ViewStatusReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewStatusReports.toString().toLowerCase(); }) != null;
|
|
131
|
-
this.canAccess_feature_ResignationStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ResignationStatus.toString().toLowerCase(); }) != null;
|
|
132
|
-
this.canAccess_feature_Venue = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Venue.toString().toLowerCase(); }) != null;
|
|
133
|
-
this.canAccess_feature_ManageButtonType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageButtonType.toString().toLowerCase(); }) != null;
|
|
134
|
-
this.canAccess_feature_ViewRoomTemperature = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRoomTemperature.toString().toLowerCase(); }) != null;
|
|
135
|
-
this.canAccess_feature_UpdateFoodOrder = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpdateFoodOrder.toString().toLowerCase(); }) != null;
|
|
136
|
-
this.canAccess_feature_ManageCurrency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCurrency.toString().toLowerCase(); }) != null;
|
|
137
|
-
this.canAccess_feature_CanSubmitCustomFieldsForHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanSubmitCustomFieldsForHrManagement.toString().toLowerCase(); }) != null;
|
|
138
|
-
this.canAccess_feature_ArchiveOrUnarchiveEstimate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveEstimate.toString().toLowerCase(); }) != null;
|
|
139
|
-
this.canAccess_feature_ManageLeavesManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeavesManagement.toString().toLowerCase(); }) != null;
|
|
140
|
-
this.canAccess_feature_AddOrUpdateChannel = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateChannel.toString().toLowerCase(); }) != null;
|
|
141
|
-
this.canAccess_feature_ViewForms = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewForms.toString().toLowerCase(); }) != null;
|
|
142
|
-
this.canAccess_feature_CanteenManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanteenManagement.toString().toLowerCase(); }) != null;
|
|
143
|
-
this.canAccess_feature_ManageProcessDashboardStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProcessDashboardStatus.toString().toLowerCase(); }) != null;
|
|
144
|
-
this.canAccess_feature_ProjectsActivelyRunningGoals = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProjectsActivelyRunningGoals.toString().toLowerCase(); }) != null;
|
|
145
|
-
this.canAccess_feature_AddOrUpdateEmployeeImmigration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeImmigration.toString().toLowerCase(); }) != null;
|
|
146
|
-
this.canAccess_feature_AlternateSignIn = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AlternateSignIn.toString().toLowerCase(); }) != null;
|
|
147
|
-
this.canAccess_feature_ManageActivityTracker = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityTracker.toString().toLowerCase(); }) != null;
|
|
148
|
-
this.canAccess_feature_RecentlyDamagedAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentlyDamagedAssets.toString().toLowerCase(); }) != null;
|
|
149
|
-
this.canAccess_feature_ManageDesignation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDesignation.toString().toLowerCase(); }) != null;
|
|
150
|
-
this.canAccess_feature_AssetHistory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetHistory.toString().toLowerCase(); }) != null;
|
|
151
|
-
this.canAccess_feature_ProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProjectManagement.toString().toLowerCase(); }) != null;
|
|
152
|
-
this.canAccess_feature_ManageAppsAndUrls = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppsAndUrls.toString().toLowerCase(); }) != null;
|
|
153
|
-
this.canAccess_feature_ManageWorkItemSubType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemSubType.toString().toLowerCase(); }) != null;
|
|
154
|
-
this.canAccess_feature_ManageTestcaseStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseStatus.toString().toLowerCase(); }) != null;
|
|
155
|
-
this.canAccess_feature_AddOrUpdateEmployeeBankDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeBankDetails.toString().toLowerCase(); }) != null;
|
|
156
|
-
this.canAccess_feature_WorkflowManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkflowManagement.toString().toLowerCase(); }) != null;
|
|
157
|
-
this.canAccess_feature_ArchiveForm = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveForm.toString().toLowerCase(); }) != null;
|
|
158
|
-
this.canAccess_feature_ShareExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ShareExpense.toString().toLowerCase(); }) != null;
|
|
159
|
-
this.canAccess_feature_ManageSystemApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSystemApps.toString().toLowerCase(); }) != null;
|
|
160
|
-
this.canAccess_feature_BookingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BookingManagement.toString().toLowerCase(); }) != null;
|
|
161
|
-
this.canAccess_feature_GoalLevelReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_GoalLevelReports.toString().toLowerCase(); }) != null;
|
|
162
|
-
this.canAccess_feature_ViewEmployeeEducationDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeEducationDetails.toString().toLowerCase(); }) != null;
|
|
163
|
-
this.canAccess_feature_BoardTypeApi = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BoardTypeApi.toString().toLowerCase(); }) != null;
|
|
164
|
-
this.canAccess_feature_ManageLeaveStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveStatus.toString().toLowerCase(); }) != null;
|
|
165
|
-
this.canAccess_feature_ManageWorkItemReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemReplanType.toString().toLowerCase(); }) != null;
|
|
166
|
-
this.canAccess_feature_ArchiveUser = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveUser.toString().toLowerCase(); }) != null;
|
|
167
|
-
this.canAccess_feature_ViewTrackedInformationOfUserstory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrackedInformationOfUserstory.toString().toLowerCase(); }) != null;
|
|
168
|
-
this.canAccess_feature_AddUser = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddUser.toString().toLowerCase(); }) != null;
|
|
169
|
-
this.canAccess_feature_LeaveManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeaveManagement.toString().toLowerCase(); }) != null;
|
|
170
|
-
this.canAccess_feature_ViewProjects = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewProjects.toString().toLowerCase(); }) != null;
|
|
171
|
-
this.canAccess_feature_ApproveOrRejectTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveOrRejectTimesheet.toString().toLowerCase(); }) != null;
|
|
172
|
-
this.canAccess_feature_RoleManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RoleManagement.toString().toLowerCase(); }) != null;
|
|
173
|
-
this.canAccess_feature_CopyOrMoveQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CopyOrMoveQuestions.toString().toLowerCase(); }) != null;
|
|
174
|
-
this.canAccess_feature_ManageState = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageState.toString().toLowerCase(); }) != null;
|
|
175
|
-
this.canAccess_feature_ManageCustomFormSubmissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCustomFormSubmissions.toString().toLowerCase(); }) != null;
|
|
176
|
-
this.canAccess_feature_ViewLocations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewLocations.toString().toLowerCase(); }) != null;
|
|
177
|
-
this.canAccess_feature_ManageInductionWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageInductionWork.toString().toLowerCase(); }) != null;
|
|
178
|
-
this.canAccess_feature_ViewAllEmployeeActivityReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAllEmployeeActivityReports.toString().toLowerCase(); }) != null;
|
|
179
|
-
this.canAccess_feature_DownloadEmployeeSalaryCertificate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DownloadEmployeeSalaryCertificate.toString().toLowerCase(); }) != null;
|
|
180
|
-
this.canAccess_feature_ManageTestrepoManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestrepoManagement.toString().toLowerCase(); }) != null;
|
|
181
|
-
this.canAccess_feature_ManageFormType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFormType.toString().toLowerCase(); }) != null;
|
|
182
|
-
this.canAccess_feature_ManageCompanyStructure = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyStructure.toString().toLowerCase(); }) != null;
|
|
183
|
-
this.canAccess_feature_ViewRecentlyActiveClients = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRecentlyActiveClients.toString().toLowerCase(); }) != null;
|
|
184
|
-
this.canAccess_feature_ManageRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRoster.toString().toLowerCase(); }) != null;
|
|
185
|
-
this.canAccess_feature_EmployeeWorkLogReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkLogReport.toString().toLowerCase(); }) != null;
|
|
186
|
-
this.canAccess_feature_DownloadOrShareAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DownloadOrShareAuditReports.toString().toLowerCase(); }) != null;
|
|
187
|
-
this.canAccess_feature_ConfigureWebhooks = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigureWebhooks.toString().toLowerCase(); }) != null;
|
|
188
|
-
this.canAccess_feature_ManageStoreManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageStoreManagement.toString().toLowerCase(); }) != null;
|
|
189
|
-
this.canAccess_feature_AddOrUpdateProduct = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateProduct.toString().toLowerCase(); }) != null;
|
|
190
|
-
this.canAccess_feature_CreateFolder = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CreateFolder.toString().toLowerCase(); }) != null;
|
|
191
|
-
this.canAccess_feature_PayrollTemplateConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollTemplateConfiguration.toString().toLowerCase(); }) != null;
|
|
192
|
-
this.canAccess_feature_AssetsAllocatedToMe = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetsAllocatedToMe.toString().toLowerCase(); }) != null;
|
|
193
|
-
this.canAccess_feature_EmployeeCreditorDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeCreditorDetails.toString().toLowerCase(); }) != null;
|
|
194
|
-
this.canAccess_feature_ApproveEmployeeLoans = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveEmployeeLoans.toString().toLowerCase(); }) != null;
|
|
195
|
-
this.canAccess_feature_ViewEmployeeSkillDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeSkillDetails.toString().toLowerCase(); }) != null;
|
|
196
|
-
this.canAccess_feature_CanViewUsersCanteenSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewUsersCanteenSummary.toString().toLowerCase(); }) != null;
|
|
197
|
-
this.canAccess_feature_WorkAllocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkAllocation.toString().toLowerCase(); }) != null;
|
|
198
|
-
this.canAccess_feature_ManageWebhook = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWebhook.toString().toLowerCase(); }) != null;
|
|
199
|
-
this.canAccess_feature_AddPermission = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddPermission.toString().toLowerCase(); }) != null;
|
|
200
|
-
this.canAccess_feature_ViewTodaysTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTodaysTimesheet.toString().toLowerCase(); }) != null;
|
|
201
|
-
this.canAccess_feature_CanAssignBadgeToEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAssignBadgeToEmployee.toString().toLowerCase(); }) != null;
|
|
202
|
-
this.canAccess_feature_ManageReportingMethods = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageReportingMethods.toString().toLowerCase(); }) != null;
|
|
203
|
-
this.canAccess_feature_ManageFeedBackType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFeedBackType.toString().toLowerCase(); }) != null;
|
|
204
|
-
this.canAccess_feature_ViewEmployeeJobDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeJobDetails.toString().toLowerCase(); }) != null;
|
|
205
|
-
this.canAccess_feature_AddOrUpdateEmployeeWorkExperienceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeWorkExperienceDetails.toString().toLowerCase(); }) != null;
|
|
206
|
-
this.canAccess_feature_DoChannelChatOnly = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DoChannelChatOnly.toString().toLowerCase(); }) != null;
|
|
207
|
-
this.canAccess_feature_UpdatePermission = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpdatePermission.toString().toLowerCase(); }) != null;
|
|
208
|
-
this.canAccess_feature_Security = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Security.toString().toLowerCase(); }) != null;
|
|
209
|
-
this.canAccess_feature_SubmitStatusReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SubmitStatusReport.toString().toLowerCase(); }) != null;
|
|
210
|
-
this.canAccess_feature_Audit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Audit.toString().toLowerCase(); }) != null;
|
|
211
|
-
this.canAccess_feature_AddOrUpdateEmployeeEmergencyContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeEmergencyContactDetails.toString().toLowerCase(); }) != null;
|
|
212
|
-
this.canAccess_feature_BugReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BugReport.toString().toLowerCase(); }) != null;
|
|
213
|
-
this.canAccess_feature_TaxAllowance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TaxAllowance.toString().toLowerCase(); }) != null;
|
|
214
|
-
this.canAccess_feature_AssetComment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetComment.toString().toLowerCase(); }) != null;
|
|
215
|
-
this.canAccess_feature_ViewEmployeeDependentContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeDependentContactDetails.toString().toLowerCase(); }) != null;
|
|
216
|
-
this.canAccess_feature_PurchaseFoodItem = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PurchaseFoodItem.toString().toLowerCase(); }) != null;
|
|
217
|
-
this.canAccess_feature_ViewTrainingAssignments = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingAssignments.toString().toLowerCase(); }) != null;
|
|
218
|
-
this.canAccess_feature_ViewTimesheetFeed = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTimesheetFeed.toString().toLowerCase(); }) != null;
|
|
219
|
-
this.canAccess_feature_AddOrUpdateEmployeeReportingToDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeReportingToDetails.toString().toLowerCase(); }) != null;
|
|
220
|
-
this.canAccess_feature_PayrollRoleConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollRoleConfiguration.toString().toLowerCase(); }) != null;
|
|
221
|
-
this.canAccess_feature_DashboardManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DashboardManagement.toString().toLowerCase(); }) != null;
|
|
222
|
-
this.canAccess_feature_ManageCompanyLocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyLocation.toString().toLowerCase(); }) != null;
|
|
223
|
-
this.canAccess_feature_ManageNumberFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageNumberFormat.toString().toLowerCase(); }) != null;
|
|
224
|
-
this.canAccess_feature_WorkItemsHavingDependencyOnMe = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemsHavingDependencyOnMe.toString().toLowerCase(); }) != null;
|
|
225
|
-
this.canAccess_feature_AddOrUpdateEmployeeEducationDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeEducationDetails.toString().toLowerCase(); }) != null;
|
|
226
|
-
this.canAccess_feature_ArchiveRole = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveRole.toString().toLowerCase(); }) != null;
|
|
227
|
-
this.canAccess_feature_TimeSheetManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TimeSheetManagement.toString().toLowerCase(); }) != null;
|
|
228
|
-
this.canAccess_feature_AddOrUpdateApplications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateApplications.toString().toLowerCase(); }) != null;
|
|
229
|
-
this.canAccess_feature_PublishAsDefault = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PublishAsDefault.toString().toLowerCase(); }) != null;
|
|
230
|
-
this.canAccess_feature_ViewMasterQuestionTypes = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewMasterQuestionTypes.toString().toLowerCase(); }) != null;
|
|
231
|
-
this.canAccess_feature_ViewProductDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewProductDetails.toString().toLowerCase(); }) != null;
|
|
232
|
-
this.canAccess_feature_DeleteCustomFieldsForProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteCustomFieldsForProjectManagement.toString().toLowerCase(); }) != null;
|
|
233
|
-
this.canAccess_feature_ManageAuthorization = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAuthorization.toString().toLowerCase(); }) != null;
|
|
234
|
-
this.canAccess_feature_ManageMemberships = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMemberships.toString().toLowerCase(); }) != null;
|
|
235
|
-
this.canAccess_feature_ManageCustomApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCustomApps.toString().toLowerCase(); }) != null;
|
|
236
|
-
this.canAccess_feature_FoodItemsList = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FoodItemsList.toString().toLowerCase(); }) != null;
|
|
237
|
-
this.canAccess_feature_AddOrUpdateForm = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateForm.toString().toLowerCase(); }) != null;
|
|
238
|
-
this.canAccess_feature_ArchiveAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveAdhocWork.toString().toLowerCase(); }) != null;
|
|
239
|
-
this.canAccess_feature_ManageLeaveSession = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveSession.toString().toLowerCase(); }) != null;
|
|
240
|
-
this.canAccess_feature_ManageAccessibleIpAdresses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAccessibleIpAdresses.toString().toLowerCase(); }) != null;
|
|
241
|
-
this.canAccess_feature_WorkItemUpload = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemUpload.toString().toLowerCase(); }) != null;
|
|
242
|
-
this.canAccess_feature_ManageAppSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppSettings.toString().toLowerCase(); }) != null;
|
|
243
|
-
this.canAccess_feature_CanApprovePerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanApprovePerformance.toString().toLowerCase(); }) != null;
|
|
244
|
-
this.canAccess_feature_AddOrUpdateLocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateLocation.toString().toLowerCase(); }) != null;
|
|
245
|
-
this.canAccess_feature_ManageRestrictionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRestrictionType.toString().toLowerCase(); }) != null;
|
|
246
|
-
this.canAccess_feature_ManageLeaveFormula = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveFormula.toString().toLowerCase(); }) != null;
|
|
247
|
-
this.canAccess_feature_EmployeeWorkItems = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkItems.toString().toLowerCase(); }) != null;
|
|
248
|
-
this.canAccess_feature_BillingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BillingManagement.toString().toLowerCase(); }) != null;
|
|
249
|
-
this.canAccess_feature_EditDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditDashboard.toString().toLowerCase(); }) != null;
|
|
250
|
-
this.canAccess_feature_ViewTrainingMatrix = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingMatrix.toString().toLowerCase(); }) != null;
|
|
251
|
-
this.canAccess_feature_ManageAppFilters = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppFilters.toString().toLowerCase(); }) != null;
|
|
252
|
-
this.canAccess_feature_ManageLeaveType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveType.toString().toLowerCase(); }) != null;
|
|
253
|
-
this.canAccess_feature_ArchiveStatusReportConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveStatusReportConfiguration.toString().toLowerCase(); }) != null;
|
|
254
|
-
this.canAccess_feature_ResetPassword = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ResetPassword.toString().toLowerCase(); }) != null;
|
|
255
|
-
this.canAccess_feature_EditRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditRoster.toString().toLowerCase(); }) != null;
|
|
256
|
-
this.canAccess_feature_AbilityToCreatePublicProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AbilityToCreatePublicProject.toString().toLowerCase(); }) != null;
|
|
257
|
-
this.canAccess_feature_PayrollMaritalStatusConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollMaritalStatusConfiguration.toString().toLowerCase(); }) != null;
|
|
258
|
-
this.canAccess_feature_ManageRateType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateType.toString().toLowerCase(); }) != null;
|
|
259
|
-
this.canAccess_feature_AddProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddProject.toString().toLowerCase(); }) != null;
|
|
260
|
-
this.canAccess_feature_AddOrUpdateEmployeeJobDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeJobDetails.toString().toLowerCase(); }) != null;
|
|
261
|
-
this.canAccess_feature_ManageWorkItemStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemStatus.toString().toLowerCase(); }) != null;
|
|
262
|
-
this.canAccess_feature_ManageEmploymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEmploymentType.toString().toLowerCase(); }) != null;
|
|
263
|
-
this.canAccess_feature_AddOrUpdateAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAdhocWork.toString().toLowerCase(); }) != null;
|
|
264
|
-
this.canAccess_feature_ForgotPassword = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ForgotPassword.toString().toLowerCase(); }) != null;
|
|
265
|
-
this.canAccess_feature_LogTimeReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LogTimeReport.toString().toLowerCase(); }) != null;
|
|
266
|
-
this.canAccess_feature_DeleteDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteDashboard.toString().toLowerCase(); }) != null;
|
|
267
|
-
this.canAccess_feature_ViewQuestionTypes = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewQuestionTypes.toString().toLowerCase(); }) != null;
|
|
268
|
-
this.canAccess_feature_ViewHistoricalTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewHistoricalTimesheet.toString().toLowerCase(); }) != null;
|
|
269
|
-
this.canAccess_feature_WorkItemsWaitingForQaApproval = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemsWaitingForQaApproval.toString().toLowerCase(); }) != null;
|
|
270
|
-
this.canAccess_feature_InviteeForSignature = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_InviteeForSignature.toString().toLowerCase(); }) != null;
|
|
271
|
-
this.canAccess_feature_AddOrUpdateRole = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateRole.toString().toLowerCase(); }) != null;
|
|
272
|
-
this.canAccess_feature_CanCloneAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanCloneAudit.toString().toLowerCase(); }) != null;
|
|
273
|
-
this.canAccess_feature_ArchiveTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveTrainingCourse.toString().toLowerCase(); }) != null;
|
|
274
|
-
this.canAccess_feature_PunchCard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PunchCard.toString().toLowerCase(); }) != null;
|
|
275
|
-
this.canAccess_feature_ManageActivityConfig = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityConfig.toString().toLowerCase(); }) != null;
|
|
276
|
-
this.canAccess_feature_OrganizationChart = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_OrganizationChart.toString().toLowerCase(); }) != null;
|
|
277
|
-
this.canAccess_feature_DashboardMenuItem = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DashboardMenuItem.toString().toLowerCase(); }) != null;
|
|
278
|
-
this.canAccess_feature_FeatureUsageReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FeatureUsageReport.toString().toLowerCase(); }) != null;
|
|
279
|
-
this.canAccess_feature_ActivityTracker = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ActivityTracker.toString().toLowerCase(); }) != null;
|
|
280
|
-
this.canAccess_feature_DeleteGoalFilter = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteGoalFilter.toString().toLowerCase(); }) != null;
|
|
281
|
-
this.canAccess_feature_EmployeePresence = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeePresence.toString().toLowerCase(); }) != null;
|
|
282
|
-
this.canAccess_feature_ManagePayFrequency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayFrequency.toString().toLowerCase(); }) != null;
|
|
283
|
-
this.canAccess_feature_ManageProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectManagement.toString().toLowerCase(); }) != null;
|
|
284
|
-
this.canAccess_feature_ManageField = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageField.toString().toLowerCase(); }) != null;
|
|
285
|
-
this.canAccess_feature_ViewApplicationUsageReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewApplicationUsageReports.toString().toLowerCase(); }) != null;
|
|
286
|
-
this.canAccess_feature_AddOrUpdateTimesheetentry = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateTimesheetentry.toString().toLowerCase(); }) != null;
|
|
287
|
-
this.canAccess_feature_AddOrUpdateEmployeePersonalDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeePersonalDetails.toString().toLowerCase(); }) != null;
|
|
288
|
-
this.canAccess_feature_AddOrUpdateQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateQuestionType.toString().toLowerCase(); }) != null;
|
|
289
|
-
this.canAccess_feature_ViewFiles = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewFiles.toString().toLowerCase(); }) != null;
|
|
290
|
-
this.canAccess_feature_AddOrUpdateAuditConduct = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditConduct.toString().toLowerCase(); }) != null;
|
|
291
|
-
this.canAccess_feature_EmployeePayrollDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeePayrollDetails.toString().toLowerCase(); }) != null;
|
|
292
|
-
this.canAccess_feature_ManageBadges = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBadges.toString().toLowerCase(); }) != null;
|
|
293
|
-
this.canAccess_feature_LeaveTypeConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeaveTypeConfiguration.toString().toLowerCase(); }) != null;
|
|
294
|
-
this.canAccess_feature_ManagePayrollComponent = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayrollComponent.toString().toLowerCase(); }) != null;
|
|
295
|
-
this.canAccess_feature_ManageWorkItemType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemType.toString().toLowerCase(); }) != null;
|
|
296
|
-
this.canAccess_feature_CanEditOtherEmployeeDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanEditOtherEmployeeDetails.toString().toLowerCase(); }) != null;
|
|
297
|
-
this.canAccess_feature_Authorisation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Authorisation.toString().toLowerCase(); }) != null;
|
|
298
|
-
this.canAccess_feature_ArchiveExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveExpense.toString().toLowerCase(); }) != null;
|
|
299
|
-
this.canAccess_feature_ReviewFile = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ReviewFile.toString().toLowerCase(); }) != null;
|
|
300
|
-
this.canAccess_feature_HourlyTdsConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_HourlyTdsConfiguration.toString().toLowerCase(); }) != null;
|
|
301
|
-
this.canAccess_feature_ManageTimeConfigurationSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeConfigurationSettings.toString().toLowerCase(); }) != null;
|
|
302
|
-
this.canAccess_feature_ViewEmployeeSalaryDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeSalaryDetails.toString().toLowerCase(); }) != null;
|
|
303
|
-
this.canAccess_feature_ManageDepartment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDepartment.toString().toLowerCase(); }) != null;
|
|
304
|
-
this.canAccess_feature_ManageContractType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageContractType.toString().toLowerCase(); }) != null;
|
|
305
|
-
this.canAccess_feature_ManageGender = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageGender.toString().toLowerCase(); }) != null;
|
|
306
|
-
this.canAccess_feature_AppManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AppManagement.toString().toLowerCase(); }) != null;
|
|
307
|
-
this.canAccess_feature_CanPassAnAnnouncement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanPassAnAnnouncement.toString().toLowerCase(); }) != null;
|
|
308
|
-
this.canAccess_feature_AllFoodOrders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllFoodOrders.toString().toLowerCase(); }) != null;
|
|
309
|
-
this.canAccess_feature_AddOrUpdateEmployeeLicenceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeLicenceDetails.toString().toLowerCase(); }) != null;
|
|
310
|
-
this.canAccess_feature_CanSubmitCustomFieldsForProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanSubmitCustomFieldsForProjectManagement.toString().toLowerCase(); }) != null;
|
|
311
|
-
this.canAccess_feature_CanViewAuditNonComplainceReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewAuditNonComplainceReport.toString().toLowerCase(); }) != null;
|
|
312
|
-
this.canAccess_feature_ViewTestrepoReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTestrepoReports.toString().toLowerCase(); }) != null;
|
|
313
|
-
this.canAccess_feature_MyAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MyAdhocWork.toString().toLowerCase(); }) != null;
|
|
314
|
-
this.canAccess_feature_ViewEmployeePersonalDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeePersonalDetails.toString().toLowerCase(); }) != null;
|
|
315
|
-
this.canAccess_feature_ApplyLeaveOnBehalfOfOthers = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApplyLeaveOnBehalfOfOthers.toString().toLowerCase(); }) != null;
|
|
316
|
-
this.canAccess_feature_PayrollManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollManagement.toString().toLowerCase(); }) != null;
|
|
317
|
-
this.canAccess_feature_AddOrUpdateVendor = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateVendor.toString().toLowerCase(); }) != null;
|
|
318
|
-
this.canAccess_feature_EmployeeWorkingDays = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkingDays.toString().toLowerCase(); }) != null;
|
|
319
|
-
this.canAccess_feature_ManageJobCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageJobCategory.toString().toLowerCase(); }) != null;
|
|
320
|
-
this.canAccess_feature_BillAmountOnDailyBasis = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BillAmountOnDailyBasis.toString().toLowerCase(); }) != null;
|
|
321
|
-
this.canAccess_feature_FoodOrdersManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FoodOrdersManagement.toString().toLowerCase(); }) != null;
|
|
322
|
-
this.canAccess_feature_ArchiveOrUnarchiveAuditQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditQuestions.toString().toLowerCase(); }) != null;
|
|
323
|
-
this.canAccess_feature_ViewCompanyWideLeaves = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewCompanyWideLeaves.toString().toLowerCase(); }) != null;
|
|
324
|
-
this.canAccess_feature_UnarchiveProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UnarchiveProject.toString().toLowerCase(); }) != null;
|
|
325
|
-
this.canAccess_feature_ViewEmployeeImmigrationDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeImmigrationDetails.toString().toLowerCase(); }) != null;
|
|
326
|
-
this.canAccess_feature_UpdateUser = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpdateUser.toString().toLowerCase(); }) != null;
|
|
327
|
-
this.canAccess_feature_ViewEmployeeLicenceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeLicenceDetails.toString().toLowerCase(); }) != null;
|
|
328
|
-
this.canAccess_feature_ParkAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ParkAdhocWork.toString().toLowerCase(); }) != null;
|
|
329
|
-
this.canAccess_feature_DeleteLeave = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteLeave.toString().toLowerCase(); }) != null;
|
|
330
|
-
this.canAccess_feature_ArchiveOrUnarchiveQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveQuestionType.toString().toLowerCase(); }) != null;
|
|
331
|
-
this.canAccess_feature_SelectLogTimeReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SelectLogTimeReport.toString().toLowerCase(); }) != null;
|
|
332
|
-
this.canAccess_feature_EmployeeIndex = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeIndex.toString().toLowerCase(); }) != null;
|
|
333
|
-
this.canAccess_feature_RecentIndividualFoodOrders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentIndividualFoodOrders.toString().toLowerCase(); }) != null;
|
|
334
|
-
this.canAccess_feature_ManageActivityDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityDashboard.toString().toLowerCase(); }) != null;
|
|
335
|
-
this.canAccess_feature_AssetManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetManagement.toString().toLowerCase(); }) != null;
|
|
336
|
-
this.canAccess_feature_Chat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Chat.toString().toLowerCase(); }) != null;
|
|
337
|
-
this.canAccess_feature_ManageImportOrExportClient = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageImportOrExportClient.toString().toLowerCase(); }) != null;
|
|
338
|
-
this.canAccess_feature_ManageSoftLabelConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSoftLabelConfigurations.toString().toLowerCase(); }) != null;
|
|
339
|
-
this.canAccess_feature_ViewAuditActions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditActions.toString().toLowerCase(); }) != null;
|
|
340
|
-
this.canAccess_feature_GoalsToArchive = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_GoalsToArchive.toString().toLowerCase(); }) != null;
|
|
341
|
-
this.canAccess_feature_AddOrUpdateEmployeeLanguages = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeLanguages.toString().toLowerCase(); }) != null;
|
|
342
|
-
this.canAccess_feature_ActivelyRunningGoals = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ActivelyRunningGoals.toString().toLowerCase(); }) != null;
|
|
343
|
-
this.canAccess_feature_AllGoalsWithAdvancedSearch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllGoalsWithAdvancedSearch.toString().toLowerCase(); }) != null;
|
|
344
|
-
this.canAccess_feature_HideDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_HideDashboard.toString().toLowerCase(); }) != null;
|
|
345
|
-
this.canAccess_feature_SubmitTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SubmitTimesheet.toString().toLowerCase(); }) != null;
|
|
346
|
-
this.canAccess_feature_PayrollGenderConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollGenderConfiguration.toString().toLowerCase(); }) != null;
|
|
347
|
-
this.canAccess_feature_ApproveOrRejectExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveOrRejectExpense.toString().toLowerCase(); }) != null;
|
|
348
|
-
this.canAccess_feature_ViewEstimate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEstimate.toString().toLowerCase(); }) != null;
|
|
349
|
-
this.canAccess_feature_CanteenPurchasesSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanteenPurchasesSummary.toString().toLowerCase(); }) != null;
|
|
350
|
-
this.canAccess_feature_ViewVendors = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewVendors.toString().toLowerCase(); }) != null;
|
|
351
|
-
this.canAccess_feature_ViewUsers = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewUsers.toString().toLowerCase(); }) != null;
|
|
352
|
-
this.canAccess_feature_ManageBoardTypeWorkflow = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBoardTypeWorkflow.toString().toLowerCase(); }) != null;
|
|
353
|
-
this.canAccess_feature_ViewInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewInvoice.toString().toLowerCase(); }) != null;
|
|
354
|
-
this.canAccess_feature_LeavesReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeavesReport.toString().toLowerCase(); }) != null;
|
|
355
|
-
this.canAccess_feature_AddOrUpdateEmployeeSalaryDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeSalaryDetails.toString().toLowerCase(); }) != null;
|
|
356
|
-
this.canAccess_feature_ViewEmployeeWebAppUsage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeWebAppUsage.toString().toLowerCase(); }) != null;
|
|
357
|
-
this.canAccess_feature_ViewRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRoster.toString().toLowerCase(); }) != null;
|
|
358
|
-
this.canAccess_feature_ManageFeedback = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFeedback.toString().toLowerCase(); }) != null;
|
|
359
|
-
this.canAccess_feature_OffersCreditedToUsersSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_OffersCreditedToUsersSummary.toString().toLowerCase(); }) != null;
|
|
360
|
-
this.canAccess_feature_QaPerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_QaPerformance.toString().toLowerCase(); }) != null;
|
|
361
|
-
this.canAccess_feature_AllowanceTime = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllowanceTime.toString().toLowerCase(); }) != null;
|
|
362
|
-
this.canAccess_feature_AddOrUpdateAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAudit.toString().toLowerCase(); }) != null;
|
|
363
|
-
this.canAccess_feature_ManageProjectRolePermissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectRolePermissions.toString().toLowerCase(); }) != null;
|
|
364
|
-
this.canAccess_feature_ManageMerchant = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMerchant.toString().toLowerCase(); }) != null;
|
|
365
|
-
this.canAccess_feature_AddDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddDashboard.toString().toLowerCase(); }) != null;
|
|
366
|
-
this.canAccess_feature_AddOrUpdateTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateTrainingCourse.toString().toLowerCase(); }) != null;
|
|
367
|
-
this.canAccess_feature_ResetOthersPassword = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ResetOthersPassword.toString().toLowerCase(); }) != null;
|
|
368
|
-
this.canAccess_feature_ManageEmployeeRatesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEmployeeRatesheet.toString().toLowerCase(); }) != null;
|
|
369
|
-
this.canAccess_feature_AddOrUpdateEmployeeContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeContactDetails.toString().toLowerCase(); }) != null;
|
|
370
|
-
this.canAccess_feature_ViewAllEmployees = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAllEmployees.toString().toLowerCase(); }) != null;
|
|
371
|
-
this.canAccess_feature_LeaveEncashmentSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeaveEncashmentSettings.toString().toLowerCase(); }) != null;
|
|
372
|
-
this.canAccess_feature_ManageGoalReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageGoalReplanType.toString().toLowerCase(); }) != null;
|
|
373
|
-
this.canAccess_feature_ManageTestcaseType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseType.toString().toLowerCase(); }) != null;
|
|
374
|
-
this.canAccess_feature_ManageCompanyIntroducedByOption = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyIntroducedByOption.toString().toLowerCase(); }) != null;
|
|
375
|
-
this.canAccess_feature_ViewEmployeeEmergencyContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeEmergencyContactDetails.toString().toLowerCase(); }) != null;
|
|
376
|
-
this.canAccess_feature_ConfigureEmployeePayrollTemplates = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigureEmployeePayrollTemplates.toString().toLowerCase(); }) != null;
|
|
377
|
-
this.canAccess_feature_MangeNationalities = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MangeNationalities.toString().toLowerCase(); }) != null;
|
|
378
|
-
this.canAccess_feature_ViewApplications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewApplications.toString().toLowerCase(); }) != null;
|
|
379
|
-
this.canAccess_feature_ConfigureEmployeeTracking = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigureEmployeeTracking.toString().toLowerCase(); }) != null;
|
|
380
|
-
this.canAccess_feature_UserHistoricalReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UserHistoricalReport.toString().toLowerCase(); }) != null;
|
|
381
|
-
this.canAccess_feature_ManageMainUseCase = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMainUseCase.toString().toLowerCase(); }) != null;
|
|
382
|
-
this.canAccess_feature_ViewUserStatusHistory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewUserStatusHistory.toString().toLowerCase(); }) != null;
|
|
383
|
-
this.canAccess_feature_ManageActivityScreenshots = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityScreenshots.toString().toLowerCase(); }) != null;
|
|
384
|
-
this.canAccess_feature_ManageTimeZone = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeZone.toString().toLowerCase(); }) != null;
|
|
385
|
-
this.canAccess_feature_ManageLanguages = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLanguages.toString().toLowerCase(); }) != null;
|
|
386
|
-
this.canAccess_feature_ManageSubscriptionPaidBy = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSubscriptionPaidBy.toString().toLowerCase(); }) != null;
|
|
387
|
-
this.canAccess_feature_ConductForm = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConductForm.toString().toLowerCase(); }) != null;
|
|
388
|
-
this.canAccess_feature_LateEmployeesCountVsDate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LateEmployeesCountVsDate.toString().toLowerCase(); }) != null;
|
|
389
|
-
this.canAccess_feature_AssignAssetsToEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignAssetsToEmployee.toString().toLowerCase(); }) != null;
|
|
390
|
-
this.canAccess_feature_EmployeeAttendence = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeAttendence.toString().toLowerCase(); }) != null;
|
|
391
|
-
this.canAccess_feature_ActivityReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ActivityReport.toString().toLowerCase(); }) != null;
|
|
392
|
-
this.canAccess_feature_DevQuality = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DevQuality.toString().toLowerCase(); }) != null;
|
|
393
|
-
this.canAccess_feature_ApproveRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveRoster.toString().toLowerCase(); }) != null;
|
|
394
|
-
this.canAccess_feature_ViewFeedback = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewFeedback.toString().toLowerCase(); }) != null;
|
|
395
|
-
this.canAccess_feature_ImminentDeadlines = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ImminentDeadlines.toString().toLowerCase(); }) != null;
|
|
396
|
-
this.canAccess_feature_ArchiveMessage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveMessage.toString().toLowerCase(); }) != null;
|
|
397
|
-
this.canAccess_feature_ArchiveOrUnarchiveMasterQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveMasterQuestionType.toString().toLowerCase(); }) != null;
|
|
398
|
-
this.canAccess_feature_RoomTemperature = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RoomTemperature.toString().toLowerCase(); }) != null;
|
|
399
|
-
this.canAccess_feature_ManageShifttiming = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageShifttiming.toString().toLowerCase(); }) != null;
|
|
400
|
-
this.canAccess_feature_ViewOrManageInvoiceStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewOrManageInvoiceStatus.toString().toLowerCase(); }) != null;
|
|
401
|
-
this.canAccess_feature_ManagePayrollTemplate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayrollTemplate.toString().toLowerCase(); }) != null;
|
|
402
|
-
this.canAccess_feature_ViewAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditReports.toString().toLowerCase(); }) != null;
|
|
403
|
-
this.canAccess_feature_EditStores = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditStores.toString().toLowerCase(); }) != null;
|
|
404
|
-
this.canAccess_feature_ViewAssetsWithAdvancedSearch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAssetsWithAdvancedSearch.toString().toLowerCase(); }) != null;
|
|
405
|
-
this.canAccess_feature_ViewPermissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewPermissions.toString().toLowerCase(); }) != null;
|
|
406
|
-
this.canAccess_feature_Applications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Applications.toString().toLowerCase(); }) != null;
|
|
407
|
-
this.canAccess_feature_CanAnswerQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAnswerQuestions.toString().toLowerCase(); }) != null;
|
|
408
|
-
this.canAccess_feature_SubmitAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SubmitAudit.toString().toLowerCase(); }) != null;
|
|
409
|
-
this.canAccess_feature_PayrollBranchConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollBranchConfiguration.toString().toLowerCase(); }) != null;
|
|
410
|
-
this.canAccess_feature_ConfigurePerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigurePerformance.toString().toLowerCase(); }) != null;
|
|
411
|
-
this.canAccess_feature_ManageSkills = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSkills.toString().toLowerCase(); }) != null;
|
|
412
|
-
this.canAccess_feature_ViewLiveDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewLiveDashboard.toString().toLowerCase(); }) != null;
|
|
413
|
-
this.canAccess_feature_AddFoodOrder = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddFoodOrder.toString().toLowerCase(); }) != null;
|
|
414
|
-
this.canAccess_feature_PayrollRunEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollRunEmployee.toString().toLowerCase(); }) != null;
|
|
415
|
-
this.canAccess_feature_ManagePaymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentType.toString().toLowerCase(); }) != null;
|
|
416
|
-
this.canAccess_feature_ViewEmployeeAppTrackerCompleteReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeAppTrackerCompleteReport.toString().toLowerCase(); }) != null;
|
|
417
|
-
this.canAccess_feature_ManageHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageHrManagement.toString().toLowerCase(); }) != null;
|
|
418
|
-
this.canAccess_feature_EmployeeTaxAllowanceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeTaxAllowanceDetails.toString().toLowerCase(); }) != null;
|
|
419
|
-
this.canAccess_feature_ViewStatusReportingConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewStatusReportingConfiguration.toString().toLowerCase(); }) != null;
|
|
420
|
-
this.canAccess_feature_EmployeeBonus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeBonus.toString().toLowerCase(); }) != null;
|
|
421
|
-
this.canAccess_feature_AddOrUpdateEmployeeShifts = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeShifts.toString().toLowerCase(); }) != null;
|
|
422
|
-
this.canAccess_feature_ViewAllAdhocWorks = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAllAdhocWorks.toString().toLowerCase(); }) != null;
|
|
423
|
-
this.canAccess_feature_EmployeeResignation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeResignation.toString().toLowerCase(); }) != null;
|
|
424
|
-
this.canAccess_feature_AddOrEditCustomFieldsForHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditCustomFieldsForHrManagement.toString().toLowerCase(); }) != null;
|
|
425
|
-
this.canAccess_feature_ViewFoodOrders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewFoodOrders.toString().toLowerCase(); }) != null;
|
|
426
|
-
this.canAccess_feature_AddOrUpdateEstimate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEstimate.toString().toLowerCase(); }) != null;
|
|
427
|
-
this.canAccess_feature_DaysOfWeekConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DaysOfWeekConfiguration.toString().toLowerCase(); }) != null;
|
|
428
|
-
this.canAccess_feature_CanAccessPerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAccessPerformance.toString().toLowerCase(); }) != null;
|
|
429
|
-
this.canAccess_feature_ViewOverallAuditActivity = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewOverallAuditActivity.toString().toLowerCase(); }) != null;
|
|
430
|
-
this.canAccess_feature_PayrollFrequency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollFrequency.toString().toLowerCase(); }) != null;
|
|
431
|
-
this.canAccess_feature_ViewMonthlyPayrollDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewMonthlyPayrollDetails.toString().toLowerCase(); }) != null;
|
|
432
|
-
this.canAccess_feature_SnapLiveDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SnapLiveDashboard.toString().toLowerCase(); }) != null;
|
|
433
|
-
this.canAccess_feature_ViewAuditConductTimelineReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditConductTimelineReport.toString().toLowerCase(); }) != null;
|
|
434
|
-
this.canAccess_feature_ManageHoliday = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageHoliday.toString().toLowerCase(); }) != null;
|
|
435
|
-
this.canAccess_feature_AddOrUpdateEmploymentContract = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmploymentContract.toString().toLowerCase(); }) != null;
|
|
436
|
-
this.canAccess_feature_ViewListOfAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewListOfAssets.toString().toLowerCase(); }) != null;
|
|
437
|
-
this.canAccess_feature_ManageProjectType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectType.toString().toLowerCase(); }) != null;
|
|
438
|
-
this.canAccess_feature_CanViewAuditComplainceReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewAuditComplainceReport.toString().toLowerCase(); }) != null;
|
|
439
|
-
this.canAccess_feature_ManageDashboards = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDashboards.toString().toLowerCase(); }) != null;
|
|
440
|
-
this.canAccess_feature_CanViewNumberOfAuditsSubmitted = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewNumberOfAuditsSubmitted.toString().toLowerCase(); }) != null;
|
|
441
|
-
this.canAccess_feature_TrainingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TrainingManagement.toString().toLowerCase(); }) != null;
|
|
442
|
-
this.canAccess_feature_UploadFiles = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UploadFiles.toString().toLowerCase(); }) != null;
|
|
443
|
-
this.canAccess_feature_WorkAllocationSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkAllocationSummary.toString().toLowerCase(); }) != null;
|
|
444
|
-
this.canAccess_feature_AddOrUpdateEmployeeMemberships = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeMemberships.toString().toLowerCase(); }) != null;
|
|
445
|
-
this.canAccess_feature_ViewMyWorkWithAdvancedSearch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewMyWorkWithAdvancedSearch.toString().toLowerCase(); }) != null;
|
|
446
|
-
this.canAccess_feature_ViewCompanyDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewCompanyDetails.toString().toLowerCase(); }) != null;
|
|
447
|
-
this.canAccess_feature_ChatFileUpload = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ChatFileUpload.toString().toLowerCase(); }) != null;
|
|
448
|
-
this.canAccess_feature_MyProjectWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MyProjectWork.toString().toLowerCase(); }) != null;
|
|
449
|
-
this.canAccess_feature_DeletePermissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeletePermissions.toString().toLowerCase(); }) != null;
|
|
450
|
-
this.canAccess_feature_ManageExpenseCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageExpenseCategory.toString().toLowerCase(); }) != null;
|
|
451
|
-
this.canAccess_feature_ViewTrainingRecord = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingRecord.toString().toLowerCase(); }) != null;
|
|
452
|
-
this.canAccess_feature_ViewTrainingCourses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingCourses.toString().toLowerCase(); }) != null;
|
|
453
|
-
this.canAccess_feature_AssignOrUnassignTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignOrUnassignTrainingCourse.toString().toLowerCase(); }) != null;
|
|
454
|
-
this.canAccess_feature_ViewTrainingAssignments = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingAssignments.toString().toLowerCase(); }) != null;
|
|
455
|
-
this.canAccess_feature_ViewTrainingMatrix = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingMatrix.toString().toLowerCase(); }) != null;
|
|
456
|
-
this.canAccess_feature_ArchiveTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveTrainingCourse.toString().toLowerCase(); }) != null;
|
|
457
|
-
this.canAccess_feature_AddOrUpdateTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateTrainingCourse.toString().toLowerCase(); }) != null;
|
|
458
|
-
this.canAccess_feature_TrainingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TrainingManagement.toString().toLowerCase(); }) != null;
|
|
459
|
-
this.canAccess_feature_AddOrUpdateAssignmentStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAssignmentStatus.toString().toLowerCase(); }) != null;
|
|
460
|
-
this.canAccess_feature_DragApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DragApps.toString().toLowerCase(); }) != null;
|
|
461
|
-
this.canAccess_feature_ViewTrainingRecord = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingRecord.toString().toLowerCase(); }) != null;
|
|
462
|
-
this.canAccess_feature_ManageAccessibleIpAdresses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAccessibleIpAdresses.toString().toLowerCase(); }) != null;
|
|
463
|
-
this.canAccess_feature_ManageCompanyIntroducedByOption = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyIntroducedByOption.toString().toLowerCase(); }) != null;
|
|
464
|
-
this.canAccess_feature_ManageCompanyLocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyLocation.toString().toLowerCase(); }) != null;
|
|
465
|
-
this.canAccess_feature_ManageDateFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDateFormat.toString().toLowerCase(); }) != null;
|
|
466
|
-
this.canAccess_feature_ManageMainUseCase = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMainUseCase.toString().toLowerCase(); }) != null;
|
|
467
|
-
this.canAccess_feature_ManageNumberFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageNumberFormat.toString().toLowerCase(); }) != null;
|
|
468
|
-
this.canAccess_feature_ManageTimeFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeFormat.toString().toLowerCase(); }) != null;
|
|
469
|
-
this.canAccess_feature_ManageExpenseCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageExpenseCategory.toString().toLowerCase(); }) != null;
|
|
470
|
-
this.canAccess_feature_ManageMerchant = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMerchant.toString().toLowerCase(); }) != null;
|
|
471
|
-
this.canAccess_feature_ManageBranch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBranch.toString().toLowerCase(); }) != null;
|
|
472
|
-
this.canAccess_feature_ManageContractType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageContractType.toString().toLowerCase(); }) != null;
|
|
473
|
-
this.canAccess_feature_ManageCountry = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCountry.toString().toLowerCase(); }) != null;
|
|
474
|
-
this.canAccess_feature_ManageCurrency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCurrency.toString().toLowerCase(); }) != null;
|
|
475
|
-
this.canAccess_feature_ManageDepartment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDepartment.toString().toLowerCase(); }) != null;
|
|
476
|
-
this.canAccess_feature_ManageDesignation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDesignation.toString().toLowerCase(); }) != null;
|
|
477
|
-
this.canAccess_feature_ManageEducationLevels = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEducationLevels.toString().toLowerCase(); }) != null;
|
|
478
|
-
this.canAccess_feature_ManageEmploymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEmploymentType.toString().toLowerCase(); }) != null;
|
|
479
|
-
this.canAccess_feature_ManageJobCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageJobCategory.toString().toLowerCase(); }) != null;
|
|
480
|
-
this.canAccess_feature_ManageLanguages = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLanguages.toString().toLowerCase(); }) != null;
|
|
481
|
-
this.canAccess_feature_ManageLicenceType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLicenceType.toString().toLowerCase(); }) != null;
|
|
482
|
-
this.canAccess_feature_ManageMemberships = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMemberships.toString().toLowerCase(); }) != null;
|
|
483
|
-
this.canAccess_feature_MangeNationalities = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MangeNationalities.toString().toLowerCase(); }) != null;
|
|
484
|
-
this.canAccess_feature_ManagePaygrade = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaygrade.toString().toLowerCase(); }) != null;
|
|
485
|
-
this.canAccess_feature_ManagePayFrequency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayFrequency.toString().toLowerCase(); }) != null;
|
|
486
|
-
this.canAccess_feature_ManagePaymentMethod = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentMethod.toString().toLowerCase(); }) != null;
|
|
487
|
-
this.canAccess_feature_ManagePaymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentType.toString().toLowerCase(); }) != null;
|
|
488
|
-
this.canAccess_feature_ManagePeakHour = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePeakHour.toString().toLowerCase(); }) != null;
|
|
489
|
-
this.canAccess_feature_ManageRateType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateType.toString().toLowerCase(); }) != null;
|
|
490
|
-
this.canAccess_feature_ManageRateSheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateSheet.toString().toLowerCase(); }) != null;
|
|
491
|
-
this.canAccess_feature_ManageRegion = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRegion.toString().toLowerCase(); }) != null;
|
|
492
|
-
this.canAccess_feature_ManageReportingMethods = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageReportingMethods.toString().toLowerCase(); }) != null;
|
|
493
|
-
this.canAccess_feature_ManageShifttiming = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageShifttiming.toString().toLowerCase(); }) != null;
|
|
494
|
-
this.canAccess_feature_ManageSkills = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSkills.toString().toLowerCase(); }) != null;
|
|
495
|
-
this.canAccess_feature_ManageSoftLabelConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSoftLabelConfigurations.toString().toLowerCase(); }) != null;
|
|
496
|
-
this.canAccess_feature_ManageState = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageState.toString().toLowerCase(); }) != null;
|
|
497
|
-
this.canAccess_feature_ManageTimeZone = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeZone.toString().toLowerCase(); }) != null;
|
|
498
|
-
this.canAccess_feature_ManageWebhook = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWebhook.toString().toLowerCase(); }) != null;
|
|
499
|
-
this.canAccess_feature_ManageAppSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppSettings.toString().toLowerCase(); }) != null;
|
|
500
|
-
this.canAccess_feature_ManageTimeConfigurationSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeConfigurationSettings.toString().toLowerCase(); }) != null;
|
|
501
|
-
this.canAccess_feature_ManageFormType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFormType.toString().toLowerCase(); }) != null;
|
|
502
|
-
this.canAccess_feature_ManageTestcaseAutomationType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseAutomationType.toString().toLowerCase(); }) != null;
|
|
503
|
-
this.canAccess_feature_ManageTestcaseStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseStatus.toString().toLowerCase(); }) != null;
|
|
504
|
-
this.canAccess_feature_ManageTestcaseType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseType.toString().toLowerCase(); }) != null;
|
|
505
|
-
this.canAccess_feature_ManageButtonType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageButtonType.toString().toLowerCase(); }) != null;
|
|
506
|
-
this.canAccess_feature_ManageFeedBackType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFeedBackType.toString().toLowerCase(); }) != null;
|
|
507
|
-
this.canAccess_feature_ManagePermissionReason = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePermissionReason.toString().toLowerCase(); }) != null;
|
|
508
|
-
this.canAccess_feature_BoardTypeApi = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BoardTypeApi.toString().toLowerCase(); }) != null;
|
|
509
|
-
this.canAccess_feature_ManageBoardTypeWorkflow = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBoardTypeWorkflow.toString().toLowerCase(); }) != null;
|
|
510
|
-
this.canAccess_feature_ManageProcessDashboardStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProcessDashboardStatus.toString().toLowerCase(); }) != null;
|
|
511
|
-
this.canAccess_feature_WorkflowManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkflowManagement.toString().toLowerCase(); }) != null;
|
|
512
|
-
this.canAccess_feature_ManageBugPriority = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBugPriority.toString().toLowerCase(); }) != null;
|
|
513
|
-
this.canAccess_feature_ManageGoalReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageGoalReplanType.toString().toLowerCase(); }) != null;
|
|
514
|
-
this.canAccess_feature_ManageProjectType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectType.toString().toLowerCase(); }) != null;
|
|
515
|
-
this.canAccess_feature_ManageWorkItemReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemReplanType.toString().toLowerCase(); }) != null;
|
|
516
|
-
this.canAccess_feature_ManageWorkItemStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemStatus.toString().toLowerCase(); }) != null;
|
|
517
|
-
this.canAccess_feature_ManageWorkItemSubType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemSubType.toString().toLowerCase(); }) != null;
|
|
518
|
-
this.canAccess_feature_ManageWorkItemType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemType.toString().toLowerCase(); }) != null;
|
|
519
|
-
this.canAccess_feature_ManageSystemExports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSystemExports.toString().toLowerCase(); }) != null;
|
|
520
|
-
this.canAccess_feature_ManageSystemImports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSystemImports.toString().toLowerCase(); }) != null;
|
|
521
|
-
this.canAccess_feature_Settings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageOverAllCompanySettings.toString().toLowerCase(); }) != null;
|
|
522
|
-
this.canAccess_feature_ManageAccountsAndBilling = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAccountsAndBilling.toString().toLowerCase(); }) != null;
|
|
523
|
-
this.canAccess_feature_ViewActivityReportsForAllEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewActivityReportsForAllEmployee.toString().toLowerCase(); }) != null;
|
|
524
|
-
}
|
|
525
|
-
logError(errorMessage) {
|
|
526
|
-
}
|
|
527
|
-
logNavigation() {
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
CustomAppBaseComponent.ɵfac = function CustomAppBaseComponent_Factory(t) { return new (t || CustomAppBaseComponent)(); };
|
|
531
|
-
CustomAppBaseComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CustomAppBaseComponent, selectors: [["ng-component"]], decls: 0, vars: 0, template: function CustomAppBaseComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
|
532
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CustomAppBaseComponent, [{
|
|
533
|
-
type: Component,
|
|
534
|
-
args: [{
|
|
535
|
-
template: ""
|
|
536
|
-
}]
|
|
537
|
-
}], function () { return []; }, null); })();
|
|
538
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50YmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9nbG9iYWxkZXBlbmRlbmNpZXMvY29tcG9uZW50cy9jb21wb25lbnRiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUs5RSxNQUFNLE9BQU8sc0JBQXNCO0lBczhCakM7UUFDRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQXpnQkQsUUFBUTtRQUVOLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQywyQ0FBMkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGlDQUFpQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hOLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlMLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xMLElBQUksQ0FBQyw4Q0FBOEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9DQUFvQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3ROLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hNLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxSyxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5SyxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMsNERBQTRELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrREFBa0QsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsUCxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5SyxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5SyxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsMkRBQTJELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpREFBaUQsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoUCxJQUFJLENBQUMseURBQXlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQ0FBK0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsMkRBQTJELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpREFBaUQsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoUCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEssSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE8sSUFBSSxDQUFDLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVLLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVMLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BMLElBQUksQ0FBQyw2Q0FBNkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG1DQUFtQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BOLElBQUksQ0FBQywrQkFBK0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hMLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQyxnREFBZ0QsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNDQUFzQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFOLElBQUksQ0FBQyxtREFBbUQsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHlDQUF5QyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hPLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQywyQ0FBMkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGlDQUFpQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hOLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hNLElBQUksQ0FBQyw2Q0FBNkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG1DQUFtQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BOLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hNLElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hNLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xNLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQyw4Q0FBOEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9DQUFvQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3ROLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQyx5Q0FBeUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLCtCQUErQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVNLElBQUksQ0FBQyxzQ0FBc0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RNLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyw0Q0FBNEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGtDQUFrQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xOLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQywrQkFBK0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hMLElBQUksQ0FBQywrQkFBK0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hMLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xNLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQywwREFBMEQsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdEQUFnRCxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlPLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hNLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlMLElBQUksQ0FBQywwQkFBMEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlLLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xNLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4SyxJQUFJLENBQUMsNERBQTRELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrREFBa0QsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsUCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMscURBQXFELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQ0FBMkMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTyxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsdURBQXVELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2Q0FBNkMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TyxJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMscURBQXFELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQ0FBMkMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsd0RBQXdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4Q0FBOEMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTyxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsb0RBQW9ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQ0FBMEMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTyxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsMkRBQTJELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpREFBaUQsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoUCxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEssSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLCtDQUErQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUNBQXFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE4sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaEwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLGtEQUFrRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0NBQXdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU4sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLDRCQUE0QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbEwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE8sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGlEQUFpRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUNBQXVDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU4sSUFBSSxDQUFDLHFEQUFxRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkNBQTJDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE8sSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE8sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDRCQUE0QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbEwsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDRCQUE0QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbEwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZDQUE2QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUNBQW1DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE4sSUFBSSxDQUFDLGtEQUFrRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0NBQXdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLCtDQUErQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUNBQXFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE4sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM04sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN00sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLDZDQUE2QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUNBQW1DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck4sSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0ssSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk4sSUFBSSxDQUFDLGlEQUFpRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUNBQXVDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN04sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDekwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN0wsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN0wsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM00sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLCtDQUErQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUNBQXFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek4sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDckwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDekwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLGlEQUFpRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUNBQXVDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN04sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM00sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN00sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL00sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFFbk0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL00sSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7SUFFbk8sQ0FBQztJQU1TLFFBQVEsQ0FBQyxZQUFvQjtJQUV2QyxDQUFDO0lBRU8sYUFBYTtJQUNyQixDQUFDOzs0RkEvOEJVLHNCQUFzQjt5RUFBdEIsc0JBQXNCO3VGQUF0QixzQkFBc0I7Y0FIbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZlYXR1cmVJZHMgfSBmcm9tICcuLi9jb25zdGFudHMvZmVhdHVyZS1pZHMnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gXCJ1bmRlcnNjb3JlXCI7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVByb3BlcnRpZXMgfSBmcm9tICcuLi9jb25zdGFudHMvbG9jYWxzdG9yYWdlLXByb3BlcnRpZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IFwiXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1c3RvbUFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJlZ2lvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlSm9iOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUludm9pY2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGltZUZvcm1hdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TGVhdmVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRlc3RjYXNlQXV0b21hdGlvblR5cGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGVha0hvdXI6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRWR1Y2F0aW9uTGV2ZWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX015V29yazogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Ob3RpZmljYXRpb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1N0YXR1c1JlcG9ydGluZzogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0Q2F0ZWdvcnk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlQ29udGFjdERldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWFzdGVyU2V0dGluZ3M6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRSZXBvcnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBdWRpdENvbmR1Y3RzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRXhwZW5zZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QmFkZ2VzQXNzaWduZWRUb0VtcGxveWVlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0hyTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9UYXhTbGFiczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVCYW5rRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYXJrRGFtYWdlZEFzc2VzdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrSXRlbXNIYXZpbmdPdGhlcnNEZXBlbmRlbmN5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdQYXlyb2xsUmVwb3J0czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEb2N1bWVudFRlbXBsYXRlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY2Nlc3NpYmxlSXBBZHJlc3NlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb21wYW55SW50cm9kdWNlZEJ5T3B0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbXBhbnlMb2NhdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEYXRlRm9ybWF0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU1haW5Vc2VDYXNlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU51bWJlckZvcm1hdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VFeHBlbnNlQ2F0ZWdvcnk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWVyY2hhbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQnJhbmNoOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbnRyYWN0VHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb3VudHJ5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUN1cnJlbmN5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURlcGFydG1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRGVzaWduYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRW1wbG95bWVudFR5cGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlSm9iQ2F0ZWdvcnk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGFuZ3VhZ2VzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxpY2VuY2VUeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU1lbWJlcnNoaXBzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmdlTmF0aW9uYWxpdGllczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXlncmFkZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXlGcmVxdWVuY3k6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5bWVudE1ldGhvZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXltZW50VHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSYXRlVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSYXRlU2hlZXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmVwb3J0aW5nTWV0aG9kczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTaGlmdHRpbWluZzogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTa2lsbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU29mdExhYmVsQ29uZmlndXJhdGlvbnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3RhdGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGltZVpvbmU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV2ViaG9vazogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBcHBTZXR0aW5nczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lQ29uZmlndXJhdGlvblNldHRpbmdzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUZvcm1UeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRlc3RjYXNlU3RhdHVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRlc3RjYXNlVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCdXR0b25UeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUZlZWRCYWNrVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQZXJtaXNzaW9uUmVhc29uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0JvYXJkVHlwZUFwaTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCb2FyZFR5cGVXb3JrZmxvdzogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9jZXNzRGFzaGJvYXJkU3RhdHVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1dvcmtmbG93TWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCdWdQcmlvcml0eTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VHb2FsUmVwbGFuVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9qZWN0VHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVJlcGxhblR5cGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1TdGF0dXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1TdWJUeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdDb3Vyc2VzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlU3BlbnRUaW1lOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxDYWxjdWxhdGlvbkNvbmZpZ3VyYXRpb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVEZXBlbmRlbnRDb250YWN0RGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Db250cmFjdFBheVNldHRpbmdzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRRdWVzdGlvbnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVNraWxsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VFeHBlbnNlTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DcmVhdGVSb3N0ZXI6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXNzaWduT3JVbmFzc2lnblRyYWluaW5nQ291cnNlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlQWNjb3VudERldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVMb2FuczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BYmlsaXR5VG9DaGF0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya0FsbG9jYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlU2hpZnREZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUxhbmd1YWdlRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNYXJpdGFsU3RhdHVzZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVGb29kSXRlbTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VIdG1sdGVtcGxhdGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBc3NldDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPckVkaXRFbXBsb3llZUxvYW5JbnN0YWxsbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0UmVwb3J0czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVQYXlyb2xsU3RhdHVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Vwc2VydENvbXBhbnlEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3ltZW50Q29udHJhY3REZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Rvd25sb2FkT3JTaGFyZUludm9pY2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0F1ZGl0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VkaXRNZXNzYWdlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVPclJlamVjdExlYXZlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1NwZW50VGltZURldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlV29ya0V4cGVyaWVuY2VEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Byb2Zlc3Npb25hbFRheFJhbmdlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbmFibGVOb3RpZmljYXRpb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Rkc1NldHRpbmdzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFeHBlbnNlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUxvZ3RpbWVEZXRhaWxzUmVwb3J0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NyZWRpdEFtb3VudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BbGxHb2FsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUFzc2lnbm1lbnRTdGF0dXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRDb25kdWN0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUFjdGl2aXR5VGltZVVzYWdlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Byb2Nlc3NEYXNoYm9hcmQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGltZVNoZWV0TWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb21wYW55U2V0dGluZ3M6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWNjZXNzVGVzdHJlcG86IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQXNzaWduQXVkaXRUYWdzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yRWRpdExlYXZlVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FdmVyeURheVRhcmdldFN0YXR1czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlUHJvamVjdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9EaXJlY3RNZXNzYWdpbmc6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1N0b3JlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcHBseUxlYXZlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUludm9pY2VTY2hlZHVsZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Bc3NpZ25BZGhvY1dvcmtUb0FsbFVzZXJzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhbkNoYW5nZVZpc3VhbGlzYXRpb25UeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQ2xpZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlSW52b2ljZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9SZWNlbnRseVB1cmNoYXNlZEFzc2V0czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5DcmVhdGVSZW1pbmRlcnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1JvbGVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlTWFzdGVyUXVlc3Rpb25UeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJlbGF0aW9uU2hpcDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsUnVuOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0Q2F0ZWdvcnk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRHJhZ0FwcHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVN1Ym1pdHRlZFN0YXR1c1JlcG9ydDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3T3JnYW5pemF0aW9uQ2hhcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlQ3VzdG9tRmllbGRzRm9ySHJNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VkaXRQYXlzbGlwOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUNyZWRpdHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRmluYW5jaWFsWWVhckNvbmZpZ3VyYXRpb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Rlc3RyZXBvTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Eb2N1bWVudE1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZUVtcGxveWVlVGF4QWxsb3dhbmNlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVSZXBvcnRUb0RldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JFZGl0Q3VzdG9tRmllbGRzRm9yUHJvamVjdE1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVTdGF0dXNSZXBvcnRpbmdDb25maWd1cmF0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1VzZXJVcGxvYWQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTGF0ZUVtcGxveWVlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUxvYW5JbnN0YWxsbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVNZW1iZXJzaGlwRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9SZWNlbnRseUFzc2lnbmVkQXNzZXRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlc0N1cnJlbnRXb3JraW5nT3JCYWNrbG9nV29ya0l0ZW1zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdTdGF0dXNSZXBvcnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Jlc2lnbmF0aW9uU3RhdHVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZlbnVlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdSb29tVGVtcGVyYXR1cmU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVXBkYXRlRm9vZE9yZGVyOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhblN1Ym1pdEN1c3RvbUZpZWxkc0ZvckhyTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVFc3RpbWF0ZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZXNNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQ2hhbm5lbDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Rm9ybXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FudGVlbk1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUHJvamVjdHNBY3RpdmVseVJ1bm5pbmdHb2FsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlSW1taWdyYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWx0ZXJuYXRlU2lnbkluOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjdGl2aXR5VHJhY2tlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9SZWNlbnRseURhbWFnZWRBc3NldHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXNzZXRIaXN0b3J5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Byb2plY3RNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFwcHNBbmRVcmxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVCYW5rRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlRm9ybTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9TaGFyZUV4cGVuc2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3lzdGVtQXBwczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Cb29raW5nTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Hb2FsTGV2ZWxSZXBvcnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUVkdWNhdGlvbkRldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGVhdmVTdGF0dXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVVzZXI6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWNrZWRJbmZvcm1hdGlvbk9mVXNlcnN0b3J5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZFVzZXI6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTGVhdmVNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdQcm9qZWN0czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcHByb3ZlT3JSZWplY3RUaW1lc2hlZXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUm9sZU1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ29weU9yTW92ZVF1ZXN0aW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDdXN0b21Gb3JtU3VibWlzc2lvbnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0xvY2F0aW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VJbmR1Y3Rpb25Xb3JrOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBbGxFbXBsb3llZUFjdGl2aXR5UmVwb3J0czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Eb3dubG9hZEVtcGxveWVlU2FsYXJ5Q2VydGlmaWNhdGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdHJlcG9NYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbXBhbnlTdHJ1Y3R1cmU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1JlY2VudGx5QWN0aXZlQ2xpZW50czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSb3N0ZXI6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVXb3JrTG9nUmVwb3J0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Rvd25sb2FkT3JTaGFyZUF1ZGl0UmVwb3J0czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVXZWJob29rczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTdG9yZU1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVQcm9kdWN0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NyZWF0ZUZvbGRlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsVGVtcGxhdGVDb25maWd1cmF0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Fzc2V0c0FsbG9jYXRlZFRvTWU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVDcmVkaXRvckRldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZUVtcGxveWVlTG9hbnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlU2tpbGxEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhblZpZXdVc2Vyc0NhbnRlZW5TdW1tYXJ5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1dvcmtBbGxvY2F0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZFBlcm1pc3Npb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RvZGF5c1RpbWVzaGVldDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5Bc3NpZ25CYWRnZVRvRW1wbG95ZWU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlSm9iRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlV29ya0V4cGVyaWVuY2VEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0RvQ2hhbm5lbENoYXRPbmx5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1VwZGF0ZVBlcm1pc3Npb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfU2VjdXJpdHk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfU3VibWl0U3RhdHVzUmVwb3J0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0F1ZGl0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVFbWVyZ2VuY3lDb250YWN0RGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9CdWdSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVGF4QWxsb3dhbmNlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Fzc2V0Q29tbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVEZXBlbmRlbnRDb250YWN0RGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9QdXJjaGFzZUZvb2RJdGVtOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ0Fzc2lnbm1lbnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUaW1lc2hlZXRGZWVkOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVSZXBvcnRpbmdUb0RldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbFJvbGVDb25maWd1cmF0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Rhc2hib2FyZE1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfV29ya0l0ZW1zSGF2aW5nRGVwZW5kZW5jeU9uTWU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUVkdWNhdGlvbkRldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVJvbGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVGltZVNoZWV0TWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUFwcGxpY2F0aW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9QdWJsaXNoQXNEZWZhdWx0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdNYXN0ZXJRdWVzdGlvblR5cGVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdQcm9kdWN0RGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9EZWxldGVDdXN0b21GaWVsZHNGb3JQcm9qZWN0TWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBdXRob3JpemF0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUN1c3RvbUFwcHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRm9vZEl0ZW1zTGlzdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUZvcm06IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZUFkaG9jV29yazogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZVNlc3Npb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfV29ya0l0ZW1VcGxvYWQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQXBwcm92ZVBlcmZvcm1hbmNlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlTG9jYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmVzdHJpY3Rpb25UeXBlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxlYXZlRm9ybXVsYTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVdvcmtJdGVtczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9CaWxsaW5nTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FZGl0RGFzaGJvYXJkOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ01hdHJpeDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBcHBGaWx0ZXJzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxlYXZlVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlU3RhdHVzUmVwb3J0Q29uZmlndXJhdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9SZXNldFBhc3N3b3JkOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VkaXRSb3N0ZXI6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWJpbGl0eVRvQ3JlYXRlUHVibGljUHJvamVjdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsTWFyaXRhbFN0YXR1c0NvbmZpZ3VyYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkUHJvamVjdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlSm9iRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUFkaG9jV29yazogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Gb3Jnb3RQYXNzd29yZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Mb2dUaW1lUmVwb3J0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZURhc2hib2FyZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UXVlc3Rpb25UeXBlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3SGlzdG9yaWNhbFRpbWVzaGVldDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrSXRlbXNXYWl0aW5nRm9yUWFBcHByb3ZhbDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9JbnZpdGVlRm9yU2lnbmF0dXJlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlUm9sZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5DbG9uZUF1ZGl0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVUcmFpbmluZ0NvdXJzZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9QdW5jaENhcmQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWN0aXZpdHlDb25maWc6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfT3JnYW5pemF0aW9uQ2hhcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGFzaGJvYXJkTWVudUl0ZW06IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRmVhdHVyZVVzYWdlUmVwb3J0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FjdGl2aXR5VHJhY2tlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9EZWxldGVHb2FsRmlsdGVyOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlUHJlc2VuY2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUHJvamVjdE1hbmFnZW1lbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRmllbGQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FwcGxpY2F0aW9uVXNhZ2VSZXBvcnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVGltZXNoZWV0ZW50cnk6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVBlcnNvbmFsRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZVF1ZXN0aW9uVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RmlsZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdENvbmR1Y3Q6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVQYXlyb2xsRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCYWRnZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTGVhdmVUeXBlQ29uZmlndXJhdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXlyb2xsQ29tcG9uZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhbkVkaXRPdGhlckVtcGxveWVlRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BdXRob3Jpc2F0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVFeHBlbnNlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Jldmlld0ZpbGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfSG91cmx5VGRzQ29uZmlndXJhdGlvbjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVTYWxhcnlEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUdlbmRlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcHBNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhblBhc3NBbkFubm91bmNlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BbGxGb29kT3JkZXJzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVMaWNlbmNlRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5TdWJtaXRDdXN0b21GaWVsZHNGb3JQcm9qZWN0TWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3QXVkaXROb25Db21wbGFpbmNlUmVwb3J0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUZXN0cmVwb1JlcG9ydHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTXlBZGhvY1dvcms6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlUGVyc29uYWxEZXRhaWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcGx5TGVhdmVPbkJlaGFsZk9mT3RoZXJzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVmVuZG9yOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya2luZ0RheXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQmlsbEFtb3VudE9uRGFpbHlCYXNpczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Gb29kT3JkZXJzTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdFF1ZXN0aW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Q29tcGFueVdpZGVMZWF2ZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVW5hcmNoaXZlUHJvamVjdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVJbW1pZ3JhdGlvbkRldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVXBkYXRlVXNlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVMaWNlbmNlRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9QYXJrQWRob2NXb3JrOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZUxlYXZlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZVF1ZXN0aW9uVHlwZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9TZWxlY3RMb2dUaW1lUmVwb3J0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlSW5kZXg6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUmVjZW50SW5kaXZpZHVhbEZvb2RPcmRlcnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWN0aXZpdHlEYXNoYm9hcmQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXNzZXRNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NoYXQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlSW1wb3J0T3JFeHBvcnRDbGllbnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0F1ZGl0QWN0aW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Hb2Fsc1RvQXJjaGl2ZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlTGFuZ3VhZ2VzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FjdGl2ZWx5UnVubmluZ0dvYWxzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FsbEdvYWxzV2l0aEFkdmFuY2VkU2VhcmNoOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0hpZGVEYXNoYm9hcmQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfU3VibWl0VGltZXNoZWV0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxHZW5kZXJDb25maWd1cmF0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVPclJlamVjdEV4cGVuc2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VzdGltYXRlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhbnRlZW5QdXJjaGFzZXNTdW1tYXJ5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdWZW5kb3JzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdVc2VyczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3SW52b2ljZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9MZWF2ZXNSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVNhbGFyeURldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlV2ViQXBwVXNhZ2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Jvc3RlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VGZWVkYmFjazogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9PZmZlcnNDcmVkaXRlZFRvVXNlcnNTdW1tYXJ5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1FhUGVyZm9ybWFuY2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWxsb3dhbmNlVGltZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2plY3RSb2xlUGVybWlzc2lvbnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkRGFzaGJvYXJkOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVHJhaW5pbmdDb3Vyc2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUmVzZXRPdGhlcnNQYXNzd29yZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VFbXBsb3llZVJhdGVzaGVldDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlQ29udGFjdERldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FsbEVtcGxveWVlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9MZWF2ZUVuY2FzaG1lbnRTZXR0aW5nczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVFbWVyZ2VuY3lDb250YWN0RGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVFbXBsb3llZVBheXJvbGxUZW1wbGF0ZXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FwcGxpY2F0aW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVFbXBsb3llZVRyYWNraW5nOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1VzZXJIaXN0b3JpY2FsUmVwb3J0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdVc2VyU3RhdHVzSGlzdG9yeTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY3Rpdml0eVNjcmVlbnNob3RzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVN1YnNjcmlwdGlvblBhaWRCeTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9Db25kdWN0Rm9ybTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9MYXRlRW1wbG95ZWVzQ291bnRWc0RhdGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXNzaWduQXNzZXRzVG9FbXBsb3llZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUF0dGVuZGVuY2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWN0aXZpdHlSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGV2UXVhbGl0eTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcHByb3ZlUm9zdGVyOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdGZWVkYmFjazogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9JbW1pbmVudERlYWRsaW5lczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlTWVzc2FnZTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVNYXN0ZXJRdWVzdGlvblR5cGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUm9vbVRlbXBlcmF0dXJlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdPck1hbmFnZUludm9pY2VTdGF0dXM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5cm9sbFRlbXBsYXRlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBdWRpdFJlcG9ydHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRWRpdFN0b3JlczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXNzZXRzV2l0aEFkdmFuY2VkU2VhcmNoOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdQZXJtaXNzaW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcHBsaWNhdGlvbnM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQW5zd2VyUXVlc3Rpb25zOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1N1Ym1pdEF1ZGl0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxCcmFuY2hDb25maWd1cmF0aW9uOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NvbmZpZ3VyZVBlcmZvcm1hbmNlOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdMaXZlRGFzaGJvYXJkOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZEZvb2RPcmRlcjogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsUnVuRW1wbG95ZWU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlQXBwVHJhY2tlckNvbXBsZXRlUmVwb3J0OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUhyTWFuYWdlbWVudDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVRheEFsbG93YW5jZURldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1N0YXR1c1JlcG9ydGluZ0NvbmZpZ3VyYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVCb251czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2hpZnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBbGxBZGhvY1dvcmtzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlUmVzaWduYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JFZGl0Q3VzdG9tRmllbGRzRm9ySHJNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdGb29kT3JkZXJzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRXN0aW1hdGU6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGF5c09mV2Vla0NvbmZpZ3VyYXRpb246IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQWNjZXNzUGVyZm9ybWFuY2U6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld092ZXJhbGxBdWRpdEFjdGl2aXR5OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxGcmVxdWVuY3k6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld01vbnRobHlQYXlyb2xsRGV0YWlsczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9TbmFwTGl2ZURhc2hib2FyZDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXRDb25kdWN0VGltZWxpbmVSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlSG9saWRheTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveW1lbnRDb250cmFjdDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TGlzdE9mQXNzZXRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhblZpZXdBdWRpdENvbXBsYWluY2VSZXBvcnQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRGFzaGJvYXJkczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3TnVtYmVyT2ZBdWRpdHNTdWJtaXR0ZWQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVHJhaW5pbmdNYW5hZ2VtZW50OiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1VwbG9hZEZpbGVzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1dvcmtBbGxvY2F0aW9uU3VtbWFyeTogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlTWVtYmVyc2hpcHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld015V29ya1dpdGhBZHZhbmNlZFNlYXJjaDogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Q29tcGFueURldGFpbHM6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2hhdEZpbGVVcGxvYWQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTXlQcm9qZWN0V29yazogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9EZWxldGVQZXJtaXNzaW9uczogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdSZWNvcmQ6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3lzdGVtSW1wb3J0czogQm9vbGVhbjtcclxuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTeXN0ZW1FeHBvcnRzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX1NldHRpbmdzOiBCb29sZWFuO1xyXG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjY291bnRzQW5kQmlsbGluZyA6IEJvb2xlYW47XHJcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FjdGl2aXR5UmVwb3J0c0ZvckFsbEVtcGxveWVlOiBCb29sZWFuO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICB2YXIgcm9sZXMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuUm9sZUZlYXR1cmVzKSk7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJlZ2lvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VSZWdpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlSm9iID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVKb2IudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVJbnZvaWNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUludm9pY2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lRm9ybWF0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRpbWVGb3JtYXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TGVhdmVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdMZWF2ZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZUF1dG9tYXRpb25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRlc3RjYXNlQXV0b21hdGlvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQZWFrSG91ciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQZWFrSG91ci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVkdWNhdGlvbkxldmVscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VFZHVjYXRpb25MZXZlbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NeVdvcmsgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTXlXb3JrLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTm90aWZpY2F0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Ob3RpZmljYXRpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfU3RhdHVzUmVwb3J0aW5nID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1N0YXR1c1JlcG9ydGluZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRDYXRlZ29yeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0Q2F0ZWdvcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVDb250YWN0RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVDb250YWN0RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU1hc3RlclNldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU1hc3RlclNldHRpbmdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0UmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBdWRpdENvbmR1Y3RzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBdWRpdENvbmR1Y3RzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFeHBlbnNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRXhwZW5zZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdCYWRnZXNBc3NpZ25lZFRvRW1wbG95ZWUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0JhZGdlc0Fzc2lnbmVkVG9FbXBsb3llZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0hyTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Ick1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9UYXhTbGFicyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9UYXhTbGFicy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUJhbmtEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUJhbmtEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFya0RhbWFnZWRBc3Nlc3QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFya0RhbWFnZWRBc3Nlc3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrSXRlbXNIYXZpbmdPdGhlcnNEZXBlbmRlbmN5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1dvcmtJdGVtc0hhdmluZ090aGVyc0RlcGVuZGVuY3kudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UGF5cm9sbFJlcG9ydHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1BheXJvbGxSZXBvcnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRG9jdW1lbnRUZW1wbGF0ZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRG9jdW1lbnRUZW1wbGF0ZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdDb3Vyc2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUcmFpbmluZ0NvdXJzZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVNwZW50VGltZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZVNwZW50VGltZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheW1lbnRNZXRob2QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5bWVudE1ldGhvZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxDYWxjdWxhdGlvbkNvbmZpZ3VyYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BheXJvbGxDYWxjdWxhdGlvbkNvbmZpZ3VyYXRpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZURlcGVuZGVudENvbnRhY3REZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVEZXBlbmRlbnRDb250YWN0RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NvbnRyYWN0UGF5U2V0dGluZ3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ29udHJhY3RQYXlTZXR0aW5ncy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRRdWVzdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdFF1ZXN0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVTa2lsbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVNraWxscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUV4cGVuc2VNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUV4cGVuc2VNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ3JlYXRlUm9zdGVyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NyZWF0ZVJvc3Rlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxpY2VuY2VUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUxpY2VuY2VUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXNzaWduT3JVbmFzc2lnblRyYWluaW5nQ291cnNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Fzc2lnbk9yVW5hc3NpZ25UcmFpbmluZ0NvdXJzZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlQWNjb3VudERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVBY2NvdW50RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlTG9hbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVMb2Fucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FiaWxpdHlUb0NoYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWJpbGl0eVRvQ2hhdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya0FsbG9jYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVXb3JrQWxsb2NhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVNoaWZ0RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVTaGlmdERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVMYW5ndWFnZURldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlTGFuZ3VhZ2VEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQnJhbmNoID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJyYW5jaC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU1hcml0YWxTdGF0dXNlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VNYXJpdGFsU3RhdHVzZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUZvb2RJdGVtID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRm9vZEl0ZW0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VIdG1sdGVtcGxhdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlSHRtbHRlbXBsYXRlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmF0ZVNoZWV0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVJhdGVTaGVldC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXNzZXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVBc3NldC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yRWRpdEVtcGxveWVlTG9hbkluc3RhbGxtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yRWRpdEVtcGxveWVlTG9hbkluc3RhbGxtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdFJlcG9ydHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdFJlcG9ydHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEYXRlRm9ybWF0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZURhdGVGb3JtYXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVQYXlyb2xsU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NvbmZpZ3VyZVBheXJvbGxTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9VcHNlcnRDb21wYW55RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9VcHNlcnRDb21wYW55RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3ltZW50Q29udHJhY3REZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3ltZW50Q29udHJhY3REZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRG93bmxvYWRPclNoYXJlSW52b2ljZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Eb3dubG9hZE9yU2hhcmVJbnZvaWNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0F1ZGl0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBdWRpdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VkaXRNZXNzYWdlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VkaXRNZXNzYWdlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0TGVhdmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0TGVhdmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TcGVudFRpbWVEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1NwZW50VGltZURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJ1Z1ByaW9yaXR5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJ1Z1ByaW9yaXR5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlV29ya0V4cGVyaWVuY2VEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZVdvcmtFeHBlcmllbmNlRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Byb2Zlc3Npb25hbFRheFJhbmdlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Qcm9mZXNzaW9uYWxUYXhSYW5nZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbmFibGVOb3RpZmljYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VuYWJsZU5vdGlmaWNhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9UZHNTZXR0aW5ncyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9UZHNTZXR0aW5ncy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvdW50cnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ291bnRyeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFeHBlbnNlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RXhwZW5zZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUxvZ3RpbWVEZXRhaWxzUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlTG9ndGltZURldGFpbHNSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DcmVkaXRBbW91bnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ3JlZGl0QW1vdW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWxsR29hbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWxsR29hbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUFzc2lnbm1lbnRTdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVBc3NpZ25tZW50U3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRDb25kdWN0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0Q29uZHVjdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUFjdGl2aXR5VGltZVVzYWdlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUFjdGl2aXR5VGltZVVzYWdlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUHJvY2Vzc0Rhc2hib2FyZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Qcm9jZXNzRGFzaGJvYXJkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGltZVNoZWV0TWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUaW1lU2hlZXRNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ29tcGFueVNldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUNvbXBhbnlTZXR0aW5ncy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FjY2Vzc1Rlc3RyZXBvID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FjY2Vzc1Rlc3RyZXBvLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQXNzaWduQXVkaXRUYWdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbkFzc2lnbkF1ZGl0VGFncy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yRWRpdExlYXZlVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPckVkaXRMZWF2ZVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FdmVyeURheVRhcmdldFN0YXR1cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FdmVyeURheVRhcmdldFN0YXR1cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVQcm9qZWN0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVQcm9qZWN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGlyZWN0TWVzc2FnaW5nID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RpcmVjdE1lc3NhZ2luZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdTdG9yZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1N0b3Jlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FwcGx5TGVhdmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXBwbHlMZWF2ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUludm9pY2VTY2hlZHVsZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VJbnZvaWNlU2NoZWR1bGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Bc3NpZ25BZGhvY1dvcmtUb0FsbFVzZXJzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Fzc2lnbkFkaG9jV29ya1RvQWxsVXNlcnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQZXJtaXNzaW9uUmVhc29uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBlcm1pc3Npb25SZWFzb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5DaGFuZ2VWaXN1YWxpc2F0aW9uVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5DaGFuZ2VWaXN1YWxpc2F0aW9uVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQ2xpZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlQ2xpZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVJbnZvaWNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlSW52b2ljZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1JlY2VudGx5UHVyY2hhc2VkQXNzZXRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1JlY2VudGx5UHVyY2hhc2VkQXNzZXRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQ3JlYXRlUmVtaW5kZXJzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbkNyZWF0ZVJlbWluZGVycy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheWdyYWRlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBheWdyYWRlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1JvbGVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdSb2xlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlTWFzdGVyUXVlc3Rpb25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlTWFzdGVyUXVlc3Rpb25UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmVsYXRpb25TaGlwID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVJlbGF0aW9uU2hpcC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxSdW4gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUGF5cm9sbFJ1bi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0Q2F0ZWdvcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRDYXRlZ29yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RyYWdBcHBzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RyYWdBcHBzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVN1Ym1pdHRlZFN0YXR1c1JlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlU3VibWl0dGVkU3RhdHVzUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuVmlld09yZ2FuaXphdGlvbkNoYXJ0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhblZpZXdPcmdhbml6YXRpb25DaGFydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZUN1c3RvbUZpZWxkc0ZvckhyTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9EZWxldGVDdXN0b21GaWVsZHNGb3JIck1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FZGl0UGF5c2xpcCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FZGl0UGF5c2xpcC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUNyZWRpdHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlQ3JlZGl0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0ZpbmFuY2lhbFllYXJDb25maWd1cmF0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9GaW5hbmNpYWxZZWFyQ29uZmlndXJhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9UZXN0cmVwb01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVGVzdHJlcG9NYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRG9jdW1lbnRNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RvY3VtZW50TWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVFbXBsb3llZVRheEFsbG93YW5jZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXBwcm92ZUVtcGxveWVlVGF4QWxsb3dhbmNlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVJlcG9ydFRvRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVSZXBvcnRUb0RldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPckVkaXRDdXN0b21GaWVsZHNGb3JQcm9qZWN0TWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPckVkaXRDdXN0b21GaWVsZHNGb3JQcm9qZWN0TWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlU3RhdHVzUmVwb3J0aW5nQ29uZmlndXJhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZVN0YXR1c1JlcG9ydGluZ0NvbmZpZ3VyYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Vc2VyVXBsb2FkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1VzZXJVcGxvYWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9MYXRlRW1wbG95ZWUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTGF0ZUVtcGxveWVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlTG9hbkluc3RhbGxtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUxvYW5JbnN0YWxsbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZU1lbWJlcnNoaXBEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZU1lbWJlcnNoaXBEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUmVjZW50bHlBc3NpZ25lZEFzc2V0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9SZWNlbnRseUFzc2lnbmVkQXNzZXRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVzQ3VycmVudFdvcmtpbmdPckJhY2tsb2dXb3JrSXRlbXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVzQ3VycmVudFdvcmtpbmdPckJhY2tsb2dXb3JrSXRlbXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3U3RhdHVzUmVwb3J0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3U3RhdHVzUmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Jlc2lnbmF0aW9uU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Jlc2lnbmF0aW9uU3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmVudWUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmVudWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCdXR0b25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJ1dHRvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Um9vbVRlbXBlcmF0dXJlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdSb29tVGVtcGVyYXR1cmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9VcGRhdGVGb29kT3JkZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVXBkYXRlRm9vZE9yZGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ3VycmVuY3kgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ3VycmVuY3kudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5TdWJtaXRDdXN0b21GaWVsZHNGb3JIck1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuU3VibWl0Q3VzdG9tRmllbGRzRm9ySHJNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlRXN0aW1hdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlRXN0aW1hdGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZXNNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUxlYXZlc01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUNoYW5uZWwgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVDaGFubmVsLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0Zvcm1zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdGb3Jtcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbnRlZW5NYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbnRlZW5NYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUHJvY2Vzc0Rhc2hib2FyZFN0YXR1cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQcm9jZXNzRGFzaGJvYXJkU3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUHJvamVjdHNBY3RpdmVseVJ1bm5pbmdHb2FscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Qcm9qZWN0c0FjdGl2ZWx5UnVubmluZ0dvYWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUltbWlncmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVJbW1pZ3JhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FsdGVybmF0ZVNpZ25JbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BbHRlcm5hdGVTaWduSW4udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY3Rpdml0eVRyYWNrZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQWN0aXZpdHlUcmFja2VyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUmVjZW50bHlEYW1hZ2VkQXNzZXRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1JlY2VudGx5RGFtYWdlZEFzc2V0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURlc2lnbmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZURlc2lnbmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXNzZXRIaXN0b3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Fzc2V0SGlzdG9yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Byb2plY3RNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Byb2plY3RNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQXBwc0FuZFVybHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQXBwc0FuZFVybHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVN1YlR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlV29ya0l0ZW1TdWJUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VTdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGVzdGNhc2VTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlQmFua0RldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUJhbmtEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfV29ya2Zsb3dNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1dvcmtmbG93TWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVGb3JtID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVGb3JtLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfU2hhcmVFeHBlbnNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1NoYXJlRXhwZW5zZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVN5c3RlbUFwcHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU3lzdGVtQXBwcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Jvb2tpbmdNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Jvb2tpbmdNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfR29hbExldmVsUmVwb3J0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Hb2FsTGV2ZWxSZXBvcnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlRWR1Y2F0aW9uRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVFZHVjYXRpb25EZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQm9hcmRUeXBlQXBpID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0JvYXJkVHlwZUFwaS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxlYXZlU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUxlYXZlU3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1SZXBsYW5UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVdvcmtJdGVtUmVwbGFuVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVVc2VyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVVc2VyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWNrZWRJbmZvcm1hdGlvbk9mVXNlcnN0b3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUcmFja2VkSW5mb3JtYXRpb25PZlVzZXJzdG9yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZFVzZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkVXNlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0xlYXZlTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9MZWF2ZU1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UHJvamVjdHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1Byb2plY3RzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0VGltZXNoZWV0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FwcHJvdmVPclJlamVjdFRpbWVzaGVldC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1JvbGVNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1JvbGVNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ29weU9yTW92ZVF1ZXN0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Db3B5T3JNb3ZlUXVlc3Rpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3RhdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU3RhdGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDdXN0b21Gb3JtU3VibWlzc2lvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ3VzdG9tRm9ybVN1Ym1pc3Npb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0xvY2F0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3TG9jYXRpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlSW5kdWN0aW9uV29yayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VJbmR1Y3Rpb25Xb3JrLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FsbEVtcGxveWVlQWN0aXZpdHlSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBbGxFbXBsb3llZUFjdGl2aXR5UmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Rvd25sb2FkRW1wbG95ZWVTYWxhcnlDZXJ0aWZpY2F0ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Eb3dubG9hZEVtcGxveWVlU2FsYXJ5Q2VydGlmaWNhdGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUZXN0cmVwb01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGVzdHJlcG9NYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRm9ybVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRm9ybVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb21wYW55U3RydWN0dXJlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUNvbXBhbnlTdHJ1Y3R1cmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UmVjZW50bHlBY3RpdmVDbGllbnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdSZWNlbnRseUFjdGl2ZUNsaWVudHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSb3N0ZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUm9zdGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVXb3JrTG9nUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlV29ya0xvZ1JlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Rvd25sb2FkT3JTaGFyZUF1ZGl0UmVwb3J0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Eb3dubG9hZE9yU2hhcmVBdWRpdFJlcG9ydHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVXZWJob29rcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Db25maWd1cmVXZWJob29rcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVN0b3JlTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTdG9yZU1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZVByb2R1Y3QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVQcm9kdWN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ3JlYXRlRm9sZGVyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NyZWF0ZUZvbGRlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxUZW1wbGF0ZUNvbmZpZ3VyYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUGF5cm9sbFRlbXBsYXRlQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Fzc2V0c0FsbG9jYXRlZFRvTWUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXNzZXRzQWxsb2NhdGVkVG9NZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlQ3JlZGl0b3JEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlQ3JlZGl0b3JEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZUVtcGxveWVlTG9hbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXBwcm92ZUVtcGxveWVlTG9hbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVTa2lsbERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlU2tpbGxEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuVmlld1VzZXJzQ2FudGVlblN1bW1hcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuVmlld1VzZXJzQ2FudGVlblN1bW1hcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrQWxsb2NhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Xb3JrQWxsb2NhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdlYmhvb2sgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlV2ViaG9vay50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZFBlcm1pc3Npb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkUGVybWlzc2lvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUb2RheXNUaW1lc2hlZXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RvZGF5c1RpbWVzaGVldC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbkFzc2lnbkJhZGdlVG9FbXBsb3llZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5Bc3NpZ25CYWRnZVRvRW1wbG95ZWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZXBvcnRpbmdNZXRob2RzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVJlcG9ydGluZ01ldGhvZHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VGZWVkQmFja1R5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRmVlZEJhY2tUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlSm9iRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVKb2JEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVdvcmtFeHBlcmllbmNlRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlV29ya0V4cGVyaWVuY2VEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRG9DaGFubmVsQ2hhdE9ubHkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRG9DaGFubmVsQ2hhdE9ubHkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9VcGRhdGVQZXJtaXNzaW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1VwZGF0ZVBlcm1pc3Npb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TZWN1cml0eSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9TZWN1cml0eS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1N1Ym1pdFN0YXR1c1JlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9TdWJtaXRTdGF0dXNSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BdWRpdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BdWRpdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVFbWVyZ2VuY3lDb250YWN0RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlRW1lcmdlbmN5Q29udGFjdERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9CdWdSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQnVnUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVGF4QWxsb3dhbmNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1RheEFsbG93YW5jZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Fzc2V0Q29tbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Bc3NldENvbW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVEZXBlbmRlbnRDb250YWN0RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVEZXBlbmRlbnRDb250YWN0RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1B1cmNoYXNlRm9vZEl0ZW0gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUHVyY2hhc2VGb29kSXRlbS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ0Fzc2lnbm1lbnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUcmFpbmluZ0Fzc2lnbm1lbnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RpbWVzaGVldEZlZWQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RpbWVzaGVldEZlZWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlUmVwb3J0aW5nVG9EZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVSZXBvcnRpbmdUb0RldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsUm9sZUNvbmZpZ3VyYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUGF5cm9sbFJvbGVDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGFzaGJvYXJkTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9EYXNoYm9hcmRNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ29tcGFueUxvY2F0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUNvbXBhbnlMb2NhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU51bWJlckZvcm1hdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VOdW1iZXJGb3JtYXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrSXRlbXNIYXZpbmdEZXBlbmRlbmN5T25NZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Xb3JrSXRlbXNIYXZpbmdEZXBlbmRlbmN5T25NZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVFZHVjYXRpb25EZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVFZHVjYXRpb25EZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVJvbGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZVJvbGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9UaW1lU2hlZXRNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1RpbWVTaGVldE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUFwcGxpY2F0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUFwcGxpY2F0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1B1Ymxpc2hBc0RlZmF1bHQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUHVibGlzaEFzRGVmYXVsdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdNYXN0ZXJRdWVzdGlvblR5cGVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdNYXN0ZXJRdWVzdGlvblR5cGVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Byb2R1Y3REZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdQcm9kdWN0RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZUN1c3RvbUZpZWxkc0ZvclByb2plY3RNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RlbGV0ZUN1c3RvbUZpZWxkc0ZvclByb2plY3RNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQXV0aG9yaXphdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBdXRob3JpemF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWVtYmVyc2hpcHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTWVtYmVyc2hpcHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDdXN0b21BcHBzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUN1c3RvbUFwcHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Gb29kSXRlbXNMaXN0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Zvb2RJdGVtc0xpc3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUZvcm0gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVGb3JtLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZUFkaG9jV29yayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlQWRob2NXb3JrLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGVhdmVTZXNzaW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUxlYXZlU2Vzc2lvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjY2Vzc2libGVJcEFkcmVzc2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUFjY2Vzc2libGVJcEFkcmVzc2VzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfV29ya0l0ZW1VcGxvYWQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfV29ya0l0ZW1VcGxvYWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBcHBTZXR0aW5ncyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBcHBTZXR0aW5ncy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbkFwcHJvdmVQZXJmb3JtYW5jZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5BcHByb3ZlUGVyZm9ybWFuY2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUxvY2F0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlTG9jYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZXN0cmljdGlvblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUmVzdHJpY3Rpb25UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGVhdmVGb3JtdWxhID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUxlYXZlRm9ybXVsYS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya0l0ZW1zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlV29ya0l0ZW1zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQmlsbGluZ01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQmlsbGluZ01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FZGl0RGFzaGJvYXJkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VkaXREYXNoYm9hcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdNYXRyaXggPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RyYWluaW5nTWF0cml4LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQXBwRmlsdGVycyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBcHBGaWx0ZXJzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGVhdmVUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUxlYXZlVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVTdGF0dXNSZXBvcnRDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVTdGF0dXNSZXBvcnRDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUmVzZXRQYXNzd29yZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9SZXNldFBhc3N3b3JkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRWRpdFJvc3RlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FZGl0Um9zdGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWJpbGl0eVRvQ3JlYXRlUHVibGljUHJvamVjdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BYmlsaXR5VG9DcmVhdGVQdWJsaWNQcm9qZWN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbE1hcml0YWxTdGF0dXNDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BheXJvbGxNYXJpdGFsU3RhdHVzQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJhdGVUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVJhdGVUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkUHJvamVjdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRQcm9qZWN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUpvYkRldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUpvYkRldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVN0YXR1cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVN0YXR1cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVtcGxveW1lbnRUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUVtcGxveW1lbnRUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBZGhvY1dvcmsgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVBZGhvY1dvcmsudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Gb3Jnb3RQYXNzd29yZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Gb3Jnb3RQYXNzd29yZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0xvZ1RpbWVSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTG9nVGltZVJlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZURhc2hib2FyZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9EZWxldGVEYXNoYm9hcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UXVlc3Rpb25UeXBlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3UXVlc3Rpb25UeXBlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdIaXN0b3JpY2FsVGltZXNoZWV0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdIaXN0b3JpY2FsVGltZXNoZWV0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfV29ya0l0ZW1zV2FpdGluZ0ZvclFhQXBwcm92YWwgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfV29ya0l0ZW1zV2FpdGluZ0ZvclFhQXBwcm92YWwudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9JbnZpdGVlRm9yU2lnbmF0dXJlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0ludml0ZWVGb3JTaWduYXR1cmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZVJvbGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVSb2xlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQ2xvbmVBdWRpdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5DbG9uZUF1ZGl0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVRyYWluaW5nQ291cnNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVUcmFpbmluZ0NvdXJzZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1B1bmNoQ2FyZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QdW5jaENhcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY3Rpdml0eUNvbmZpZyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBY3Rpdml0eUNvbmZpZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX09yZ2FuaXphdGlvbkNoYXJ0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX09yZ2FuaXphdGlvbkNoYXJ0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGFzaGJvYXJkTWVudUl0ZW0gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRGFzaGJvYXJkTWVudUl0ZW0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9GZWF0dXJlVXNhZ2VSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRmVhdHVyZVVzYWdlUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWN0aXZpdHlUcmFja2VyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FjdGl2aXR5VHJhY2tlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZUdvYWxGaWx0ZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRGVsZXRlR29hbEZpbHRlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlUHJlc2VuY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVQcmVzZW5jZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheUZyZXF1ZW5jeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQYXlGcmVxdWVuY3kudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9qZWN0TWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQcm9qZWN0TWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUZpZWxkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUZpZWxkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FwcGxpY2F0aW9uVXNhZ2VSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBcHBsaWNhdGlvblVzYWdlUmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVGltZXNoZWV0ZW50cnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVUaW1lc2hlZXRlbnRyeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVQZXJzb25hbERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVBlcnNvbmFsRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlUXVlc3Rpb25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlUXVlc3Rpb25UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0ZpbGVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdGaWxlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRDb25kdWN0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRDb25kdWN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVQYXlyb2xsRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZVBheXJvbGxEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQmFkZ2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJhZGdlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0xlYXZlVHlwZUNvbmZpZ3VyYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTGVhdmVUeXBlQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheXJvbGxDb21wb25lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5cm9sbENvbXBvbmVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5FZGl0T3RoZXJFbXBsb3llZURldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuRWRpdE90aGVyRW1wbG95ZWVEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXV0aG9yaXNhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BdXRob3Jpc2F0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZUV4cGVuc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZUV4cGVuc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9SZXZpZXdGaWxlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Jldmlld0ZpbGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Ib3VybHlUZHNDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0hvdXJseVRkc0NvbmZpZ3VyYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lQ29uZmlndXJhdGlvblNldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRpbWVDb25maWd1cmF0aW9uU2V0dGluZ3MudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVTYWxhcnlEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZVNhbGFyeURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEZXBhcnRtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZURlcGFydG1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb250cmFjdFR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ29udHJhY3RUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlR2VuZGVyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUdlbmRlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FwcE1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXBwTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhblBhc3NBbkFubm91bmNlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5QYXNzQW5Bbm5vdW5jZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BbGxGb29kT3JkZXJzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FsbEZvb2RPcmRlcnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlTGljZW5jZURldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUxpY2VuY2VEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuU3VibWl0Q3VzdG9tRmllbGRzRm9yUHJvamVjdE1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuU3VibWl0Q3VzdG9tRmllbGRzRm9yUHJvamVjdE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3QXVkaXROb25Db21wbGFpbmNlUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhblZpZXdBdWRpdE5vbkNvbXBsYWluY2VSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VGVzdHJlcG9SZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUZXN0cmVwb1JlcG9ydHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NeUFkaG9jV29yayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NeUFkaG9jV29yay50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVBlcnNvbmFsRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVQZXJzb25hbERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcHBseUxlYXZlT25CZWhhbGZPZk90aGVycyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHBseUxlYXZlT25CZWhhbGZPZk90aGVycy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BheXJvbGxNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVWZW5kb3IgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVWZW5kb3IudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVdvcmtpbmdEYXlzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlV29ya2luZ0RheXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VKb2JDYXRlZ29yeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VKb2JDYXRlZ29yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0JpbGxBbW91bnRPbkRhaWx5QmFzaXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQmlsbEFtb3VudE9uRGFpbHlCYXNpcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Zvb2RPcmRlcnNNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Zvb2RPcmRlcnNNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRRdWVzdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRRdWVzdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Q29tcGFueVdpZGVMZWF2ZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0NvbXBhbnlXaWRlTGVhdmVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVW5hcmNoaXZlUHJvamVjdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9VbmFyY2hpdmVQcm9qZWN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlSW1taWdyYXRpb25EZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUltbWlncmF0aW9uRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1VwZGF0ZVVzZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVXBkYXRlVXNlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUxpY2VuY2VEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUxpY2VuY2VEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUGFya0FkaG9jV29yayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QYXJrQWRob2NXb3JrLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlTGVhdmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRGVsZXRlTGVhdmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVRdWVzdGlvblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlUXVlc3Rpb25UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfU2VsZWN0TG9nVGltZVJlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9TZWxlY3RMb2dUaW1lUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVJbmRleCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZUluZGV4LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUmVjZW50SW5kaXZpZHVhbEZvb2RPcmRlcnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUmVjZW50SW5kaXZpZHVhbEZvb2RPcmRlcnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY3Rpdml0eURhc2hib2FyZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBY3Rpdml0eURhc2hib2FyZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Fzc2V0TWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Bc3NldE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DaGF0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NoYXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VJbXBvcnRPckV4cG9ydENsaWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VJbXBvcnRPckV4cG9ydENsaWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVNvZnRMYWJlbENvbmZpZ3VyYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVNvZnRMYWJlbENvbmZpZ3VyYXRpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0F1ZGl0QWN0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3QXVkaXRBY3Rpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfR29hbHNUb0FyY2hpdmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfR29hbHNUb0FyY2hpdmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlTGFuZ3VhZ2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVMYW5ndWFnZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BY3RpdmVseVJ1bm5pbmdHb2FscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BY3RpdmVseVJ1bm5pbmdHb2Fscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FsbEdvYWxzV2l0aEFkdmFuY2VkU2VhcmNoID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FsbEdvYWxzV2l0aEFkdmFuY2VkU2VhcmNoLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfSGlkZURhc2hib2FyZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9IaWRlRGFzaGJvYXJkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfU3VibWl0VGltZXNoZWV0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1N1Ym1pdFRpbWVzaGVldC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxHZW5kZXJDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BheXJvbGxHZW5kZXJDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0RXhwZW5zZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHByb3ZlT3JSZWplY3RFeHBlbnNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VzdGltYXRlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFc3RpbWF0ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbnRlZW5QdXJjaGFzZXNTdW1tYXJ5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbnRlZW5QdXJjaGFzZXNTdW1tYXJ5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1ZlbmRvcnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1ZlbmRvcnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VXNlcnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1VzZXJzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQm9hcmRUeXBlV29ya2Zsb3cgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQm9hcmRUeXBlV29ya2Zsb3cudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3SW52b2ljZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3SW52b2ljZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0xlYXZlc1JlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9MZWF2ZXNSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2FsYXJ5RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2FsYXJ5RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVdlYkFwcFVzYWdlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZVdlYkFwcFVzYWdlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Jvc3RlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3Um9zdGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRmVlZGJhY2sgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRmVlZGJhY2sudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9PZmZlcnNDcmVkaXRlZFRvVXNlcnNTdW1tYXJ5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX09mZmVyc0NyZWRpdGVkVG9Vc2Vyc1N1bW1hcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9RYVBlcmZvcm1hbmNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1FhUGVyZm9ybWFuY2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BbGxvd2FuY2VUaW1lID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FsbG93YW5jZVRpbWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9qZWN0Um9sZVBlcm1pc3Npb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVByb2plY3RSb2xlUGVybWlzc2lvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNZXJjaGFudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VNZXJjaGFudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZERhc2hib2FyZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGREYXNoYm9hcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZVRyYWluaW5nQ291cnNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlVHJhaW5pbmdDb3Vyc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9SZXNldE90aGVyc1Bhc3N3b3JkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Jlc2V0T3RoZXJzUGFzc3dvcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VFbXBsb3llZVJhdGVzaGVldCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VFbXBsb3llZVJhdGVzaGVldC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVDb250YWN0RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlQ29udGFjdERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QWxsRW1wbG95ZWVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBbGxFbXBsb3llZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9MZWF2ZUVuY2FzaG1lbnRTZXR0aW5ncyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9MZWF2ZUVuY2FzaG1lbnRTZXR0aW5ncy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUdvYWxSZXBsYW5UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUdvYWxSZXBsYW5UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRlc3RjYXNlVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbXBhbnlJbnRyb2R1Y2VkQnlPcHRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ29tcGFueUludHJvZHVjZWRCeU9wdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUVtZXJnZW5jeUNvbnRhY3REZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUVtZXJnZW5jeUNvbnRhY3REZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ29uZmlndXJlRW1wbG95ZWVQYXlyb2xsVGVtcGxhdGVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NvbmZpZ3VyZUVtcGxveWVlUGF5cm9sbFRlbXBsYXRlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmdlTmF0aW9uYWxpdGllcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5nZU5hdGlvbmFsaXRpZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXBwbGljYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBcHBsaWNhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVFbXBsb3llZVRyYWNraW5nID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NvbmZpZ3VyZUVtcGxveWVlVHJhY2tpbmcudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Vc2VySGlzdG9yaWNhbFJlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Vc2VySGlzdG9yaWNhbFJlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU1haW5Vc2VDYXNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU1haW5Vc2VDYXNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1VzZXJTdGF0dXNIaXN0b3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdVc2VyU3RhdHVzSGlzdG9yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjdGl2aXR5U2NyZWVuc2hvdHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQWN0aXZpdHlTY3JlZW5zaG90cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRpbWVab25lID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRpbWVab25lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGFuZ3VhZ2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUxhbmd1YWdlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVN1YnNjcmlwdGlvblBhaWRCeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTdWJzY3JpcHRpb25QYWlkQnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Db25kdWN0Rm9ybSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Db25kdWN0Rm9ybS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0xhdGVFbXBsb3llZXNDb3VudFZzRGF0ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9MYXRlRW1wbG95ZWVzQ291bnRWc0RhdGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Bc3NpZ25Bc3NldHNUb0VtcGxveWVlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Fzc2lnbkFzc2V0c1RvRW1wbG95ZWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUF0dGVuZGVuY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVBdHRlbmRlbmNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWN0aXZpdHlSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWN0aXZpdHlSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9EZXZRdWFsaXR5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RldlF1YWxpdHkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcHByb3ZlUm9zdGVyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FwcHJvdmVSb3N0ZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RmVlZGJhY2sgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0ZlZWRiYWNrLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfSW1taW5lbnREZWFkbGluZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfSW1taW5lbnREZWFkbGluZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlTWVzc2FnZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlTWVzc2FnZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZU1hc3RlclF1ZXN0aW9uVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVNYXN0ZXJRdWVzdGlvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Sb29tVGVtcGVyYXR1cmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUm9vbVRlbXBlcmF0dXJlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU2hpZnR0aW1pbmcgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU2hpZnR0aW1pbmcudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3T3JNYW5hZ2VJbnZvaWNlU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdPck1hbmFnZUludm9pY2VTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXlyb2xsVGVtcGxhdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5cm9sbFRlbXBsYXRlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0F1ZGl0UmVwb3J0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3QXVkaXRSZXBvcnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRWRpdFN0b3JlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FZGl0U3RvcmVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0Fzc2V0c1dpdGhBZHZhbmNlZFNlYXJjaCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3QXNzZXRzV2l0aEFkdmFuY2VkU2VhcmNoLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Blcm1pc3Npb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdQZXJtaXNzaW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FwcGxpY2F0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHBsaWNhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5BbnN3ZXJRdWVzdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuQW5zd2VyUXVlc3Rpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfU3VibWl0QXVkaXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfU3VibWl0QXVkaXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsQnJhbmNoQ29uZmlndXJhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QYXlyb2xsQnJhbmNoQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NvbmZpZ3VyZVBlcmZvcm1hbmNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NvbmZpZ3VyZVBlcmZvcm1hbmNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU2tpbGxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVNraWxscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdMaXZlRGFzaGJvYXJkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdMaXZlRGFzaGJvYXJkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkRm9vZE9yZGVyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZEZvb2RPcmRlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxSdW5FbXBsb3llZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QYXlyb2xsUnVuRW1wbG95ZWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXltZW50VHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQYXltZW50VHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUFwcFRyYWNrZXJDb21wbGV0ZVJlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVBcHBUcmFja2VyQ29tcGxldGVSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VIck1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlSHJNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVUYXhBbGxvd2FuY2VEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlVGF4QWxsb3dhbmNlRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdTdGF0dXNSZXBvcnRpbmdDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdTdGF0dXNSZXBvcnRpbmdDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVCb251cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZUJvbnVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVNoaWZ0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2hpZnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FsbEFkaG9jV29ya3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0FsbEFkaG9jV29ya3MudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVJlc2lnbmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlUmVzaWduYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPckVkaXRDdXN0b21GaWVsZHNGb3JIck1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JFZGl0Q3VzdG9tRmllbGRzRm9ySHJNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0Zvb2RPcmRlcnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0Zvb2RPcmRlcnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVzdGltYXRlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRXN0aW1hdGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9EYXlzT2ZXZWVrQ29uZmlndXJhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9EYXlzT2ZXZWVrQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbkFjY2Vzc1BlcmZvcm1hbmNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbkFjY2Vzc1BlcmZvcm1hbmNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld092ZXJhbGxBdWRpdEFjdGl2aXR5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdPdmVyYWxsQXVkaXRBY3Rpdml0eS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxGcmVxdWVuY3kgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUGF5cm9sbEZyZXF1ZW5jeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdNb250aGx5UGF5cm9sbERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld01vbnRobHlQYXlyb2xsRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1NuYXBMaXZlRGFzaGJvYXJkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1NuYXBMaXZlRGFzaGJvYXJkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0F1ZGl0Q29uZHVjdFRpbWVsaW5lUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBdWRpdENvbmR1Y3RUaW1lbGluZVJlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUhvbGlkYXkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlSG9saWRheS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95bWVudENvbnRyYWN0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95bWVudENvbnRyYWN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0xpc3RPZkFzc2V0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3TGlzdE9mQXNzZXRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUHJvamVjdFR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUHJvamVjdFR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3QXVkaXRDb21wbGFpbmNlUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhblZpZXdBdWRpdENvbXBsYWluY2VSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEYXNoYm9hcmRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZURhc2hib2FyZHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3TnVtYmVyT2ZBdWRpdHNTdWJtaXR0ZWQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuVmlld051bWJlck9mQXVkaXRzU3VibWl0dGVkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVHJhaW5pbmdNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1RyYWluaW5nTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1VwbG9hZEZpbGVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1VwbG9hZEZpbGVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfV29ya0FsbG9jYXRpb25TdW1tYXJ5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1dvcmtBbGxvY2F0aW9uU3VtbWFyeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVNZW1iZXJzaGlwcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlTWVtYmVyc2hpcHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TXlXb3JrV2l0aEFkdmFuY2VkU2VhcmNoID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdNeVdvcmtXaXRoQWR2YW5jZWRTZWFyY2gudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Q29tcGFueURldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0NvbXBhbnlEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2hhdEZpbGVVcGxvYWQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2hhdEZpbGVVcGxvYWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NeVByb2plY3RXb3JrID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX015UHJvamVjdFdvcmsudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9EZWxldGVQZXJtaXNzaW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9EZWxldGVQZXJtaXNzaW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUV4cGVuc2VDYXRlZ29yeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VFeHBlbnNlQ2F0ZWdvcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdSZWNvcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RyYWluaW5nUmVjb3JkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWluaW5nQ291cnNlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RyYWluaW5nQ291cnNlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Fzc2lnbk9yVW5hc3NpZ25UcmFpbmluZ0NvdXJzZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXNzaWduT3JVbmFzc2lnblRyYWluaW5nQ291cnNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWluaW5nQXNzaWdubWVudHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUcmFpbmluZ0Fzc2lnbm1lbnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWluaW5nTWF0cml4ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3VHJhaW5pbmdNYXRyaXgudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlVHJhaW5pbmdDb3Vyc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVUcmFpbmluZ0NvdXJzZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVHJhaW5pbmdDb3Vyc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlVHJhaW5pbmdDb3Vyc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9UcmFpbmluZ01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1RyYWluaW5nTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXNzaWdubWVudFN0YXR1cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVBc3NpZ25tZW50U3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRHJhZ0FwcHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RyYWdBcHBzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWluaW5nUmVjb3JkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3VHJhaW5pbmdSZWNvcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY2Nlc3NpYmxlSXBBZHJlc3NlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQWNjZXNzaWJsZUlwQWRyZXNzZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb21wYW55SW50cm9kdWNlZEJ5T3B0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDb21wYW55SW50cm9kdWNlZEJ5T3B0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ29tcGFueUxvY2F0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDb21wYW55TG9jYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEYXRlRm9ybWF0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VEYXRlRm9ybWF0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWFpblVzZUNhc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU1haW5Vc2VDYXNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTnVtYmVyRm9ybWF0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VOdW1iZXJGb3JtYXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lRm9ybWF0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUaW1lRm9ybWF0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRXhwZW5zZUNhdGVnb3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VFeHBlbnNlQ2F0ZWdvcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNZXJjaGFudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTWVyY2hhbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCcmFuY2ggPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJyYW5jaC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbnRyYWN0VHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ29udHJhY3RUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ291bnRyeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ291bnRyeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUN1cnJlbmN5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDdXJyZW5jeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURlcGFydG1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZURlcGFydG1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEZXNpZ25hdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRGVzaWduYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VFZHVjYXRpb25MZXZlbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUVkdWNhdGlvbkxldmVscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVtcGxveW1lbnRUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VFbXBsb3ltZW50VHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUpvYkNhdGVnb3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VKb2JDYXRlZ29yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxhbmd1YWdlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTGFuZ3VhZ2VzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGljZW5jZVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUxpY2VuY2VUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWVtYmVyc2hpcHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU1lbWJlcnNoaXBzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuZ2VOYXRpb25hbGl0aWVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5nZU5hdGlvbmFsaXRpZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXlncmFkZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5Z3JhZGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXlGcmVxdWVuY3kgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBheUZyZXF1ZW5jeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheW1lbnRNZXRob2QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBheW1lbnRNZXRob2QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXltZW50VHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5bWVudFR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQZWFrSG91ciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGVha0hvdXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSYXRlVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUmF0ZVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSYXRlU2hlZXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVJhdGVTaGVldC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJlZ2lvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUmVnaW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmVwb3J0aW5nTWV0aG9kcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUmVwb3J0aW5nTWV0aG9kcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVNoaWZ0dGltaW5nID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTaGlmdHRpbWluZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVNraWxscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU2tpbGxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU29mdExhYmVsQ29uZmlndXJhdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVNvZnRMYWJlbENvbmZpZ3VyYXRpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3RhdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVN0YXRlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGltZVpvbmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRpbWVab25lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV2ViaG9vayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlV2ViaG9vay50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFwcFNldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBcHBTZXR0aW5ncy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRpbWVDb25maWd1cmF0aW9uU2V0dGluZ3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRpbWVDb25maWd1cmF0aW9uU2V0dGluZ3MudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VGb3JtVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRm9ybVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZUF1dG9tYXRpb25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZUF1dG9tYXRpb25UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VTdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRlc3RjYXNlU3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCdXR0b25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VCdXR0b25UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRmVlZEJhY2tUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VGZWVkQmFja1R5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQZXJtaXNzaW9uUmVhc29uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQZXJtaXNzaW9uUmVhc29uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQm9hcmRUeXBlQXBpID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Cb2FyZFR5cGVBcGkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCb2FyZFR5cGVXb3JrZmxvdyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQm9hcmRUeXBlV29ya2Zsb3cudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9jZXNzRGFzaGJvYXJkU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQcm9jZXNzRGFzaGJvYXJkU3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfV29ya2Zsb3dNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Xb3JrZmxvd01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCdWdQcmlvcml0eSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQnVnUHJpb3JpdHkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VHb2FsUmVwbGFuVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlR29hbFJlcGxhblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9qZWN0VHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUHJvamVjdFR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVJlcGxhblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVdvcmtJdGVtUmVwbGFuVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVN0YXR1cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtU3ViVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlV29ya0l0ZW1TdWJUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG5cclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3lzdGVtRXhwb3J0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU3lzdGVtRXhwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVN5c3RlbUltcG9ydHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVN5c3RlbUltcG9ydHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TZXR0aW5ncyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VPdmVyQWxsQ29tcGFueVNldHRpbmdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcclxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWNjb3VudHNBbmRCaWxsaW5nID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBY2NvdW50c0FuZEJpbGxpbmcudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xyXG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QWN0aXZpdHlSZXBvcnRzRm9yQWxsRW1wbG95ZWUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBY3Rpdml0eVJlcG9ydHNGb3JBbGxFbXBsb3llZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XHJcblxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmxvZ05hdmlnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBsb2dFcnJvcihlcnJvck1lc3NhZ2U6IHN0cmluZykge1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9nTmF2aWdhdGlvbigpIHtcclxuICB9XHJcbn1cclxuIl19
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { FeatureIds } from '../constants/feature-ids';
|
|
3
|
+
import * as _ from "underscore";
|
|
4
|
+
import { LocalStorageProperties } from '../constants/localstorage-properties';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class CustomAppBaseComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.logNavigation();
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
var roles = JSON.parse(localStorage.getItem(LocalStorageProperties.RoleFeatures));
|
|
12
|
+
this.canAccess_feature_ManageRegion = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRegion.toString().toLowerCase(); }) != null;
|
|
13
|
+
this.canAccess_feature_AddOrUpdateEmployeeJob = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeJob.toString().toLowerCase(); }) != null;
|
|
14
|
+
this.canAccess_feature_ArchiveOrUnarchiveInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveInvoice.toString().toLowerCase(); }) != null;
|
|
15
|
+
this.canAccess_feature_ManageTimeFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeFormat.toString().toLowerCase(); }) != null;
|
|
16
|
+
this.canAccess_feature_ViewLeaves = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewLeaves.toString().toLowerCase(); }) != null;
|
|
17
|
+
this.canAccess_feature_ManageTestcaseAutomationType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseAutomationType.toString().toLowerCase(); }) != null;
|
|
18
|
+
this.canAccess_feature_ManagePeakHour = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePeakHour.toString().toLowerCase(); }) != null;
|
|
19
|
+
this.canAccess_feature_ManageEducationLevels = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEducationLevels.toString().toLowerCase(); }) != null;
|
|
20
|
+
this.canAccess_feature_MyWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MyWork.toString().toLowerCase(); }) != null;
|
|
21
|
+
this.canAccess_feature_Notifications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Notifications.toString().toLowerCase(); }) != null;
|
|
22
|
+
this.canAccess_feature_StatusReporting = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_StatusReporting.toString().toLowerCase(); }) != null;
|
|
23
|
+
this.canAccess_feature_AddOrUpdateAuditCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditCategory.toString().toLowerCase(); }) != null;
|
|
24
|
+
this.canAccess_feature_ViewEmployeeContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeContactDetails.toString().toLowerCase(); }) != null;
|
|
25
|
+
this.canAccess_feature_ManageMasterSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMasterSettings.toString().toLowerCase(); }) != null;
|
|
26
|
+
this.canAccess_feature_ArchiveOrUnarchiveAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditReports.toString().toLowerCase(); }) != null;
|
|
27
|
+
this.canAccess_feature_ViewAuditConducts = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditConducts.toString().toLowerCase(); }) != null;
|
|
28
|
+
this.canAccess_feature_AddOrUpdateExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateExpense.toString().toLowerCase(); }) != null;
|
|
29
|
+
this.canAccess_feature_ViewBadgesAssignedToEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewBadgesAssignedToEmployee.toString().toLowerCase(); }) != null;
|
|
30
|
+
this.canAccess_feature_HrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_HrManagement.toString().toLowerCase(); }) != null;
|
|
31
|
+
this.canAccess_feature_TaxSlabs = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TaxSlabs.toString().toLowerCase(); }) != null;
|
|
32
|
+
this.canAccess_feature_ViewEmployeeBankDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeBankDetails.toString().toLowerCase(); }) != null;
|
|
33
|
+
this.canAccess_feature_MarkDamagedAssest = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MarkDamagedAssest.toString().toLowerCase(); }) != null;
|
|
34
|
+
this.canAccess_feature_WorkItemsHavingOthersDependency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemsHavingOthersDependency.toString().toLowerCase(); }) != null;
|
|
35
|
+
this.canAccess_feature_ViewPayrollReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewPayrollReports.toString().toLowerCase(); }) != null;
|
|
36
|
+
this.canAccess_feature_ManageDocumentTemplates = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDocumentTemplates.toString().toLowerCase(); }) != null;
|
|
37
|
+
this.canAccess_feature_ViewTrainingCourses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingCourses.toString().toLowerCase(); }) != null;
|
|
38
|
+
this.canAccess_feature_EmployeeSpentTime = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeSpentTime.toString().toLowerCase(); }) != null;
|
|
39
|
+
this.canAccess_feature_ManagePaymentMethod = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentMethod.toString().toLowerCase(); }) != null;
|
|
40
|
+
this.canAccess_feature_PayrollCalculationConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollCalculationConfigurations.toString().toLowerCase(); }) != null;
|
|
41
|
+
this.canAccess_feature_AddOrUpdateEmployeeDependentContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeDependentContactDetails.toString().toLowerCase(); }) != null;
|
|
42
|
+
this.canAccess_feature_ContractPaySettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ContractPaySettings.toString().toLowerCase(); }) != null;
|
|
43
|
+
this.canAccess_feature_AddOrUpdateAuditQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditQuestions.toString().toLowerCase(); }) != null;
|
|
44
|
+
this.canAccess_feature_AddOrUpdateEmployeeSkills = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeSkills.toString().toLowerCase(); }) != null;
|
|
45
|
+
this.canAccess_feature_ManageExpenseManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageExpenseManagement.toString().toLowerCase(); }) != null;
|
|
46
|
+
this.canAccess_feature_CreateRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CreateRoster.toString().toLowerCase(); }) != null;
|
|
47
|
+
this.canAccess_feature_ManageLicenceType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLicenceType.toString().toLowerCase(); }) != null;
|
|
48
|
+
this.canAccess_feature_AssignOrUnassignTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignOrUnassignTrainingCourse.toString().toLowerCase(); }) != null;
|
|
49
|
+
this.canAccess_feature_EmployeeAccountDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeAccountDetails.toString().toLowerCase(); }) != null;
|
|
50
|
+
this.canAccess_feature_EmployeeLoans = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeLoans.toString().toLowerCase(); }) != null;
|
|
51
|
+
this.canAccess_feature_AbilityToChat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AbilityToChat.toString().toLowerCase(); }) != null;
|
|
52
|
+
this.canAccess_feature_EmployeeWorkAllocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkAllocation.toString().toLowerCase(); }) != null;
|
|
53
|
+
this.canAccess_feature_ViewEmployeeShiftDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeShiftDetails.toString().toLowerCase(); }) != null;
|
|
54
|
+
this.canAccess_feature_ViewEmployeeLanguageDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeLanguageDetails.toString().toLowerCase(); }) != null;
|
|
55
|
+
this.canAccess_feature_ManageBranch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBranch.toString().toLowerCase(); }) != null;
|
|
56
|
+
this.canAccess_feature_ManageMaritalStatuses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMaritalStatuses.toString().toLowerCase(); }) != null;
|
|
57
|
+
this.canAccess_feature_AddOrUpdateFoodItem = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateFoodItem.toString().toLowerCase(); }) != null;
|
|
58
|
+
this.canAccess_feature_ManageHtmltemplate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageHtmltemplate.toString().toLowerCase(); }) != null;
|
|
59
|
+
this.canAccess_feature_ManageRateSheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateSheet.toString().toLowerCase(); }) != null;
|
|
60
|
+
this.canAccess_feature_AddOrUpdateAsset = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAsset.toString().toLowerCase(); }) != null;
|
|
61
|
+
this.canAccess_feature_AddOrEditEmployeeLoanInstallment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditEmployeeLoanInstallment.toString().toLowerCase(); }) != null;
|
|
62
|
+
this.canAccess_feature_AddOrUpdateAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditReports.toString().toLowerCase(); }) != null;
|
|
63
|
+
this.canAccess_feature_ManageDateFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDateFormat.toString().toLowerCase(); }) != null;
|
|
64
|
+
this.canAccess_feature_ConfigurePayrollStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigurePayrollStatus.toString().toLowerCase(); }) != null;
|
|
65
|
+
this.canAccess_feature_UpsertCompanyDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpsertCompanyDetails.toString().toLowerCase(); }) != null;
|
|
66
|
+
this.canAccess_feature_ViewEmploymentContractDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmploymentContractDetails.toString().toLowerCase(); }) != null;
|
|
67
|
+
this.canAccess_feature_DownloadOrShareInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DownloadOrShareInvoice.toString().toLowerCase(); }) != null;
|
|
68
|
+
this.canAccess_feature_ViewAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAudit.toString().toLowerCase(); }) != null;
|
|
69
|
+
this.canAccess_feature_EditMessage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditMessage.toString().toLowerCase(); }) != null;
|
|
70
|
+
this.canAccess_feature_ApproveOrRejectLeave = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveOrRejectLeave.toString().toLowerCase(); }) != null;
|
|
71
|
+
this.canAccess_feature_SpentTimeDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SpentTimeDetails.toString().toLowerCase(); }) != null;
|
|
72
|
+
this.canAccess_feature_ArchiveOrUnarchiveAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAudit.toString().toLowerCase(); }) != null;
|
|
73
|
+
this.canAccess_feature_ManageBugPriority = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBugPriority.toString().toLowerCase(); }) != null;
|
|
74
|
+
this.canAccess_feature_ViewEmployeeWorkExperienceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeWorkExperienceDetails.toString().toLowerCase(); }) != null;
|
|
75
|
+
this.canAccess_feature_ProfessionalTaxRanges = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProfessionalTaxRanges.toString().toLowerCase(); }) != null;
|
|
76
|
+
this.canAccess_feature_EnableNotifications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EnableNotifications.toString().toLowerCase(); }) != null;
|
|
77
|
+
this.canAccess_feature_TdsSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TdsSettings.toString().toLowerCase(); }) != null;
|
|
78
|
+
this.canAccess_feature_ManageCountry = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCountry.toString().toLowerCase(); }) != null;
|
|
79
|
+
this.canAccess_feature_ViewExpenses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewExpenses.toString().toLowerCase(); }) != null;
|
|
80
|
+
this.canAccess_feature_EmployeeLogtimeDetailsReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeLogtimeDetailsReport.toString().toLowerCase(); }) != null;
|
|
81
|
+
this.canAccess_feature_CreditAmount = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CreditAmount.toString().toLowerCase(); }) != null;
|
|
82
|
+
this.canAccess_feature_AllGoals = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllGoals.toString().toLowerCase(); }) != null;
|
|
83
|
+
this.canAccess_feature_AddOrUpdateAssignmentStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAssignmentStatus.toString().toLowerCase(); }) != null;
|
|
84
|
+
this.canAccess_feature_ArchiveOrUnarchiveAuditConduct = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditConduct.toString().toLowerCase(); }) != null;
|
|
85
|
+
this.canAccess_feature_ViewEmployeeActivityTimeUsage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeActivityTimeUsage.toString().toLowerCase(); }) != null;
|
|
86
|
+
this.canAccess_feature_ProcessDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProcessDashboard.toString().toLowerCase(); }) != null;
|
|
87
|
+
this.canAccess_feature_ManageTimeSheetManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeSheetManagement.toString().toLowerCase(); }) != null;
|
|
88
|
+
this.canAccess_feature_ManageCompanySettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanySettings.toString().toLowerCase(); }) != null;
|
|
89
|
+
this.canAccess_feature_AccessTestrepo = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AccessTestrepo.toString().toLowerCase(); }) != null;
|
|
90
|
+
this.canAccess_feature_CanAssignAuditTags = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAssignAuditTags.toString().toLowerCase(); }) != null;
|
|
91
|
+
this.canAccess_feature_AddOrEditLeaveType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditLeaveType.toString().toLowerCase(); }) != null;
|
|
92
|
+
this.canAccess_feature_EveryDayTargetStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EveryDayTargetStatus.toString().toLowerCase(); }) != null;
|
|
93
|
+
this.canAccess_feature_ArchiveProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveProject.toString().toLowerCase(); }) != null;
|
|
94
|
+
this.canAccess_feature_DirectMessaging = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DirectMessaging.toString().toLowerCase(); }) != null;
|
|
95
|
+
this.canAccess_feature_ViewStores = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewStores.toString().toLowerCase(); }) != null;
|
|
96
|
+
this.canAccess_feature_ApplyLeave = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApplyLeave.toString().toLowerCase(); }) != null;
|
|
97
|
+
this.canAccess_feature_ManageInvoiceSchedule = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageInvoiceSchedule.toString().toLowerCase(); }) != null;
|
|
98
|
+
this.canAccess_feature_AssignAdhocWorkToAllUsers = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignAdhocWorkToAllUsers.toString().toLowerCase(); }) != null;
|
|
99
|
+
this.canAccess_feature_ManagePermissionReason = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePermissionReason.toString().toLowerCase(); }) != null;
|
|
100
|
+
this.canAccess_feature_CanChangeVisualisationType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanChangeVisualisationType.toString().toLowerCase(); }) != null;
|
|
101
|
+
this.canAccess_feature_AddOrUpdateClient = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateClient.toString().toLowerCase(); }) != null;
|
|
102
|
+
this.canAccess_feature_AddOrUpdateInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateInvoice.toString().toLowerCase(); }) != null;
|
|
103
|
+
this.canAccess_feature_RecentlyPurchasedAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentlyPurchasedAssets.toString().toLowerCase(); }) != null;
|
|
104
|
+
this.canAccess_feature_CanCreateReminders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanCreateReminders.toString().toLowerCase(); }) != null;
|
|
105
|
+
this.canAccess_feature_ManagePaygrade = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaygrade.toString().toLowerCase(); }) != null;
|
|
106
|
+
this.canAccess_feature_ViewRoles = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRoles.toString().toLowerCase(); }) != null;
|
|
107
|
+
this.canAccess_feature_AddOrUpdateMasterQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateMasterQuestionType.toString().toLowerCase(); }) != null;
|
|
108
|
+
this.canAccess_feature_ManageRelationShip = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRelationShip.toString().toLowerCase(); }) != null;
|
|
109
|
+
this.canAccess_feature_PayrollRun = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollRun.toString().toLowerCase(); }) != null;
|
|
110
|
+
this.canAccess_feature_ArchiveOrUnarchiveAuditCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditCategory.toString().toLowerCase(); }) != null;
|
|
111
|
+
this.canAccess_feature_DragApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DragApps.toString().toLowerCase(); }) != null;
|
|
112
|
+
this.canAccess_feature_ArchiveSubmittedStatusReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveSubmittedStatusReport.toString().toLowerCase(); }) != null;
|
|
113
|
+
this.canAccess_feature_CanViewOrganizationChart = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewOrganizationChart.toString().toLowerCase(); }) != null;
|
|
114
|
+
this.canAccess_feature_DeleteCustomFieldsForHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteCustomFieldsForHrManagement.toString().toLowerCase(); }) != null;
|
|
115
|
+
this.canAccess_feature_EditPayslip = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditPayslip.toString().toLowerCase(); }) != null;
|
|
116
|
+
this.canAccess_feature_ViewEmployeeCredits = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeCredits.toString().toLowerCase(); }) != null;
|
|
117
|
+
this.canAccess_feature_FinancialYearConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FinancialYearConfigurations.toString().toLowerCase(); }) != null;
|
|
118
|
+
this.canAccess_feature_TestrepoManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TestrepoManagement.toString().toLowerCase(); }) != null;
|
|
119
|
+
this.canAccess_feature_DocumentManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DocumentManagement.toString().toLowerCase(); }) != null;
|
|
120
|
+
this.canAccess_feature_ApproveEmployeeTaxAllowances = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveEmployeeTaxAllowances.toString().toLowerCase(); }) != null;
|
|
121
|
+
this.canAccess_feature_ViewEmployeeReportToDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeReportToDetails.toString().toLowerCase(); }) != null;
|
|
122
|
+
this.canAccess_feature_AddOrEditCustomFieldsForProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditCustomFieldsForProjectManagement.toString().toLowerCase(); }) != null;
|
|
123
|
+
this.canAccess_feature_AddOrUpdateStatusReportingConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateStatusReportingConfiguration.toString().toLowerCase(); }) != null;
|
|
124
|
+
this.canAccess_feature_UserUpload = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UserUpload.toString().toLowerCase(); }) != null;
|
|
125
|
+
this.canAccess_feature_LateEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LateEmployee.toString().toLowerCase(); }) != null;
|
|
126
|
+
this.canAccess_feature_ViewEmployeeLoanInstallment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeLoanInstallment.toString().toLowerCase(); }) != null;
|
|
127
|
+
this.canAccess_feature_ViewEmployeeMembershipDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeMembershipDetails.toString().toLowerCase(); }) != null;
|
|
128
|
+
this.canAccess_feature_RecentlyAssignedAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentlyAssignedAssets.toString().toLowerCase(); }) != null;
|
|
129
|
+
this.canAccess_feature_EmployeesCurrentWorkingOrBacklogWorkItems = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeesCurrentWorkingOrBacklogWorkItems.toString().toLowerCase(); }) != null;
|
|
130
|
+
this.canAccess_feature_ViewStatusReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewStatusReports.toString().toLowerCase(); }) != null;
|
|
131
|
+
this.canAccess_feature_ResignationStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ResignationStatus.toString().toLowerCase(); }) != null;
|
|
132
|
+
this.canAccess_feature_Venue = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Venue.toString().toLowerCase(); }) != null;
|
|
133
|
+
this.canAccess_feature_ManageButtonType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageButtonType.toString().toLowerCase(); }) != null;
|
|
134
|
+
this.canAccess_feature_ViewRoomTemperature = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRoomTemperature.toString().toLowerCase(); }) != null;
|
|
135
|
+
this.canAccess_feature_UpdateFoodOrder = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpdateFoodOrder.toString().toLowerCase(); }) != null;
|
|
136
|
+
this.canAccess_feature_ManageCurrency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCurrency.toString().toLowerCase(); }) != null;
|
|
137
|
+
this.canAccess_feature_CanSubmitCustomFieldsForHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanSubmitCustomFieldsForHrManagement.toString().toLowerCase(); }) != null;
|
|
138
|
+
this.canAccess_feature_ArchiveOrUnarchiveEstimate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveEstimate.toString().toLowerCase(); }) != null;
|
|
139
|
+
this.canAccess_feature_ManageLeavesManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeavesManagement.toString().toLowerCase(); }) != null;
|
|
140
|
+
this.canAccess_feature_AddOrUpdateChannel = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateChannel.toString().toLowerCase(); }) != null;
|
|
141
|
+
this.canAccess_feature_ViewForms = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewForms.toString().toLowerCase(); }) != null;
|
|
142
|
+
this.canAccess_feature_CanteenManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanteenManagement.toString().toLowerCase(); }) != null;
|
|
143
|
+
this.canAccess_feature_ManageProcessDashboardStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProcessDashboardStatus.toString().toLowerCase(); }) != null;
|
|
144
|
+
this.canAccess_feature_ProjectsActivelyRunningGoals = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProjectsActivelyRunningGoals.toString().toLowerCase(); }) != null;
|
|
145
|
+
this.canAccess_feature_AddOrUpdateEmployeeImmigration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeImmigration.toString().toLowerCase(); }) != null;
|
|
146
|
+
this.canAccess_feature_AlternateSignIn = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AlternateSignIn.toString().toLowerCase(); }) != null;
|
|
147
|
+
this.canAccess_feature_ManageActivityTracker = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityTracker.toString().toLowerCase(); }) != null;
|
|
148
|
+
this.canAccess_feature_RecentlyDamagedAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentlyDamagedAssets.toString().toLowerCase(); }) != null;
|
|
149
|
+
this.canAccess_feature_ManageDesignation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDesignation.toString().toLowerCase(); }) != null;
|
|
150
|
+
this.canAccess_feature_AssetHistory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetHistory.toString().toLowerCase(); }) != null;
|
|
151
|
+
this.canAccess_feature_ProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ProjectManagement.toString().toLowerCase(); }) != null;
|
|
152
|
+
this.canAccess_feature_ManageAppsAndUrls = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppsAndUrls.toString().toLowerCase(); }) != null;
|
|
153
|
+
this.canAccess_feature_ManageWorkItemSubType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemSubType.toString().toLowerCase(); }) != null;
|
|
154
|
+
this.canAccess_feature_ManageTestcaseStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseStatus.toString().toLowerCase(); }) != null;
|
|
155
|
+
this.canAccess_feature_AddOrUpdateEmployeeBankDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeBankDetails.toString().toLowerCase(); }) != null;
|
|
156
|
+
this.canAccess_feature_WorkflowManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkflowManagement.toString().toLowerCase(); }) != null;
|
|
157
|
+
this.canAccess_feature_ArchiveForm = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveForm.toString().toLowerCase(); }) != null;
|
|
158
|
+
this.canAccess_feature_ShareExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ShareExpense.toString().toLowerCase(); }) != null;
|
|
159
|
+
this.canAccess_feature_ManageSystemApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSystemApps.toString().toLowerCase(); }) != null;
|
|
160
|
+
this.canAccess_feature_BookingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BookingManagement.toString().toLowerCase(); }) != null;
|
|
161
|
+
this.canAccess_feature_GoalLevelReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_GoalLevelReports.toString().toLowerCase(); }) != null;
|
|
162
|
+
this.canAccess_feature_ViewEmployeeEducationDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeEducationDetails.toString().toLowerCase(); }) != null;
|
|
163
|
+
this.canAccess_feature_BoardTypeApi = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BoardTypeApi.toString().toLowerCase(); }) != null;
|
|
164
|
+
this.canAccess_feature_ManageLeaveStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveStatus.toString().toLowerCase(); }) != null;
|
|
165
|
+
this.canAccess_feature_ManageWorkItemReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemReplanType.toString().toLowerCase(); }) != null;
|
|
166
|
+
this.canAccess_feature_ArchiveUser = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveUser.toString().toLowerCase(); }) != null;
|
|
167
|
+
this.canAccess_feature_ViewTrackedInformationOfUserstory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrackedInformationOfUserstory.toString().toLowerCase(); }) != null;
|
|
168
|
+
this.canAccess_feature_AddUser = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddUser.toString().toLowerCase(); }) != null;
|
|
169
|
+
this.canAccess_feature_LeaveManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeaveManagement.toString().toLowerCase(); }) != null;
|
|
170
|
+
this.canAccess_feature_ViewProjects = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewProjects.toString().toLowerCase(); }) != null;
|
|
171
|
+
this.canAccess_feature_ApproveOrRejectTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveOrRejectTimesheet.toString().toLowerCase(); }) != null;
|
|
172
|
+
this.canAccess_feature_RoleManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RoleManagement.toString().toLowerCase(); }) != null;
|
|
173
|
+
this.canAccess_feature_CopyOrMoveQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CopyOrMoveQuestions.toString().toLowerCase(); }) != null;
|
|
174
|
+
this.canAccess_feature_ManageState = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageState.toString().toLowerCase(); }) != null;
|
|
175
|
+
this.canAccess_feature_ManageCustomFormSubmissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCustomFormSubmissions.toString().toLowerCase(); }) != null;
|
|
176
|
+
this.canAccess_feature_ViewLocations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewLocations.toString().toLowerCase(); }) != null;
|
|
177
|
+
this.canAccess_feature_ManageInductionWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageInductionWork.toString().toLowerCase(); }) != null;
|
|
178
|
+
this.canAccess_feature_ViewAllEmployeeActivityReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAllEmployeeActivityReports.toString().toLowerCase(); }) != null;
|
|
179
|
+
this.canAccess_feature_DownloadEmployeeSalaryCertificate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DownloadEmployeeSalaryCertificate.toString().toLowerCase(); }) != null;
|
|
180
|
+
this.canAccess_feature_ManageTestrepoManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestrepoManagement.toString().toLowerCase(); }) != null;
|
|
181
|
+
this.canAccess_feature_ManageFormType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFormType.toString().toLowerCase(); }) != null;
|
|
182
|
+
this.canAccess_feature_ManageCompanyStructure = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyStructure.toString().toLowerCase(); }) != null;
|
|
183
|
+
this.canAccess_feature_ViewRecentlyActiveClients = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRecentlyActiveClients.toString().toLowerCase(); }) != null;
|
|
184
|
+
this.canAccess_feature_ManageRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRoster.toString().toLowerCase(); }) != null;
|
|
185
|
+
this.canAccess_feature_EmployeeWorkLogReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkLogReport.toString().toLowerCase(); }) != null;
|
|
186
|
+
this.canAccess_feature_DownloadOrShareAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DownloadOrShareAuditReports.toString().toLowerCase(); }) != null;
|
|
187
|
+
this.canAccess_feature_ConfigureWebhooks = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigureWebhooks.toString().toLowerCase(); }) != null;
|
|
188
|
+
this.canAccess_feature_ManageStoreManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageStoreManagement.toString().toLowerCase(); }) != null;
|
|
189
|
+
this.canAccess_feature_AddOrUpdateProduct = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateProduct.toString().toLowerCase(); }) != null;
|
|
190
|
+
this.canAccess_feature_CreateFolder = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CreateFolder.toString().toLowerCase(); }) != null;
|
|
191
|
+
this.canAccess_feature_PayrollTemplateConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollTemplateConfiguration.toString().toLowerCase(); }) != null;
|
|
192
|
+
this.canAccess_feature_AssetsAllocatedToMe = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetsAllocatedToMe.toString().toLowerCase(); }) != null;
|
|
193
|
+
this.canAccess_feature_EmployeeCreditorDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeCreditorDetails.toString().toLowerCase(); }) != null;
|
|
194
|
+
this.canAccess_feature_ApproveEmployeeLoans = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveEmployeeLoans.toString().toLowerCase(); }) != null;
|
|
195
|
+
this.canAccess_feature_ViewEmployeeSkillDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeSkillDetails.toString().toLowerCase(); }) != null;
|
|
196
|
+
this.canAccess_feature_CanViewUsersCanteenSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewUsersCanteenSummary.toString().toLowerCase(); }) != null;
|
|
197
|
+
this.canAccess_feature_WorkAllocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkAllocation.toString().toLowerCase(); }) != null;
|
|
198
|
+
this.canAccess_feature_ManageWebhook = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWebhook.toString().toLowerCase(); }) != null;
|
|
199
|
+
this.canAccess_feature_AddPermission = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddPermission.toString().toLowerCase(); }) != null;
|
|
200
|
+
this.canAccess_feature_ViewTodaysTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTodaysTimesheet.toString().toLowerCase(); }) != null;
|
|
201
|
+
this.canAccess_feature_CanAssignBadgeToEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAssignBadgeToEmployee.toString().toLowerCase(); }) != null;
|
|
202
|
+
this.canAccess_feature_ManageReportingMethods = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageReportingMethods.toString().toLowerCase(); }) != null;
|
|
203
|
+
this.canAccess_feature_ManageFeedBackType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFeedBackType.toString().toLowerCase(); }) != null;
|
|
204
|
+
this.canAccess_feature_ViewEmployeeJobDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeJobDetails.toString().toLowerCase(); }) != null;
|
|
205
|
+
this.canAccess_feature_AddOrUpdateEmployeeWorkExperienceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeWorkExperienceDetails.toString().toLowerCase(); }) != null;
|
|
206
|
+
this.canAccess_feature_DoChannelChatOnly = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DoChannelChatOnly.toString().toLowerCase(); }) != null;
|
|
207
|
+
this.canAccess_feature_UpdatePermission = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpdatePermission.toString().toLowerCase(); }) != null;
|
|
208
|
+
this.canAccess_feature_Security = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Security.toString().toLowerCase(); }) != null;
|
|
209
|
+
this.canAccess_feature_SubmitStatusReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SubmitStatusReport.toString().toLowerCase(); }) != null;
|
|
210
|
+
this.canAccess_feature_Audit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Audit.toString().toLowerCase(); }) != null;
|
|
211
|
+
this.canAccess_feature_AddOrUpdateEmployeeEmergencyContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeEmergencyContactDetails.toString().toLowerCase(); }) != null;
|
|
212
|
+
this.canAccess_feature_BugReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BugReport.toString().toLowerCase(); }) != null;
|
|
213
|
+
this.canAccess_feature_TaxAllowance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TaxAllowance.toString().toLowerCase(); }) != null;
|
|
214
|
+
this.canAccess_feature_AssetComment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetComment.toString().toLowerCase(); }) != null;
|
|
215
|
+
this.canAccess_feature_ViewEmployeeDependentContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeDependentContactDetails.toString().toLowerCase(); }) != null;
|
|
216
|
+
this.canAccess_feature_PurchaseFoodItem = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PurchaseFoodItem.toString().toLowerCase(); }) != null;
|
|
217
|
+
this.canAccess_feature_ViewTrainingAssignments = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingAssignments.toString().toLowerCase(); }) != null;
|
|
218
|
+
this.canAccess_feature_ViewTimesheetFeed = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTimesheetFeed.toString().toLowerCase(); }) != null;
|
|
219
|
+
this.canAccess_feature_AddOrUpdateEmployeeReportingToDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeReportingToDetails.toString().toLowerCase(); }) != null;
|
|
220
|
+
this.canAccess_feature_PayrollRoleConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollRoleConfiguration.toString().toLowerCase(); }) != null;
|
|
221
|
+
this.canAccess_feature_DashboardManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DashboardManagement.toString().toLowerCase(); }) != null;
|
|
222
|
+
this.canAccess_feature_ManageCompanyLocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyLocation.toString().toLowerCase(); }) != null;
|
|
223
|
+
this.canAccess_feature_ManageNumberFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageNumberFormat.toString().toLowerCase(); }) != null;
|
|
224
|
+
this.canAccess_feature_WorkItemsHavingDependencyOnMe = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemsHavingDependencyOnMe.toString().toLowerCase(); }) != null;
|
|
225
|
+
this.canAccess_feature_AddOrUpdateEmployeeEducationDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeEducationDetails.toString().toLowerCase(); }) != null;
|
|
226
|
+
this.canAccess_feature_ArchiveRole = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveRole.toString().toLowerCase(); }) != null;
|
|
227
|
+
this.canAccess_feature_TimeSheetManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TimeSheetManagement.toString().toLowerCase(); }) != null;
|
|
228
|
+
this.canAccess_feature_AddOrUpdateApplications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateApplications.toString().toLowerCase(); }) != null;
|
|
229
|
+
this.canAccess_feature_PublishAsDefault = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PublishAsDefault.toString().toLowerCase(); }) != null;
|
|
230
|
+
this.canAccess_feature_ViewMasterQuestionTypes = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewMasterQuestionTypes.toString().toLowerCase(); }) != null;
|
|
231
|
+
this.canAccess_feature_ViewProductDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewProductDetails.toString().toLowerCase(); }) != null;
|
|
232
|
+
this.canAccess_feature_DeleteCustomFieldsForProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteCustomFieldsForProjectManagement.toString().toLowerCase(); }) != null;
|
|
233
|
+
this.canAccess_feature_ManageAuthorization = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAuthorization.toString().toLowerCase(); }) != null;
|
|
234
|
+
this.canAccess_feature_ManageMemberships = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMemberships.toString().toLowerCase(); }) != null;
|
|
235
|
+
this.canAccess_feature_ManageCustomApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCustomApps.toString().toLowerCase(); }) != null;
|
|
236
|
+
this.canAccess_feature_FoodItemsList = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FoodItemsList.toString().toLowerCase(); }) != null;
|
|
237
|
+
this.canAccess_feature_AddOrUpdateForm = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateForm.toString().toLowerCase(); }) != null;
|
|
238
|
+
this.canAccess_feature_ArchiveAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveAdhocWork.toString().toLowerCase(); }) != null;
|
|
239
|
+
this.canAccess_feature_ManageLeaveSession = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveSession.toString().toLowerCase(); }) != null;
|
|
240
|
+
this.canAccess_feature_ManageAccessibleIpAdresses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAccessibleIpAdresses.toString().toLowerCase(); }) != null;
|
|
241
|
+
this.canAccess_feature_WorkItemUpload = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemUpload.toString().toLowerCase(); }) != null;
|
|
242
|
+
this.canAccess_feature_ManageAppSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppSettings.toString().toLowerCase(); }) != null;
|
|
243
|
+
this.canAccess_feature_CanApprovePerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanApprovePerformance.toString().toLowerCase(); }) != null;
|
|
244
|
+
this.canAccess_feature_AddOrUpdateLocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateLocation.toString().toLowerCase(); }) != null;
|
|
245
|
+
this.canAccess_feature_ManageRestrictionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRestrictionType.toString().toLowerCase(); }) != null;
|
|
246
|
+
this.canAccess_feature_ManageLeaveFormula = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveFormula.toString().toLowerCase(); }) != null;
|
|
247
|
+
this.canAccess_feature_EmployeeWorkItems = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkItems.toString().toLowerCase(); }) != null;
|
|
248
|
+
this.canAccess_feature_BillingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BillingManagement.toString().toLowerCase(); }) != null;
|
|
249
|
+
this.canAccess_feature_EditDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditDashboard.toString().toLowerCase(); }) != null;
|
|
250
|
+
this.canAccess_feature_ViewTrainingMatrix = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingMatrix.toString().toLowerCase(); }) != null;
|
|
251
|
+
this.canAccess_feature_ManageAppFilters = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppFilters.toString().toLowerCase(); }) != null;
|
|
252
|
+
this.canAccess_feature_ManageLeaveType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLeaveType.toString().toLowerCase(); }) != null;
|
|
253
|
+
this.canAccess_feature_ArchiveStatusReportConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveStatusReportConfiguration.toString().toLowerCase(); }) != null;
|
|
254
|
+
this.canAccess_feature_ResetPassword = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ResetPassword.toString().toLowerCase(); }) != null;
|
|
255
|
+
this.canAccess_feature_EditRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditRoster.toString().toLowerCase(); }) != null;
|
|
256
|
+
this.canAccess_feature_AbilityToCreatePublicProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AbilityToCreatePublicProject.toString().toLowerCase(); }) != null;
|
|
257
|
+
this.canAccess_feature_PayrollMaritalStatusConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollMaritalStatusConfiguration.toString().toLowerCase(); }) != null;
|
|
258
|
+
this.canAccess_feature_ManageRateType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateType.toString().toLowerCase(); }) != null;
|
|
259
|
+
this.canAccess_feature_AddProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddProject.toString().toLowerCase(); }) != null;
|
|
260
|
+
this.canAccess_feature_AddOrUpdateEmployeeJobDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeJobDetails.toString().toLowerCase(); }) != null;
|
|
261
|
+
this.canAccess_feature_ManageWorkItemStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemStatus.toString().toLowerCase(); }) != null;
|
|
262
|
+
this.canAccess_feature_ManageEmploymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEmploymentType.toString().toLowerCase(); }) != null;
|
|
263
|
+
this.canAccess_feature_AddOrUpdateAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAdhocWork.toString().toLowerCase(); }) != null;
|
|
264
|
+
this.canAccess_feature_ForgotPassword = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ForgotPassword.toString().toLowerCase(); }) != null;
|
|
265
|
+
this.canAccess_feature_LogTimeReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LogTimeReport.toString().toLowerCase(); }) != null;
|
|
266
|
+
this.canAccess_feature_DeleteDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteDashboard.toString().toLowerCase(); }) != null;
|
|
267
|
+
this.canAccess_feature_ViewQuestionTypes = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewQuestionTypes.toString().toLowerCase(); }) != null;
|
|
268
|
+
this.canAccess_feature_ViewHistoricalTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewHistoricalTimesheet.toString().toLowerCase(); }) != null;
|
|
269
|
+
this.canAccess_feature_WorkItemsWaitingForQaApproval = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkItemsWaitingForQaApproval.toString().toLowerCase(); }) != null;
|
|
270
|
+
this.canAccess_feature_InviteeForSignature = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_InviteeForSignature.toString().toLowerCase(); }) != null;
|
|
271
|
+
this.canAccess_feature_AddOrUpdateRole = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateRole.toString().toLowerCase(); }) != null;
|
|
272
|
+
this.canAccess_feature_CanCloneAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanCloneAudit.toString().toLowerCase(); }) != null;
|
|
273
|
+
this.canAccess_feature_ArchiveTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveTrainingCourse.toString().toLowerCase(); }) != null;
|
|
274
|
+
this.canAccess_feature_PunchCard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PunchCard.toString().toLowerCase(); }) != null;
|
|
275
|
+
this.canAccess_feature_ManageActivityConfig = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityConfig.toString().toLowerCase(); }) != null;
|
|
276
|
+
this.canAccess_feature_OrganizationChart = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_OrganizationChart.toString().toLowerCase(); }) != null;
|
|
277
|
+
this.canAccess_feature_DashboardMenuItem = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DashboardMenuItem.toString().toLowerCase(); }) != null;
|
|
278
|
+
this.canAccess_feature_FeatureUsageReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FeatureUsageReport.toString().toLowerCase(); }) != null;
|
|
279
|
+
this.canAccess_feature_ActivityTracker = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ActivityTracker.toString().toLowerCase(); }) != null;
|
|
280
|
+
this.canAccess_feature_DeleteGoalFilter = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteGoalFilter.toString().toLowerCase(); }) != null;
|
|
281
|
+
this.canAccess_feature_EmployeePresence = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeePresence.toString().toLowerCase(); }) != null;
|
|
282
|
+
this.canAccess_feature_ManagePayFrequency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayFrequency.toString().toLowerCase(); }) != null;
|
|
283
|
+
this.canAccess_feature_ManageProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectManagement.toString().toLowerCase(); }) != null;
|
|
284
|
+
this.canAccess_feature_ManageField = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageField.toString().toLowerCase(); }) != null;
|
|
285
|
+
this.canAccess_feature_ViewApplicationUsageReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewApplicationUsageReports.toString().toLowerCase(); }) != null;
|
|
286
|
+
this.canAccess_feature_AddOrUpdateTimesheetentry = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateTimesheetentry.toString().toLowerCase(); }) != null;
|
|
287
|
+
this.canAccess_feature_AddOrUpdateEmployeePersonalDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeePersonalDetails.toString().toLowerCase(); }) != null;
|
|
288
|
+
this.canAccess_feature_AddOrUpdateQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateQuestionType.toString().toLowerCase(); }) != null;
|
|
289
|
+
this.canAccess_feature_ViewFiles = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewFiles.toString().toLowerCase(); }) != null;
|
|
290
|
+
this.canAccess_feature_AddOrUpdateAuditConduct = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAuditConduct.toString().toLowerCase(); }) != null;
|
|
291
|
+
this.canAccess_feature_EmployeePayrollDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeePayrollDetails.toString().toLowerCase(); }) != null;
|
|
292
|
+
this.canAccess_feature_ManageBadges = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBadges.toString().toLowerCase(); }) != null;
|
|
293
|
+
this.canAccess_feature_LeaveTypeConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeaveTypeConfiguration.toString().toLowerCase(); }) != null;
|
|
294
|
+
this.canAccess_feature_ManagePayrollComponent = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayrollComponent.toString().toLowerCase(); }) != null;
|
|
295
|
+
this.canAccess_feature_ManageWorkItemType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemType.toString().toLowerCase(); }) != null;
|
|
296
|
+
this.canAccess_feature_CanEditOtherEmployeeDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanEditOtherEmployeeDetails.toString().toLowerCase(); }) != null;
|
|
297
|
+
this.canAccess_feature_Authorisation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Authorisation.toString().toLowerCase(); }) != null;
|
|
298
|
+
this.canAccess_feature_ArchiveExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveExpense.toString().toLowerCase(); }) != null;
|
|
299
|
+
this.canAccess_feature_ReviewFile = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ReviewFile.toString().toLowerCase(); }) != null;
|
|
300
|
+
this.canAccess_feature_HourlyTdsConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_HourlyTdsConfiguration.toString().toLowerCase(); }) != null;
|
|
301
|
+
this.canAccess_feature_ManageTimeConfigurationSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeConfigurationSettings.toString().toLowerCase(); }) != null;
|
|
302
|
+
this.canAccess_feature_ViewEmployeeSalaryDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeSalaryDetails.toString().toLowerCase(); }) != null;
|
|
303
|
+
this.canAccess_feature_ManageDepartment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDepartment.toString().toLowerCase(); }) != null;
|
|
304
|
+
this.canAccess_feature_ManageContractType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageContractType.toString().toLowerCase(); }) != null;
|
|
305
|
+
this.canAccess_feature_ManageGender = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageGender.toString().toLowerCase(); }) != null;
|
|
306
|
+
this.canAccess_feature_AppManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AppManagement.toString().toLowerCase(); }) != null;
|
|
307
|
+
this.canAccess_feature_CanPassAnAnnouncement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanPassAnAnnouncement.toString().toLowerCase(); }) != null;
|
|
308
|
+
this.canAccess_feature_AllFoodOrders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllFoodOrders.toString().toLowerCase(); }) != null;
|
|
309
|
+
this.canAccess_feature_AddOrUpdateEmployeeLicenceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeLicenceDetails.toString().toLowerCase(); }) != null;
|
|
310
|
+
this.canAccess_feature_CanSubmitCustomFieldsForProjectManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanSubmitCustomFieldsForProjectManagement.toString().toLowerCase(); }) != null;
|
|
311
|
+
this.canAccess_feature_CanViewAuditNonComplainceReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewAuditNonComplainceReport.toString().toLowerCase(); }) != null;
|
|
312
|
+
this.canAccess_feature_ViewTestrepoReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTestrepoReports.toString().toLowerCase(); }) != null;
|
|
313
|
+
this.canAccess_feature_MyAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MyAdhocWork.toString().toLowerCase(); }) != null;
|
|
314
|
+
this.canAccess_feature_ViewEmployeePersonalDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeePersonalDetails.toString().toLowerCase(); }) != null;
|
|
315
|
+
this.canAccess_feature_ApplyLeaveOnBehalfOfOthers = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApplyLeaveOnBehalfOfOthers.toString().toLowerCase(); }) != null;
|
|
316
|
+
this.canAccess_feature_PayrollManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollManagement.toString().toLowerCase(); }) != null;
|
|
317
|
+
this.canAccess_feature_AddOrUpdateVendor = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateVendor.toString().toLowerCase(); }) != null;
|
|
318
|
+
this.canAccess_feature_EmployeeWorkingDays = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeWorkingDays.toString().toLowerCase(); }) != null;
|
|
319
|
+
this.canAccess_feature_ManageJobCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageJobCategory.toString().toLowerCase(); }) != null;
|
|
320
|
+
this.canAccess_feature_BillAmountOnDailyBasis = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BillAmountOnDailyBasis.toString().toLowerCase(); }) != null;
|
|
321
|
+
this.canAccess_feature_FoodOrdersManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_FoodOrdersManagement.toString().toLowerCase(); }) != null;
|
|
322
|
+
this.canAccess_feature_ArchiveOrUnarchiveAuditQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveAuditQuestions.toString().toLowerCase(); }) != null;
|
|
323
|
+
this.canAccess_feature_ViewCompanyWideLeaves = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewCompanyWideLeaves.toString().toLowerCase(); }) != null;
|
|
324
|
+
this.canAccess_feature_UnarchiveProject = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UnarchiveProject.toString().toLowerCase(); }) != null;
|
|
325
|
+
this.canAccess_feature_ViewEmployeeImmigrationDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeImmigrationDetails.toString().toLowerCase(); }) != null;
|
|
326
|
+
this.canAccess_feature_UpdateUser = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UpdateUser.toString().toLowerCase(); }) != null;
|
|
327
|
+
this.canAccess_feature_ViewEmployeeLicenceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeLicenceDetails.toString().toLowerCase(); }) != null;
|
|
328
|
+
this.canAccess_feature_ParkAdhocWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ParkAdhocWork.toString().toLowerCase(); }) != null;
|
|
329
|
+
this.canAccess_feature_DeleteLeave = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeleteLeave.toString().toLowerCase(); }) != null;
|
|
330
|
+
this.canAccess_feature_ArchiveOrUnarchiveQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveQuestionType.toString().toLowerCase(); }) != null;
|
|
331
|
+
this.canAccess_feature_SelectLogTimeReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SelectLogTimeReport.toString().toLowerCase(); }) != null;
|
|
332
|
+
this.canAccess_feature_EmployeeIndex = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeIndex.toString().toLowerCase(); }) != null;
|
|
333
|
+
this.canAccess_feature_RecentIndividualFoodOrders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RecentIndividualFoodOrders.toString().toLowerCase(); }) != null;
|
|
334
|
+
this.canAccess_feature_ManageActivityDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityDashboard.toString().toLowerCase(); }) != null;
|
|
335
|
+
this.canAccess_feature_AssetManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssetManagement.toString().toLowerCase(); }) != null;
|
|
336
|
+
this.canAccess_feature_Chat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Chat.toString().toLowerCase(); }) != null;
|
|
337
|
+
this.canAccess_feature_ManageImportOrExportClient = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageImportOrExportClient.toString().toLowerCase(); }) != null;
|
|
338
|
+
this.canAccess_feature_ManageSoftLabelConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSoftLabelConfigurations.toString().toLowerCase(); }) != null;
|
|
339
|
+
this.canAccess_feature_ViewAuditActions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditActions.toString().toLowerCase(); }) != null;
|
|
340
|
+
this.canAccess_feature_GoalsToArchive = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_GoalsToArchive.toString().toLowerCase(); }) != null;
|
|
341
|
+
this.canAccess_feature_AddOrUpdateEmployeeLanguages = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeLanguages.toString().toLowerCase(); }) != null;
|
|
342
|
+
this.canAccess_feature_ActivelyRunningGoals = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ActivelyRunningGoals.toString().toLowerCase(); }) != null;
|
|
343
|
+
this.canAccess_feature_AllGoalsWithAdvancedSearch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllGoalsWithAdvancedSearch.toString().toLowerCase(); }) != null;
|
|
344
|
+
this.canAccess_feature_HideDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_HideDashboard.toString().toLowerCase(); }) != null;
|
|
345
|
+
this.canAccess_feature_SubmitTimesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SubmitTimesheet.toString().toLowerCase(); }) != null;
|
|
346
|
+
this.canAccess_feature_PayrollGenderConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollGenderConfiguration.toString().toLowerCase(); }) != null;
|
|
347
|
+
this.canAccess_feature_ApproveOrRejectExpense = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveOrRejectExpense.toString().toLowerCase(); }) != null;
|
|
348
|
+
this.canAccess_feature_ViewEstimate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEstimate.toString().toLowerCase(); }) != null;
|
|
349
|
+
this.canAccess_feature_CanteenPurchasesSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanteenPurchasesSummary.toString().toLowerCase(); }) != null;
|
|
350
|
+
this.canAccess_feature_ViewVendors = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewVendors.toString().toLowerCase(); }) != null;
|
|
351
|
+
this.canAccess_feature_ViewUsers = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewUsers.toString().toLowerCase(); }) != null;
|
|
352
|
+
this.canAccess_feature_ManageBoardTypeWorkflow = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBoardTypeWorkflow.toString().toLowerCase(); }) != null;
|
|
353
|
+
this.canAccess_feature_ViewInvoice = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewInvoice.toString().toLowerCase(); }) != null;
|
|
354
|
+
this.canAccess_feature_LeavesReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeavesReport.toString().toLowerCase(); }) != null;
|
|
355
|
+
this.canAccess_feature_AddOrUpdateEmployeeSalaryDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeSalaryDetails.toString().toLowerCase(); }) != null;
|
|
356
|
+
this.canAccess_feature_ViewEmployeeWebAppUsage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeWebAppUsage.toString().toLowerCase(); }) != null;
|
|
357
|
+
this.canAccess_feature_ViewRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewRoster.toString().toLowerCase(); }) != null;
|
|
358
|
+
this.canAccess_feature_ManageFeedback = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFeedback.toString().toLowerCase(); }) != null;
|
|
359
|
+
this.canAccess_feature_OffersCreditedToUsersSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_OffersCreditedToUsersSummary.toString().toLowerCase(); }) != null;
|
|
360
|
+
this.canAccess_feature_QaPerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_QaPerformance.toString().toLowerCase(); }) != null;
|
|
361
|
+
this.canAccess_feature_AllowanceTime = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AllowanceTime.toString().toLowerCase(); }) != null;
|
|
362
|
+
this.canAccess_feature_AddOrUpdateAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAudit.toString().toLowerCase(); }) != null;
|
|
363
|
+
this.canAccess_feature_ManageProjectRolePermissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectRolePermissions.toString().toLowerCase(); }) != null;
|
|
364
|
+
this.canAccess_feature_ManageMerchant = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMerchant.toString().toLowerCase(); }) != null;
|
|
365
|
+
this.canAccess_feature_AddDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddDashboard.toString().toLowerCase(); }) != null;
|
|
366
|
+
this.canAccess_feature_AddOrUpdateTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateTrainingCourse.toString().toLowerCase(); }) != null;
|
|
367
|
+
this.canAccess_feature_ResetOthersPassword = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ResetOthersPassword.toString().toLowerCase(); }) != null;
|
|
368
|
+
this.canAccess_feature_ManageEmployeeRatesheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEmployeeRatesheet.toString().toLowerCase(); }) != null;
|
|
369
|
+
this.canAccess_feature_AddOrUpdateEmployeeContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeContactDetails.toString().toLowerCase(); }) != null;
|
|
370
|
+
this.canAccess_feature_ViewAllEmployees = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAllEmployees.toString().toLowerCase(); }) != null;
|
|
371
|
+
this.canAccess_feature_LeaveEncashmentSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LeaveEncashmentSettings.toString().toLowerCase(); }) != null;
|
|
372
|
+
this.canAccess_feature_ManageGoalReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageGoalReplanType.toString().toLowerCase(); }) != null;
|
|
373
|
+
this.canAccess_feature_ManageTestcaseType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseType.toString().toLowerCase(); }) != null;
|
|
374
|
+
this.canAccess_feature_ManageCompanyIntroducedByOption = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyIntroducedByOption.toString().toLowerCase(); }) != null;
|
|
375
|
+
this.canAccess_feature_ViewEmployeeEmergencyContactDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeEmergencyContactDetails.toString().toLowerCase(); }) != null;
|
|
376
|
+
this.canAccess_feature_ConfigureEmployeePayrollTemplates = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigureEmployeePayrollTemplates.toString().toLowerCase(); }) != null;
|
|
377
|
+
this.canAccess_feature_MangeNationalities = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MangeNationalities.toString().toLowerCase(); }) != null;
|
|
378
|
+
this.canAccess_feature_ViewApplications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewApplications.toString().toLowerCase(); }) != null;
|
|
379
|
+
this.canAccess_feature_ConfigureEmployeeTracking = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigureEmployeeTracking.toString().toLowerCase(); }) != null;
|
|
380
|
+
this.canAccess_feature_UserHistoricalReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UserHistoricalReport.toString().toLowerCase(); }) != null;
|
|
381
|
+
this.canAccess_feature_ManageMainUseCase = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMainUseCase.toString().toLowerCase(); }) != null;
|
|
382
|
+
this.canAccess_feature_ViewUserStatusHistory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewUserStatusHistory.toString().toLowerCase(); }) != null;
|
|
383
|
+
this.canAccess_feature_ManageActivityScreenshots = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageActivityScreenshots.toString().toLowerCase(); }) != null;
|
|
384
|
+
this.canAccess_feature_ManageTimeZone = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeZone.toString().toLowerCase(); }) != null;
|
|
385
|
+
this.canAccess_feature_ManageLanguages = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLanguages.toString().toLowerCase(); }) != null;
|
|
386
|
+
this.canAccess_feature_ManageSubscriptionPaidBy = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSubscriptionPaidBy.toString().toLowerCase(); }) != null;
|
|
387
|
+
this.canAccess_feature_ConductForm = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConductForm.toString().toLowerCase(); }) != null;
|
|
388
|
+
this.canAccess_feature_LateEmployeesCountVsDate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_LateEmployeesCountVsDate.toString().toLowerCase(); }) != null;
|
|
389
|
+
this.canAccess_feature_AssignAssetsToEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignAssetsToEmployee.toString().toLowerCase(); }) != null;
|
|
390
|
+
this.canAccess_feature_EmployeeAttendence = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeAttendence.toString().toLowerCase(); }) != null;
|
|
391
|
+
this.canAccess_feature_ActivityReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ActivityReport.toString().toLowerCase(); }) != null;
|
|
392
|
+
this.canAccess_feature_DevQuality = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DevQuality.toString().toLowerCase(); }) != null;
|
|
393
|
+
this.canAccess_feature_ApproveRoster = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ApproveRoster.toString().toLowerCase(); }) != null;
|
|
394
|
+
this.canAccess_feature_ViewFeedback = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewFeedback.toString().toLowerCase(); }) != null;
|
|
395
|
+
this.canAccess_feature_ImminentDeadlines = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ImminentDeadlines.toString().toLowerCase(); }) != null;
|
|
396
|
+
this.canAccess_feature_ArchiveMessage = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveMessage.toString().toLowerCase(); }) != null;
|
|
397
|
+
this.canAccess_feature_ArchiveOrUnarchiveMasterQuestionType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveOrUnarchiveMasterQuestionType.toString().toLowerCase(); }) != null;
|
|
398
|
+
this.canAccess_feature_RoomTemperature = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_RoomTemperature.toString().toLowerCase(); }) != null;
|
|
399
|
+
this.canAccess_feature_ManageShifttiming = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageShifttiming.toString().toLowerCase(); }) != null;
|
|
400
|
+
this.canAccess_feature_ViewOrManageInvoiceStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewOrManageInvoiceStatus.toString().toLowerCase(); }) != null;
|
|
401
|
+
this.canAccess_feature_ManagePayrollTemplate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayrollTemplate.toString().toLowerCase(); }) != null;
|
|
402
|
+
this.canAccess_feature_ViewAuditReports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditReports.toString().toLowerCase(); }) != null;
|
|
403
|
+
this.canAccess_feature_EditStores = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EditStores.toString().toLowerCase(); }) != null;
|
|
404
|
+
this.canAccess_feature_ViewAssetsWithAdvancedSearch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAssetsWithAdvancedSearch.toString().toLowerCase(); }) != null;
|
|
405
|
+
this.canAccess_feature_ViewPermissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewPermissions.toString().toLowerCase(); }) != null;
|
|
406
|
+
this.canAccess_feature_Applications = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_Applications.toString().toLowerCase(); }) != null;
|
|
407
|
+
this.canAccess_feature_CanAnswerQuestions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAnswerQuestions.toString().toLowerCase(); }) != null;
|
|
408
|
+
this.canAccess_feature_SubmitAudit = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SubmitAudit.toString().toLowerCase(); }) != null;
|
|
409
|
+
this.canAccess_feature_PayrollBranchConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollBranchConfiguration.toString().toLowerCase(); }) != null;
|
|
410
|
+
this.canAccess_feature_ConfigurePerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ConfigurePerformance.toString().toLowerCase(); }) != null;
|
|
411
|
+
this.canAccess_feature_ManageSkills = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSkills.toString().toLowerCase(); }) != null;
|
|
412
|
+
this.canAccess_feature_ViewLiveDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewLiveDashboard.toString().toLowerCase(); }) != null;
|
|
413
|
+
this.canAccess_feature_AddFoodOrder = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddFoodOrder.toString().toLowerCase(); }) != null;
|
|
414
|
+
this.canAccess_feature_PayrollRunEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollRunEmployee.toString().toLowerCase(); }) != null;
|
|
415
|
+
this.canAccess_feature_ManagePaymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentType.toString().toLowerCase(); }) != null;
|
|
416
|
+
this.canAccess_feature_ViewEmployeeAppTrackerCompleteReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewEmployeeAppTrackerCompleteReport.toString().toLowerCase(); }) != null;
|
|
417
|
+
this.canAccess_feature_ManageHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageHrManagement.toString().toLowerCase(); }) != null;
|
|
418
|
+
this.canAccess_feature_EmployeeTaxAllowanceDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeTaxAllowanceDetails.toString().toLowerCase(); }) != null;
|
|
419
|
+
this.canAccess_feature_ViewStatusReportingConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewStatusReportingConfiguration.toString().toLowerCase(); }) != null;
|
|
420
|
+
this.canAccess_feature_EmployeeBonus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeBonus.toString().toLowerCase(); }) != null;
|
|
421
|
+
this.canAccess_feature_AddOrUpdateEmployeeShifts = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeShifts.toString().toLowerCase(); }) != null;
|
|
422
|
+
this.canAccess_feature_ViewAllAdhocWorks = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAllAdhocWorks.toString().toLowerCase(); }) != null;
|
|
423
|
+
this.canAccess_feature_EmployeeResignation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_EmployeeResignation.toString().toLowerCase(); }) != null;
|
|
424
|
+
this.canAccess_feature_AddOrEditCustomFieldsForHrManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrEditCustomFieldsForHrManagement.toString().toLowerCase(); }) != null;
|
|
425
|
+
this.canAccess_feature_ViewFoodOrders = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewFoodOrders.toString().toLowerCase(); }) != null;
|
|
426
|
+
this.canAccess_feature_AddOrUpdateEstimate = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEstimate.toString().toLowerCase(); }) != null;
|
|
427
|
+
this.canAccess_feature_DaysOfWeekConfiguration = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DaysOfWeekConfiguration.toString().toLowerCase(); }) != null;
|
|
428
|
+
this.canAccess_feature_CanAccessPerformance = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanAccessPerformance.toString().toLowerCase(); }) != null;
|
|
429
|
+
this.canAccess_feature_ViewOverallAuditActivity = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewOverallAuditActivity.toString().toLowerCase(); }) != null;
|
|
430
|
+
this.canAccess_feature_PayrollFrequency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_PayrollFrequency.toString().toLowerCase(); }) != null;
|
|
431
|
+
this.canAccess_feature_ViewMonthlyPayrollDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewMonthlyPayrollDetails.toString().toLowerCase(); }) != null;
|
|
432
|
+
this.canAccess_feature_SnapLiveDashboard = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_SnapLiveDashboard.toString().toLowerCase(); }) != null;
|
|
433
|
+
this.canAccess_feature_ViewAuditConductTimelineReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewAuditConductTimelineReport.toString().toLowerCase(); }) != null;
|
|
434
|
+
this.canAccess_feature_ManageHoliday = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageHoliday.toString().toLowerCase(); }) != null;
|
|
435
|
+
this.canAccess_feature_AddOrUpdateEmploymentContract = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmploymentContract.toString().toLowerCase(); }) != null;
|
|
436
|
+
this.canAccess_feature_ViewListOfAssets = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewListOfAssets.toString().toLowerCase(); }) != null;
|
|
437
|
+
this.canAccess_feature_ManageProjectType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectType.toString().toLowerCase(); }) != null;
|
|
438
|
+
this.canAccess_feature_CanViewAuditComplainceReport = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewAuditComplainceReport.toString().toLowerCase(); }) != null;
|
|
439
|
+
this.canAccess_feature_ManageDashboards = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDashboards.toString().toLowerCase(); }) != null;
|
|
440
|
+
this.canAccess_feature_CanViewNumberOfAuditsSubmitted = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_CanViewNumberOfAuditsSubmitted.toString().toLowerCase(); }) != null;
|
|
441
|
+
this.canAccess_feature_TrainingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TrainingManagement.toString().toLowerCase(); }) != null;
|
|
442
|
+
this.canAccess_feature_UploadFiles = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_UploadFiles.toString().toLowerCase(); }) != null;
|
|
443
|
+
this.canAccess_feature_WorkAllocationSummary = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkAllocationSummary.toString().toLowerCase(); }) != null;
|
|
444
|
+
this.canAccess_feature_AddOrUpdateEmployeeMemberships = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateEmployeeMemberships.toString().toLowerCase(); }) != null;
|
|
445
|
+
this.canAccess_feature_ViewMyWorkWithAdvancedSearch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewMyWorkWithAdvancedSearch.toString().toLowerCase(); }) != null;
|
|
446
|
+
this.canAccess_feature_ViewCompanyDetails = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewCompanyDetails.toString().toLowerCase(); }) != null;
|
|
447
|
+
this.canAccess_feature_ChatFileUpload = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ChatFileUpload.toString().toLowerCase(); }) != null;
|
|
448
|
+
this.canAccess_feature_MyProjectWork = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MyProjectWork.toString().toLowerCase(); }) != null;
|
|
449
|
+
this.canAccess_feature_DeletePermissions = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DeletePermissions.toString().toLowerCase(); }) != null;
|
|
450
|
+
this.canAccess_feature_ManageExpenseCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageExpenseCategory.toString().toLowerCase(); }) != null;
|
|
451
|
+
this.canAccess_feature_ViewTrainingRecord = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingRecord.toString().toLowerCase(); }) != null;
|
|
452
|
+
this.canAccess_feature_ViewTrainingCourses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingCourses.toString().toLowerCase(); }) != null;
|
|
453
|
+
this.canAccess_feature_AssignOrUnassignTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AssignOrUnassignTrainingCourse.toString().toLowerCase(); }) != null;
|
|
454
|
+
this.canAccess_feature_ViewTrainingAssignments = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingAssignments.toString().toLowerCase(); }) != null;
|
|
455
|
+
this.canAccess_feature_ViewTrainingMatrix = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingMatrix.toString().toLowerCase(); }) != null;
|
|
456
|
+
this.canAccess_feature_ArchiveTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ArchiveTrainingCourse.toString().toLowerCase(); }) != null;
|
|
457
|
+
this.canAccess_feature_AddOrUpdateTrainingCourse = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateTrainingCourse.toString().toLowerCase(); }) != null;
|
|
458
|
+
this.canAccess_feature_TrainingManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_TrainingManagement.toString().toLowerCase(); }) != null;
|
|
459
|
+
this.canAccess_feature_AddOrUpdateAssignmentStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_AddOrUpdateAssignmentStatus.toString().toLowerCase(); }) != null;
|
|
460
|
+
this.canAccess_feature_DragApps = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_DragApps.toString().toLowerCase(); }) != null;
|
|
461
|
+
this.canAccess_feature_ViewTrainingRecord = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewTrainingRecord.toString().toLowerCase(); }) != null;
|
|
462
|
+
this.canAccess_feature_ManageAccessibleIpAdresses = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAccessibleIpAdresses.toString().toLowerCase(); }) != null;
|
|
463
|
+
this.canAccess_feature_ManageCompanyIntroducedByOption = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyIntroducedByOption.toString().toLowerCase(); }) != null;
|
|
464
|
+
this.canAccess_feature_ManageCompanyLocation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCompanyLocation.toString().toLowerCase(); }) != null;
|
|
465
|
+
this.canAccess_feature_ManageDateFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDateFormat.toString().toLowerCase(); }) != null;
|
|
466
|
+
this.canAccess_feature_ManageMainUseCase = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMainUseCase.toString().toLowerCase(); }) != null;
|
|
467
|
+
this.canAccess_feature_ManageNumberFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageNumberFormat.toString().toLowerCase(); }) != null;
|
|
468
|
+
this.canAccess_feature_ManageTimeFormat = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeFormat.toString().toLowerCase(); }) != null;
|
|
469
|
+
this.canAccess_feature_ManageExpenseCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageExpenseCategory.toString().toLowerCase(); }) != null;
|
|
470
|
+
this.canAccess_feature_ManageMerchant = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMerchant.toString().toLowerCase(); }) != null;
|
|
471
|
+
this.canAccess_feature_ManageBranch = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBranch.toString().toLowerCase(); }) != null;
|
|
472
|
+
this.canAccess_feature_ManageContractType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageContractType.toString().toLowerCase(); }) != null;
|
|
473
|
+
this.canAccess_feature_ManageCountry = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCountry.toString().toLowerCase(); }) != null;
|
|
474
|
+
this.canAccess_feature_ManageCurrency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageCurrency.toString().toLowerCase(); }) != null;
|
|
475
|
+
this.canAccess_feature_ManageDepartment = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDepartment.toString().toLowerCase(); }) != null;
|
|
476
|
+
this.canAccess_feature_ManageDesignation = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageDesignation.toString().toLowerCase(); }) != null;
|
|
477
|
+
this.canAccess_feature_ManageEducationLevels = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEducationLevels.toString().toLowerCase(); }) != null;
|
|
478
|
+
this.canAccess_feature_ManageEmploymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageEmploymentType.toString().toLowerCase(); }) != null;
|
|
479
|
+
this.canAccess_feature_ManageJobCategory = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageJobCategory.toString().toLowerCase(); }) != null;
|
|
480
|
+
this.canAccess_feature_ManageLanguages = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLanguages.toString().toLowerCase(); }) != null;
|
|
481
|
+
this.canAccess_feature_ManageLicenceType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageLicenceType.toString().toLowerCase(); }) != null;
|
|
482
|
+
this.canAccess_feature_ManageMemberships = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageMemberships.toString().toLowerCase(); }) != null;
|
|
483
|
+
this.canAccess_feature_MangeNationalities = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_MangeNationalities.toString().toLowerCase(); }) != null;
|
|
484
|
+
this.canAccess_feature_ManagePaygrade = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaygrade.toString().toLowerCase(); }) != null;
|
|
485
|
+
this.canAccess_feature_ManagePayFrequency = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePayFrequency.toString().toLowerCase(); }) != null;
|
|
486
|
+
this.canAccess_feature_ManagePaymentMethod = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentMethod.toString().toLowerCase(); }) != null;
|
|
487
|
+
this.canAccess_feature_ManagePaymentType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePaymentType.toString().toLowerCase(); }) != null;
|
|
488
|
+
this.canAccess_feature_ManagePeakHour = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePeakHour.toString().toLowerCase(); }) != null;
|
|
489
|
+
this.canAccess_feature_ManageRateType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateType.toString().toLowerCase(); }) != null;
|
|
490
|
+
this.canAccess_feature_ManageRateSheet = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRateSheet.toString().toLowerCase(); }) != null;
|
|
491
|
+
this.canAccess_feature_ManageRegion = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageRegion.toString().toLowerCase(); }) != null;
|
|
492
|
+
this.canAccess_feature_ManageReportingMethods = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageReportingMethods.toString().toLowerCase(); }) != null;
|
|
493
|
+
this.canAccess_feature_ManageShifttiming = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageShifttiming.toString().toLowerCase(); }) != null;
|
|
494
|
+
this.canAccess_feature_ManageSkills = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSkills.toString().toLowerCase(); }) != null;
|
|
495
|
+
this.canAccess_feature_ManageSoftLabelConfigurations = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSoftLabelConfigurations.toString().toLowerCase(); }) != null;
|
|
496
|
+
this.canAccess_feature_ManageState = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageState.toString().toLowerCase(); }) != null;
|
|
497
|
+
this.canAccess_feature_ManageTimeZone = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeZone.toString().toLowerCase(); }) != null;
|
|
498
|
+
this.canAccess_feature_ManageWebhook = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWebhook.toString().toLowerCase(); }) != null;
|
|
499
|
+
this.canAccess_feature_ManageAppSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAppSettings.toString().toLowerCase(); }) != null;
|
|
500
|
+
this.canAccess_feature_ManageTimeConfigurationSettings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTimeConfigurationSettings.toString().toLowerCase(); }) != null;
|
|
501
|
+
this.canAccess_feature_ManageFormType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFormType.toString().toLowerCase(); }) != null;
|
|
502
|
+
this.canAccess_feature_ManageTestcaseAutomationType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseAutomationType.toString().toLowerCase(); }) != null;
|
|
503
|
+
this.canAccess_feature_ManageTestcaseStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseStatus.toString().toLowerCase(); }) != null;
|
|
504
|
+
this.canAccess_feature_ManageTestcaseType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageTestcaseType.toString().toLowerCase(); }) != null;
|
|
505
|
+
this.canAccess_feature_ManageButtonType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageButtonType.toString().toLowerCase(); }) != null;
|
|
506
|
+
this.canAccess_feature_ManageFeedBackType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageFeedBackType.toString().toLowerCase(); }) != null;
|
|
507
|
+
this.canAccess_feature_ManagePermissionReason = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManagePermissionReason.toString().toLowerCase(); }) != null;
|
|
508
|
+
this.canAccess_feature_BoardTypeApi = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_BoardTypeApi.toString().toLowerCase(); }) != null;
|
|
509
|
+
this.canAccess_feature_ManageBoardTypeWorkflow = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBoardTypeWorkflow.toString().toLowerCase(); }) != null;
|
|
510
|
+
this.canAccess_feature_ManageProcessDashboardStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProcessDashboardStatus.toString().toLowerCase(); }) != null;
|
|
511
|
+
this.canAccess_feature_WorkflowManagement = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_WorkflowManagement.toString().toLowerCase(); }) != null;
|
|
512
|
+
this.canAccess_feature_ManageBugPriority = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageBugPriority.toString().toLowerCase(); }) != null;
|
|
513
|
+
this.canAccess_feature_ManageGoalReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageGoalReplanType.toString().toLowerCase(); }) != null;
|
|
514
|
+
this.canAccess_feature_ManageProjectType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageProjectType.toString().toLowerCase(); }) != null;
|
|
515
|
+
this.canAccess_feature_ManageWorkItemReplanType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemReplanType.toString().toLowerCase(); }) != null;
|
|
516
|
+
this.canAccess_feature_ManageWorkItemStatus = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemStatus.toString().toLowerCase(); }) != null;
|
|
517
|
+
this.canAccess_feature_ManageWorkItemSubType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemSubType.toString().toLowerCase(); }) != null;
|
|
518
|
+
this.canAccess_feature_ManageWorkItemType = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageWorkItemType.toString().toLowerCase(); }) != null;
|
|
519
|
+
this.canAccess_feature_ManageSystemExports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSystemExports.toString().toLowerCase(); }) != null;
|
|
520
|
+
this.canAccess_feature_ManageSystemImports = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageSystemImports.toString().toLowerCase(); }) != null;
|
|
521
|
+
this.canAccess_feature_Settings = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageOverAllCompanySettings.toString().toLowerCase(); }) != null;
|
|
522
|
+
this.canAccess_feature_ManageAccountsAndBilling = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ManageAccountsAndBilling.toString().toLowerCase(); }) != null;
|
|
523
|
+
this.canAccess_feature_ViewActivityReportsForAllEmployee = _.find(roles, function (role) { return role.featureId.toLowerCase() == FeatureIds.Feature_ViewActivityReportsForAllEmployee.toString().toLowerCase(); }) != null;
|
|
524
|
+
}
|
|
525
|
+
logError(errorMessage) {
|
|
526
|
+
}
|
|
527
|
+
logNavigation() {
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
CustomAppBaseComponent.ɵfac = function CustomAppBaseComponent_Factory(t) { return new (t || CustomAppBaseComponent)(); };
|
|
531
|
+
CustomAppBaseComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CustomAppBaseComponent, selectors: [["ng-component"]], decls: 0, vars: 0, template: function CustomAppBaseComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
|
532
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CustomAppBaseComponent, [{
|
|
533
|
+
type: Component,
|
|
534
|
+
args: [{
|
|
535
|
+
template: ""
|
|
536
|
+
}]
|
|
537
|
+
}], function () { return []; }, null); })();
|
|
538
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50YmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9nbG9iYWxkZXBlbmRlbmNpZXMvY29tcG9uZW50cy9jb21wb25lbnRiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxDQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUs5RSxNQUFNLE9BQU8sc0JBQXNCO0lBczhCakM7UUFDRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQXpnQkQsUUFBUTtRQUVOLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQywyQ0FBMkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGlDQUFpQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hOLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlMLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xMLElBQUksQ0FBQyw4Q0FBOEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9DQUFvQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3ROLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hNLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxSyxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5SyxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMsNERBQTRELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrREFBa0QsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsUCxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5SyxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5SyxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsMkRBQTJELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpREFBaUQsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoUCxJQUFJLENBQUMseURBQXlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQ0FBK0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsMkRBQTJELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpREFBaUQsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoUCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEssSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE8sSUFBSSxDQUFDLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVLLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVMLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BMLElBQUksQ0FBQyw2Q0FBNkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG1DQUFtQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BOLElBQUksQ0FBQywrQkFBK0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hMLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQyxnREFBZ0QsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNDQUFzQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFOLElBQUksQ0FBQyxtREFBbUQsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHlDQUF5QyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hPLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQywyQ0FBMkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGlDQUFpQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hOLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hNLElBQUksQ0FBQyw2Q0FBNkMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG1DQUFtQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BOLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hNLElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hNLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xNLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RMLElBQUksQ0FBQyw4Q0FBOEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLG9DQUFvQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3ROLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQyx5Q0FBeUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLCtCQUErQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVNLElBQUksQ0FBQyxzQ0FBc0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3RNLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyw0Q0FBNEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGtDQUFrQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xOLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFMLElBQUksQ0FBQywrQkFBK0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hMLElBQUksQ0FBQywrQkFBK0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hMLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BNLElBQUksQ0FBQywwQ0FBMEMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdDQUFnQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlNLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xNLElBQUksQ0FBQyx3Q0FBd0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzFNLElBQUksQ0FBQywwREFBMEQsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdEQUFnRCxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlPLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2hNLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlMLElBQUksQ0FBQywwQkFBMEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzlLLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xNLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQVMsSUFBRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4SyxJQUFJLENBQUMsNERBQTRELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrREFBa0QsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsUCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMscURBQXFELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQ0FBMkMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTyxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsdURBQXVELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2Q0FBNkMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TyxJQUFJLENBQUMsMENBQTBDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMscURBQXFELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQ0FBMkMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsd0RBQXdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4Q0FBOEMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTyxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsOENBQThDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TixJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQ0FBcUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TixJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsb0RBQW9ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQ0FBMEMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTyxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTCxJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMsMkNBQTJDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTixJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTSxJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TCxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTyxJQUFJLENBQUMsMkRBQTJELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxpREFBaUQsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoUCxJQUFJLENBQUMsaURBQWlELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TixJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsNkNBQTZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTixJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoTSxJQUFJLENBQUMsd0NBQXdDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTSxJQUFJLENBQUMsc0NBQXNDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN0TSxJQUFJLENBQUMsa0RBQWtELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TixJQUFJLENBQUMsdUNBQXVDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM5TCxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTCxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTCxJQUFJLENBQUMsZ0RBQWdELEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMxTixJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNwTSxJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4TCxJQUFJLENBQUMsNENBQTRDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsTixJQUFJLENBQUMseUNBQXlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUM1TCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFTLElBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEssSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLCtDQUErQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUNBQXFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE4sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaEwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLGtEQUFrRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0NBQXdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU4sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLDRCQUE0QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbEwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE8sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGlEQUFpRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUNBQXVDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU4sSUFBSSxDQUFDLHFEQUFxRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkNBQTJDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE8sSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE8sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLDRCQUE0QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbEwsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDRCQUE0QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbEwsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUwsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdEwsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZDQUE2QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUNBQW1DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE4sSUFBSSxDQUFDLGtEQUFrRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0NBQXdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLHNEQUFzRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNENBQTRDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE8sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcE0sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNU0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOU0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE4sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLCtDQUErQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUNBQXFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE4sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUwsSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEwsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMU4sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdE4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDMUwsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeEwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaE0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDeE0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLGdEQUFnRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0NBQXNDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM04sSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN00sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLDJDQUEyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsaUNBQWlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLDZDQUE2QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUNBQW1DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck4sSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0ssSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLDRDQUE0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsa0NBQWtDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk4sSUFBSSxDQUFDLGlEQUFpRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUNBQXVDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN04sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDekwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN0wsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN0wsSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM00sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLCtDQUErQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUNBQXFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek4sSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDckwsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDekwsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLGlEQUFpRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsdUNBQXVDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN04sSUFBSSxDQUFDLGdDQUFnQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM0wsSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk4sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLGtDQUFrQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL0wsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLHdDQUF3QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDM00sSUFBSSxDQUFDLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdkwsSUFBSSxDQUFDLHlDQUF5QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsK0JBQStCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDN00sSUFBSSxDQUFDLDhDQUE4QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk4sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbk0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLG1DQUFtQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDak0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL00sSUFBSSxDQUFDLHNDQUFzQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNEJBQTRCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDdk0sSUFBSSxDQUFDLHVDQUF1QyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDek0sSUFBSSxDQUFDLG9DQUFvQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFFbk0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDck0sSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsb0NBQW9DLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbE0sSUFBSSxDQUFDLDBDQUEwQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDL00sSUFBSSxDQUFDLG1EQUFtRCxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxVQUFVLENBQUMseUNBQXlDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7SUFFbk8sQ0FBQztJQU1TLFFBQVEsQ0FBQyxZQUFvQjtJQUV2QyxDQUFDO0lBRU8sYUFBYTtJQUNyQixDQUFDOzs0RkEvOEJVLHNCQUFzQjt5RUFBdEIsc0JBQXNCO3VGQUF0QixzQkFBc0I7Y0FIbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxFQUFFO2FBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGZWF0dXJlSWRzIH0gZnJvbSAnLi4vY29uc3RhbnRzL2ZlYXR1cmUtaWRzJztcbmltcG9ydCAqIGFzIF8gZnJvbSBcInVuZGVyc2NvcmVcIjtcbmltcG9ydCB7IExvY2FsU3RvcmFnZVByb3BlcnRpZXMgfSBmcm9tICcuLi9jb25zdGFudHMvbG9jYWxzdG9yYWdlLXByb3BlcnRpZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IFwiXCJcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJlZ2lvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUpvYjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlSW52b2ljZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGltZUZvcm1hdDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0xlYXZlczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VBdXRvbWF0aW9uVHlwZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGVha0hvdXI6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVkdWNhdGlvbkxldmVsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTXlXb3JrOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Ob3RpZmljYXRpb25zOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9TdGF0dXNSZXBvcnRpbmc6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRDYXRlZ29yeTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlQ29udGFjdERldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU1hc3RlclNldHRpbmdzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdFJlcG9ydHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBdWRpdENvbmR1Y3RzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUV4cGVuc2U6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdCYWRnZXNBc3NpZ25lZFRvRW1wbG95ZWU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0hyTWFuYWdlbWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVGF4U2xhYnM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUJhbmtEZXRhaWxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYXJrRGFtYWdlZEFzc2VzdDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfV29ya0l0ZW1zSGF2aW5nT3RoZXJzRGVwZW5kZW5jeTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1BheXJvbGxSZXBvcnRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEb2N1bWVudFRlbXBsYXRlczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWNjZXNzaWJsZUlwQWRyZXNzZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbXBhbnlJbnRyb2R1Y2VkQnlPcHRpb246IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbXBhbnlMb2NhdGlvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRGF0ZUZvcm1hdDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWFpblVzZUNhc2U6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU51bWJlckZvcm1hdDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRXhwZW5zZUNhdGVnb3J5OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNZXJjaGFudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQnJhbmNoOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb250cmFjdFR5cGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvdW50cnk6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUN1cnJlbmN5OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEZXBhcnRtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEZXNpZ25hdGlvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRW1wbG95bWVudFR5cGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUpvYkNhdGVnb3J5OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMYW5ndWFnZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxpY2VuY2VUeXBlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNZW1iZXJzaGlwczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuZ2VOYXRpb25hbGl0aWVzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXlncmFkZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5RnJlcXVlbmN5OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXltZW50TWV0aG9kOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXltZW50VHlwZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmF0ZVR5cGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJhdGVTaGVldDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmVwb3J0aW5nTWV0aG9kczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU2hpZnR0aW1pbmc6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVNraWxsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU29mdExhYmVsQ29uZmlndXJhdGlvbnM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVN0YXRlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lWm9uZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV2ViaG9vazogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQXBwU2V0dGluZ3M6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRpbWVDb25maWd1cmF0aW9uU2V0dGluZ3M6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUZvcm1UeXBlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZVN0YXR1czogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VUeXBlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCdXR0b25UeXBlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VGZWVkQmFja1R5cGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBlcm1pc3Npb25SZWFzb246IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0JvYXJkVHlwZUFwaTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQm9hcmRUeXBlV29ya2Zsb3c6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2Nlc3NEYXNoYm9hcmRTdGF0dXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1dvcmtmbG93TWFuYWdlbWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQnVnUHJpb3JpdHk6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUdvYWxSZXBsYW5UeXBlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9qZWN0VHlwZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1SZXBsYW5UeXBlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVN0YXR1czogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1TdWJUeXBlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVR5cGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ0NvdXJzZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlU3BlbnRUaW1lOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsQ2FsY3VsYXRpb25Db25maWd1cmF0aW9uczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZURlcGVuZGVudENvbnRhY3REZXRhaWxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Db250cmFjdFBheVNldHRpbmdzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0UXVlc3Rpb25zOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2tpbGxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VFeHBlbnNlTWFuYWdlbWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ3JlYXRlUm9zdGVyOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Bc3NpZ25PclVuYXNzaWduVHJhaW5pbmdDb3Vyc2U6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlQWNjb3VudERldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlTG9hbnM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FiaWxpdHlUb0NoYXQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya0FsbG9jYXRpb246IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVNoaWZ0RGV0YWlsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlTGFuZ3VhZ2VEZXRhaWxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNYXJpdGFsU3RhdHVzZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRm9vZEl0ZW06IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUh0bWx0ZW1wbGF0ZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBc3NldDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JFZGl0RW1wbG95ZWVMb2FuSW5zdGFsbG1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRSZXBvcnRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVQYXlyb2xsU3RhdHVzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9VcHNlcnRDb21wYW55RGV0YWlsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveW1lbnRDb250cmFjdERldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Rvd25sb2FkT3JTaGFyZUludm9pY2U6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBdWRpdDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRWRpdE1lc3NhZ2U6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVPclJlamVjdExlYXZlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9TcGVudFRpbWVEZXRhaWxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlV29ya0V4cGVyaWVuY2VEZXRhaWxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Qcm9mZXNzaW9uYWxUYXhSYW5nZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VuYWJsZU5vdGlmaWNhdGlvbnM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Rkc1NldHRpbmdzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RXhwZW5zZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlTG9ndGltZURldGFpbHNSZXBvcnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NyZWRpdEFtb3VudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWxsR29hbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXNzaWdubWVudFN0YXR1czogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRDb25kdWN0OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVBY3Rpdml0eVRpbWVVc2FnZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUHJvY2Vzc0Rhc2hib2FyZDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGltZVNoZWV0TWFuYWdlbWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ29tcGFueVNldHRpbmdzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BY2Nlc3NUZXN0cmVwbzogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQXNzaWduQXVkaXRUYWdzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPckVkaXRMZWF2ZVR5cGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0V2ZXJ5RGF5VGFyZ2V0U3RhdHVzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlUHJvamVjdDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGlyZWN0TWVzc2FnaW5nOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3U3RvcmVzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcHBseUxlYXZlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VJbnZvaWNlU2NoZWR1bGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Fzc2lnbkFkaG9jV29ya1RvQWxsVXNlcnM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhbkNoYW5nZVZpc3VhbGlzYXRpb25UeXBlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUNsaWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVJbnZvaWNlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9SZWNlbnRseVB1cmNoYXNlZEFzc2V0czogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQ3JlYXRlUmVtaW5kZXJzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Um9sZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlTWFzdGVyUXVlc3Rpb25UeXBlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZWxhdGlvblNoaXA6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxSdW46IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0Q2F0ZWdvcnk6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0RyYWdBcHBzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlU3VibWl0dGVkU3RhdHVzUmVwb3J0OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3T3JnYW5pemF0aW9uQ2hhcnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZUN1c3RvbUZpZWxkc0ZvckhyTWFuYWdlbWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRWRpdFBheXNsaXA6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUNyZWRpdHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0ZpbmFuY2lhbFllYXJDb25maWd1cmF0aW9uczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVGVzdHJlcG9NYW5hZ2VtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Eb2N1bWVudE1hbmFnZW1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVFbXBsb3llZVRheEFsbG93YW5jZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVJlcG9ydFRvRGV0YWlsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JFZGl0Q3VzdG9tRmllbGRzRm9yUHJvamVjdE1hbmFnZW1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlU3RhdHVzUmVwb3J0aW5nQ29uZmlndXJhdGlvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVXNlclVwbG9hZDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTGF0ZUVtcGxveWVlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVMb2FuSW5zdGFsbG1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZU1lbWJlcnNoaXBEZXRhaWxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9SZWNlbnRseUFzc2lnbmVkQXNzZXRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZXNDdXJyZW50V29ya2luZ09yQmFja2xvZ1dvcmtJdGVtczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1N0YXR1c1JlcG9ydHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Jlc2lnbmF0aW9uU3RhdHVzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WZW51ZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Jvb21UZW1wZXJhdHVyZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVXBkYXRlRm9vZE9yZGVyOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5TdWJtaXRDdXN0b21GaWVsZHNGb3JIck1hbmFnZW1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUVzdGltYXRlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZXNNYW5hZ2VtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUNoYW5uZWw6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdGb3JtczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FudGVlbk1hbmFnZW1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Byb2plY3RzQWN0aXZlbHlSdW5uaW5nR29hbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVJbW1pZ3JhdGlvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWx0ZXJuYXRlU2lnbkluOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY3Rpdml0eVRyYWNrZXI6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1JlY2VudGx5RGFtYWdlZEFzc2V0czogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXNzZXRIaXN0b3J5OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Qcm9qZWN0TWFuYWdlbWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQXBwc0FuZFVybHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVCYW5rRGV0YWlsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZUZvcm06IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1NoYXJlRXhwZW5zZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3lzdGVtQXBwczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQm9va2luZ01hbmFnZW1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0dvYWxMZXZlbFJlcG9ydHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUVkdWNhdGlvbkRldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxlYXZlU3RhdHVzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlVXNlcjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWNrZWRJbmZvcm1hdGlvbk9mVXNlcnN0b3J5OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRVc2VyOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9MZWF2ZU1hbmFnZW1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdQcm9qZWN0czogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0VGltZXNoZWV0OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Sb2xlTWFuYWdlbWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ29weU9yTW92ZVF1ZXN0aW9uczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ3VzdG9tRm9ybVN1Ym1pc3Npb25zOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TG9jYXRpb25zOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VJbmR1Y3Rpb25Xb3JrOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QWxsRW1wbG95ZWVBY3Rpdml0eVJlcG9ydHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Rvd25sb2FkRW1wbG95ZWVTYWxhcnlDZXJ0aWZpY2F0ZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdHJlcG9NYW5hZ2VtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb21wYW55U3RydWN0dXJlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UmVjZW50bHlBY3RpdmVDbGllbnRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSb3N0ZXI6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya0xvZ1JlcG9ydDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRG93bmxvYWRPclNoYXJlQXVkaXRSZXBvcnRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVXZWJob29rczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3RvcmVNYW5hZ2VtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZVByb2R1Y3Q6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NyZWF0ZUZvbGRlcjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbFRlbXBsYXRlQ29uZmlndXJhdGlvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXNzZXRzQWxsb2NhdGVkVG9NZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVDcmVkaXRvckRldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVFbXBsb3llZUxvYW5zOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVTa2lsbERldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhblZpZXdVc2Vyc0NhbnRlZW5TdW1tYXJ5OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrQWxsb2NhdGlvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkUGVybWlzc2lvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RvZGF5c1RpbWVzaGVldDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQXNzaWduQmFkZ2VUb0VtcGxveWVlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVKb2JEZXRhaWxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlV29ya0V4cGVyaWVuY2VEZXRhaWxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Eb0NoYW5uZWxDaGF0T25seTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVXBkYXRlUGVybWlzc2lvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfU2VjdXJpdHk6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1N1Ym1pdFN0YXR1c1JlcG9ydDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXVkaXQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVFbWVyZ2VuY3lDb250YWN0RGV0YWlsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQnVnUmVwb3J0OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9UYXhBbGxvd2FuY2U6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Fzc2V0Q29tbWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlRGVwZW5kZW50Q29udGFjdERldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1B1cmNoYXNlRm9vZEl0ZW06IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ0Fzc2lnbm1lbnRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VGltZXNoZWV0RmVlZDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVJlcG9ydGluZ1RvRGV0YWlsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbFJvbGVDb25maWd1cmF0aW9uOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9EYXNoYm9hcmRNYW5hZ2VtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrSXRlbXNIYXZpbmdEZXBlbmRlbmN5T25NZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUVkdWNhdGlvbkRldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVSb2xlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9UaW1lU2hlZXRNYW5hZ2VtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUFwcGxpY2F0aW9uczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUHVibGlzaEFzRGVmYXVsdDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld01hc3RlclF1ZXN0aW9uVHlwZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdQcm9kdWN0RGV0YWlsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlQ3VzdG9tRmllbGRzRm9yUHJvamVjdE1hbmFnZW1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUF1dGhvcml6YXRpb246IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUN1c3RvbUFwcHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Zvb2RJdGVtc0xpc3Q6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRm9ybTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZUFkaG9jV29yazogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGVhdmVTZXNzaW9uOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrSXRlbVVwbG9hZDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQXBwcm92ZVBlcmZvcm1hbmNlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUxvY2F0aW9uOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZXN0cmljdGlvblR5cGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxlYXZlRm9ybXVsYTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVXb3JrSXRlbXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0JpbGxpbmdNYW5hZ2VtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9FZGl0RGFzaGJvYXJkOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdNYXRyaXg6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFwcEZpbHRlcnM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxlYXZlVHlwZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVN0YXR1c1JlcG9ydENvbmZpZ3VyYXRpb246IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Jlc2V0UGFzc3dvcmQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VkaXRSb3N0ZXI6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FiaWxpdHlUb0NyZWF0ZVB1YmxpY1Byb2plY3Q6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxNYXJpdGFsU3RhdHVzQ29uZmlndXJhdGlvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkUHJvamVjdDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUpvYkRldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQWRob2NXb3JrOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Gb3Jnb3RQYXNzd29yZDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTG9nVGltZVJlcG9ydDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlRGFzaGJvYXJkOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UXVlc3Rpb25UeXBlczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0hpc3RvcmljYWxUaW1lc2hlZXQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1dvcmtJdGVtc1dhaXRpbmdGb3JRYUFwcHJvdmFsOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9JbnZpdGVlRm9yU2lnbmF0dXJlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZVJvbGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhbkNsb25lQXVkaXQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVUcmFpbmluZ0NvdXJzZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUHVuY2hDYXJkOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY3Rpdml0eUNvbmZpZzogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfT3JnYW5pemF0aW9uQ2hhcnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Rhc2hib2FyZE1lbnVJdGVtOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9GZWF0dXJlVXNhZ2VSZXBvcnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FjdGl2aXR5VHJhY2tlcjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlR29hbEZpbHRlcjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVQcmVzZW5jZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUHJvamVjdE1hbmFnZW1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUZpZWxkOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXBwbGljYXRpb25Vc2FnZVJlcG9ydHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVGltZXNoZWV0ZW50cnk6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVQZXJzb25hbERldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlUXVlc3Rpb25UeXBlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RmlsZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRDb25kdWN0OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVBheXJvbGxEZXRhaWxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCYWRnZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0xlYXZlVHlwZUNvbmZpZ3VyYXRpb246IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBheXJvbGxDb21wb25lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhbkVkaXRPdGhlckVtcGxveWVlRGV0YWlsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXV0aG9yaXNhdGlvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZUV4cGVuc2U6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Jldmlld0ZpbGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0hvdXJseVRkc0NvbmZpZ3VyYXRpb246IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVNhbGFyeURldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUdlbmRlcjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXBwTWFuYWdlbWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuUGFzc0FuQW5ub3VuY2VtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BbGxGb29kT3JkZXJzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlTGljZW5jZURldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhblN1Ym1pdEN1c3RvbUZpZWxkc0ZvclByb2plY3RNYW5hZ2VtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3QXVkaXROb25Db21wbGFpbmNlUmVwb3J0OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VGVzdHJlcG9SZXBvcnRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NeUFkaG9jV29yazogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlUGVyc29uYWxEZXRhaWxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcHBseUxlYXZlT25CZWhhbGZPZk90aGVyczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbE1hbmFnZW1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVmVuZG9yOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVdvcmtpbmdEYXlzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9CaWxsQW1vdW50T25EYWlseUJhc2lzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Gb29kT3JkZXJzTWFuYWdlbWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRRdWVzdGlvbnM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdDb21wYW55V2lkZUxlYXZlczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVW5hcmNoaXZlUHJvamVjdDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlSW1taWdyYXRpb25EZXRhaWxzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9VcGRhdGVVc2VyOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVMaWNlbmNlRGV0YWlsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUGFya0FkaG9jV29yazogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlTGVhdmU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZVF1ZXN0aW9uVHlwZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfU2VsZWN0TG9nVGltZVJlcG9ydDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVJbmRleDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUmVjZW50SW5kaXZpZHVhbEZvb2RPcmRlcnM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjdGl2aXR5RGFzaGJvYXJkOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Bc3NldE1hbmFnZW1lbnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NoYXQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUltcG9ydE9yRXhwb3J0Q2xpZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXRBY3Rpb25zOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Hb2Fsc1RvQXJjaGl2ZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUxhbmd1YWdlczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWN0aXZlbHlSdW5uaW5nR29hbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FsbEdvYWxzV2l0aEFkdmFuY2VkU2VhcmNoOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9IaWRlRGFzaGJvYXJkOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9TdWJtaXRUaW1lc2hlZXQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxHZW5kZXJDb25maWd1cmF0aW9uOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcHByb3ZlT3JSZWplY3RFeHBlbnNlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RXN0aW1hdGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhbnRlZW5QdXJjaGFzZXNTdW1tYXJ5OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VmVuZG9yczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1VzZXJzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3SW52b2ljZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTGVhdmVzUmVwb3J0OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2FsYXJ5RGV0YWlsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlV2ViQXBwVXNhZ2U6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdSb3N0ZXI6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUZlZWRiYWNrOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9PZmZlcnNDcmVkaXRlZFRvVXNlcnNTdW1tYXJ5OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9RYVBlcmZvcm1hbmNlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BbGxvd2FuY2VUaW1lOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9qZWN0Um9sZVBlcm1pc3Npb25zOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGREYXNoYm9hcmQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVHJhaW5pbmdDb3Vyc2U6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Jlc2V0T3RoZXJzUGFzc3dvcmQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVtcGxveWVlUmF0ZXNoZWV0OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlQ29udGFjdERldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBbGxFbXBsb3llZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0xlYXZlRW5jYXNobWVudFNldHRpbmdzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVFbWVyZ2VuY3lDb250YWN0RGV0YWlsczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ29uZmlndXJlRW1wbG95ZWVQYXlyb2xsVGVtcGxhdGVzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXBwbGljYXRpb25zOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVFbXBsb3llZVRyYWNraW5nOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9Vc2VySGlzdG9yaWNhbFJlcG9ydDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1VzZXJTdGF0dXNIaXN0b3J5OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY3Rpdml0eVNjcmVlbnNob3RzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTdWJzY3JpcHRpb25QYWlkQnk6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NvbmR1Y3RGb3JtOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9MYXRlRW1wbG95ZWVzQ291bnRWc0RhdGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0Fzc2lnbkFzc2V0c1RvRW1wbG95ZWU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlQXR0ZW5kZW5jZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWN0aXZpdHlSZXBvcnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0RldlF1YWxpdHk6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVSb3N0ZXI6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdGZWVkYmFjazogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfSW1taW5lbnREZWFkbGluZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVNZXNzYWdlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVNYXN0ZXJRdWVzdGlvblR5cGU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1Jvb21UZW1wZXJhdHVyZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld09yTWFuYWdlSW52b2ljZVN0YXR1czogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5cm9sbFRlbXBsYXRlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXRSZXBvcnRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9FZGl0U3RvcmVzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXNzZXRzV2l0aEFkdmFuY2VkU2VhcmNoOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UGVybWlzc2lvbnM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FwcGxpY2F0aW9uczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQW5zd2VyUXVlc3Rpb25zOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9TdWJtaXRBdWRpdDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbEJyYW5jaENvbmZpZ3VyYXRpb246IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NvbmZpZ3VyZVBlcmZvcm1hbmNlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TGl2ZURhc2hib2FyZDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkRm9vZE9yZGVyOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsUnVuRW1wbG95ZWU6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUFwcFRyYWNrZXJDb21wbGV0ZVJlcG9ydDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlSHJNYW5hZ2VtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVRheEFsbG93YW5jZURldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdTdGF0dXNSZXBvcnRpbmdDb25maWd1cmF0aW9uOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUJvbnVzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2hpZnRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QWxsQWRob2NXb3JrczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVSZXNpZ25hdGlvbjogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JFZGl0Q3VzdG9tRmllbGRzRm9ySHJNYW5hZ2VtZW50OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Rm9vZE9yZGVyczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFc3RpbWF0ZTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfRGF5c09mV2Vla0NvbmZpZ3VyYXRpb246IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NhbkFjY2Vzc1BlcmZvcm1hbmNlOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3T3ZlcmFsbEF1ZGl0QWN0aXZpdHk6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxGcmVxdWVuY3k6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdNb250aGx5UGF5cm9sbERldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1NuYXBMaXZlRGFzaGJvYXJkOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXRDb25kdWN0VGltZWxpbmVSZXBvcnQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUhvbGlkYXk6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95bWVudENvbnRyYWN0OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TGlzdE9mQXNzZXRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3QXVkaXRDb21wbGFpbmNlUmVwb3J0OiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEYXNoYm9hcmRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9DYW5WaWV3TnVtYmVyT2ZBdWRpdHNTdWJtaXR0ZWQ6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1RyYWluaW5nTWFuYWdlbWVudDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVXBsb2FkRmlsZXM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX1dvcmtBbGxvY2F0aW9uU3VtbWFyeTogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZU1lbWJlcnNoaXBzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TXlXb3JrV2l0aEFkdmFuY2VkU2VhcmNoOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Q29tcGFueURldGFpbHM6IEJvb2xlYW47XG4gIGNhbkFjY2Vzc19mZWF0dXJlX0NoYXRGaWxlVXBsb2FkOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NeVByb2plY3RXb3JrOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9EZWxldGVQZXJtaXNzaW9uczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWluaW5nUmVjb3JkOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTeXN0ZW1JbXBvcnRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTeXN0ZW1FeHBvcnRzOiBCb29sZWFuO1xuICBjYW5BY2Nlc3NfZmVhdHVyZV9TZXR0aW5nczogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWNjb3VudHNBbmRCaWxsaW5nIDogQm9vbGVhbjtcbiAgY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FjdGl2aXR5UmVwb3J0c0ZvckFsbEVtcGxveWVlOiBCb29sZWFuO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgdmFyIHJvbGVzID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLlJvbGVGZWF0dXJlcykpO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmVnaW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVJlZ2lvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlSm9iID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVKb2IudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlSW52b2ljZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVJbnZvaWNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRpbWVGb3JtYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGltZUZvcm1hdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TGVhdmVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdMZWF2ZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VBdXRvbWF0aW9uVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZUF1dG9tYXRpb25UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBlYWtIb3VyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBlYWtIb3VyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVkdWNhdGlvbkxldmVscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VFZHVjYXRpb25MZXZlbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTXlXb3JrID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX015V29yay50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Ob3RpZmljYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX05vdGlmaWNhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfU3RhdHVzUmVwb3J0aW5nID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1N0YXR1c1JlcG9ydGluZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0Q2F0ZWdvcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdENhdGVnb3J5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUNvbnRhY3REZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUNvbnRhY3REZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU1hc3RlclNldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU1hc3RlclNldHRpbmdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0UmVwb3J0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdFJlcG9ydHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0F1ZGl0Q29uZHVjdHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0F1ZGl0Q29uZHVjdHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFeHBlbnNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRXhwZW5zZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QmFkZ2VzQXNzaWduZWRUb0VtcGxveWVlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdCYWRnZXNBc3NpZ25lZFRvRW1wbG95ZWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfSHJNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0hyTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9UYXhTbGFicyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9UYXhTbGFicy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVCYW5rRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVCYW5rRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYXJrRGFtYWdlZEFzc2VzdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYXJrRGFtYWdlZEFzc2VzdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrSXRlbXNIYXZpbmdPdGhlcnNEZXBlbmRlbmN5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1dvcmtJdGVtc0hhdmluZ090aGVyc0RlcGVuZGVuY3kudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1BheXJvbGxSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdQYXlyb2xsUmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEb2N1bWVudFRlbXBsYXRlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VEb2N1bWVudFRlbXBsYXRlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdDb3Vyc2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUcmFpbmluZ0NvdXJzZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVTcGVudFRpbWUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVTcGVudFRpbWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5bWVudE1ldGhvZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQYXltZW50TWV0aG9kLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxDYWxjdWxhdGlvbkNvbmZpZ3VyYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BheXJvbGxDYWxjdWxhdGlvbkNvbmZpZ3VyYXRpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVEZXBlbmRlbnRDb250YWN0RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlRGVwZW5kZW50Q29udGFjdERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ29udHJhY3RQYXlTZXR0aW5ncyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Db250cmFjdFBheVNldHRpbmdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRRdWVzdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdFF1ZXN0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2tpbGxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVTa2lsbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRXhwZW5zZU1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRXhwZW5zZU1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ3JlYXRlUm9zdGVyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NyZWF0ZVJvc3Rlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMaWNlbmNlVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VMaWNlbmNlVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Bc3NpZ25PclVuYXNzaWduVHJhaW5pbmdDb3Vyc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXNzaWduT3JVbmFzc2lnblRyYWluaW5nQ291cnNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlQWNjb3VudERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVBY2NvdW50RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUxvYW5zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlTG9hbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWJpbGl0eVRvQ2hhdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BYmlsaXR5VG9DaGF0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya0FsbG9jYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVXb3JrQWxsb2NhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVTaGlmdERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlU2hpZnREZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUxhbmd1YWdlRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVMYW5ndWFnZURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQnJhbmNoID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJyYW5jaC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNYXJpdGFsU3RhdHVzZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTWFyaXRhbFN0YXR1c2VzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRm9vZEl0ZW0gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVGb29kSXRlbS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VIdG1sdGVtcGxhdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlSHRtbHRlbXBsYXRlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJhdGVTaGVldCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VSYXRlU2hlZXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBc3NldCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUFzc2V0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yRWRpdEVtcGxveWVlTG9hbkluc3RhbGxtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yRWRpdEVtcGxveWVlTG9hbkluc3RhbGxtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlQXVkaXRSZXBvcnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURhdGVGb3JtYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRGF0ZUZvcm1hdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVQYXlyb2xsU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NvbmZpZ3VyZVBheXJvbGxTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVXBzZXJ0Q29tcGFueURldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVXBzZXJ0Q29tcGFueURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveW1lbnRDb250cmFjdERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveW1lbnRDb250cmFjdERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRG93bmxvYWRPclNoYXJlSW52b2ljZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Eb3dubG9hZE9yU2hhcmVJbnZvaWNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBdWRpdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3QXVkaXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRWRpdE1lc3NhZ2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRWRpdE1lc3NhZ2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0TGVhdmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0TGVhdmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfU3BlbnRUaW1lRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9TcGVudFRpbWVEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJ1Z1ByaW9yaXR5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJ1Z1ByaW9yaXR5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVdvcmtFeHBlcmllbmNlRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVXb3JrRXhwZXJpZW5jZURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUHJvZmVzc2lvbmFsVGF4UmFuZ2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Byb2Zlc3Npb25hbFRheFJhbmdlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbmFibGVOb3RpZmljYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VuYWJsZU5vdGlmaWNhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVGRzU2V0dGluZ3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVGRzU2V0dGluZ3MudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ291bnRyeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDb3VudHJ5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFeHBlbnNlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RXhwZW5zZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVMb2d0aW1lRGV0YWlsc1JlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZUxvZ3RpbWVEZXRhaWxzUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NyZWRpdEFtb3VudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DcmVkaXRBbW91bnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWxsR29hbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWxsR29hbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBc3NpZ25tZW50U3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlQXNzaWdubWVudFN0YXR1cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdENvbmR1Y3QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRDb25kdWN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZUFjdGl2aXR5VGltZVVzYWdlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUFjdGl2aXR5VGltZVVzYWdlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Byb2Nlc3NEYXNoYm9hcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUHJvY2Vzc0Rhc2hib2FyZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lU2hlZXRNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRpbWVTaGVldE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ29tcGFueVNldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUNvbXBhbnlTZXR0aW5ncy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BY2Nlc3NUZXN0cmVwbyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BY2Nlc3NUZXN0cmVwby50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5Bc3NpZ25BdWRpdFRhZ3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuQXNzaWduQXVkaXRUYWdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yRWRpdExlYXZlVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPckVkaXRMZWF2ZVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRXZlcnlEYXlUYXJnZXRTdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRXZlcnlEYXlUYXJnZXRTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVByb2plY3QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZVByb2plY3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGlyZWN0TWVzc2FnaW5nID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RpcmVjdE1lc3NhZ2luZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3U3RvcmVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdTdG9yZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwbHlMZWF2ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHBseUxlYXZlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUludm9pY2VTY2hlZHVsZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VJbnZvaWNlU2NoZWR1bGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXNzaWduQWRob2NXb3JrVG9BbGxVc2VycyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Bc3NpZ25BZGhvY1dvcmtUb0FsbFVzZXJzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBlcm1pc3Npb25SZWFzb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGVybWlzc2lvblJlYXNvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5DaGFuZ2VWaXN1YWxpc2F0aW9uVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5DaGFuZ2VWaXN1YWxpc2F0aW9uVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUNsaWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUNsaWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUludm9pY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVJbnZvaWNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1JlY2VudGx5UHVyY2hhc2VkQXNzZXRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1JlY2VudGx5UHVyY2hhc2VkQXNzZXRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbkNyZWF0ZVJlbWluZGVycyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5DcmVhdGVSZW1pbmRlcnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5Z3JhZGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5Z3JhZGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1JvbGVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdSb2xlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZU1hc3RlclF1ZXN0aW9uVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZU1hc3RlclF1ZXN0aW9uVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZWxhdGlvblNoaXAgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUmVsYXRpb25TaGlwLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxSdW4gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUGF5cm9sbFJ1bi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVBdWRpdENhdGVnb3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZUF1ZGl0Q2F0ZWdvcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRHJhZ0FwcHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRHJhZ0FwcHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVN1Ym1pdHRlZFN0YXR1c1JlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlU3VibWl0dGVkU3RhdHVzUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhblZpZXdPcmdhbml6YXRpb25DaGFydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5WaWV3T3JnYW5pemF0aW9uQ2hhcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlQ3VzdG9tRmllbGRzRm9ySHJNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RlbGV0ZUN1c3RvbUZpZWxkc0ZvckhyTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FZGl0UGF5c2xpcCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FZGl0UGF5c2xpcC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVDcmVkaXRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUNyZWRpdHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRmluYW5jaWFsWWVhckNvbmZpZ3VyYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0ZpbmFuY2lhbFllYXJDb25maWd1cmF0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9UZXN0cmVwb01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVGVzdHJlcG9NYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RvY3VtZW50TWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Eb2N1bWVudE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwcm92ZUVtcGxveWVlVGF4QWxsb3dhbmNlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHByb3ZlRW1wbG95ZWVUYXhBbGxvd2FuY2VzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVJlcG9ydFRvRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVSZXBvcnRUb0RldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JFZGl0Q3VzdG9tRmllbGRzRm9yUHJvamVjdE1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JFZGl0Q3VzdG9tRmllbGRzRm9yUHJvamVjdE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVTdGF0dXNSZXBvcnRpbmdDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlU3RhdHVzUmVwb3J0aW5nQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Vc2VyVXBsb2FkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1VzZXJVcGxvYWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTGF0ZUVtcGxveWVlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0xhdGVFbXBsb3llZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVMb2FuSW5zdGFsbG1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlTG9hbkluc3RhbGxtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZU1lbWJlcnNoaXBEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZU1lbWJlcnNoaXBEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1JlY2VudGx5QXNzaWduZWRBc3NldHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUmVjZW50bHlBc3NpZ25lZEFzc2V0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZXNDdXJyZW50V29ya2luZ09yQmFja2xvZ1dvcmtJdGVtcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZXNDdXJyZW50V29ya2luZ09yQmFja2xvZ1dvcmtJdGVtcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3U3RhdHVzUmVwb3J0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3U3RhdHVzUmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9SZXNpZ25hdGlvblN0YXR1cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9SZXNpZ25hdGlvblN0YXR1cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WZW51ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WZW51ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCdXR0b25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJ1dHRvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Jvb21UZW1wZXJhdHVyZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3Um9vbVRlbXBlcmF0dXJlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1VwZGF0ZUZvb2RPcmRlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9VcGRhdGVGb29kT3JkZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ3VycmVuY3kgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ3VycmVuY3kudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuU3VibWl0Q3VzdG9tRmllbGRzRm9ySHJNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhblN1Ym1pdEN1c3RvbUZpZWxkc0ZvckhyTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVFc3RpbWF0ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVFc3RpbWF0ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZXNNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUxlYXZlc01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVDaGFubmVsID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlQ2hhbm5lbC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Rm9ybXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0Zvcm1zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbnRlZW5NYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbnRlZW5NYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2Nlc3NEYXNoYm9hcmRTdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUHJvY2Vzc0Rhc2hib2FyZFN0YXR1cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Qcm9qZWN0c0FjdGl2ZWx5UnVubmluZ0dvYWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Byb2plY3RzQWN0aXZlbHlSdW5uaW5nR29hbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUltbWlncmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVJbW1pZ3JhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BbHRlcm5hdGVTaWduSW4gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWx0ZXJuYXRlU2lnbkluLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjdGl2aXR5VHJhY2tlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBY3Rpdml0eVRyYWNrZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUmVjZW50bHlEYW1hZ2VkQXNzZXRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1JlY2VudGx5RGFtYWdlZEFzc2V0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEZXNpZ25hdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VEZXNpZ25hdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Bc3NldEhpc3RvcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXNzZXRIaXN0b3J5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Byb2plY3RNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Byb2plY3RNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFwcHNBbmRVcmxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUFwcHNBbmRVcmxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtU3ViVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVN1YlR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VTdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGVzdGNhc2VTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUJhbmtEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVCYW5rRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Xb3JrZmxvd01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfV29ya2Zsb3dNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVGb3JtID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVGb3JtLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1NoYXJlRXhwZW5zZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9TaGFyZUV4cGVuc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3lzdGVtQXBwcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTeXN0ZW1BcHBzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Jvb2tpbmdNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Jvb2tpbmdNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0dvYWxMZXZlbFJlcG9ydHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfR29hbExldmVsUmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVFZHVjYXRpb25EZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUVkdWNhdGlvbkRldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQm9hcmRUeXBlQXBpID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0JvYXJkVHlwZUFwaS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZVN0YXR1cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VMZWF2ZVN0YXR1cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVJlcGxhblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlV29ya0l0ZW1SZXBsYW5UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVVc2VyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVVc2VyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFja2VkSW5mb3JtYXRpb25PZlVzZXJzdG9yeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3VHJhY2tlZEluZm9ybWF0aW9uT2ZVc2Vyc3RvcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkVXNlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRVc2VyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0xlYXZlTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9MZWF2ZU1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1Byb2plY3RzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdQcm9qZWN0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcHByb3ZlT3JSZWplY3RUaW1lc2hlZXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0VGltZXNoZWV0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1JvbGVNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1JvbGVNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NvcHlPck1vdmVRdWVzdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ29weU9yTW92ZVF1ZXN0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTdGF0ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTdGF0ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDdXN0b21Gb3JtU3VibWlzc2lvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ3VzdG9tRm9ybVN1Ym1pc3Npb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdMb2NhdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0xvY2F0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VJbmR1Y3Rpb25Xb3JrID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUluZHVjdGlvbldvcmsudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FsbEVtcGxveWVlQWN0aXZpdHlSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBbGxFbXBsb3llZUFjdGl2aXR5UmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Eb3dubG9hZEVtcGxveWVlU2FsYXJ5Q2VydGlmaWNhdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRG93bmxvYWRFbXBsb3llZVNhbGFyeUNlcnRpZmljYXRlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRlc3RyZXBvTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUZXN0cmVwb01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRm9ybVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRm9ybVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ29tcGFueVN0cnVjdHVyZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDb21wYW55U3RydWN0dXJlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdSZWNlbnRseUFjdGl2ZUNsaWVudHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1JlY2VudGx5QWN0aXZlQ2xpZW50cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSb3N0ZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUm9zdGVyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya0xvZ1JlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZVdvcmtMb2dSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRG93bmxvYWRPclNoYXJlQXVkaXRSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0Rvd25sb2FkT3JTaGFyZUF1ZGl0UmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVXZWJob29rcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Db25maWd1cmVXZWJob29rcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTdG9yZU1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU3RvcmVNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlUHJvZHVjdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZVByb2R1Y3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ3JlYXRlRm9sZGVyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NyZWF0ZUZvbGRlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsVGVtcGxhdGVDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BheXJvbGxUZW1wbGF0ZUNvbmZpZ3VyYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXNzZXRzQWxsb2NhdGVkVG9NZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Bc3NldHNBbGxvY2F0ZWRUb01lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlQ3JlZGl0b3JEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlQ3JlZGl0b3JEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVFbXBsb3llZUxvYW5zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FwcHJvdmVFbXBsb3llZUxvYW5zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdFbXBsb3llZVNraWxsRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVTa2lsbERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuVmlld1VzZXJzQ2FudGVlblN1bW1hcnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuVmlld1VzZXJzQ2FudGVlblN1bW1hcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfV29ya0FsbG9jYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfV29ya0FsbG9jYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV2ViaG9vayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXZWJob29rLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZFBlcm1pc3Npb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkUGVybWlzc2lvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VG9kYXlzVGltZXNoZWV0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUb2RheXNUaW1lc2hlZXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQXNzaWduQmFkZ2VUb0VtcGxveWVlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbkFzc2lnbkJhZGdlVG9FbXBsb3llZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZXBvcnRpbmdNZXRob2RzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVJlcG9ydGluZ01ldGhvZHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRmVlZEJhY2tUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUZlZWRCYWNrVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVKb2JEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUpvYkRldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVdvcmtFeHBlcmllbmNlRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlV29ya0V4cGVyaWVuY2VEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RvQ2hhbm5lbENoYXRPbmx5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RvQ2hhbm5lbENoYXRPbmx5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1VwZGF0ZVBlcm1pc3Npb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVXBkYXRlUGVybWlzc2lvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TZWN1cml0eSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9TZWN1cml0eS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TdWJtaXRTdGF0dXNSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfU3VibWl0U3RhdHVzUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0F1ZGl0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0F1ZGl0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVFbWVyZ2VuY3lDb250YWN0RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlRW1lcmdlbmN5Q29udGFjdERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQnVnUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0J1Z1JlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9UYXhBbGxvd2FuY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVGF4QWxsb3dhbmNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Fzc2V0Q29tbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Bc3NldENvbW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlRGVwZW5kZW50Q29udGFjdERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlRGVwZW5kZW50Q29udGFjdERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUHVyY2hhc2VGb29kSXRlbSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QdXJjaGFzZUZvb2RJdGVtLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ0Fzc2lnbm1lbnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUcmFpbmluZ0Fzc2lnbm1lbnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUaW1lc2hlZXRGZWVkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUaW1lc2hlZXRGZWVkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVSZXBvcnRpbmdUb0RldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVJlcG9ydGluZ1RvRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsUm9sZUNvbmZpZ3VyYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUGF5cm9sbFJvbGVDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0Rhc2hib2FyZE1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRGFzaGJvYXJkTWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb21wYW55TG9jYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ29tcGFueUxvY2F0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU51bWJlckZvcm1hdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VOdW1iZXJGb3JtYXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfV29ya0l0ZW1zSGF2aW5nRGVwZW5kZW5jeU9uTWUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfV29ya0l0ZW1zSGF2aW5nRGVwZW5kZW5jeU9uTWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUVkdWNhdGlvbkRldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUVkdWNhdGlvbkRldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZVJvbGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZVJvbGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVGltZVNoZWV0TWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9UaW1lU2hlZXRNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQXBwbGljYXRpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlQXBwbGljYXRpb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1B1Ymxpc2hBc0RlZmF1bHQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUHVibGlzaEFzRGVmYXVsdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TWFzdGVyUXVlc3Rpb25UeXBlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3TWFzdGVyUXVlc3Rpb25UeXBlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UHJvZHVjdERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1Byb2R1Y3REZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZUN1c3RvbUZpZWxkc0ZvclByb2plY3RNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RlbGV0ZUN1c3RvbUZpZWxkc0ZvclByb2plY3RNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUF1dGhvcml6YXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQXV0aG9yaXphdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNZW1iZXJzaGlwcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VNZW1iZXJzaGlwcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDdXN0b21BcHBzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUN1c3RvbUFwcHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRm9vZEl0ZW1zTGlzdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Gb29kSXRlbXNMaXN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRm9ybSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUZvcm0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZUFkaG9jV29yayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlQWRob2NXb3JrLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUxlYXZlU2Vzc2lvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VMZWF2ZVNlc3Npb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWNjZXNzaWJsZUlwQWRyZXNzZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQWNjZXNzaWJsZUlwQWRyZXNzZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfV29ya0l0ZW1VcGxvYWQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfV29ya0l0ZW1VcGxvYWQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQXBwU2V0dGluZ3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQXBwU2V0dGluZ3MudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQXBwcm92ZVBlcmZvcm1hbmNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbkFwcHJvdmVQZXJmb3JtYW5jZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUxvY2F0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlTG9jYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmVzdHJpY3Rpb25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVJlc3RyaWN0aW9uVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZUZvcm11bGEgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTGVhdmVGb3JtdWxhLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya0l0ZW1zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlV29ya0l0ZW1zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0JpbGxpbmdNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0JpbGxpbmdNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VkaXREYXNoYm9hcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRWRpdERhc2hib2FyZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdNYXRyaXggPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RyYWluaW5nTWF0cml4LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFwcEZpbHRlcnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQXBwRmlsdGVycy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VMZWF2ZVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTGVhdmVUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVTdGF0dXNSZXBvcnRDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVTdGF0dXNSZXBvcnRDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1Jlc2V0UGFzc3dvcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUmVzZXRQYXNzd29yZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FZGl0Um9zdGVyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VkaXRSb3N0ZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWJpbGl0eVRvQ3JlYXRlUHVibGljUHJvamVjdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BYmlsaXR5VG9DcmVhdGVQdWJsaWNQcm9qZWN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxNYXJpdGFsU3RhdHVzQ29uZmlndXJhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QYXlyb2xsTWFyaXRhbFN0YXR1c0NvbmZpZ3VyYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUmF0ZVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUmF0ZVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkUHJvamVjdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRQcm9qZWN0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVKb2JEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVKb2JEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVdvcmtJdGVtU3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVtcGxveW1lbnRUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUVtcGxveW1lbnRUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlQWRob2NXb3JrID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlQWRob2NXb3JrLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0ZvcmdvdFBhc3N3b3JkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0ZvcmdvdFBhc3N3b3JkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0xvZ1RpbWVSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTG9nVGltZVJlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9EZWxldGVEYXNoYm9hcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRGVsZXRlRGFzaGJvYXJkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdRdWVzdGlvblR5cGVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdRdWVzdGlvblR5cGVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdIaXN0b3JpY2FsVGltZXNoZWV0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdIaXN0b3JpY2FsVGltZXNoZWV0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1dvcmtJdGVtc1dhaXRpbmdGb3JRYUFwcHJvdmFsID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1dvcmtJdGVtc1dhaXRpbmdGb3JRYUFwcHJvdmFsLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0ludml0ZWVGb3JTaWduYXR1cmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfSW52aXRlZUZvclNpZ25hdHVyZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZVJvbGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVSb2xlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbkNsb25lQXVkaXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuQ2xvbmVBdWRpdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BcmNoaXZlVHJhaW5pbmdDb3Vyc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZVRyYWluaW5nQ291cnNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1B1bmNoQ2FyZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QdW5jaENhcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWN0aXZpdHlDb25maWcgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQWN0aXZpdHlDb25maWcudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfT3JnYW5pemF0aW9uQ2hhcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfT3JnYW5pemF0aW9uQ2hhcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGFzaGJvYXJkTWVudUl0ZW0gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRGFzaGJvYXJkTWVudUl0ZW0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRmVhdHVyZVVzYWdlUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0ZlYXR1cmVVc2FnZVJlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BY3Rpdml0eVRyYWNrZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWN0aXZpdHlUcmFja2VyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZUdvYWxGaWx0ZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRGVsZXRlR29hbEZpbHRlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVByZXNlbmNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlUHJlc2VuY2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5RnJlcXVlbmN5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBheUZyZXF1ZW5jeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9qZWN0TWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQcm9qZWN0TWFuYWdlbWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VGaWVsZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VGaWVsZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXBwbGljYXRpb25Vc2FnZVJlcG9ydHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0FwcGxpY2F0aW9uVXNhZ2VSZXBvcnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVGltZXNoZWV0ZW50cnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVUaW1lc2hlZXRlbnRyeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlUGVyc29uYWxEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVQZXJzb25hbERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVRdWVzdGlvblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVRdWVzdGlvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0ZpbGVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdGaWxlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0Q29uZHVjdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0Q29uZHVjdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZVBheXJvbGxEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlUGF5cm9sbERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQmFkZ2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJhZGdlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9MZWF2ZVR5cGVDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0xlYXZlVHlwZUNvbmZpZ3VyYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5cm9sbENvbXBvbmVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQYXlyb2xsQ29tcG9uZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuRWRpdE90aGVyRW1wbG95ZWVEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbkVkaXRPdGhlckVtcGxveWVlRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BdXRob3Jpc2F0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0F1dGhvcmlzYXRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZUV4cGVuc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZUV4cGVuc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUmV2aWV3RmlsZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9SZXZpZXdGaWxlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0hvdXJseVRkc0NvbmZpZ3VyYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfSG91cmx5VGRzQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lQ29uZmlndXJhdGlvblNldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRpbWVDb25maWd1cmF0aW9uU2V0dGluZ3MudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlU2FsYXJ5RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVTYWxhcnlEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURlcGFydG1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRGVwYXJ0bWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb250cmFjdFR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ29udHJhY3RUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUdlbmRlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VHZW5kZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXBwTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHBNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhblBhc3NBbkFubm91bmNlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5QYXNzQW5Bbm5vdW5jZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWxsRm9vZE9yZGVycyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BbGxGb29kT3JkZXJzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVMaWNlbmNlRGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlTGljZW5jZURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuU3VibWl0Q3VzdG9tRmllbGRzRm9yUHJvamVjdE1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuU3VibWl0Q3VzdG9tRmllbGRzRm9yUHJvamVjdE1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuVmlld0F1ZGl0Tm9uQ29tcGxhaW5jZVJlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5WaWV3QXVkaXROb25Db21wbGFpbmNlUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUZXN0cmVwb1JlcG9ydHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1Rlc3RyZXBvUmVwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NeUFkaG9jV29yayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NeUFkaG9jV29yay50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVQZXJzb25hbERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlUGVyc29uYWxEZXRhaWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FwcGx5TGVhdmVPbkJlaGFsZk9mT3RoZXJzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FwcGx5TGVhdmVPbkJlaGFsZk9mT3RoZXJzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BheXJvbGxNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVmVuZG9yID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlVmVuZG9yLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlV29ya2luZ0RheXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVXb3JraW5nRGF5cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VKb2JDYXRlZ29yeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VKb2JDYXRlZ29yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9CaWxsQW1vdW50T25EYWlseUJhc2lzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0JpbGxBbW91bnRPbkRhaWx5QmFzaXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRm9vZE9yZGVyc01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRm9vZE9yZGVyc01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRRdWVzdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZU9yVW5hcmNoaXZlQXVkaXRRdWVzdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0NvbXBhbnlXaWRlTGVhdmVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdDb21wYW55V2lkZUxlYXZlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9VbmFyY2hpdmVQcm9qZWN0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1VuYXJjaGl2ZVByb2plY3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlSW1taWdyYXRpb25EZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdFbXBsb3llZUltbWlncmF0aW9uRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9VcGRhdGVVc2VyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1VwZGF0ZVVzZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlTGljZW5jZURldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlTGljZW5jZURldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUGFya0FkaG9jV29yayA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QYXJrQWRob2NXb3JrLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0RlbGV0ZUxlYXZlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RlbGV0ZUxlYXZlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZVF1ZXN0aW9uVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVRdWVzdGlvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfU2VsZWN0TG9nVGltZVJlcG9ydCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9TZWxlY3RMb2dUaW1lUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlSW5kZXggPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVJbmRleC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9SZWNlbnRJbmRpdmlkdWFsRm9vZE9yZGVycyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9SZWNlbnRJbmRpdmlkdWFsRm9vZE9yZGVycy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY3Rpdml0eURhc2hib2FyZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBY3Rpdml0eURhc2hib2FyZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Bc3NldE1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXNzZXRNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NoYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2hhdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VJbXBvcnRPckV4cG9ydENsaWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VJbXBvcnRPckV4cG9ydENsaWVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTb2Z0TGFiZWxDb25maWd1cmF0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTb2Z0TGFiZWxDb25maWd1cmF0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXRBY3Rpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBdWRpdEFjdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfR29hbHNUb0FyY2hpdmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfR29hbHNUb0FyY2hpdmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUxhbmd1YWdlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlTGFuZ3VhZ2VzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FjdGl2ZWx5UnVubmluZ0dvYWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FjdGl2ZWx5UnVubmluZ0dvYWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FsbEdvYWxzV2l0aEFkdmFuY2VkU2VhcmNoID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FsbEdvYWxzV2l0aEFkdmFuY2VkU2VhcmNoLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0hpZGVEYXNoYm9hcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfSGlkZURhc2hib2FyZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TdWJtaXRUaW1lc2hlZXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfU3VibWl0VGltZXNoZWV0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxHZW5kZXJDb25maWd1cmF0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BheXJvbGxHZW5kZXJDb25maWd1cmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVPclJlamVjdEV4cGVuc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXBwcm92ZU9yUmVqZWN0RXhwZW5zZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RXN0aW1hdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VzdGltYXRlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhbnRlZW5QdXJjaGFzZXNTdW1tYXJ5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbnRlZW5QdXJjaGFzZXNTdW1tYXJ5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdWZW5kb3JzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdWZW5kb3JzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdVc2VycyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3VXNlcnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQm9hcmRUeXBlV29ya2Zsb3cgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQm9hcmRUeXBlV29ya2Zsb3cudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0ludm9pY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0ludm9pY2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTGVhdmVzUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0xlYXZlc1JlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2FsYXJ5RGV0YWlscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2FsYXJ5RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVXZWJBcHBVc2FnZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3RW1wbG95ZWVXZWJBcHBVc2FnZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3Um9zdGVyID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdSb3N0ZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRmVlZGJhY2sgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRmVlZGJhY2sudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfT2ZmZXJzQ3JlZGl0ZWRUb1VzZXJzU3VtbWFyeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9PZmZlcnNDcmVkaXRlZFRvVXNlcnNTdW1tYXJ5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1FhUGVyZm9ybWFuY2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUWFQZXJmb3JtYW5jZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BbGxvd2FuY2VUaW1lID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FsbG93YW5jZVRpbWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBdWRpdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUF1ZGl0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2plY3RSb2xlUGVybWlzc2lvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUHJvamVjdFJvbGVQZXJtaXNzaW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VNZXJjaGFudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VNZXJjaGFudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGREYXNoYm9hcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkRGFzaGJvYXJkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVHJhaW5pbmdDb3Vyc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVUcmFpbmluZ0NvdXJzZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9SZXNldE90aGVyc1Bhc3N3b3JkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Jlc2V0T3RoZXJzUGFzc3dvcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRW1wbG95ZWVSYXRlc2hlZXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRW1wbG95ZWVSYXRlc2hlZXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZUNvbnRhY3REZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVDb250YWN0RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QWxsRW1wbG95ZWVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBbGxFbXBsb3llZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTGVhdmVFbmNhc2htZW50U2V0dGluZ3MgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTGVhdmVFbmNhc2htZW50U2V0dGluZ3MudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlR29hbFJlcGxhblR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlR29hbFJlcGxhblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGVzdGNhc2VUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRlc3RjYXNlVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb21wYW55SW50cm9kdWNlZEJ5T3B0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUNvbXBhbnlJbnRyb2R1Y2VkQnlPcHRpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0VtcGxveWVlRW1lcmdlbmN5Q29udGFjdERldGFpbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlRW1lcmdlbmN5Q29udGFjdERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ29uZmlndXJlRW1wbG95ZWVQYXlyb2xsVGVtcGxhdGVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NvbmZpZ3VyZUVtcGxveWVlUGF5cm9sbFRlbXBsYXRlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5nZU5hdGlvbmFsaXRpZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuZ2VOYXRpb25hbGl0aWVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBcHBsaWNhdGlvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0FwcGxpY2F0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVFbXBsb3llZVRyYWNraW5nID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NvbmZpZ3VyZUVtcGxveWVlVHJhY2tpbmcudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVXNlckhpc3RvcmljYWxSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVXNlckhpc3RvcmljYWxSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWFpblVzZUNhc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTWFpblVzZUNhc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1VzZXJTdGF0dXNIaXN0b3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdVc2VyU3RhdHVzSGlzdG9yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VBY3Rpdml0eVNjcmVlbnNob3RzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUFjdGl2aXR5U2NyZWVuc2hvdHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlVGltZVpvbmUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlVGltZVpvbmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGFuZ3VhZ2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUxhbmd1YWdlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTdWJzY3JpcHRpb25QYWlkQnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU3Vic2NyaXB0aW9uUGFpZEJ5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NvbmR1Y3RGb3JtID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NvbmR1Y3RGb3JtLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0xhdGVFbXBsb3llZXNDb3VudFZzRGF0ZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9MYXRlRW1wbG95ZWVzQ291bnRWc0RhdGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXNzaWduQXNzZXRzVG9FbXBsb3llZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Bc3NpZ25Bc3NldHNUb0VtcGxveWVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlQXR0ZW5kZW5jZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FbXBsb3llZUF0dGVuZGVuY2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWN0aXZpdHlSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWN0aXZpdHlSZXBvcnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGV2UXVhbGl0eSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9EZXZRdWFsaXR5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FwcHJvdmVSb3N0ZXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXBwcm92ZVJvc3Rlci50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RmVlZGJhY2sgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0ZlZWRiYWNrLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0ltbWluZW50RGVhZGxpbmVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0ltbWluZW50RGVhZGxpbmVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVNZXNzYWdlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FyY2hpdmVNZXNzYWdlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVPclVuYXJjaGl2ZU1hc3RlclF1ZXN0aW9uVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcmNoaXZlT3JVbmFyY2hpdmVNYXN0ZXJRdWVzdGlvblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUm9vbVRlbXBlcmF0dXJlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1Jvb21UZW1wZXJhdHVyZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTaGlmdHRpbWluZyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTaGlmdHRpbWluZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3T3JNYW5hZ2VJbnZvaWNlU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdPck1hbmFnZUludm9pY2VTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5cm9sbFRlbXBsYXRlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBheXJvbGxUZW1wbGF0ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3QXVkaXRSZXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBdWRpdFJlcG9ydHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRWRpdFN0b3JlcyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9FZGl0U3RvcmVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBc3NldHNXaXRoQWR2YW5jZWRTZWFyY2ggPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0Fzc2V0c1dpdGhBZHZhbmNlZFNlYXJjaC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3UGVybWlzc2lvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1Blcm1pc3Npb25zLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FwcGxpY2F0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BcHBsaWNhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuQW5zd2VyUXVlc3Rpb25zID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhbkFuc3dlclF1ZXN0aW9ucy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9TdWJtaXRBdWRpdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9TdWJtaXRBdWRpdC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9QYXlyb2xsQnJhbmNoQ29uZmlndXJhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9QYXlyb2xsQnJhbmNoQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9Db25maWd1cmVQZXJmb3JtYW5jZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Db25maWd1cmVQZXJmb3JtYW5jZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTa2lsbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU2tpbGxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdMaXZlRGFzaGJvYXJkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdMaXZlRGFzaGJvYXJkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZEZvb2RPcmRlciA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRGb29kT3JkZXIudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfUGF5cm9sbFJ1bkVtcGxveWVlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1BheXJvbGxSdW5FbXBsb3llZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXltZW50VHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQYXltZW50VHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3RW1wbG95ZWVBcHBUcmFja2VyQ29tcGxldGVSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld0VtcGxveWVlQXBwVHJhY2tlckNvbXBsZXRlUmVwb3J0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUhyTWFuYWdlbWVudCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VIck1hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRW1wbG95ZWVUYXhBbGxvd2FuY2VEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlVGF4QWxsb3dhbmNlRGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3U3RhdHVzUmVwb3J0aW5nQ29uZmlndXJhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3U3RhdHVzUmVwb3J0aW5nQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9FbXBsb3llZUJvbnVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0VtcGxveWVlQm9udXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZVNoaWZ0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUVtcGxveWVlU2hpZnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdBbGxBZGhvY1dvcmtzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBbGxBZGhvY1dvcmtzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0VtcGxveWVlUmVzaWduYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRW1wbG95ZWVSZXNpZ25hdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9BZGRPckVkaXRDdXN0b21GaWVsZHNGb3JIck1hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JFZGl0Q3VzdG9tRmllbGRzRm9ySHJNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdGb29kT3JkZXJzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdGb29kT3JkZXJzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlRXN0aW1hdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFc3RpbWF0ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9EYXlzT2ZXZWVrQ29uZmlndXJhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9EYXlzT2ZXZWVrQ29uZmlndXJhdGlvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DYW5BY2Nlc3NQZXJmb3JtYW5jZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DYW5BY2Nlc3NQZXJmb3JtYW5jZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3T3ZlcmFsbEF1ZGl0QWN0aXZpdHkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld092ZXJhbGxBdWRpdEFjdGl2aXR5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1BheXJvbGxGcmVxdWVuY3kgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfUGF5cm9sbEZyZXF1ZW5jeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TW9udGhseVBheXJvbGxEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdNb250aGx5UGF5cm9sbERldGFpbHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfU25hcExpdmVEYXNoYm9hcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfU25hcExpdmVEYXNoYm9hcmQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0F1ZGl0Q29uZHVjdFRpbWVsaW5lUmVwb3J0ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdBdWRpdENvbmR1Y3RUaW1lbGluZVJlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VIb2xpZGF5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUhvbGlkYXkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3ltZW50Q29udHJhY3QgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3ltZW50Q29udHJhY3QudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0xpc3RPZkFzc2V0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3TGlzdE9mQXNzZXRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2plY3RUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVByb2plY3RUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0NhblZpZXdBdWRpdENvbXBsYWluY2VSZXBvcnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQ2FuVmlld0F1ZGl0Q29tcGxhaW5jZVJlcG9ydC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VEYXNoYm9hcmRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZURhc2hib2FyZHMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQ2FuVmlld051bWJlck9mQXVkaXRzU3VibWl0dGVkID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0NhblZpZXdOdW1iZXJPZkF1ZGl0c1N1Ym1pdHRlZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9UcmFpbmluZ01hbmFnZW1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVHJhaW5pbmdNYW5hZ2VtZW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1VwbG9hZEZpbGVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1VwbG9hZEZpbGVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1dvcmtBbGxvY2F0aW9uU3VtbWFyeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Xb3JrQWxsb2NhdGlvblN1bW1hcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVFbXBsb3llZU1lbWJlcnNoaXBzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlRW1wbG95ZWVNZW1iZXJzaGlwcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3TXlXb3JrV2l0aEFkdmFuY2VkU2VhcmNoID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdNeVdvcmtXaXRoQWR2YW5jZWRTZWFyY2gudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0NvbXBhbnlEZXRhaWxzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdDb21wYW55RGV0YWlscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9DaGF0RmlsZVVwbG9hZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSl7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9DaGF0RmlsZVVwbG9hZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NeVByb2plY3RXb3JrID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX015UHJvamVjdFdvcmsudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRGVsZXRlUGVybWlzc2lvbnMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfRGVsZXRlUGVybWlzc2lvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRXhwZW5zZUNhdGVnb3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUV4cGVuc2VDYXRlZ29yeS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9WaWV3VHJhaW5pbmdSZWNvcmQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RyYWluaW5nUmVjb3JkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ0NvdXJzZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUcmFpbmluZ0NvdXJzZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQXNzaWduT3JVbmFzc2lnblRyYWluaW5nQ291cnNlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Bc3NpZ25PclVuYXNzaWduVHJhaW5pbmdDb3Vyc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld1RyYWluaW5nQXNzaWdubWVudHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX1ZpZXdUcmFpbmluZ0Fzc2lnbm1lbnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ01hdHJpeCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RyYWluaW5nTWF0cml4LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FyY2hpdmVUcmFpbmluZ0NvdXJzZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfQXJjaGl2ZVRyYWluaW5nQ291cnNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX0FkZE9yVXBkYXRlVHJhaW5pbmdDb3Vyc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0FkZE9yVXBkYXRlVHJhaW5pbmdDb3Vyc2UudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVHJhaW5pbmdNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9UcmFpbmluZ01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQWRkT3JVcGRhdGVBc3NpZ25tZW50U3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9BZGRPclVwZGF0ZUFzc2lnbm1lbnRTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfRHJhZ0FwcHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX0RyYWdBcHBzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1ZpZXdUcmFpbmluZ1JlY29yZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfVmlld1RyYWluaW5nUmVjb3JkLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFjY2Vzc2libGVJcEFkcmVzc2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBY2Nlc3NpYmxlSXBBZHJlc3Nlcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VDb21wYW55SW50cm9kdWNlZEJ5T3B0aW9uID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VDb21wYW55SW50cm9kdWNlZEJ5T3B0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbXBhbnlMb2NhdGlvbiA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ29tcGFueUxvY2F0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURhdGVGb3JtYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZURhdGVGb3JtYXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWFpblVzZUNhc2UgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU1haW5Vc2VDYXNlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU51bWJlckZvcm1hdCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlTnVtYmVyRm9ybWF0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRpbWVGb3JtYXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRpbWVGb3JtYXQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRXhwZW5zZUNhdGVnb3J5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VFeHBlbnNlQ2F0ZWdvcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTWVyY2hhbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU1lcmNoYW50LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUJyYW5jaCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQnJhbmNoLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvbnRyYWN0VHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlQ29udHJhY3RUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUNvdW50cnkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUNvdW50cnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQ3VycmVuY3kgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUN1cnJlbmN5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZURlcGFydG1lbnQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZURlcGFydG1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlRGVzaWduYXRpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZURlc2lnbmF0aW9uLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVkdWNhdGlvbkxldmVscyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRWR1Y2F0aW9uTGV2ZWxzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUVtcGxveW1lbnRUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VFbXBsb3ltZW50VHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VKb2JDYXRlZ29yeSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlSm9iQ2F0ZWdvcnkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGFuZ3VhZ2VzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VMYW5ndWFnZXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlTGljZW5jZVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUxpY2VuY2VUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZU1lbWJlcnNoaXBzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VNZW1iZXJzaGlwcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5nZU5hdGlvbmFsaXRpZXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmdlTmF0aW9uYWxpdGllcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXlncmFkZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5Z3JhZGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5RnJlcXVlbmN5ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VQYXlGcmVxdWVuY3kudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGF5bWVudE1ldGhvZCA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5bWVudE1ldGhvZC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQYXltZW50VHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUGF5bWVudFR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlUGVha0hvdXIgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBlYWtIb3VyLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVJhdGVUeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VSYXRlVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSYXRlU2hlZXQgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVJhdGVTaGVldC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZWdpb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVJlZ2lvbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VSZXBvcnRpbmdNZXRob2RzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VSZXBvcnRpbmdNZXRob2RzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVNoaWZ0dGltaW5nID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTaGlmdHRpbWluZy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTa2lsbHMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVNraWxscy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTb2Z0TGFiZWxDb25maWd1cmF0aW9ucyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU29mdExhYmVsQ29uZmlndXJhdGlvbnMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3RhdGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVN0YXRlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRpbWVab25lID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUaW1lWm9uZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VXZWJob29rID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXZWJob29rLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUFwcFNldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBcHBTZXR0aW5ncy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUaW1lQ29uZmlndXJhdGlvblNldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUaW1lQ29uZmlndXJhdGlvblNldHRpbmdzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUZvcm1UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VGb3JtVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZUF1dG9tYXRpb25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZUF1dG9tYXRpb25UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVRlc3RjYXNlU3RhdHVzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZVN0YXR1cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VUZXN0Y2FzZVR5cGUgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVRlc3RjYXNlVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VCdXR0b25UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VCdXR0b25UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUZlZWRCYWNrVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlRmVlZEJhY2tUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVBlcm1pc3Npb25SZWFzb24gPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVBlcm1pc3Npb25SZWFzb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfQm9hcmRUeXBlQXBpID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Cb2FyZFR5cGVBcGkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQm9hcmRUeXBlV29ya2Zsb3cgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJvYXJkVHlwZVdvcmtmbG93LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVByb2Nlc3NEYXNoYm9hcmRTdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVByb2Nlc3NEYXNoYm9hcmRTdGF0dXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfV29ya2Zsb3dNYW5hZ2VtZW50ID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9Xb3JrZmxvd01hbmFnZW1lbnQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQnVnUHJpb3JpdHkgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZUJ1Z1ByaW9yaXR5LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZUdvYWxSZXBsYW5UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VHb2FsUmVwbGFuVHlwZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VQcm9qZWN0VHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlUHJvamVjdFR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1SZXBsYW5UeXBlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VXb3JrSXRlbVJlcGxhblR5cGUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlV29ya0l0ZW1TdGF0dXMgPSBfLmZpbmQocm9sZXMsIGZ1bmN0aW9uIChyb2xlOiBhbnkpIHsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZVdvcmtJdGVtU3RhdHVzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtU3ViVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlV29ya0l0ZW1TdWJUeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX01hbmFnZVdvcmtJdGVtVHlwZSA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlV29ya0l0ZW1UeXBlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcblxuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlU3lzdGVtRXhwb3J0cyA9IF8uZmluZChyb2xlcywgZnVuY3Rpb24gKHJvbGU6IGFueSkgeyByZXR1cm4gcm9sZS5mZWF0dXJlSWQudG9Mb3dlckNhc2UoKSA9PSBGZWF0dXJlSWRzLkZlYXR1cmVfTWFuYWdlU3lzdGVtRXhwb3J0cy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7IH0pICE9IG51bGw7XG4gICAgdGhpcy5jYW5BY2Nlc3NfZmVhdHVyZV9NYW5hZ2VTeXN0ZW1JbXBvcnRzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VTeXN0ZW1JbXBvcnRzLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTsgfSkgIT0gbnVsbDtcbiAgICB0aGlzLmNhbkFjY2Vzc19mZWF0dXJlX1NldHRpbmdzID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KXsgcmV0dXJuIHJvbGUuZmVhdHVyZUlkLnRvTG93ZXJDYXNlKCkgPT0gRmVhdHVyZUlkcy5GZWF0dXJlX01hbmFnZU92ZXJBbGxDb21wYW55U2V0dGluZ3MudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfTWFuYWdlQWNjb3VudHNBbmRCaWxsaW5nID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9NYW5hZ2VBY2NvdW50c0FuZEJpbGxpbmcudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuICAgIHRoaXMuY2FuQWNjZXNzX2ZlYXR1cmVfVmlld0FjdGl2aXR5UmVwb3J0c0ZvckFsbEVtcGxveWVlID0gXy5maW5kKHJvbGVzLCBmdW5jdGlvbiAocm9sZTogYW55KSB7IHJldHVybiByb2xlLmZlYXR1cmVJZC50b0xvd2VyQ2FzZSgpID09IEZlYXR1cmVJZHMuRmVhdHVyZV9WaWV3QWN0aXZpdHlSZXBvcnRzRm9yQWxsRW1wbG95ZWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpOyB9KSAhPSBudWxsO1xuXG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvZ05hdmlnYXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBsb2dFcnJvcihlcnJvck1lc3NhZ2U6IHN0cmluZykge1xuXG4gIH1cblxuICBwcml2YXRlIGxvZ05hdmlnYXRpb24oKSB7XG4gIH1cbn1cbiJdfQ==
|