oxygen-cli 1.40.1 → 1.40.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1742 -1742
- package/LICENSE +672 -672
- package/README.md +37 -37
- package/build/core/OxygenCore.js +1 -1
- package/build/core/OxygenEvents.js +1 -1
- package/build/core/OxygenModule.js +1 -1
- package/build/core/OxygenService.js +1 -1
- package/build/core/OxygenSubModule.js +1 -1
- package/build/core/WebDriverModule.js +1 -1
- package/build/core/utils.js +1 -1
- package/build/errors/HookError.js +1 -1
- package/build/errors/ModuleError.js +1 -1
- package/build/errors/ModuleUnavailableError.js +1 -1
- package/build/errors/OxygenError.js +1 -1
- package/build/errors/ScriptNotFound.js +1 -1
- package/build/errors/helper.js +2 -1
- package/build/index.js +1 -1
- package/build/lib/cli-util.js +5 -1
- package/build/lib/debugger.js +1 -1
- package/build/lib/img-merge.js +1 -1
- package/build/lib/launcher.js +1 -1
- package/build/lib/logger.js +43 -43
- package/build/lib/moduleRequire.js +1 -1
- package/build/lib/parallel-launcher.js +1 -1
- package/build/lib/param-manager.js +1 -1
- package/build/lib/param-reader-csv.js +1 -1
- package/build/lib/param-reader-excel.js +1 -1
- package/build/lib/param-reader-json.js +1 -1
- package/build/lib/text-to-image.js +1 -1
- package/build/lib/util.js +1 -1
- package/build/model/case-result.js +1 -1
- package/build/model/failure.js +1 -1
- package/build/model/status.js +1 -1
- package/build/model/step-result.js +1 -1
- package/build/model/suite-result.js +1 -1
- package/build/model/test-result.js +1 -1
- package/build/model/testcase.js +1 -1
- package/build/model/testsuite.js +1 -1
- package/build/ox_modules/index.js +9 -1
- package/build/ox_modules/module-assert.js +37 -37
- package/build/ox_modules/module-date.js +24 -24
- package/build/ox_modules/module-db.js +52 -52
- package/build/ox_modules/module-email.js +59 -59
- package/build/ox_modules/module-eyes.js +34 -34
- package/build/ox_modules/module-http/ntlm-util.js +10 -10
- package/build/ox_modules/module-http/ntlm.js +15 -15
- package/build/ox_modules/module-http.js +132 -132
- package/build/ox_modules/module-log.js +27 -27
- package/build/ox_modules/module-mailinator.js +87 -87
- package/build/ox_modules/module-mob/commands/alertAccept.js +17 -17
- package/build/ox_modules/module-mob/commands/alertDismiss.js +17 -17
- package/build/ox_modules/module-mob/commands/assertAlert.js +20 -20
- package/build/ox_modules/module-mob/commands/assertText.js +21 -21
- package/build/ox_modules/module-mob/commands/assertTitle.js +19 -19
- package/build/ox_modules/module-mob/commands/assertValue.js +18 -18
- package/build/ox_modules/module-mob/commands/back.js +16 -16
- package/build/ox_modules/module-mob/commands/clear.js +19 -19
- package/build/ox_modules/module-mob/commands/click.js +17 -17
- package/build/ox_modules/module-mob/commands/clickHidden.js +17 -17
- package/build/ox_modules/module-mob/commands/clickLong.js +18 -18
- package/build/ox_modules/module-mob/commands/clickMultipleTimes.js +18 -18
- package/build/ox_modules/module-mob/commands/closeApp.js +16 -16
- package/build/ox_modules/module-mob/commands/debug.js +16 -16
- package/build/ox_modules/module-mob/commands/dragAndDrop.js +19 -19
- package/build/ox_modules/module-mob/commands/enableNetwork.js +27 -27
- package/build/ox_modules/module-mob/commands/execute.js +21 -21
- package/build/ox_modules/module-mob/commands/findElement.js +20 -20
- package/build/ox_modules/module-mob/commands/findElements.js +23 -23
- package/build/ox_modules/module-mob/commands/getAlertText.js +17 -17
- package/build/ox_modules/module-mob/commands/getAppiumLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getBrowserLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getCurrentActivity.js +15 -15
- package/build/ox_modules/module-mob/commands/getCurrentPackage.js +15 -15
- package/build/ox_modules/module-mob/commands/getDeviceLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getDeviceTime.js +16 -16
- package/build/ox_modules/module-mob/commands/getLocation.js +20 -20
- package/build/ox_modules/module-mob/commands/getSource.js +16 -16
- package/build/ox_modules/module-mob/commands/getText.js +18 -18
- package/build/ox_modules/module-mob/commands/getTitle.js +13 -13
- package/build/ox_modules/module-mob/commands/getUrl.js +17 -17
- package/build/ox_modules/module-mob/commands/getValue.js +18 -18
- package/build/ox_modules/module-mob/commands/getWindowHandles.js +17 -17
- package/build/ox_modules/module-mob/commands/hideKeyboard.js +21 -21
- package/build/ox_modules/module-mob/commands/index.js +1 -1
- package/build/ox_modules/module-mob/commands/installApp.js +16 -16
- package/build/ox_modules/module-mob/commands/isAppInstalled.js +16 -16
- package/build/ox_modules/module-mob/commands/isCheckable.js +18 -18
- package/build/ox_modules/module-mob/commands/isChecked.js +18 -18
- package/build/ox_modules/module-mob/commands/isClickable.js +18 -18
- package/build/ox_modules/module-mob/commands/isExist.js +19 -19
- package/build/ox_modules/module-mob/commands/isSelected.js +23 -23
- package/build/ox_modules/module-mob/commands/isVisible.js +19 -19
- package/build/ox_modules/module-mob/commands/isWebViewContext.js +16 -16
- package/build/ox_modules/module-mob/commands/launchApp.js +15 -15
- package/build/ox_modules/module-mob/commands/longPressKeyCode.js +18 -18
- package/build/ox_modules/module-mob/commands/open.js +17 -17
- package/build/ox_modules/module-mob/commands/pause.js +16 -16
- package/build/ox_modules/module-mob/commands/removeApp.js +16 -16
- package/build/ox_modules/module-mob/commands/resetApp.js +15 -15
- package/build/ox_modules/module-mob/commands/scrollIntoElement.js +22 -22
- package/build/ox_modules/module-mob/commands/scrollIntoView.js +27 -27
- package/build/ox_modules/module-mob/commands/select.js +24 -24
- package/build/ox_modules/module-mob/commands/selectFrame.js +23 -23
- package/build/ox_modules/module-mob/commands/selectWindow.js +28 -28
- package/build/ox_modules/module-mob/commands/sendKeys.js +29 -29
- package/build/ox_modules/module-mob/commands/setContext.js +16 -16
- package/build/ox_modules/module-mob/commands/setNativeContext.js +15 -15
- package/build/ox_modules/module-mob/commands/setTimeout.js +21 -21
- package/build/ox_modules/module-mob/commands/setWebViewContext.js +16 -16
- package/build/ox_modules/module-mob/commands/shake.js +16 -16
- package/build/ox_modules/module-mob/commands/smsClickLink.js +19 -19
- package/build/ox_modules/module-mob/commands/smsGetText.js +20 -20
- package/build/ox_modules/module-mob/commands/swipe.js +20 -20
- package/build/ox_modules/module-mob/commands/swipeElement.js +20 -20
- package/build/ox_modules/module-mob/commands/swipeScreen.js +20 -20
- package/build/ox_modules/module-mob/commands/takeScreenshot.js +17 -17
- package/build/ox_modules/module-mob/commands/tap.js +17 -17
- package/build/ox_modules/module-mob/commands/type.js +20 -20
- package/build/ox_modules/module-mob/commands/unlockPattern.js +22 -22
- package/build/ox_modules/module-mob/commands/waitForExist.js +18 -18
- package/build/ox_modules/module-mob/commands/waitForInteractable.js +17 -17
- package/build/ox_modules/module-mob/commands/waitForVisible.js +17 -17
- package/build/ox_modules/module-mob.js +74 -74
- package/build/ox_modules/module-mongo.js +302 -0
- package/build/ox_modules/module-pdf.js +35 -35
- package/build/ox_modules/module-proxy.js +77 -77
- package/build/ox_modules/module-serial.js +55 -55
- package/build/ox_modules/module-shell.js +25 -25
- package/build/ox_modules/module-soap.js +72 -72
- package/build/ox_modules/module-twilio.js +41 -41
- package/build/ox_modules/module-utils.js +91 -91
- package/build/ox_modules/module-web/commands/alertAccept.js +17 -17
- package/build/ox_modules/module-web/commands/alertDismiss.js +17 -17
- package/build/ox_modules/module-web/commands/assertAlert.js +20 -20
- package/build/ox_modules/module-web/commands/assertExist.js +17 -17
- package/build/ox_modules/module-web/commands/assertSelectedLabel.js +21 -21
- package/build/ox_modules/module-web/commands/assertSelectedValue.js +21 -21
- package/build/ox_modules/module-web/commands/assertText.js +21 -21
- package/build/ox_modules/module-web/commands/assertTextNotPresent.js +18 -18
- package/build/ox_modules/module-web/commands/assertTextPresent.js +18 -18
- package/build/ox_modules/module-web/commands/assertTitle.js +19 -19
- package/build/ox_modules/module-web/commands/assertValue.js +20 -20
- package/build/ox_modules/module-web/commands/back.js +16 -16
- package/build/ox_modules/module-web/commands/clear.js +18 -18
- package/build/ox_modules/module-web/commands/click.js +25 -25
- package/build/ox_modules/module-web/commands/clickHidden.js +23 -23
- package/build/ox_modules/module-web/commands/closeWindow.js +15 -15
- package/build/ox_modules/module-web/commands/debug.js +15 -15
- package/build/ox_modules/module-web/commands/deleteCookies.js +12 -12
- package/build/ox_modules/module-web/commands/deselect.js +22 -22
- package/build/ox_modules/module-web/commands/doubleClick.js +17 -17
- package/build/ox_modules/module-web/commands/dragAndDrop.js +20 -20
- package/build/ox_modules/module-web/commands/execute.js +24 -24
- package/build/ox_modules/module-web/commands/fileBrowse.js +18 -18
- package/build/ox_modules/module-web/commands/findElement.js +19 -19
- package/build/ox_modules/module-web/commands/findElements.js +22 -22
- package/build/ox_modules/module-web/commands/fullscreenWindow.js +14 -14
- package/build/ox_modules/module-web/commands/getAlertText.js +16 -16
- package/build/ox_modules/module-web/commands/getAttribute.js +19 -19
- package/build/ox_modules/module-web/commands/getBrowserLogs.js +17 -17
- package/build/ox_modules/module-web/commands/getCookies.js +13 -13
- package/build/ox_modules/module-web/commands/getCssValue.js +19 -19
- package/build/ox_modules/module-web/commands/getElementCount.js +17 -17
- package/build/ox_modules/module-web/commands/getHTML.js +17 -17
- package/build/ox_modules/module-web/commands/getSource.js +16 -16
- package/build/ox_modules/module-web/commands/getText.js +18 -18
- package/build/ox_modules/module-web/commands/getTitle.js +12 -12
- package/build/ox_modules/module-web/commands/getUrl.js +16 -16
- package/build/ox_modules/module-web/commands/getValue.js +18 -18
- package/build/ox_modules/module-web/commands/getWindowHandles.js +16 -16
- package/build/ox_modules/module-web/commands/getWindowSize.js +16 -16
- package/build/ox_modules/module-web/commands/getXMLPageSource.js +16 -16
- package/build/ox_modules/module-web/commands/index.js +1 -1
- package/build/ox_modules/module-web/commands/isAlertPresent.js +16 -16
- package/build/ox_modules/module-web/commands/isChecked.js +18 -18
- package/build/ox_modules/module-web/commands/isExist.js +19 -19
- package/build/ox_modules/module-web/commands/isInteractable.js +22 -22
- package/build/ox_modules/module-web/commands/isSelected.js +23 -23
- package/build/ox_modules/module-web/commands/isVisible.js +19 -19
- package/build/ox_modules/module-web/commands/makeVisible.js +25 -25
- package/build/ox_modules/module-web/commands/maximizeWindow.js +14 -14
- package/build/ox_modules/module-web/commands/minimizeWindow.js +14 -14
- package/build/ox_modules/module-web/commands/mock.js +20 -20
- package/build/ox_modules/module-web/commands/mockClearAll.js +12 -12
- package/build/ox_modules/module-web/commands/mockRestoreAll.js +12 -12
- package/build/ox_modules/module-web/commands/newWindow.js +16 -16
- package/build/ox_modules/module-web/commands/open.js +16 -16
- package/build/ox_modules/module-web/commands/pause.js +15 -15
- package/build/ox_modules/module-web/commands/point.js +21 -21
- package/build/ox_modules/module-web/commands/pointJS.js +15 -15
- package/build/ox_modules/module-web/commands/refresh.js +15 -15
- package/build/ox_modules/module-web/commands/rightClick.js +17 -17
- package/build/ox_modules/module-web/commands/rightClickActions.js +19 -19
- package/build/ox_modules/module-web/commands/scrollToElement.js +21 -21
- package/build/ox_modules/module-web/commands/select.js +23 -23
- package/build/ox_modules/module-web/commands/selectFrame.js +24 -24
- package/build/ox_modules/module-web/commands/selectWindow.js +27 -27
- package/build/ox_modules/module-web/commands/sendKeys.js +22 -22
- package/build/ox_modules/module-web/commands/setAutoWaitForAngular.js +20 -20
- package/build/ox_modules/module-web/commands/setTimeout.js +21 -21
- package/build/ox_modules/module-web/commands/setWindowSize.js +17 -17
- package/build/ox_modules/module-web/commands/takeScreenshot.js +17 -17
- package/build/ox_modules/module-web/commands/type.js +20 -20
- package/build/ox_modules/module-web/commands/verifyAlert.js +20 -20
- package/build/ox_modules/module-web/commands/verifyExist.js +17 -17
- package/build/ox_modules/module-web/commands/verifySelectedLabel.js +21 -21
- package/build/ox_modules/module-web/commands/verifySelectedValue.js +21 -21
- package/build/ox_modules/module-web/commands/verifyText.js +21 -21
- package/build/ox_modules/module-web/commands/verifyTextNotPresent.js +18 -18
- package/build/ox_modules/module-web/commands/verifyTextPresent.js +18 -18
- package/build/ox_modules/module-web/commands/verifyTitle.js +19 -19
- package/build/ox_modules/module-web/commands/verifyValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForAngular.js +19 -19
- package/build/ox_modules/module-web/commands/waitForExist.js +17 -17
- package/build/ox_modules/module-web/commands/waitForInteractable.js +17 -17
- package/build/ox_modules/module-web/commands/waitForNotExist.js +17 -17
- package/build/ox_modules/module-web/commands/waitForNotText.js +20 -20
- package/build/ox_modules/module-web/commands/waitForNotValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForText.js +20 -20
- package/build/ox_modules/module-web/commands/waitForValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForVisible.js +17 -17
- package/build/ox_modules/module-web/commands/waitForWindow.js +22 -22
- package/build/ox_modules/module-web.js +94 -94
- package/build/ox_modules/module-win/commands/assertText.js +17 -17
- package/build/ox_modules/module-win/commands/assertTitle.js +15 -15
- package/build/ox_modules/module-win/commands/assertValue.js +14 -14
- package/build/ox_modules/module-win/commands/back.js +11 -11
- package/build/ox_modules/module-win/commands/clear.js +13 -13
- package/build/ox_modules/module-win/commands/click.js +13 -13
- package/build/ox_modules/module-win/commands/clickLong.js +14 -14
- package/build/ox_modules/module-win/commands/clickMultipleTimes.js +14 -14
- package/build/ox_modules/module-win/commands/findElement.js +15 -15
- package/build/ox_modules/module-win/commands/findElements.js +15 -15
- package/build/ox_modules/module-win/commands/getAppiumLogs.js +12 -12
- package/build/ox_modules/module-win/commands/getCurrentWindowHandle.js +15 -15
- package/build/ox_modules/module-win/commands/getLocation.js +14 -14
- package/build/ox_modules/module-win/commands/getSource.js +12 -12
- package/build/ox_modules/module-win/commands/getText.js +14 -14
- package/build/ox_modules/module-win/commands/getValue.js +14 -14
- package/build/ox_modules/module-win/commands/getWindowHandles.js +15 -15
- package/build/ox_modules/module-win/commands/index.js +1 -1
- package/build/ox_modules/module-win/commands/isCheckable.js +14 -14
- package/build/ox_modules/module-win/commands/isChecked.js +14 -14
- package/build/ox_modules/module-win/commands/isClickable.js +14 -14
- package/build/ox_modules/module-win/commands/isExist.js +15 -15
- package/build/ox_modules/module-win/commands/isSelected.js +14 -14
- package/build/ox_modules/module-win/commands/isVisible.js +15 -15
- package/build/ox_modules/module-win/commands/open.js +13 -13
- package/build/ox_modules/module-win/commands/pause.js +12 -12
- package/build/ox_modules/module-win/commands/rightClick.js +13 -13
- package/build/ox_modules/module-win/commands/selectWindow.js +23 -23
- package/build/ox_modules/module-win/commands/sendKeys.js +22 -22
- package/build/ox_modules/module-win/commands/setTimeout.js +17 -17
- package/build/ox_modules/module-win/commands/takeScreenshot.js +16 -16
- package/build/ox_modules/module-win/commands/tap.js +13 -13
- package/build/ox_modules/module-win/commands/type.js +16 -16
- package/build/ox_modules/module-win/commands/waitForExist.js +14 -14
- package/build/ox_modules/module-win/commands/waitForInteractable.js +16 -16
- package/build/ox_modules/module-win/commands/waitForVisible.js +13 -13
- package/build/ox_modules/module-win.js +47 -47
- package/build/ox_modules/utils.js +8 -8
- package/build/ox_reporters/excel/template.json +48 -48
- package/build/ox_reporters/html/index.ejs +163 -163
- package/build/ox_reporters/html/summary.ejs +77 -77
- package/build/ox_reporters/html/tests-details.ejs +134 -134
- package/build/ox_reporters/html/tests-devices-browsers.ejs +83 -83
- package/build/ox_reporters/reporter-excel.js +1 -1
- package/build/ox_reporters/reporter-html.js +1 -1
- package/build/ox_reporters/reporter-json.js +1 -1
- package/build/ox_reporters/reporter-junit.js +1 -1
- package/build/ox_reporters/reporter-pdf.js +1 -1
- package/build/ox_reporters/reporter-rp.js +1 -1
- package/build/ox_reporters/reporter-xml.js +1 -1
- package/build/ox_services/service-devtools/submodule-network.js +1 -1
- package/build/ox_services/service-devtools.js +1 -1
- package/build/reporter/FileReporterBase.js +1 -1
- package/build/reporter/ReportAggregator.js +13 -5
- package/build/reporter/ReporterBase.js +1 -1
- package/build/reporter/WebSocketReporter.js +1 -1
- package/build/runners/WorkerProcess.js +1 -1
- package/build/runners/cucumber/CucumberEventListener.js +1 -1
- package/build/runners/cucumber/CucumberReporter.js +1 -1
- package/build/runners/cucumber/CucumberWorker.js +1 -1
- package/build/runners/cucumber/index.js +1 -1
- package/build/runners/cucumber/worker.js +1 -1
- package/build/runners/index.js +1 -1
- package/build/runners/oxygen/OxygenWorker.js +1 -1
- package/build/runners/oxygen/index.js +1 -1
- package/build/runners/oxygen/worker.js +1 -1
- package/config/default.json +6 -6
- package/log.txt +1614 -0
- package/package.json +139 -137
- package/reports/2025-06-08_231627/report.html +440 -0
- package/reports/2025-06-09_223615/report.html +440 -0
- package/transpiled/mongodb/etc/prepare.js +18 -0
- package/transpiled/mongodb/lib/admin.js +182 -0
- package/transpiled/mongodb/lib/beta.js +26 -0
- package/transpiled/mongodb/lib/bson.js +220 -0
- package/transpiled/mongodb/lib/bulk/common.js +1041 -0
- package/transpiled/mongodb/lib/bulk/ordered.js +76 -0
- package/transpiled/mongodb/lib/bulk/unordered.js +102 -0
- package/transpiled/mongodb/lib/change_stream.js +517 -0
- package/transpiled/mongodb/lib/client-side-encryption/auto_encrypter.js +329 -0
- package/transpiled/mongodb/lib/client-side-encryption/client_encryption.js +779 -0
- package/transpiled/mongodb/lib/client-side-encryption/crypto_callbacks.js +95 -0
- package/transpiled/mongodb/lib/client-side-encryption/errors.js +171 -0
- package/transpiled/mongodb/lib/client-side-encryption/mongocryptd_manager.js +98 -0
- package/transpiled/mongodb/lib/client-side-encryption/providers/aws.js +34 -0
- package/transpiled/mongodb/lib/client-side-encryption/providers/azure.js +186 -0
- package/transpiled/mongodb/lib/client-side-encryption/providers/gcp.js +29 -0
- package/transpiled/mongodb/lib/client-side-encryption/providers/index.js +58 -0
- package/transpiled/mongodb/lib/client-side-encryption/state_machine.js +505 -0
- package/transpiled/mongodb/lib/cmap/auth/auth_provider.js +63 -0
- package/transpiled/mongodb/lib/cmap/auth/aws_temporary_credentials.js +167 -0
- package/transpiled/mongodb/lib/cmap/auth/gssapi.js +207 -0
- package/transpiled/mongodb/lib/cmap/auth/mongo_credentials.js +193 -0
- package/transpiled/mongodb/lib/cmap/auth/mongodb_aws.js +181 -0
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/automated_callback_workflow.js +101 -0
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js +81 -0
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/callback_workflow.js +174 -0
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/command_builders.js +59 -0
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js +58 -0
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/human_callback_workflow.js +138 -0
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js +42 -0
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_cache.js +71 -0
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js +34 -0
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc.js +111 -0
- package/transpiled/mongodb/lib/cmap/auth/plain.js +43 -0
- package/transpiled/mongodb/lib/cmap/auth/providers.js +22 -0
- package/transpiled/mongodb/lib/cmap/auth/scram.js +318 -0
- package/transpiled/mongodb/lib/cmap/auth/x509.js +61 -0
- package/transpiled/mongodb/lib/cmap/command_monitoring_events.js +266 -0
- package/transpiled/mongodb/lib/cmap/commands.js +605 -0
- package/transpiled/mongodb/lib/cmap/connect.js +418 -0
- package/transpiled/mongodb/lib/cmap/connection.js +673 -0
- package/transpiled/mongodb/lib/cmap/connection_pool.js +688 -0
- package/transpiled/mongodb/lib/cmap/connection_pool_events.js +254 -0
- package/transpiled/mongodb/lib/cmap/errors.js +128 -0
- package/transpiled/mongodb/lib/cmap/handshake/client_metadata.js +278 -0
- package/transpiled/mongodb/lib/cmap/metrics.js +67 -0
- package/transpiled/mongodb/lib/cmap/stream_description.js +74 -0
- package/transpiled/mongodb/lib/cmap/wire_protocol/compression.js +196 -0
- package/transpiled/mongodb/lib/cmap/wire_protocol/constants.js +19 -0
- package/transpiled/mongodb/lib/cmap/wire_protocol/on_data.js +144 -0
- package/transpiled/mongodb/lib/cmap/wire_protocol/on_demand/document.js +278 -0
- package/transpiled/mongodb/lib/cmap/wire_protocol/responses.js +376 -0
- package/transpiled/mongodb/lib/cmap/wire_protocol/shared.js +49 -0
- package/transpiled/mongodb/lib/collection.js +852 -0
- package/transpiled/mongodb/lib/connection_string.js +1452 -0
- package/transpiled/mongodb/lib/constants.js +162 -0
- package/transpiled/mongodb/lib/cursor/abstract_cursor.js +1082 -0
- package/transpiled/mongodb/lib/cursor/aggregation_cursor.js +227 -0
- package/transpiled/mongodb/lib/cursor/change_stream_cursor.js +136 -0
- package/transpiled/mongodb/lib/cursor/client_bulk_write_cursor.js +69 -0
- package/transpiled/mongodb/lib/cursor/find_cursor.js +476 -0
- package/transpiled/mongodb/lib/cursor/list_collections_cursor.js +48 -0
- package/transpiled/mongodb/lib/cursor/list_indexes_cursor.js +46 -0
- package/transpiled/mongodb/lib/cursor/list_search_indexes_cursor.js +30 -0
- package/transpiled/mongodb/lib/cursor/run_command_cursor.js +125 -0
- package/transpiled/mongodb/lib/db.js +467 -0
- package/transpiled/mongodb/lib/deps.js +174 -0
- package/transpiled/mongodb/lib/encrypter.js +129 -0
- package/transpiled/mongodb/lib/error.js +1550 -0
- package/transpiled/mongodb/lib/explain.js +122 -0
- package/transpiled/mongodb/lib/gridfs/download.js +369 -0
- package/transpiled/mongodb/lib/gridfs/index.js +240 -0
- package/transpiled/mongodb/lib/gridfs/upload.js +446 -0
- package/transpiled/mongodb/lib/index.js +975 -0
- package/transpiled/mongodb/lib/mongo_client.js +626 -0
- package/transpiled/mongodb/lib/mongo_client_auth_providers.js +98 -0
- package/transpiled/mongodb/lib/mongo_logger.js +812 -0
- package/transpiled/mongodb/lib/mongo_types.js +71 -0
- package/transpiled/mongodb/lib/operations/aggregate.js +129 -0
- package/transpiled/mongodb/lib/operations/bulk_write.js +48 -0
- package/transpiled/mongodb/lib/operations/client_bulk_write/client_bulk_write.js +96 -0
- package/transpiled/mongodb/lib/operations/client_bulk_write/command_builder.js +409 -0
- package/transpiled/mongodb/lib/operations/client_bulk_write/common.js +5 -0
- package/transpiled/mongodb/lib/operations/client_bulk_write/executor.js +144 -0
- package/transpiled/mongodb/lib/operations/client_bulk_write/results_merger.js +228 -0
- package/transpiled/mongodb/lib/operations/collections.js +49 -0
- package/transpiled/mongodb/lib/operations/command.js +102 -0
- package/transpiled/mongodb/lib/operations/count.js +60 -0
- package/transpiled/mongodb/lib/operations/create_collection.js +109 -0
- package/transpiled/mongodb/lib/operations/delete.js +134 -0
- package/transpiled/mongodb/lib/operations/distinct.js +77 -0
- package/transpiled/mongodb/lib/operations/drop.js +102 -0
- package/transpiled/mongodb/lib/operations/estimated_document_count.js +47 -0
- package/transpiled/mongodb/lib/operations/execute_operation.js +251 -0
- package/transpiled/mongodb/lib/operations/find.js +197 -0
- package/transpiled/mongodb/lib/operations/find_and_modify.js +191 -0
- package/transpiled/mongodb/lib/operations/get_more.js +84 -0
- package/transpiled/mongodb/lib/operations/indexes.js +197 -0
- package/transpiled/mongodb/lib/operations/insert.js +138 -0
- package/transpiled/mongodb/lib/operations/is_capped.js +44 -0
- package/transpiled/mongodb/lib/operations/kill_cursors.js +58 -0
- package/transpiled/mongodb/lib/operations/list_collections.js +66 -0
- package/transpiled/mongodb/lib/operations/list_databases.js +56 -0
- package/transpiled/mongodb/lib/operations/operation.js +88 -0
- package/transpiled/mongodb/lib/operations/options_operation.js +44 -0
- package/transpiled/mongodb/lib/operations/profiling_level.js +42 -0
- package/transpiled/mongodb/lib/operations/remove_user.js +35 -0
- package/transpiled/mongodb/lib/operations/rename.js +48 -0
- package/transpiled/mongodb/lib/operations/run_command.js +64 -0
- package/transpiled/mongodb/lib/operations/search_indexes/create.js +41 -0
- package/transpiled/mongodb/lib/operations/search_indexes/drop.js +51 -0
- package/transpiled/mongodb/lib/operations/search_indexes/update.js +40 -0
- package/transpiled/mongodb/lib/operations/set_profiling_level.js +70 -0
- package/transpiled/mongodb/lib/operations/stats.js +39 -0
- package/transpiled/mongodb/lib/operations/update.js +218 -0
- package/transpiled/mongodb/lib/operations/validate_collection.js +49 -0
- package/transpiled/mongodb/lib/read_concern.js +92 -0
- package/transpiled/mongodb/lib/read_preference.js +215 -0
- package/transpiled/mongodb/lib/resource_management.js +74 -0
- package/transpiled/mongodb/lib/sdam/common.js +53 -0
- package/transpiled/mongodb/lib/sdam/events.js +177 -0
- package/transpiled/mongodb/lib/sdam/monitor.js +656 -0
- package/transpiled/mongodb/lib/sdam/server.js +463 -0
- package/transpiled/mongodb/lib/sdam/server_description.js +196 -0
- package/transpiled/mongodb/lib/sdam/server_selection.js +283 -0
- package/transpiled/mongodb/lib/sdam/server_selection_events.js +112 -0
- package/transpiled/mongodb/lib/sdam/srv_polling.js +139 -0
- package/transpiled/mongodb/lib/sdam/topology.js +833 -0
- package/transpiled/mongodb/lib/sdam/topology_description.js +447 -0
- package/transpiled/mongodb/lib/sessions.js +988 -0
- package/transpiled/mongodb/lib/sort.js +123 -0
- package/transpiled/mongodb/lib/timeout.js +349 -0
- package/transpiled/mongodb/lib/transactions.js +149 -0
- package/transpiled/mongodb/lib/utils.js +1502 -0
- package/transpiled/mongodb/lib/write_concern.js +115 -0
- package/types/index.d.ts +70 -70
- package/types/module-eyes.d.ts +39 -39
- package/types/module-http.d.ts +163 -163
- package/types/module-log.d.ts +34 -34
- package/types/module-mob.d.ts +966 -966
- package/types/module-pdf.d.ts +40 -40
- package/types/module-proxy.d.ts +100 -100
- package/types/module-shell.d.ts +24 -24
- package/types/module-utils.d.ts +99 -99
- package/types/module-web.d.ts +1053 -1053
- package/types/module-win.d.ts +352 -352
- package/types/oxygen.d.ts +53 -53
|
@@ -249,4 +249,4 @@ function generateExcelColumns() {
|
|
|
249
249
|
|
|
250
250
|
return output;
|
|
251
251
|
}
|
|
252
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9yZXBvcnRlcnMvcmVwb3J0ZXItZXhjZWwuanMiXSwibmFtZXMiOlsiREVGQVVMVF9URU1QTEFURV9QQVRIIiwiREVGQVVMVF9TSEVFVF9OQU1FIiwiREVGQVVMVF9FWFRFTlNJT04iLCJFWENFTF9DT0xVTU5TIiwiZ2VuZXJhdGVFeGNlbENvbHVtbnMiLCJFeGNlbFJlcG9ydGVyIiwiRmlsZVJlcG9ydGVyQmFzZSIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImdlbmVyYXRlIiwicmVzdWx0cyIsInJlc3VsdEZpbGVQYXRoIiwiY3JlYXRlRm9sZGVyU3RydWN0dXJlQW5kRmlsZVBhdGgiLCJyZXN1bHRGb2xkZXJQYXRoIiwicGF0aCIsImRpcm5hbWUiLCJyb3dzIiwicmVwbGFjZVNjcmVlbnNob3RzV2l0aEZpbGVzIiwicmVzdWx0Iiwic3VpdGVSZXN1bHQiLCJzdWl0ZXMiLCJnZW5lcmF0ZVJvd3NGb3JTdWl0ZSIsInRlbXBsYXRlUGF0aCIsInRlbXBsYXRlIiwid29ya2Jvb2siLCJnZW5lcmF0ZVdvcmtzaGVldEZyb21UZW1wbGF0ZSIsInhsc3giLCJ3cml0ZUZpbGUiLCJib29rU1NUIiwiY2FzZVJlc3VsdCIsImNhc2VzIiwibGFzdEZhaWxlZFN0ZXAiLCJzdGVwIiwic3RlcHMiLCJzdGF0dXMiLCJwdXNoIiwiYWRkVmFsdWVzIiwicmVxdWlyZSIsImUiLCJFcnJvciIsIm1lc3NhZ2UiLCJ3YiIsIldvcmtib29rIiwid3MiLCJ3c05hbWUiLCJzaGVldE5hbWUiLCJTaGVldE5hbWVzIiwiU2hlZXRzIiwiY29sdW1uIiwicm93IiwiaGVhZGVyIiwiY2VsbEFkZHJlc3MiLCJoIiwibGVuZ3RoIiwidmFsdWUiLCJfIiwiZWFjaCIsInBhcmFtIiwibmFtZSIsInYiLCJ2YXIiLCJ0b3RhbENvbHVtbnMiLCJyIiwiYyIsInN1YnN0cmFjdFBhcmFtZXRlciIsInVuZGVmaW5lZCIsInZhbHVlRGVmIiwiZGF0YSIsImluZGV4T2YiLCJwYXJhbU5hbWUiLCJzdWJzdHJpbmciLCJjYXAiLCJ2YWx1ZXMiLCJpdGVyYXRpb25OdW0iLCJfc2NyZWVuc2hvdEZpbGUiLCJzY3JlZW5zaG90RmlsZSIsImZhaWx1cmUiLCJ0eXBlIiwibG9jYXRpb24iLCJjb250ZXh0IiwicGFyYW1zIiwia2V5IiwidmFycyIsImNhcHMiLCJvdXRwdXQiLCJpIiwiY2hhckNvZGVBdCIsIlN0cmluZyIsImZyb21DaGFyQ29kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBWUE7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7QUFFQSxNQUFNQSxxQkFBcUIsR0FBRyx1QkFBOUI7QUFDQSxNQUFNQyxrQkFBa0IsR0FBRyxRQUEzQjtBQUNBLE1BQU1DLGlCQUFpQixHQUFHLE9BQTFCO0FBQ0EsTUFBTUMsYUFBYSxHQUFHQyxvQkFBb0IsRUFBMUM7O0FBRWUsTUFBTUMsYUFBTixTQUE0QkMseUJBQTVCLENBQTZDO0FBQ3hEQyxFQUFBQSxXQUFXLENBQUNDLE9BQUQsRUFBVTtBQUNqQixVQUFNQSxPQUFOO0FBQ0g7O0FBRURDLEVBQUFBLFFBQVEsQ0FBQ0MsT0FBRCxFQUFVO0FBQ2QsUUFBSUMsY0FBYyxHQUFHLEtBQUtDLGdDQUFMLENBQXNDVixpQkFBdEMsQ0FBckI7O0FBQ0EsUUFBSVcsZ0JBQWdCLEdBQUdDLGNBQUtDLE9BQUwsQ0FBYUosY0FBYixDQUF2Qjs7QUFDQSxRQUFJSyxJQUFJLEdBQUcsRUFBWDtBQUVBLFNBQUtDLDJCQUFMLENBQWlDUCxPQUFqQyxFQUEwQ0csZ0JBQTFDOztBQUNBLFNBQUssSUFBSUssTUFBVCxJQUFtQlIsT0FBbkIsRUFBNEI7QUFDeEIsV0FBSyxJQUFJUyxXQUFULElBQXdCRCxNQUFNLENBQUNFLE1BQS9CLEVBQXVDO0FBQ25DQyxRQUFBQSxvQkFBb0IsQ0FBQ0YsV0FBRCxFQUFjSCxJQUFkLENBQXBCO0FBQ0g7QUFDSjs7QUFFRCxRQUFJTSxZQUFZLEdBQUcsS0FBS2QsT0FBTCxDQUFhZSxRQUFiLElBQXlCdkIscUJBQTVDO0FBQ0EsUUFBSXdCLFFB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RFQsSUFBQUEsTUFBTSxDQUFDWixHQUFQLENBQVdxQixHQUFYLElBQWtCM0IsS0FBbEI7QUFDSCxHQUZEOztBQUdBa0IsRUFBQUEsTUFBTSxDQUFDRCxHQUFQLEdBQWEsRUFBYjs7QUFDQWhCLGtCQUFFQyxJQUFGLENBQU8zQixVQUFVLENBQUNrRCxPQUFYLENBQW1CSSxJQUExQixFQUFnQyxVQUFTN0IsS0FBVCxFQUFnQjJCLEdBQWhCLEVBQXFCO0FBQ2pEVCxJQUFBQSxNQUFNLENBQUNELEdBQVAsQ0FBV1UsR0FBWCxJQUFrQjNCLEtBQWxCO0FBQ0gsR0FGRDs7QUFJQSxTQUFPa0IsTUFBUDtBQUNIOztBQUdELFNBQVM5QixRQUFULEdBQW9CO0FBQ2hCLE9BQUtJLFVBQUwsR0FBa0IsRUFBbEI7QUFDQSxPQUFLQyxNQUFMLEdBQWMsRUFBZDtBQUNIOztBQUVELFNBQVMzQyxvQkFBVCxHQUFnQztBQUM1QixNQUFJZ0YsTUFBTSxHQUFHLEVBQWI7O0FBQ0EsT0FBSyxJQUFJQyxDQUFDLEdBQUMsSUFBSUMsVUFBSixDQUFlLENBQWYsQ0FBWCxFQUE4QkQsQ0FBQyxJQUFJLElBQUlDLFVBQUosQ0FBZSxDQUFmLENBQW5DLEVBQXNERCxDQUFDLEVBQXZELEVBQ0lELE1BQU0sQ0FBQ2pELElBQVAsQ0FBWW9ELE1BQU0sQ0FBQ0MsWUFBUCxDQUFvQkgsQ0FBcEIsQ0FBWjs7QUFDSixTQUFPRCxNQUFQO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxyXG4gKlxyXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxyXG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxyXG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxyXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxyXG4gKi9cclxuXHJcbi8qXHJcbiAqIE94eWdlbiBFeGNlbCBSZXBvcnRlclxyXG4gKi9cclxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB4bHN4IGZyb20gJ3hsc3gnO1xyXG5cclxuaW1wb3J0IEZpbGVSZXBvcnRlckJhc2UgZnJvbSAnLi4vcmVwb3J0ZXIvRmlsZVJlcG9ydGVyQmFzZSc7XHJcblxyXG5jb25zdCBERUZBVUxUX1RFTVBMQVRFX1BBVEggPSAnLi9leGNlbC90ZW1wbGF0ZS5qc29uJztcclxuY29uc3QgREVGQVVMVF9TSEVFVF9OQU1FID0gJ1NoZWV0MSc7XHJcbmNvbnN0IERFRkFVTFRfRVhURU5TSU9OID0gJy54bHN4JztcclxuY29uc3QgRVhDRUxfQ09MVU1OUyA9IGdlbmVyYXRlRXhjZWxDb2x1bW5zKCk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFeGNlbFJlcG9ydGVyIGV4dGVuZHMgRmlsZVJlcG9ydGVyQmFzZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XHJcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2VuZXJhdGUocmVzdWx0cykge1xyXG4gICAgICAgIHZhciByZXN1bHRGaWxlUGF0aCA9IHRoaXMuY3JlYXRlRm9sZGVyU3RydWN0dXJlQW5kRmlsZVBhdGgoREVGQVVMVF9FWFRFTlNJT04pO1xyXG4gICAgICAgIHZhciByZXN1bHRGb2xkZXJQYXRoID0gcGF0aC5kaXJuYW1lKHJlc3VsdEZpbGVQYXRoKTtcclxuICAgICAgICB2YXIgcm93cyA9IFtdO1xyXG5cclxuICAgICAgICB0aGlzLnJlcGxhY2VTY3JlZW5zaG90c1dpdGhGaWxlcyhyZXN1bHRzLCByZXN1bHRGb2xkZXJQYXRoKTtcclxuICAgICAgICBmb3IgKGxldCByZXN1bHQgb2YgcmVzdWx0cykge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBzdWl0ZVJlc3VsdCBvZiByZXN1bHQuc3VpdGVzKSB7XHJcbiAgICAgICAgICAgICAgICBnZW5lcmF0ZVJvd3NGb3JTdWl0ZShzdWl0ZVJlc3VsdCwgcm93cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gZ2VuZXJhdGUgd29ya2Jvb2sgYmFzZWQgb24gZWl0aGVyIHVzZXItZGVmaW5lZCBvciBkZWZhdWx0IHRlbXBsYXRlXHJcbiAgICAgICAgdmFyIHRlbXBsYXRlUGF0aCA9IHRoaXMub3B0aW9ucy50ZW1wbGF0ZSB8fCBERUZBVUxUX1RFTVBMQVRFX1BBVEg7XHJcbiAgICAgICAgdmFyIHdvcmtib29rID0gZ2VuZXJhdGVXb3Jrc2hlZXRGcm9tVGVtcGxhdGUodGVtcGxhdGVQYXRoLCByb3dzLCB0aGlzLm9wdGlvbnMpO1xyXG4gICAgICAgIC8vIHdyaXRlIHRvIGZpbGVcclxuICAgICAgICB4bHN4LndyaXRlRmlsZSh3b3JrYm9vaywgcmVzdWx0RmlsZVBhdGgsIHsgYm9va1NTVDogZmFsc2UgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHRGaWxlUGF0aDtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2VuZXJhdGVSb3dzRm9yU3VpdGUoc3VpdGVSZXN1bHQsIHJvd3MpIHtcclxuICAgIGZvciAobGV0IGNhc2VSZXN1bHQgb2Ygc3VpdGVSZXN1bHQuY2FzZXMpIHtcclxuICAgICAgICBsZXQgbGFzdEZhaWxlZFN0ZXAgPSBudWxsO1xyXG4gICAgICAgIGZvciAobGV0IHN0ZXAgb2YgY2FzZVJlc3VsdC5zdGVwcykge1xyXG4gICAgICAgICAgICBpZiAoc3RlcC5zdGF0dXMgPT09ICdmYWlsZWQnKSB7XHJcbiAgICAgICAgICAgICAgICBsYXN0RmFpbGVkU3RlcCA9IHN0ZXA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBsYXN0RmFpbGVkU3RlcCA9IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY29udmVydCBlYWNoIGl0ZXJhdGlvbiB0byBhIHJvdyBpbiBFeGNlbCBmaWxlXHJcbiAgICAgICAgcm93cy5wdXNoKGFkZFZhbHVlcyhzdWl0ZVJlc3VsdCwgY2FzZVJlc3VsdCwgbGFzdEZhaWxlZFN0ZXApKTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2VuZXJhdGVXb3Jrc2hlZXRGcm9tVGVtcGxhdGUodGVtcGxhdGVQYXRoLCByb3dzLCBvcHRpb25zKSB7XHJcbiAgICB2YXIgdGVtcGxhdGUgPSBudWxsO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB0ZW1wbGF0ZSA9IHJlcXVpcmUodGVtcGxhdGVQYXRoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4Y2VsIHJlcG9ydGVyIHRlbXBsYXRlIGZpbGUgaXMgbm90IGZvdW5kIG9yIGlzIGluIGludmFsaWQgZm9ybWF0OiAnICsgdGVtcGxhdGVQYXRoICsgJy4gRXJyb3I6ICcgKyBlLm1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gICAgdmFyIHdiID0gbmV3IFdvcmtib29rKCk7XHJcbiAgICB2YXIgd3MgPSB7fTtcclxuICAgIHZhciB3c05hbWUgPSBvcHRpb25zLnNoZWV0TmFtZSB8fCBERUZBVUxUX1NIRUVUX05BTUU7XHJcbiAgICB3Yi5TaGVldE5hbWVzLnB1c2god3NOYW1lKTtcclxuICAgIHdiLlNoZWV0c1t3c05hbWVdID0gd3M7XHJcbiAgICB2YXIgY29sdW1uID0gMDtcclxuICAgIHZhciByb3c7XHJcbiAgICB2YXIgaGVhZGVyO1xyXG4gICAgdmFyIGNlbGxBZGRyZXNzO1xyXG5cclxuICAgIC8vIGdlbmVyYXRlIGhlYWRlcnMgcm93ICAgICAgICAgXHJcbiAgICBmb3IgKHZhciBoID0gMDsgaCA8IHRlbXBsYXRlLmxlbmd0aDsgaCsrKSB7XHJcbiAgICAgICAgaGVhZGVyID0gdGVtcGxhdGVbaF07XHJcblxyXG4gICAgICAgIC8vIGlmIGhlYWRlcidzIHZhbHVlIGlzIHBhcmFtLmFsbCBvciB2YXIuYWxsIHRoZW4gZ2VuZXJhdGUgY29sdW1ucyBmb3IgZWFjaCBwYXJhbWV0ZXIvdmFyaWFibGUgYXV0b21hdGljYWxseVxyXG4gICAgICAgIGlmIChoZWFkZXIudmFsdWUgPT09ICcke3BhcmFtLmFsbH0nICYmIHJvd3MgJiYgcm93cy5sZW5ndGggJiYgcm93cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIC8vIHJlYWQgcGFyYW1ldGVyIG5hbWVzIGZyb20gdGhlIGZpcnN0IGl0ZXJhdGlvbiwgYXNzdW1pbmcgcGFyYW1ldGVyIG5hbWVzIHJlbWFpbiB0aGUgc2FtZSBmb3IgYWxsIGl0ZXJhdGlvbnNcclxuICAgICAgICAgICAgcm93ID0gcm93c1swXTtcclxuICAgICAgICAgICAgXy5lYWNoKHJvdy5wYXJhbSwgZnVuY3Rpb24odmFsdWUsIG5hbWUpIHtcclxuICAgICAgICAgICAgICAgIGNlbGxBZGRyZXNzID0gRVhDRUxfQ09MVU1OU1tjb2x1bW5dICsgJzEnO1xyXG4gICAgICAgICAgICAgICAgd3NbY2VsbEFkZHJlc3NdID0ge307XHJcbiAgICAgICAgICAgICAgICB3c1tjZWxsQWRkcmVzc10udiA9IG5hbWU7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4rKztcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChoZWFkZXIudmFsdWUgPT09ICcke3Zhci5hbGx9JyAmJiByb3dzICYmIHJvd3MubGVuZ3RoICYmIHJvd3MubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAvLyByZWFkIHZhcmlhYmxlIG5hbWVzIGZyb20gdGhlIGZpcnN0IGl0ZXJhdGlvbiwgYXNzdW1pbmcgdmFyaWFibGUgbmFtZXMgcmVtYWluIHRoZSBzYW1lIGZvciBhbGwgaXRlcmF0aW9uc1xyXG4gICAgICAgICAgICByb3cgPSByb3dzWzBdO1xyXG4gICAgICAgICAgICBfLmVhY2gocm93LnZhciwgZnVuY3Rpb24odmFsdWUsIG5hbWUpIHtcclxuICAgICAgICAgICAgICAgIGNlbGxBZGRyZXNzID0gRVhDRUxfQ09MVU1OU1tjb2x1bW5dICsgJzEnO1xyXG4gICAgICAgICAgICAgICAgd3NbY2VsbEFkZHJlc3NdID0ge307XHJcbiAgICAgICAgICAgICAgICB3c1tjZWxsQWRkcmVzc10udiA9IG5hbWU7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4rKztcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY2VsbEFkZHJlc3MgPSBFWENFTF9DT0xVTU5TW2NvbHVtbl0gKyAnMSc7XHJcbiAgICAgICAgICAgIHdzW2NlbGxBZGRyZXNzXSA9IHt9O1xyXG4gICAgICAgICAgICB3c1tjZWxsQWRkcmVzc10udiA9IGhlYWRlci5oZWFkZXI7XHJcbiAgICAgICAgICAgIGNvbHVtbisrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB2YXIgdG90YWxDb2x1bW5zID0gY29sdW1uO1xyXG5cclxuICAgIC8vIGdlbmVyYXRlIGRhdGEgcm93c1xyXG4gICAgZm9yICh2YXIgciA9IDA7IHIgPCByb3dzLmxlbmd0aDsgcisrKSB7XHJcbiAgICAgICAgY29sdW1uID0gMDtcclxuICAgICAgICBmb3IgKHZhciBjID0gMDsgYyA8IHRlbXBsYXRlLmxlbmd0aDsgYysrKSB7XHJcbiAgICAgICAgICAgIHJvdyA9IHJvd3Nbcl07XHJcbiAgICAgICAgICAgIGhlYWRlciA9IHRlbXBsYXRlW2NdO1xyXG4gICAgICAgICAgICAvLyBpZiBoZWFkZXIncyB2YWx1ZSBpcyBwYXJhbS5hbGwgb3IgdmFyLmFsbCB0aGVuIGdlbmVyYXRlIGNvbHVtbnMgZm9yIGVhY2ggcGFyYW1ldGVyL3ZhcmlhYmxlIGF1dG9tYXRpY2FsbHlcclxuICAgICAgICAgICAgaWYgKGhlYWRlci52YWx1ZSA9PT0gJyR7cGFyYW0uYWxsfScpIHtcclxuICAgICAgICAgICAgICAgIGlmICghcm93LnBhcmFtIHx8ICFyb3cucGFyYW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF8uZWFjaChyb3cucGFyYW0sIGZ1bmN0aW9uKHZhbHVlLCBuYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2VsbEFkZHJlc3MgPSBFWENFTF9DT0xVTU5TW2NvbHVtbl0gKyAociArIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdzW2NlbGxBZGRyZXNzXSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgIHdzW2NlbGxBZGRyZXNzXS52ID0gdmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uKys7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChoZWFkZXIudmFsdWUgPT09ICcke3Zhci5hbGx9Jykge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFyb3cudmFyIHx8ICFyb3cudmFyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBfLmVhY2gocm93LnZhciwgZnVuY3Rpb24odmFsdWUsIG5hbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjZWxsQWRkcmVzcyA9IEVYQ0VMX0NPTFVNTlNbY29sdW1uXSArIChyICsgMik7XHJcbiAgICAgICAgICAgICAgICAgICAgd3NbY2VsbEFkZHJlc3NdID0ge307XHJcbiAgICAgICAgICAgICAgICAgICAgd3NbY2VsbEFkZHJlc3NdLnYgPSB2YWx1ZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2x1bW4rKztcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY2VsbEFkZHJlc3MgPSBFWENFTF9DT0xVTU5TW2NvbHVtbl0gKyAociArIDIpO1xyXG4gICAgICAgICAgICAgICAgd3NbY2VsbEFkZHJlc3NdID0ge307XHJcbiAgICAgICAgICAgICAgICB3c1tjZWxsQWRkcmVzc10udiA9IHN1YnN0cmFjdFBhcmFtZXRlcihoZWFkZXIudmFsdWUsIHJvdykgfHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uKys7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBzZXQgd29ya3NoZWV0IHJhbmdlXHJcbiAgICBpZiAodGVtcGxhdGUubGVuZ3RoID4gMCAmJiByb3dzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB3c1snIXJlZiddID0gJ0ExOicgKyBFWENFTF9DT0xVTU5TW3RlbXBsYXRlLmxlbmd0aCAtIDEgKyB0b3RhbENvbHVtbnNdICsgKHJvd3MubGVuZ3RoICsgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHdiO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzdWJzdHJhY3RQYXJhbWV0ZXIodmFsdWVEZWYsIGRhdGEpIHtcclxuICAgIGlmICghdmFsdWVEZWYgfHwgIXZhbHVlRGVmLmxlbmd0aCB8fCB2YWx1ZURlZi5sZW5ndGggPT0gMClcclxuICAgICAgICByZXR1cm4gdmFsdWVEZWY7XHJcbiAgICAvLyBjaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBwYXJhbXRlclxyXG4gICAgaWYgKHZhbHVlRGVmLmluZGV4T2YoJyR7JykgPT0gMCAmJiB2YWx1ZURlZi5pbmRleE9mKCd9JykgPT0gdmFsdWVEZWYubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgIHZhciBwYXJhbU5hbWUgPSB2YWx1ZURlZi5zdWJzdHJpbmcoMiwgdmFsdWVEZWYubGVuZ3RoIC0gMSk7XHJcbiAgICAgICAgaWYgKHBhcmFtTmFtZS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWVEZWY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwYXJhbU5hbWUuaW5kZXhPZigncGFyYW0uJykgPT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZGF0YS5wYXJhbVtwYXJhbU5hbWUuc3Vic3RyaW5nKCdwYXJhbS4nLmxlbmd0aCldO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChwYXJhbU5hbWUuaW5kZXhPZigndmFyLicpID09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRhdGEudmFyW3BhcmFtTmFtZS5zdWJzdHJpbmcoJ3Zhci4nLmxlbmd0aCldO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChwYXJhbU5hbWUuaW5kZXhPZignY2FwLicpID09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRhdGEuY2FwW3BhcmFtTmFtZS5zdWJzdHJpbmcoJ2NhcC4nLmxlbmd0aCldO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGF0YVtwYXJhbU5hbWVdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlRGVmO1xyXG59XHJcblxyXG5mdW5jdGlvbiBhZGRWYWx1ZXMoc3VpdGVSZXN1bHQsIGNhc2VSZXN1bHQsIGxhc3RGYWlsZWRTdGVwKSB7XHJcbiAgICB2YXIgdmFsdWVzID0ge307XHJcbiAgICB2YWx1ZXNbJ3N1aXRlLm5hbWUnXSA9IHN1aXRlUmVzdWx0Lm5hbWU7XHJcbiAgICB2YWx1ZXNbJ3N1aXRlLml0ZXJhdGlvbiddID0gc3VpdGVSZXN1bHQuaXRlcmF0aW9uTnVtO1xyXG4gICAgdmFsdWVzWydzdWl0ZS5zdGF0dXMnXSA9IHN1aXRlUmVzdWx0LnN0YXR1cztcclxuICAgIHZhbHVlc1snY2FzZS5uYW1lJ10gPSBjYXNlUmVzdWx0Lm5hbWU7XHJcbiAgICB2YWx1ZXNbJ2Nhc2UuaXRlcmF0aW9uJ10gPSBjYXNlUmVzdWx0Lml0ZXJhdGlvbk51bTtcclxuICAgIHZhbHVlc1snY2FzZS5zdGF0dXMnXSA9IGNhc2VSZXN1bHQuc3RhdHVzO1xyXG5cclxuICAgIGlmIChsYXN0RmFpbGVkU3RlcCkge1xyXG4gICAgICAgIHZhbHVlc1snZmFpbHVyZS5zdGVwJ10gPSBsYXN0RmFpbGVkU3RlcC5uYW1lO1xyXG4gICAgICAgIGlmIChsYXN0RmFpbGVkU3RlcC5fc2NyZWVuc2hvdEZpbGUpIHtcclxuICAgICAgICAgICAgdmFsdWVzWydmYWlsdXJlLnNjcmVlbnNob3QnXSA9IGxhc3RGYWlsZWRTdGVwLnNjcmVlbnNob3RGaWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobGFzdEZhaWxlZFN0ZXAuZmFpbHVyZSkge1xyXG4gICAgICAgICAgICB2YWx1ZXNbJ2ZhaWx1cmUubWVzc2FnZSddID0gbGFzdEZhaWxlZFN0ZXAuZmFpbHVyZS5tZXNzYWdlO1xyXG4gICAgICAgICAgICB2YWx1ZXNbJ2ZhaWx1cmUudHlwZSddID0gbGFzdEZhaWxlZFN0ZXAuZmFpbHVyZS50eXBlO1xyXG4gICAgICAgICAgICBpZiAobGFzdEZhaWxlZFN0ZXAuZmFpbHVyZS5sb2NhdGlvbikge1xyXG4gICAgICAgICAgICAgICAgdmFsdWVzWydmYWlsdXJlLmxvY2F0aW9uJ10gPSBsYXN0RmFpbGVkU3RlcC5mYWlsdXJlLmxvY2F0aW9uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIHZhbHVlcy5wYXJhbSA9IHt9O1xyXG4gICAgXy5lYWNoKGNhc2VSZXN1bHQuY29udGV4dC5wYXJhbXMsIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcclxuICAgICAgICB2YWx1ZXMucGFyYW1ba2V5XSA9IHZhbHVlO1xyXG4gICAgfSk7XHJcbiAgICB2YWx1ZXMudmFyID0ge307XHJcbiAgICBfLmVhY2goY2FzZVJlc3VsdC5jb250ZXh0LnZhcnMsIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcclxuICAgICAgICB2YWx1ZXMudmFyW2tleV0gPSB2YWx1ZTtcclxuICAgIH0pO1xyXG4gICAgdmFsdWVzLmNhcCA9IHt9O1xyXG4gICAgXy5lYWNoKGNhc2VSZXN1bHQuY29udGV4dC5jYXBzLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XHJcbiAgICAgICAgdmFsdWVzLmNhcFtrZXldID0gdmFsdWU7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdmFsdWVzO1xyXG59XHJcblxyXG4vKiBkdW1teSB3b3JrYm9vayBjb25zdHJ1Y3RvciAqL1xyXG5mdW5jdGlvbiBXb3JrYm9vaygpIHtcclxuICAgIHRoaXMuU2hlZXROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5TaGVldHMgPSB7fTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2VuZXJhdGVFeGNlbENvbHVtbnMoKSB7XHJcbiAgICB2YXIgb3V0cHV0ID0gW107XHJcbiAgICBmb3IgKHZhciBpPSdBJy5jaGFyQ29kZUF0KDApOyBpIDw9ICdaJy5jaGFyQ29kZUF0KDApOyBpKyspXHJcbiAgICAgICAgb3V0cHV0LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShpKSk7XHJcbiAgICByZXR1cm4gb3V0cHV0O1xyXG59XHJcblxyXG4iXX0=
|
|
252
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9yZXBvcnRlcnMvcmVwb3J0ZXItZXhjZWwuanMiXSwibmFtZXMiOlsiREVGQVVMVF9URU1QTEFURV9QQVRIIiwiREVGQVVMVF9TSEVFVF9OQU1FIiwiREVGQVVMVF9FWFRFTlNJT04iLCJFWENFTF9DT0xVTU5TIiwiZ2VuZXJhdGVFeGNlbENvbHVtbnMiLCJFeGNlbFJlcG9ydGVyIiwiRmlsZVJlcG9ydGVyQmFzZSIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImdlbmVyYXRlIiwicmVzdWx0cyIsInJlc3VsdEZpbGVQYXRoIiwiY3JlYXRlRm9sZGVyU3RydWN0dXJlQW5kRmlsZVBhdGgiLCJyZXN1bHRGb2xkZXJQYXRoIiwicGF0aCIsImRpcm5hbWUiLCJyb3dzIiwicmVwbGFjZVNjcmVlbnNob3RzV2l0aEZpbGVzIiwicmVzdWx0Iiwic3VpdGVSZXN1bHQiLCJzdWl0ZXMiLCJnZW5lcmF0ZVJvd3NGb3JTdWl0ZSIsInRlbXBsYXRlUGF0aCIsInRlbXBsYXRlIiwid29ya2Jvb2siLCJnZW5lcmF0ZVdvcmtzaGVldEZyb21UZW1wbGF0ZSIsInhsc3giLCJ3cml0ZUZpbGUiLCJib29rU1NUIiwiY2FzZVJlc3VsdCIsImNhc2VzIiwibGFzdEZhaWxlZFN0ZXAiLCJzdGVwIiwic3RlcHMiLCJzdGF0dXMiLCJwdXNoIiwiYWRkVmFsdWVzIiwicmVxdWlyZSIsImUiLCJFcnJvciIsIm1lc3NhZ2UiLCJ3YiIsIldvcmtib29rIiwid3MiLCJ3c05hbWUiLCJzaGVldE5hbWUiLCJTaGVldE5hbWVzIiwiU2hlZXRzIiwiY29sdW1uIiwicm93IiwiaGVhZGVyIiwiY2VsbEFkZHJlc3MiLCJoIiwibGVuZ3RoIiwidmFsdWUiLCJfIiwiZWFjaCIsInBhcmFtIiwibmFtZSIsInYiLCJ2YXIiLCJ0b3RhbENvbHVtbnMiLCJyIiwiYyIsInN1YnN0cmFjdFBhcmFtZXRlciIsInVuZGVmaW5lZCIsInZhbHVlRGVmIiwiZGF0YSIsImluZGV4T2YiLCJwYXJhbU5hbWUiLCJzdWJzdHJpbmciLCJjYXAiLCJ2YWx1ZXMiLCJpdGVyYXRpb25OdW0iLCJfc2NyZWVuc2hvdEZpbGUiLCJzY3JlZW5zaG90RmlsZSIsImZhaWx1cmUiLCJ0eXBlIiwibG9jYXRpb24iLCJjb250ZXh0IiwicGFyYW1zIiwia2V5IiwidmFycyIsImNhcHMiLCJvdXRwdXQiLCJpIiwiY2hhckNvZGVBdCIsIlN0cmluZyIsImZyb21DaGFyQ29kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBWUE7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7QUFFQSxNQUFNQSxxQkFBcUIsR0FBRyx1QkFBOUI7QUFDQSxNQUFNQyxrQkFBa0IsR0FBRyxRQUEzQjtBQUNBLE1BQU1DLGlCQUFpQixHQUFHLE9BQTFCO0FBQ0EsTUFBTUMsYUFBYSxHQUFHQyxvQkFBb0IsRUFBMUM7O0FBRWUsTUFBTUMsYUFBTixTQUE0QkMseUJBQTVCLENBQTZDO0FBQ3hEQyxFQUFBQSxXQUFXLENBQUNDLE9BQUQsRUFBVTtBQUNqQixVQUFNQSxPQUFOO0FBQ0g7O0FBRURDLEVBQUFBLFFBQVEsQ0FBQ0MsT0FBRCxFQUFVO0FBQ2QsUUFBSUMsY0FBYyxHQUFHLEtBQUtDLGdDQUFMLENBQXNDVixpQkFBdEMsQ0FBckI7O0FBQ0EsUUFBSVcsZ0JBQWdCLEdBQUdDLGNBQUtDLE9BQUwsQ0FBYUosY0FBYixDQUF2Qjs7QUFDQSxRQUFJSyxJQUFJLEdBQUcsRUFBWDtBQUVBLFNBQUtDLDJCQUFMLENBQWlDUCxPQUFqQyxFQUEwQ0csZ0JBQTFDOztBQUNBLFNBQUssSUFBSUssTUFBVCxJQUFtQlIsT0FBbkIsRUFBNEI7QUFDeEIsV0FBSyxJQUFJUyxXQUFULElBQXdCRCxNQUFNLENBQUNFLE1BQS9CLEVBQXVDO0FBQ25DQyxRQUFBQSxvQkFBb0IsQ0FBQ0YsV0FBRCxFQUFjSCxJQUFkLENBQXBCO0FBQ0g7QUFDSjs7QUFFRCxRQUFJTSxZQUFZLEdBQUcsS0FBS2QsT0FBTCxDQUFhZSxRQUFiLElBQXlCdkIscUJBQTVDO0FBQ0EsUUFBSXdCLFFB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RFQsSUFBQUEsTUFBTSxDQUFDWixHQUFQLENBQVdxQixHQUFYLElBQWtCM0IsS0FBbEI7QUFDSCxHQUZEOztBQUdBa0IsRUFBQUEsTUFBTSxDQUFDRCxHQUFQLEdBQWEsRUFBYjs7QUFDQWhCLGtCQUFFQyxJQUFGLENBQU8zQixVQUFVLENBQUNrRCxPQUFYLENBQW1CSSxJQUExQixFQUFnQyxVQUFTN0IsS0FBVCxFQUFnQjJCLEdBQWhCLEVBQXFCO0FBQ2pEVCxJQUFBQSxNQUFNLENBQUNELEdBQVAsQ0FBV1UsR0FBWCxJQUFrQjNCLEtBQWxCO0FBQ0gsR0FGRDs7QUFJQSxTQUFPa0IsTUFBUDtBQUNIOztBQUdELFNBQVM5QixRQUFULEdBQW9CO0FBQ2hCLE9BQUtJLFVBQUwsR0FBa0IsRUFBbEI7QUFDQSxPQUFLQyxNQUFMLEdBQWMsRUFBZDtBQUNIOztBQUVELFNBQVMzQyxvQkFBVCxHQUFnQztBQUM1QixNQUFJZ0YsTUFBTSxHQUFHLEVBQWI7O0FBQ0EsT0FBSyxJQUFJQyxDQUFDLEdBQUMsSUFBSUMsVUFBSixDQUFlLENBQWYsQ0FBWCxFQUE4QkQsQ0FBQyxJQUFJLElBQUlDLFVBQUosQ0FBZSxDQUFmLENBQW5DLEVBQXNERCxDQUFDLEVBQXZELEVBQ0lELE1BQU0sQ0FBQ2pELElBQVAsQ0FBWW9ELE1BQU0sQ0FBQ0MsWUFBUCxDQUFvQkgsQ0FBcEIsQ0FBWjs7QUFDSixTQUFPRCxNQUFQO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICovXG5cbi8qXG4gKiBPeHlnZW4gRXhjZWwgUmVwb3J0ZXJcbiAqL1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHhsc3ggZnJvbSAneGxzeCc7XG5cbmltcG9ydCBGaWxlUmVwb3J0ZXJCYXNlIGZyb20gJy4uL3JlcG9ydGVyL0ZpbGVSZXBvcnRlckJhc2UnO1xuXG5jb25zdCBERUZBVUxUX1RFTVBMQVRFX1BBVEggPSAnLi9leGNlbC90ZW1wbGF0ZS5qc29uJztcbmNvbnN0IERFRkFVTFRfU0hFRVRfTkFNRSA9ICdTaGVldDEnO1xuY29uc3QgREVGQVVMVF9FWFRFTlNJT04gPSAnLnhsc3gnO1xuY29uc3QgRVhDRUxfQ09MVU1OUyA9IGdlbmVyYXRlRXhjZWxDb2x1bW5zKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4Y2VsUmVwb3J0ZXIgZXh0ZW5kcyBGaWxlUmVwb3J0ZXJCYXNlIHtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGdlbmVyYXRlKHJlc3VsdHMpIHtcbiAgICAgICAgdmFyIHJlc3VsdEZpbGVQYXRoID0gdGhpcy5jcmVhdGVGb2xkZXJTdHJ1Y3R1cmVBbmRGaWxlUGF0aChERUZBVUxUX0VYVEVOU0lPTik7XG4gICAgICAgIHZhciByZXN1bHRGb2xkZXJQYXRoID0gcGF0aC5kaXJuYW1lKHJlc3VsdEZpbGVQYXRoKTtcbiAgICAgICAgdmFyIHJvd3MgPSBbXTtcblxuICAgICAgICB0aGlzLnJlcGxhY2VTY3JlZW5zaG90c1dpdGhGaWxlcyhyZXN1bHRzLCByZXN1bHRGb2xkZXJQYXRoKTtcbiAgICAgICAgZm9yIChsZXQgcmVzdWx0IG9mIHJlc3VsdHMpIHtcbiAgICAgICAgICAgIGZvciAobGV0IHN1aXRlUmVzdWx0IG9mIHJlc3VsdC5zdWl0ZXMpIHtcbiAgICAgICAgICAgICAgICBnZW5lcmF0ZVJvd3NGb3JTdWl0ZShzdWl0ZVJlc3VsdCwgcm93cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gZ2VuZXJhdGUgd29ya2Jvb2sgYmFzZWQgb24gZWl0aGVyIHVzZXItZGVmaW5lZCBvciBkZWZhdWx0IHRlbXBsYXRlXG4gICAgICAgIHZhciB0ZW1wbGF0ZVBhdGggPSB0aGlzLm9wdGlvbnMudGVtcGxhdGUgfHwgREVGQVVMVF9URU1QTEFURV9QQVRIO1xuICAgICAgICB2YXIgd29ya2Jvb2sgPSBnZW5lcmF0ZVdvcmtzaGVldEZyb21UZW1wbGF0ZSh0ZW1wbGF0ZVBhdGgsIHJvd3MsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIC8vIHdyaXRlIHRvIGZpbGVcbiAgICAgICAgeGxzeC53cml0ZUZpbGUod29ya2Jvb2ssIHJlc3VsdEZpbGVQYXRoLCB7IGJvb2tTU1Q6IGZhbHNlIH0pO1xuXG4gICAgICAgIHJldHVybiByZXN1bHRGaWxlUGF0aDtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlUm93c0ZvclN1aXRlKHN1aXRlUmVzdWx0LCByb3dzKSB7XG4gICAgZm9yIChsZXQgY2FzZVJlc3VsdCBvZiBzdWl0ZVJlc3VsdC5jYXNlcykge1xuICAgICAgICBsZXQgbGFzdEZhaWxlZFN0ZXAgPSBudWxsO1xuICAgICAgICBmb3IgKGxldCBzdGVwIG9mIGNhc2VSZXN1bHQuc3RlcHMpIHtcbiAgICAgICAgICAgIGlmIChzdGVwLnN0YXR1cyA9PT0gJ2ZhaWxlZCcpIHtcbiAgICAgICAgICAgICAgICBsYXN0RmFpbGVkU3RlcCA9IHN0ZXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsYXN0RmFpbGVkU3RlcCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29udmVydCBlYWNoIGl0ZXJhdGlvbiB0byBhIHJvdyBpbiBFeGNlbCBmaWxlXG4gICAgICAgIHJvd3MucHVzaChhZGRWYWx1ZXMoc3VpdGVSZXN1bHQsIGNhc2VSZXN1bHQsIGxhc3RGYWlsZWRTdGVwKSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZVdvcmtzaGVldEZyb21UZW1wbGF0ZSh0ZW1wbGF0ZVBhdGgsIHJvd3MsIG9wdGlvbnMpIHtcbiAgICB2YXIgdGVtcGxhdGUgPSBudWxsO1xuICAgIHRyeSB7XG4gICAgICAgIHRlbXBsYXRlID0gcmVxdWlyZSh0ZW1wbGF0ZVBhdGgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeGNlbCByZXBvcnRlciB0ZW1wbGF0ZSBmaWxlIGlzIG5vdCBmb3VuZCBvciBpcyBpbiBpbnZhbGlkIGZvcm1hdDogJyArIHRlbXBsYXRlUGF0aCArICcuIEVycm9yOiAnICsgZS5tZXNzYWdlKTtcbiAgICB9XG4gICAgdmFyIHdiID0gbmV3IFdvcmtib29rKCk7XG4gICAgdmFyIHdzID0ge307XG4gICAgdmFyIHdzTmFtZSA9IG9wdGlvbnMuc2hlZXROYW1lIHx8IERFRkFVTFRfU0hFRVRfTkFNRTtcbiAgICB3Yi5TaGVldE5hbWVzLnB1c2god3NOYW1lKTtcbiAgICB3Yi5TaGVldHNbd3NOYW1lXSA9IHdzO1xuICAgIHZhciBjb2x1bW4gPSAwO1xuICAgIHZhciByb3c7XG4gICAgdmFyIGhlYWRlcjtcbiAgICB2YXIgY2VsbEFkZHJlc3M7XG5cbiAgICAvLyBnZW5lcmF0ZSBoZWFkZXJzIHJvdyAgICAgICAgIFxuICAgIGZvciAodmFyIGggPSAwOyBoIDwgdGVtcGxhdGUubGVuZ3RoOyBoKyspIHtcbiAgICAgICAgaGVhZGVyID0gdGVtcGxhdGVbaF07XG5cbiAgICAgICAgLy8gaWYgaGVhZGVyJ3MgdmFsdWUgaXMgcGFyYW0uYWxsIG9yIHZhci5hbGwgdGhlbiBnZW5lcmF0ZSBjb2x1bW5zIGZvciBlYWNoIHBhcmFtZXRlci92YXJpYWJsZSBhdXRvbWF0aWNhbGx5XG4gICAgICAgIGlmIChoZWFkZXIudmFsdWUgPT09ICcke3BhcmFtLmFsbH0nICYmIHJvd3MgJiYgcm93cy5sZW5ndGggJiYgcm93cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAvLyByZWFkIHBhcmFtZXRlciBuYW1lcyBmcm9tIHRoZSBmaXJzdCBpdGVyYXRpb24sIGFzc3VtaW5nIHBhcmFtZXRlciBuYW1lcyByZW1haW4gdGhlIHNhbWUgZm9yIGFsbCBpdGVyYXRpb25zXG4gICAgICAgICAgICByb3cgPSByb3dzWzBdO1xuICAgICAgICAgICAgXy5lYWNoKHJvdy5wYXJhbSwgZnVuY3Rpb24odmFsdWUsIG5hbWUpIHtcbiAgICAgICAgICAgICAgICBjZWxsQWRkcmVzcyA9IEVYQ0VMX0NPTFVNTlNbY29sdW1uXSArICcxJztcbiAgICAgICAgICAgICAgICB3c1tjZWxsQWRkcmVzc10gPSB7fTtcbiAgICAgICAgICAgICAgICB3c1tjZWxsQWRkcmVzc10udiA9IG5hbWU7XG4gICAgICAgICAgICAgICAgY29sdW1uKys7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChoZWFkZXIudmFsdWUgPT09ICcke3Zhci5hbGx9JyAmJiByb3dzICYmIHJvd3MubGVuZ3RoICYmIHJvd3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gcmVhZCB2YXJpYWJsZSBuYW1lcyBmcm9tIHRoZSBmaXJzdCBpdGVyYXRpb24sIGFzc3VtaW5nIHZhcmlhYmxlIG5hbWVzIHJlbWFpbiB0aGUgc2FtZSBmb3IgYWxsIGl0ZXJhdGlvbnNcbiAgICAgICAgICAgIHJvdyA9IHJvd3NbMF07XG4gICAgICAgICAgICBfLmVhY2gocm93LnZhciwgZnVuY3Rpb24odmFsdWUsIG5hbWUpIHtcbiAgICAgICAgICAgICAgICBjZWxsQWRkcmVzcyA9IEVYQ0VMX0NPTFVNTlNbY29sdW1uXSArICcxJztcbiAgICAgICAgICAgICAgICB3c1tjZWxsQWRkcmVzc10gPSB7fTtcbiAgICAgICAgICAgICAgICB3c1tjZWxsQWRkcmVzc10udiA9IG5hbWU7XG4gICAgICAgICAgICAgICAgY29sdW1uKys7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNlbGxBZGRyZXNzID0gRVhDRUxfQ09MVU1OU1tjb2x1bW5dICsgJzEnO1xuICAgICAgICAgICAgd3NbY2VsbEFkZHJlc3NdID0ge307XG4gICAgICAgICAgICB3c1tjZWxsQWRkcmVzc10udiA9IGhlYWRlci5oZWFkZXI7XG4gICAgICAgICAgICBjb2x1bW4rKztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhciB0b3RhbENvbHVtbnMgPSBjb2x1bW47XG5cbiAgICAvLyBnZW5lcmF0ZSBkYXRhIHJvd3NcbiAgICBmb3IgKHZhciByID0gMDsgciA8IHJvd3MubGVuZ3RoOyByKyspIHtcbiAgICAgICAgY29sdW1uID0gMDtcbiAgICAgICAgZm9yICh2YXIgYyA9IDA7IGMgPCB0ZW1wbGF0ZS5sZW5ndGg7IGMrKykge1xuICAgICAgICAgICAgcm93ID0gcm93c1tyXTtcbiAgICAgICAgICAgIGhlYWRlciA9IHRlbXBsYXRlW2NdO1xuICAgICAgICAgICAgLy8gaWYgaGVhZGVyJ3MgdmFsdWUgaXMgcGFyYW0uYWxsIG9yIHZhci5hbGwgdGhlbiBnZW5lcmF0ZSBjb2x1bW5zIGZvciBlYWNoIHBhcmFtZXRlci92YXJpYWJsZSBhdXRvbWF0aWNhbGx5XG4gICAgICAgICAgICBpZiAoaGVhZGVyLnZhbHVlID09PSAnJHtwYXJhbS5hbGx9Jykge1xuICAgICAgICAgICAgICAgIGlmICghcm93LnBhcmFtIHx8ICFyb3cucGFyYW0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF8uZWFjaChyb3cucGFyYW0sIGZ1bmN0aW9uKHZhbHVlLCBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGNlbGxBZGRyZXNzID0gRVhDRUxfQ09MVU1OU1tjb2x1bW5dICsgKHIgKyAyKTtcbiAgICAgICAgICAgICAgICAgICAgd3NbY2VsbEFkZHJlc3NdID0ge307XG4gICAgICAgICAgICAgICAgICAgIHdzW2NlbGxBZGRyZXNzXS52ID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbisrO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChoZWFkZXIudmFsdWUgPT09ICcke3Zhci5hbGx9Jykge1xuICAgICAgICAgICAgICAgIGlmICghcm93LnZhciB8fCAhcm93LnZhcikge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXy5lYWNoKHJvdy52YXIsIGZ1bmN0aW9uKHZhbHVlLCBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGNlbGxBZGRyZXNzID0gRVhDRUxfQ09MVU1OU1tjb2x1bW5dICsgKHIgKyAyKTtcbiAgICAgICAgICAgICAgICAgICAgd3NbY2VsbEFkZHJlc3NdID0ge307XG4gICAgICAgICAgICAgICAgICAgIHdzW2NlbGxBZGRyZXNzXS52ID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbisrO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjZWxsQWRkcmVzcyA9IEVYQ0VMX0NPTFVNTlNbY29sdW1uXSArIChyICsgMik7XG4gICAgICAgICAgICAgICAgd3NbY2VsbEFkZHJlc3NdID0ge307XG4gICAgICAgICAgICAgICAgd3NbY2VsbEFkZHJlc3NdLnYgPSBzdWJzdHJhY3RQYXJhbWV0ZXIoaGVhZGVyLnZhbHVlLCByb3cpIHx8IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBjb2x1bW4rKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBzZXQgd29ya3NoZWV0IHJhbmdlXG4gICAgaWYgKHRlbXBsYXRlLmxlbmd0aCA+IDAgJiYgcm93cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHdzWychcmVmJ10gPSAnQTE6JyArIEVYQ0VMX0NPTFVNTlNbdGVtcGxhdGUubGVuZ3RoIC0gMSArIHRvdGFsQ29sdW1uc10gKyAocm93cy5sZW5ndGggKyAxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gd2I7XG59XG5cbmZ1bmN0aW9uIHN1YnN0cmFjdFBhcmFtZXRlcih2YWx1ZURlZiwgZGF0YSkge1xuICAgIGlmICghdmFsdWVEZWYgfHwgIXZhbHVlRGVmLmxlbmd0aCB8fCB2YWx1ZURlZi5sZW5ndGggPT0gMClcbiAgICAgICAgcmV0dXJuIHZhbHVlRGVmO1xuICAgIC8vIGNoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIHBhcmFtdGVyXG4gICAgaWYgKHZhbHVlRGVmLmluZGV4T2YoJyR7JykgPT0gMCAmJiB2YWx1ZURlZi5pbmRleE9mKCd9JykgPT0gdmFsdWVEZWYubGVuZ3RoIC0gMSkge1xuICAgICAgICB2YXIgcGFyYW1OYW1lID0gdmFsdWVEZWYuc3Vic3RyaW5nKDIsIHZhbHVlRGVmLmxlbmd0aCAtIDEpO1xuICAgICAgICBpZiAocGFyYW1OYW1lLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWVEZWY7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhcmFtTmFtZS5pbmRleE9mKCdwYXJhbS4nKSA9PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YS5wYXJhbVtwYXJhbU5hbWUuc3Vic3RyaW5nKCdwYXJhbS4nLmxlbmd0aCldO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHBhcmFtTmFtZS5pbmRleE9mKCd2YXIuJykgPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGEudmFyW3BhcmFtTmFtZS5zdWJzdHJpbmcoJ3Zhci4nLmxlbmd0aCldO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHBhcmFtTmFtZS5pbmRleE9mKCdjYXAuJykgPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGEuY2FwW3BhcmFtTmFtZS5zdWJzdHJpbmcoJ2NhcC4nLmxlbmd0aCldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhW3BhcmFtTmFtZV07XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZURlZjtcbn1cblxuZnVuY3Rpb24gYWRkVmFsdWVzKHN1aXRlUmVzdWx0LCBjYXNlUmVzdWx0LCBsYXN0RmFpbGVkU3RlcCkge1xuICAgIHZhciB2YWx1ZXMgPSB7fTtcbiAgICB2YWx1ZXNbJ3N1aXRlLm5hbWUnXSA9IHN1aXRlUmVzdWx0Lm5hbWU7XG4gICAgdmFsdWVzWydzdWl0ZS5pdGVyYXRpb24nXSA9IHN1aXRlUmVzdWx0Lml0ZXJhdGlvbk51bTtcbiAgICB2YWx1ZXNbJ3N1aXRlLnN0YXR1cyddID0gc3VpdGVSZXN1bHQuc3RhdHVzO1xuICAgIHZhbHVlc1snY2FzZS5uYW1lJ10gPSBjYXNlUmVzdWx0Lm5hbWU7XG4gICAgdmFsdWVzWydjYXNlLml0ZXJhdGlvbiddID0gY2FzZVJlc3VsdC5pdGVyYXRpb25OdW07XG4gICAgdmFsdWVzWydjYXNlLnN0YXR1cyddID0gY2FzZVJlc3VsdC5zdGF0dXM7XG5cbiAgICBpZiAobGFzdEZhaWxlZFN0ZXApIHtcbiAgICAgICAgdmFsdWVzWydmYWlsdXJlLnN0ZXAnXSA9IGxhc3RGYWlsZWRTdGVwLm5hbWU7XG4gICAgICAgIGlmIChsYXN0RmFpbGVkU3RlcC5fc2NyZWVuc2hvdEZpbGUpIHtcbiAgICAgICAgICAgIHZhbHVlc1snZmFpbHVyZS5zY3JlZW5zaG90J10gPSBsYXN0RmFpbGVkU3RlcC5zY3JlZW5zaG90RmlsZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGFzdEZhaWxlZFN0ZXAuZmFpbHVyZSkge1xuICAgICAgICAgICAgdmFsdWVzWydmYWlsdXJlLm1lc3NhZ2UnXSA9IGxhc3RGYWlsZWRTdGVwLmZhaWx1cmUubWVzc2FnZTtcbiAgICAgICAgICAgIHZhbHVlc1snZmFpbHVyZS50eXBlJ10gPSBsYXN0RmFpbGVkU3RlcC5mYWlsdXJlLnR5cGU7XG4gICAgICAgICAgICBpZiAobGFzdEZhaWxlZFN0ZXAuZmFpbHVyZS5sb2NhdGlvbikge1xuICAgICAgICAgICAgICAgIHZhbHVlc1snZmFpbHVyZS5sb2NhdGlvbiddID0gbGFzdEZhaWxlZFN0ZXAuZmFpbHVyZS5sb2NhdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuICAgIHZhbHVlcy5wYXJhbSA9IHt9O1xuICAgIF8uZWFjaChjYXNlUmVzdWx0LmNvbnRleHQucGFyYW1zLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICAgIHZhbHVlcy5wYXJhbVtrZXldID0gdmFsdWU7XG4gICAgfSk7XG4gICAgdmFsdWVzLnZhciA9IHt9O1xuICAgIF8uZWFjaChjYXNlUmVzdWx0LmNvbnRleHQudmFycywgZnVuY3Rpb24odmFsdWUsIGtleSkge1xuICAgICAgICB2YWx1ZXMudmFyW2tleV0gPSB2YWx1ZTtcbiAgICB9KTtcbiAgICB2YWx1ZXMuY2FwID0ge307XG4gICAgXy5lYWNoKGNhc2VSZXN1bHQuY29udGV4dC5jYXBzLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICAgIHZhbHVlcy5jYXBba2V5XSA9IHZhbHVlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHZhbHVlcztcbn1cblxuLyogZHVtbXkgd29ya2Jvb2sgY29uc3RydWN0b3IgKi9cbmZ1bmN0aW9uIFdvcmtib29rKCkge1xuICAgIHRoaXMuU2hlZXROYW1lcyA9IFtdO1xuICAgIHRoaXMuU2hlZXRzID0ge307XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlRXhjZWxDb2x1bW5zKCkge1xuICAgIHZhciBvdXRwdXQgPSBbXTtcbiAgICBmb3IgKHZhciBpPSdBJy5jaGFyQ29kZUF0KDApOyBpIDw9ICdaJy5jaGFyQ29kZUF0KDApOyBpKyspXG4gICAgICAgIG91dHB1dC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoaSkpO1xuICAgIHJldHVybiBvdXRwdXQ7XG59XG5cbiJdfQ==
|
|
@@ -120,4 +120,4 @@ class HtmlReporter extends _FileReporterBase.default {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
exports.default = HtmlReporter;
|
|
123
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9yZXBvcnRlcnMvcmVwb3J0ZXItaHRtbC5qcyJdLCJuYW1lcyI6WyJlanMiLCJyZXF1aXJlIiwiSHRtbFJlcG9ydGVyIiwiRmlsZVJlcG9ydGVyQmFzZSIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImdlbmVyYXRlU3VtbWFyeSIsInJlc3VsdHMiLCJzdW1tYXJ5Iiwic3RhdHVzIiwic3RhcnREYXRlIiwic3RhcnRUaW1lIiwiZHVyYXRpb24iLCJlbmRUaW1lIiwidG90YWxUZXN0cyIsImxlbmd0aCIsInRvdGFsU3VpdGVzIiwicGFzc2VkU3VpdGVzIiwiZmFpbGVkU3VpdGVzIiwidG90YWxDYXNlcyIsInBhc3NlZENhc2VzIiwiZmFpbGVkQ2FzZXMiLCJza2lwcGVkQ2FzZXMiLCJ0b3RhbFN0ZXBzIiwicGFzc2VkU3RlcHMiLCJmYWlsZWRTdGVwcyIsInNraXBwZWRTdGVwcyIsIk1hdGgiLCJtaW4iLCJhcHBseSIsIm1hcCIsInJlcyIsIm1heCIsImZvcm1hdER1cmF0aW9uIiwicmVzdWx0IiwiQXJyYXkiLCJpc0FycmF5Iiwic3VpdGVzIiwic3VpdGVSZXN1bHQiLCJjYXNlcyIsImNhc2VSZXN1bHQiLCJzdGVwcyIsInN0ZXBSZXN1bHQiLCJmb3JtYXQiLCJnZW5lcmF0ZSIsInJlc3VsdEZpbGVQYXRoIiwiY3JlYXRlRm9sZGVyU3RydWN0dXJlQW5kRmlsZVBhdGgiLCJyZXN1bHRGb2xkZXJQYXRoIiwicGF0aCIsImRpcm5hbWUiLCJyZXBsYWNlU2NyZWVuc2hvdHNXaXRoRmlsZXMiLCJmb3JtYXRUb3RhbER1cmF0aW9uIiwidGVtcGxhdGVQYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsInJlbmRlckZpbGUiLCJlcnIiLCJodG1sIiwiZnMiLCJ3cml0ZUZpbGVTeW5jIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFhQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUpBLE1BQU1BLEdBQUcsR0FBR0MsT0FBTyxDQUFDLEtBQUQsQ0FBbkI7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LypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKlxyXG4gKiBPeHlnZW4gSFRNTCBSZXBvcnRlclxyXG4gKi9cclxuY29uc3QgZWpzID0gcmVxdWlyZSgnZWpzJyk7XHJcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xyXG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCBGaWxlUmVwb3J0ZXJCYXNlIGZyb20gJy4uL3JlcG9ydGVyL0ZpbGVSZXBvcnRlckJhc2UnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSHRtbFJlcG9ydGVyIGV4dGVuZHMgRmlsZVJlcG9ydGVyQmFzZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XHJcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2VuZXJhdGVTdW1tYXJ5KHJlc3VsdHMpIHtcclxuICAgICAgICBjb25zdCBzdW1tYXJ5ID0ge1xyXG4gICAgICAgICAgICBzdGF0dXM6ICdwYXNzZWQnLFxyXG4gICAgICAgICAgICBzdGFydERhdGU6IG51bGwsXHJcbiAgICAgICAgICAgIHN0YXJ0VGltZTogbnVsbCxcclxuICAgICAgICAgICAgZHVyYXRpb246IG51bGwsXHJcbiAgICAgICAgICAgIGVuZFRpbWU6IG51bGwsXHJcbiAgICAgICAgICAgIHRvdGFsVGVzdHM6IHJlc3VsdHMubGVuZ3RoLFxyXG4gICAgICAgICAgICB0b3RhbFN1aXRlczogMCxcclxuICAgICAgICAgICAgcGFzc2VkU3VpdGVzOiAwLFxyXG4gICAgICAgICAgICBmYWlsZWRTdWl0ZXM6IDAsXHJcbiAgICAgICAgICAgIHRvdGFsQ2FzZXM6IDAsXHJcbiAgICAgICAgICAgIHBhc3NlZENhc2VzOiAwLFxyXG4gICAgICAgICAgICBmYWlsZWRDYXNlczogMCxcclxuICAgICAgICAgICAgc2tpcHBlZENhc2VzOiAwLFxyXG4gICAgICAgICAgICB0b3RhbFN0ZXBzOiAwLFxyXG4gICAgICAgICAgICBwYXNzZWRTdGVwczogMCxcclxuICAgICAgICAgICAgZmFpbGVkU3RlcHM6IDAsXHJcbiAgICAgICAgICAgIHNraXBwZWRTdGVwczogMCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIC8vIGNhbGN1bGF0ZSB0aGUgZWFybGllc3QgdGVzdCBzdGFydCB0aW1lXHJcbiAgICAgICAgc3VtbWFyeS5zdGFydFRpbWUgPSBNYXRoLm1pbi5hcHBseShudWxsLCByZXN1bHRzLm1hcChyZXMgPT4gcmVzLnN0YXJ0VGltZSkpO1xyXG4gICAgICAgIC8vIGNhbGN1bGF0ZSB0aGUgbGF0ZXN0IHRlc3QgZW5kIHRpbWVcclxuICAgICAgICBzdW1tYXJ5LmVuZFRpbWUgPSBNYXRoLm1heC5hcHBseShudWxsLCByZXN1bHRzLm1hcChyZXMgPT4gcmVzLmVuZFRpbWUpKTtcclxuICAgICAgICAvLyBjYWxjdWxhdGUgb3ZlcmFsbCBkdXJhdGlvblxyXG4gICAgICAgIHN1bW1hcnkuZHVyYXRpb24gPSBzdW1tYXJ5LmVuZFRpbWUgLSBzdW1tYXJ5LnN0YXJ0VGltZTtcclxuICAgICAgICAvLyBjb252ZXJ0IGR1cmF0aW9uIGZyb20gbXMgdG8gc2VjXHJcbiAgICAgICAgc3VtbWFyeS5kdXJhdGlvbiA9IHRoaXMuZm9ybWF0RHVyYXRpb24oc3VtbWFyeS5kdXJhdGlvbik7XHJcbiAgICAgICAgZm9yIChsZXQgcmVzdWx0IG9mIHJlc3VsdHMpIHtcclxuICAgICAgICAgICAgLy8gY2hlY2sgaWYgYW55IHRlc3QgaGFzIGZhaWxlZFxyXG4gICAgICAgICAgICBzdW1tYXJ5LnN0YXR1cyA9IHJlc3VsdC5zdGF0dXMgPT09ICdmYWlsZWQnID8gJ2ZhaWxlZCcgOiBzdW1tYXJ5LnN0YXR1cztcclxuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHJlc3VsdC5zdWl0ZXMpKSB7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdW1tYXJ5LnRvdGFsU3VpdGVzICs9IHJlc3VsdC5zdWl0ZXMubGVuZ3RoO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBzdWl0ZVJlc3VsdCBvZiByZXN1bHQuc3VpdGVzKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc3VpdGVSZXN1bHQuY2FzZXMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzdW1tYXJ5LnRvdGFsQ2FzZXMgKz0gc3VpdGVSZXN1bHQuY2FzZXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgc3VtbWFyeS5wYXNzZWRTdWl0ZXMgKz0gc3VpdGVSZXN1bHQuc3RhdHVzID09PSAncGFzc2VkJyB8fCBzdWl0ZVJlc3VsdC5zdGF0dXMgPT09ICd3YXJuaW5nJyA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgc3VtbWFyeS5mYWlsZWRTdWl0ZXMgKz0gc3VpdGVSZXN1bHQuc3RhdHVzID09PSAnZmFpbGVkJyA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgY2FzZVJlc3VsdCBvZiBzdWl0ZVJlc3VsdC5jYXNlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnkucGFzc2VkQ2FzZXMgKz0gY2FzZVJlc3VsdC5zdGF0dXMgPT09ICdwYXNzZWQnIHx8IGNhc2VSZXN1bHQuc3RhdHVzID09PSAnd2FybmluZycgPyAxIDogMDtcclxuICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5LmZhaWxlZENhc2VzICs9IGNhc2VSZXN1bHQuc3RhdHVzID09PSAnZmFpbGVkJyA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnkuc2tpcHBlZENhc2VzICs9IGNhc2VSZXN1bHQuc3RhdHVzID09PSAnc2tpcHBlZCcgPyAxIDogMDtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoY2FzZVJlc3VsdC5zdGVwcykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnkudG90YWxTdGVwcyArPSBjYXNlUmVzdWx0LnN0ZXBzLmxlbmd0aDtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBzdGVwUmVzdWx0IG9mIGNhc2VSZXN1bHQuc3RlcHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeS5wYXNzZWRTdGVwcyArPSBzdGVwUmVzdWx0LnN0YXR1cyA9PT0gJ3Bhc3NlZCcgfHwgc3RlcFJlc3VsdC5zdGF0dXMgPT09ICd3YXJuaW5nJyA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5LmZhaWxlZFN0ZXBzICs9IHN0ZXBSZXN1bHQuc3RhdHVzID09PSAnZmFpbGVkJyA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5LnNraXBwZWRTdGVwcyArPSBzdGVwUmVzdWx0LnN0YXR1cyA9PT0gJ3NraXBwZWQnID8gMSA6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGZvcm1hdCBkYXRlIGFuZCB0aW1lXHJcbiAgICAgICAgc3VtbWFyeS5zdGFydERhdGUgPSBtb21lbnQoc3VtbWFyeS5zdGFydFRpbWUpLmZvcm1hdCgnTU1NIEREJyk7XHJcbiAgICAgICAgc3VtbWFyeS5zdGFydFRpbWUgPSBtb21lbnQoc3VtbWFyeS5zdGFydFRpbWUpLmZvcm1hdCgnSEg6bW0nKTtcclxuICAgICAgICBzdW1tYXJ5LmVuZFRpbWUgPSBtb21lbnQoc3VtbWFyeS5lbmRUaW1lKS5mb3JtYXQoJ0hIOm1tJyk7XHJcbiAgICAgICAgcmV0dXJuIHN1bW1hcnk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2VuZXJhdGUocmVzdWx0cykge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdEZpbGVQYXRoID0gdGhpcy5jcmVhdGVGb2xkZXJTdHJ1Y3R1cmVBbmRGaWxlUGF0aCgnLmh0bWwnKTtcclxuICAgICAgICBjb25zdCByZXN1bHRGb2xkZXJQYXRoID0gcGF0aC5kaXJuYW1lKHJlc3VsdEZpbGVQYXRoKTtcclxuXHJcbiAgICAgICAgdGhpcy5yZXBsYWNlU2NyZWVuc2hvdHNXaXRoRmlsZXMocmVzdWx0cywgcmVzdWx0Rm9sZGVyUGF0aCk7XHJcbiAgICAgICAgdGhpcy5mb3JtYXRUb3RhbER1cmF0aW9uKHJlc3VsdHMpO1xyXG5cclxuICAgICAgICBjb25zdCB0ZW1wbGF0ZVBhdGggPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vb3hfcmVwb3J0ZXJzL2h0bWwvaW5kZXguZWpzJyk7XHJcbiAgICAgICAgY29uc3Qgc3VtbWFyeSA9IHRoaXMuZ2VuZXJhdGVTdW1tYXJ5KHJlc3VsdHMpO1xyXG5cclxuICAgICAgICAvLyByZW5kZXIgSFRNTCBhbmQgd3JpdGUgaXQgdG8gZmlsZVxyXG4gICAgICAgIGVqcy5yZW5kZXJGaWxlKHRlbXBsYXRlUGF0aCwge3N1bW1hcnk6IHN1bW1hcnksIHJlc3VsdHM6IHJlc3VsdHN9LCBudWxsLCBmdW5jdGlvbihlcnIsIGh0bWwpIHtcclxuICAgICAgICAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZzLndyaXRlRmlsZVN5bmMocmVzdWx0RmlsZVBhdGgsIGh0bWwpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHRGaWxlUGF0aDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
123
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9yZXBvcnRlcnMvcmVwb3J0ZXItaHRtbC5qcyJdLCJuYW1lcyI6WyJlanMiLCJyZXF1aXJlIiwiSHRtbFJlcG9ydGVyIiwiRmlsZVJlcG9ydGVyQmFzZSIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImdlbmVyYXRlU3VtbWFyeSIsInJlc3VsdHMiLCJzdW1tYXJ5Iiwic3RhdHVzIiwic3RhcnREYXRlIiwic3RhcnRUaW1lIiwiZHVyYXRpb24iLCJlbmRUaW1lIiwidG90YWxUZXN0cyIsImxlbmd0aCIsInRvdGFsU3VpdGVzIiwicGFzc2VkU3VpdGVzIiwiZmFpbGVkU3VpdGVzIiwidG90YWxDYXNlcyIsInBhc3NlZENhc2VzIiwiZmFpbGVkQ2FzZXMiLCJza2lwcGVkQ2FzZXMiLCJ0b3RhbFN0ZXBzIiwicGFzc2VkU3RlcHMiLCJmYWlsZWRTdGVwcyIsInNraXBwZWRTdGVwcyIsIk1hdGgiLCJtaW4iLCJhcHBseSIsIm1hcCIsInJlcyIsIm1heCIsImZvcm1hdER1cmF0aW9uIiwicmVzdWx0IiwiQXJyYXkiLCJpc0FycmF5Iiwic3VpdGVzIiwic3VpdGVSZXN1bHQiLCJjYXNlcyIsImNhc2VSZXN1bHQiLCJzdGVwcyIsInN0ZXBSZXN1bHQiLCJmb3JtYXQiLCJnZW5lcmF0ZSIsInJlc3VsdEZpbGVQYXRoIiwiY3JlYXRlRm9sZGVyU3RydWN0dXJlQW5kRmlsZVBhdGgiLCJyZXN1bHRGb2xkZXJQYXRoIiwicGF0aCIsImRpcm5hbWUiLCJyZXBsYWNlU2NyZWVuc2hvdHNXaXRoRmlsZXMiLCJmb3JtYXRUb3RhbER1cmF0aW9uIiwidGVtcGxhdGVQYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsInJlbmRlckZpbGUiLCJlcnIiLCJodG1sIiwiZnMiLCJ3cml0ZUZpbGVTeW5jIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFhQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUpBLE1BQU1BLEdBQUcsR0FBR0MsT0FBTyxDQUFDLEtBQUQsQ0FBbkI7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LypcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqL1xuXG4vKlxuICogT3h5Z2VuIEhUTUwgUmVwb3J0ZXJcbiAqL1xuY29uc3QgZWpzID0gcmVxdWlyZSgnZWpzJyk7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgRmlsZVJlcG9ydGVyQmFzZSBmcm9tICcuLi9yZXBvcnRlci9GaWxlUmVwb3J0ZXJCYXNlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSHRtbFJlcG9ydGVyIGV4dGVuZHMgRmlsZVJlcG9ydGVyQmFzZSB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZVN1bW1hcnkocmVzdWx0cykge1xuICAgICAgICBjb25zdCBzdW1tYXJ5ID0ge1xuICAgICAgICAgICAgc3RhdHVzOiAncGFzc2VkJyxcbiAgICAgICAgICAgIHN0YXJ0RGF0ZTogbnVsbCxcbiAgICAgICAgICAgIHN0YXJ0VGltZTogbnVsbCxcbiAgICAgICAgICAgIGR1cmF0aW9uOiBudWxsLFxuICAgICAgICAgICAgZW5kVGltZTogbnVsbCxcbiAgICAgICAgICAgIHRvdGFsVGVzdHM6IHJlc3VsdHMubGVuZ3RoLFxuICAgICAgICAgICAgdG90YWxTdWl0ZXM6IDAsXG4gICAgICAgICAgICBwYXNzZWRTdWl0ZXM6IDAsXG4gICAgICAgICAgICBmYWlsZWRTdWl0ZXM6IDAsXG4gICAgICAgICAgICB0b3RhbENhc2VzOiAwLFxuICAgICAgICAgICAgcGFzc2VkQ2FzZXM6IDAsXG4gICAgICAgICAgICBmYWlsZWRDYXNlczogMCxcbiAgICAgICAgICAgIHNraXBwZWRDYXNlczogMCxcbiAgICAgICAgICAgIHRvdGFsU3RlcHM6IDAsXG4gICAgICAgICAgICBwYXNzZWRTdGVwczogMCxcbiAgICAgICAgICAgIGZhaWxlZFN0ZXBzOiAwLFxuICAgICAgICAgICAgc2tpcHBlZFN0ZXBzOiAwLFxuICAgICAgICB9O1xuICAgICAgICAvLyBjYWxjdWxhdGUgdGhlIGVhcmxpZXN0IHRlc3Qgc3RhcnQgdGltZVxuICAgICAgICBzdW1tYXJ5LnN0YXJ0VGltZSA9IE1hdGgubWluLmFwcGx5KG51bGwsIHJlc3VsdHMubWFwKHJlcyA9PiByZXMuc3RhcnRUaW1lKSk7XG4gICAgICAgIC8vIGNhbGN1bGF0ZSB0aGUgbGF0ZXN0IHRlc3QgZW5kIHRpbWVcbiAgICAgICAgc3VtbWFyeS5lbmRUaW1lID0gTWF0aC5tYXguYXBwbHkobnVsbCwgcmVzdWx0cy5tYXAocmVzID0+IHJlcy5lbmRUaW1lKSk7XG4gICAgICAgIC8vIGNhbGN1bGF0ZSBvdmVyYWxsIGR1cmF0aW9uXG4gICAgICAgIHN1bW1hcnkuZHVyYXRpb24gPSBzdW1tYXJ5LmVuZFRpbWUgLSBzdW1tYXJ5LnN0YXJ0VGltZTtcbiAgICAgICAgLy8gY29udmVydCBkdXJhdGlvbiBmcm9tIG1zIHRvIHNlY1xuICAgICAgICBzdW1tYXJ5LmR1cmF0aW9uID0gdGhpcy5mb3JtYXREdXJhdGlvbihzdW1tYXJ5LmR1cmF0aW9uKTtcbiAgICAgICAgZm9yIChsZXQgcmVzdWx0IG9mIHJlc3VsdHMpIHtcbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIGFueSB0ZXN0IGhhcyBmYWlsZWRcbiAgICAgICAgICAgIHN1bW1hcnkuc3RhdHVzID0gcmVzdWx0LnN0YXR1cyA9PT0gJ2ZhaWxlZCcgPyAnZmFpbGVkJyA6IHN1bW1hcnkuc3RhdHVzO1xuICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHJlc3VsdC5zdWl0ZXMpKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdW1tYXJ5LnRvdGFsU3VpdGVzICs9IHJlc3VsdC5zdWl0ZXMubGVuZ3RoO1xuICAgICAgICAgICAgZm9yIChsZXQgc3VpdGVSZXN1bHQgb2YgcmVzdWx0LnN1aXRlcykge1xuICAgICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShzdWl0ZVJlc3VsdC5jYXNlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN1bW1hcnkudG90YWxDYXNlcyArPSBzdWl0ZVJlc3VsdC5jYXNlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgc3VtbWFyeS5wYXNzZWRTdWl0ZXMgKz0gc3VpdGVSZXN1bHQuc3RhdHVzID09PSAncGFzc2VkJyB8fCBzdWl0ZVJlc3VsdC5zdGF0dXMgPT09ICd3YXJuaW5nJyA/IDEgOiAwO1xuICAgICAgICAgICAgICAgIHN1bW1hcnkuZmFpbGVkU3VpdGVzICs9IHN1aXRlUmVzdWx0LnN0YXR1cyA9PT0gJ2ZhaWxlZCcgPyAxIDogMDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBjYXNlUmVzdWx0IG9mIHN1aXRlUmVzdWx0LmNhc2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnkucGFzc2VkQ2FzZXMgKz0gY2FzZVJlc3VsdC5zdGF0dXMgPT09ICdwYXNzZWQnIHx8IGNhc2VSZXN1bHQuc3RhdHVzID09PSAnd2FybmluZycgPyAxIDogMDtcbiAgICAgICAgICAgICAgICAgICAgc3VtbWFyeS5mYWlsZWRDYXNlcyArPSBjYXNlUmVzdWx0LnN0YXR1cyA9PT0gJ2ZhaWxlZCcgPyAxIDogMDtcbiAgICAgICAgICAgICAgICAgICAgc3VtbWFyeS5za2lwcGVkQ2FzZXMgKz0gY2FzZVJlc3VsdC5zdGF0dXMgPT09ICdza2lwcGVkJyA/IDEgOiAwO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoY2FzZVJlc3VsdC5zdGVwcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnkudG90YWxTdGVwcyArPSBjYXNlUmVzdWx0LnN0ZXBzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgc3RlcFJlc3VsdCBvZiBjYXNlUmVzdWx0LnN0ZXBzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5LnBhc3NlZFN0ZXBzICs9IHN0ZXBSZXN1bHQuc3RhdHVzID09PSAncGFzc2VkJyB8fCBzdGVwUmVzdWx0LnN0YXR1cyA9PT0gJ3dhcm5pbmcnID8gMSA6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5LmZhaWxlZFN0ZXBzICs9IHN0ZXBSZXN1bHQuc3RhdHVzID09PSAnZmFpbGVkJyA/IDEgOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeS5za2lwcGVkU3RlcHMgKz0gc3RlcFJlc3VsdC5zdGF0dXMgPT09ICdza2lwcGVkJyA/IDEgOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGZvcm1hdCBkYXRlIGFuZCB0aW1lXG4gICAgICAgIHN1bW1hcnkuc3RhcnREYXRlID0gbW9tZW50KHN1bW1hcnkuc3RhcnRUaW1lKS5mb3JtYXQoJ01NTSBERCcpO1xuICAgICAgICBzdW1tYXJ5LnN0YXJ0VGltZSA9IG1vbWVudChzdW1tYXJ5LnN0YXJ0VGltZSkuZm9ybWF0KCdISDptbScpO1xuICAgICAgICBzdW1tYXJ5LmVuZFRpbWUgPSBtb21lbnQoc3VtbWFyeS5lbmRUaW1lKS5mb3JtYXQoJ0hIOm1tJyk7XG4gICAgICAgIHJldHVybiBzdW1tYXJ5O1xuICAgIH1cblxuICAgIGdlbmVyYXRlKHJlc3VsdHMpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0RmlsZVBhdGggPSB0aGlzLmNyZWF0ZUZvbGRlclN0cnVjdHVyZUFuZEZpbGVQYXRoKCcuaHRtbCcpO1xuICAgICAgICBjb25zdCByZXN1bHRGb2xkZXJQYXRoID0gcGF0aC5kaXJuYW1lKHJlc3VsdEZpbGVQYXRoKTtcblxuICAgICAgICB0aGlzLnJlcGxhY2VTY3JlZW5zaG90c1dpdGhGaWxlcyhyZXN1bHRzLCByZXN1bHRGb2xkZXJQYXRoKTtcbiAgICAgICAgdGhpcy5mb3JtYXRUb3RhbER1cmF0aW9uKHJlc3VsdHMpO1xuXG4gICAgICAgIGNvbnN0IHRlbXBsYXRlUGF0aCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9veF9yZXBvcnRlcnMvaHRtbC9pbmRleC5lanMnKTtcbiAgICAgICAgY29uc3Qgc3VtbWFyeSA9IHRoaXMuZ2VuZXJhdGVTdW1tYXJ5KHJlc3VsdHMpO1xuXG4gICAgICAgIC8vIHJlbmRlciBIVE1MIGFuZCB3cml0ZSBpdCB0byBmaWxlXG4gICAgICAgIGVqcy5yZW5kZXJGaWxlKHRlbXBsYXRlUGF0aCwge3N1bW1hcnk6IHN1bW1hcnksIHJlc3VsdHM6IHJlc3VsdHN9LCBudWxsLCBmdW5jdGlvbihlcnIsIGh0bWwpIHtcbiAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHJlc3VsdEZpbGVQYXRoLCBodG1sKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHRGaWxlUGF0aDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -35,4 +35,4 @@ class JSONReporter extends _FileReporterBase.default {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
exports.default = JSONReporter;
|
|
38
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9yZXBvcnRlcnMvcmVwb3J0ZXItanNvbi5qcyJdLCJuYW1lcyI6WyJKU09OUmVwb3J0ZXIiLCJGaWxlUmVwb3J0ZXJCYXNlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiZ2VuZXJhdGUiLCJyZXN1bHRzIiwicmVzdWx0RmlsZVBhdGgiLCJjcmVhdGVGb2xkZXJTdHJ1Y3R1cmVBbmRGaWxlUGF0aCIsInJlc3VsdEZvbGRlclBhdGgiLCJwYXRoIiwiZGlybmFtZSIsInJlcGxhY2VTY3JlZW5zaG90c1dpdGhGaWxlcyIsImZzIiwid3JpdGVGaWxlU3luYyIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVlBOztBQUNBOztBQUVBOzs7O0FBRWUsTUFBTUEsWUFBTixTQUEyQkMseUJBQTNCLENBQTRDO0FBQ3ZEQyxFQUFBQSxXQUFXLENBQUNDLE9BQUQsRUFBVTtBQUNqQixVQUFNQSxPQUFOO0FBQ0g7O0FBRURDLEVBQUFBLFFBQVEsQ0FBQ0MsT0FBRCxFQUFVO0FBQ2QsVUFBTUMsY0FBYyxHQUFHLEtBQUtDLGdDQUFMLENBQXNDLE9BQXRDLENBQXZCOztBQUNBLFVBQU1DLGdCQUFnQixHQUFHQyxjQUFLQyxPQUFMLENBQWFKLGNBQWIsQ0FBekI7O0FBRUEsU0FBS0ssMkJBQUwsQ0FBaUNOLE9BQWpDLEVBQTBDRyxnQkFBMUM7O0FBQ0FJLGdCQUFHQyxhQUFILENBQWlCUCxjQUFqQixFQUFpQ1EsSUFBSSxDQUFDQyxTQUFMLENBQWVWLE9BQWYsRUFBd0IsSUFBeEIsRUFBOEIsQ0FBOUIsQ0FBakM7O0FBRUEsV0FBT0MsY0FBUDtBQUNIOztBQWJzRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKi9cblxuLypcbiAqIE94eWdlbiBKU09OIFJlcG9ydGVyXG4gKi9cbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcblxuaW1wb3J0IEZpbGVSZXBvcnRlckJhc2UgZnJvbSAnLi4vcmVwb3J0ZXIvRmlsZVJlcG9ydGVyQmFzZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEpTT05SZXBvcnRlciBleHRlbmRzIEZpbGVSZXBvcnRlckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgZ2VuZXJhdGUocmVzdWx0cykge1xuICAgICAgICBjb25zdCByZXN1bHRGaWxlUGF0aCA9IHRoaXMuY3JlYXRlRm9sZGVyU3RydWN0dXJlQW5kRmlsZVBhdGgoJy5qc29uJyk7XG4gICAgICAgIGNvbnN0IHJlc3VsdEZvbGRlclBhdGggPSBwYXRoLmRpcm5hbWUocmVzdWx0RmlsZVBhdGgpO1xuXG4gICAgICAgIHRoaXMucmVwbGFjZVNjcmVlbnNob3RzV2l0aEZpbGVzKHJlc3VsdHMsIHJlc3VsdEZvbGRlclBhdGgpO1xuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHJlc3VsdEZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShyZXN1bHRzLCBudWxsLCA0KSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdEZpbGVQYXRoO1xuICAgIH1cbn1cblxuIl19
|
|
@@ -81,4 +81,4 @@ class JUnitXmlReporter extends _FileReporterBase.default {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
exports.default = JUnitXmlReporter;
|
|
84
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9yZXBvcnRlcnMvcmVwb3J0ZXItanVuaXQuanMiXSwibmFtZXMiOlsiSlVuaXRYbWxSZXBvcnRlciIsIkZpbGVSZXBvcnRlckJhc2UiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJnZW5lcmF0ZSIsInJlc3VsdHMiLCJyZXN1bHRGaWxlUGF0aCIsImNyZWF0ZUZvbGRlclN0cnVjdHVyZUFuZEZpbGVQYXRoIiwicmVzdWx0Rm9sZGVyUGF0aCIsInBhdGgiLCJkaXJuYW1lIiwicmVwbGFjZVNjcmVlbnNob3RzV2l0aEZpbGVzIiwicmVzdWx0Iiwic3VpdGUiLCJzdWl0ZXMiLCJfcG9wdWxhdGVTdWl0ZVJlc3VsdHMiLCJidWlsZGVyIiwid3JpdGVUbyIsInN1aXRlUmVzdWx0IiwidGVzdFN1aXRlIiwibmFtZSIsImNhc2VSZXN1bHQiLCJjYXNlcyIsInRlc3RDYXNlIiwiY2xhc3NOYW1lIiwibG9jYXRpb24iLCJ0aW1lIiwiZHVyYXRpb24iLCJfYXR0cmlidXRlcyIsInN0YXR1cyIsImxhc3RGYWlsZWRTdGVwIiwic3RlcCIsInN0ZXBzIiwidHlwZSIsImZhaWx1cmUiLCJtZXNzYWdlIiwibGluZSIsImRhdGEiLCJzdGFja3RyYWNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFZQTs7QUFDQTs7QUFFQTs7OztBQUVlLE1BQU1BLGdCQUFOLFNBQStCQyx5QkFBL0IsQ0FBZ0Q7QUFDM0RDLEVBQUFBLFdBQVcsQ0FBQ0MsT0FBRCxFQUFVO0FBQ2pCLFVBQU1BLE9BQU47QUFDSDs7QUFFREMsRUFBQUEsUUFBUSxDQUFDQyxPQUFELEVBQVU7QUFDZCxRQUFJQyxjQUFjLEdBQUcsS0FBS0MsZ0NBQUwsQ0FBc0MsTUFBdEMsQ0FBckI7O0FBQ0EsUUFBSUMsZ0JBQWdCLEdBQUdDLGNBQUtDLE9BQUwsQ0FBYUosY0FBYixDQUF2Qjs7QUFFQSxTQUFLSywyQkFBTCxDQUFpQ04sT0FBakMsRUFBMENHLGdCQUExQzs7QUFFQSxTQUFLLElBQUlJLE1BQVQsSUFBbUJQLE9BQW5CLEVBQTRCO0FBQ3hCLFdBQUssSUFBSVEsS0FBVCxJQUFrQkQsTUFBTSxDQUFDRSxNQUF6QixFQUFpQztBQUM3QixhQUFLQyxxQkFBTCxDQUEyQkYsS0FBM0IsRUFBa0NHLDJCQUFsQztBQUNIO0FBQ0o7O0FBRURBLGdDQUFRQyxPQUFSLENBQWdCWCxjQUFoQjs7QUFFQSxXQUFPQSxjQUFQO0FBQ0g7O0FBRURTLEVBQUFBLHFCQUFxQixDQUFDRyxXQUFELEVBQWNGLE9BQWQsRUFBdUI7QUFDeEMsUUFBSUgsS0FBSyxHQUFHRyxPQUFPLENBQUNHLFNBQVIsR0FBb0JDLElBQXBCLENBQXlCRixXQUFXLENBQUNFLElBQXJDLENBQVo7O0FBQ0EsU0FBSyxJQUFJQyxVQUFULElBQXVCSCxXQUFXLENBQUNJLEtBQW5DLEVBQTBDO0FBQ3RDLFVBQUlDLFFBQVEsR0FBR1YsS0FBSyxDQUFDVSxRQUFOLEdBQWlCSCxJQUFqQixDQUFzQkMsVUFBVSxDQUFDRCxJQUFqQyxDQUFmO0FBQ0FHLE1BQUFBLFFBQVEsQ0FBQ0MsU0FBVCxDQUFtQkgsVUFBVSxDQUFDSSxRQUE5QjtBQUNBRixNQUFBQSxRQUFRLENBQUNHLElBQVQsQ0FBY0wsVUFBVSxDQUFDTSxRQUFYLEdBQXNCTixVQUFVLENBQUNNLFFBQVgsR0FBc0IsSUFBNUMsR0FBbUQsQ0FBakU7O0FBQ0EsVUFBSUosUUFBUSxDQUFDSyxXQUFULElBQXdCLE9BQU9MLFFBQVEsQ0FBQ0ssV0FBaEIsS0FBZ0MsUUFBNUQsRUFBc0U7QUFDbEVMLFFBQUFBLFFBQVEsQ0FBQ0ssV0FBVCxDQUFxQkMsTUFBckIsR0FBOEJSLFVBQVUsQ0FBQ1EsTUFBekM7QUFDSDs7QUFDRCxVQUFJQyxjQUFjLEdBQUcsSUFBckI7O0FBQ0EsV0FBSyxJQUFJQyxJQUFULElBQWlCVixVQUFVLENBQUNXLEtBQTVCLEVBQW1DO0FBQy9CLFlBQUlELElBQUksQ0FBQ0YsTUFBTCxLQUFnQixRQUFwQixFQUE4QjtBQUMxQkMsVUFBQUEsY0FBYyxHQUFHQyxJQUFqQjtBQUNILFNBRkQsTUFHSztBQUNERCxVQUFBQSxjQUFjLEdBQUcsSUFBakI7QUFDSDtBQUNKOztBQUNELFVBQUlBLGNBQUosRUFBb0I7QUFDaEIsY0FBTUcsSUFBSSxHQUFHSCxjQUFjLENBQUNJLE9BQWYsQ0FBdUJELElBQXZCLElBQStCLElBQTVDO0FBQ0EsWUFBSUUsT0FBTyxHQUFJTCxjQUFjLENBQUNJLE9BQWYsQ0FBdUJDLE9BQXZCLElBQWtDLEVBQWpEO0FBQ0FBLFFBQUFBLE9BQU8sSUFBSUwsY0FBYyxDQUFDSSxPQUFmLENBQXVCRSxJQUF2QixHQUE4QixjQUFjTixjQUFjLENBQUNJLE9BQWYsQ0FBdUJFLElBQW5FLEdBQTBFLEVBQXJGOztBQUNBLFlBQUlELE9BQU8sS0FBSyxFQUFoQixFQUFvQjtBQUNoQkEsVUFBQUEsT0FBTyxHQUFHLElBQVY7QUFDSDs7QUFDRFosUUFBQUEsUUFBUSxDQUFDVyxPQUFULENBQWlCQyxPQUFqQixFQUEwQkYsSUFBMUI7O0FBQ0EsWUFBSUgsY0FBYyxDQUFDSSxPQUFmLENBQXVCRyxJQUEzQixFQUFpQztBQUM3QmQsVUFBQUEsUUFBUSxDQUFDZSxVQUFULENBQW9CUixjQUFjLENBQUNJLE9BQWYsQ0FBdUJHLElBQTNDO0FBQ0g7QUFDSjtBQUNKO0FBQ0o7O0FBckQwRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKi9cblxuLypcbiAqIE94eWdlbiBKVW5pdCBYTUwgUmVwb3J0ZXJcbiAqL1xuaW1wb3J0IGJ1aWxkZXIgZnJvbSAnanVuaXQtcmVwb3J0LWJ1aWxkZXInO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCBGaWxlUmVwb3J0ZXJCYXNlIGZyb20gJy4uL3JlcG9ydGVyL0ZpbGVSZXBvcnRlckJhc2UnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBKVW5pdFhtbFJlcG9ydGVyIGV4dGVuZHMgRmlsZVJlcG9ydGVyQmFzZSB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZShyZXN1bHRzKSB7XG4gICAgICAgIHZhciByZXN1bHRGaWxlUGF0aCA9IHRoaXMuY3JlYXRlRm9sZGVyU3RydWN0dXJlQW5kRmlsZVBhdGgoJy54bWwnKTtcbiAgICAgICAgdmFyIHJlc3VsdEZvbGRlclBhdGggPSBwYXRoLmRpcm5hbWUocmVzdWx0RmlsZVBhdGgpO1xuXG4gICAgICAgIHRoaXMucmVwbGFjZVNjcmVlbnNob3RzV2l0aEZpbGVzKHJlc3VsdHMsIHJlc3VsdEZvbGRlclBhdGgpO1xuXG4gICAgICAgIGZvciAobGV0IHJlc3VsdCBvZiByZXN1bHRzKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBzdWl0ZSBvZiByZXN1bHQuc3VpdGVzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcG9wdWxhdGVTdWl0ZVJlc3VsdHMoc3VpdGUsIGJ1aWxkZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYnVpbGRlci53cml0ZVRvKHJlc3VsdEZpbGVQYXRoKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0RmlsZVBhdGg7XG4gICAgfVxuXG4gICAgX3BvcHVsYXRlU3VpdGVSZXN1bHRzKHN1aXRlUmVzdWx0LCBidWlsZGVyKSB7XG4gICAgICAgIHZhciBzdWl0ZSA9IGJ1aWxkZXIudGVzdFN1aXRlKCkubmFtZShzdWl0ZVJlc3VsdC5uYW1lKTtcbiAgICAgICAgZm9yIChsZXQgY2FzZVJlc3VsdCBvZiBzdWl0ZVJlc3VsdC5jYXNlcykge1xuICAgICAgICAgICAgbGV0IHRlc3RDYXNlID0gc3VpdGUudGVzdENhc2UoKS5uYW1lKGNhc2VSZXN1bHQubmFtZSk7XG4gICAgICAgICAgICB0ZXN0Q2FzZS5jbGFzc05hbWUoY2FzZVJlc3VsdC5sb2NhdGlvbik7XG4gICAgICAgICAgICB0ZXN0Q2FzZS50aW1lKGNhc2VSZXN1bHQuZHVyYXRpb24gPyBjYXNlUmVzdWx0LmR1cmF0aW9uIC8gMTAwMCA6IDApO1xuICAgICAgICAgICAgaWYgKHRlc3RDYXNlLl9hdHRyaWJ1dGVzICYmIHR5cGVvZiB0ZXN0Q2FzZS5fYXR0cmlidXRlcyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICB0ZXN0Q2FzZS5fYXR0cmlidXRlcy5zdGF0dXMgPSBjYXNlUmVzdWx0LnN0YXR1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBsYXN0RmFpbGVkU3RlcCA9IG51bGw7XG4gICAgICAgICAgICBmb3IgKGxldCBzdGVwIG9mIGNhc2VSZXN1bHQuc3RlcHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoc3RlcC5zdGF0dXMgPT09ICdmYWlsZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGxhc3RGYWlsZWRTdGVwID0gc3RlcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGxhc3RGYWlsZWRTdGVwID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGFzdEZhaWxlZFN0ZXApIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlID0gbGFzdEZhaWxlZFN0ZXAuZmFpbHVyZS50eXBlIHx8IG51bGw7XG4gICAgICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSAgbGFzdEZhaWxlZFN0ZXAuZmFpbHVyZS5tZXNzYWdlIHx8ICcnO1xuICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gbGFzdEZhaWxlZFN0ZXAuZmFpbHVyZS5saW5lID8gJyBhdCBsaW5lICcgKyBsYXN0RmFpbGVkU3RlcC5mYWlsdXJlLmxpbmUgOiAnJztcbiAgICAgICAgICAgICAgICBpZiAobWVzc2FnZSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRlc3RDYXNlLmZhaWx1cmUobWVzc2FnZSwgdHlwZSk7XG4gICAgICAgICAgICAgICAgaWYgKGxhc3RGYWlsZWRTdGVwLmZhaWx1cmUuZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICB0ZXN0Q2FzZS5zdGFja3RyYWNlKGxhc3RGYWlsZWRTdGVwLmZhaWx1cmUuZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -59,4 +59,4 @@ class PdfReporter extends _FileReporterBase.default {
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
exports.default = PdfReporter;
|
|
62
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9yZXBvcnRlcnMvcmVwb3J0ZXItcGRmLmpzIl0sIm5hbWVzIjpbImV4ZWMiLCJyZXF1aXJlIiwiZXhlY0ZpbGVTeW5jIiwiY29udmVydFRvUGRmIiwiaHRtbEZpbGUiLCJiaW5QYXRoIiwicHJvY2VzcyIsInBsYXRmb3JtIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJwZGZQYXRoIiwicmVwbGFjZSIsIlJlZ0V4cCIsInN0ZGlvIiwiZnMiLCJ1bmxpbmtTeW5jIiwiUGRmUmVwb3J0ZXIiLCJGaWxlUmVwb3J0ZXJCYXNlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiZ2VuZXJhdGUiLCJyZXN1bHRzIiwicmVzdWx0RmlsZVBhdGgiLCJjcmVhdGVGb2xkZXJTdHJ1Y3R1cmVBbmRGaWxlUGF0aCIsInJlc3VsdEZvbGRlclBhdGgiLCJkaXJuYW1lIiwicmVwbGFjZVNjcmVlbnNob3RzV2l0aEZpbGVzIiwicmVwb3J0ZXIiLCJIdG1sUmVwb3J0ZXIiLCJodG1sUGF0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBWUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFDQSxJQUFJQSxJQUFJLEdBQUdDLE9BQU8sQ0FBQyxlQUFELENBQVAsQ0FBeUJDLFlBQXBDOztBQUVBLFNBQVNDLFlBQVQsQ0FBc0JDLFFBQXRCLEVBQWdDO0FBQzVCLE1BQUlDLE9BQUo7O0FBRUEsTUFBSUMsT0FBTyxDQUFDQyxRQUFSLEtBQXFCLE9BQXpCLEVBQWtDO0FBQzlCRixJQUFBQSxPQUFPLEdBQUdHLGNBQUtDLElBQUwsQ0FBVUMsU0FBVixFQUFxQixLQUFyQixFQUE0QixpQkFBNUIsQ0FBVjtBQUNILEdBRkQsTUFFTyxJQUFJSixPQUFPLENBQUNDLFFBQVIsS0FBcUIsT0FBekIsRUFBa0M7QUFDckNGLElBQUFBLE9BQU8sR0FBR0csY0FBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLEtBQXJCLEVBQTRCLGlCQUE1QixDQUFWO0FBQ0gsR0FGTSxNQUVBO0FBQ0gsVUFBTSw0Q0FBTjtBQUVIOztBQUVELE1BQUlDLE9BQU8sR0FBR1AsUUFBUSxDQUFDUSxPQUFULENBQWlCLElBQUlDLE1BQUosQ0FBVyxPQUFYLEVBQW9CLEdBQXBCLENBQWpCLEVBQTJDLE1BQTNDLENBQWQ7QUFFQWIsRUFBQUEsSUFBSSxDQUFDSyxPQUFELEVBQVUsQ0FBQyxJQUFELEVBQU8saUJBQVAsRUFBMEIsVUFBMUIsRUFBc0MsSUFBdEMsRUFBNEMsV0FBNUMsRUFBeUQsSUFBekQsRUFBK0QsTUFBL0QsRUFBdUUsSUFBdkUsRUFBNkUsTUFBN0UsRUFBcUYsSUFBckYsRUFBMkYsTUFBM0YsRUFBbUcsSUFBbkcsRUFBeUcsTUFBekcsRUFBaUhELFFBQWpILEVBQTJITyxPQUEzSCxDQUFWLEVBQStJO0FBQUNHLElBQUFBLEtBQUssRUFBQyxDQUFDLENBQUQsRUFBRyxDQUFILEVBQUssQ0FBTDtBQUFQLEdBQS9JLENBQUo7O0FBRUFDLGNBQUdDLFVBQUgsQ0FBY1osUUFBZDs7QUFFQSxTQUFPTyxPQUFQO0FBQ0g7O0FBRWMsTUFBTU0sV0FBTixTQUEwQkMseUJBQTFCLENBQTJDO0FBQ3REQyxFQUFBQSxXQUFXLENBQUNDLE9BQUQsRUFBVTtBQUNqQixVQUFNQSxPQUFOO0FBQ0g7O0FBRURDLEVBQUFBLFFBQVEsQ0FBQ0MsT0FBRCxFQUFVO0FBQ2QsUUFBSUMsY0FBYyxHQUFHLEtBQUtDLGdDQUFMLENBQXNDLE1BQXRDLENBQXJCOztBQUNBLFFBQUlDLGdCQUFnQixHQUFHakIsY0FBS2tCLE9BQUwsQ0FBYUgsY0FBYixDQUF2Qjs7QUFFQSxTQUFLSSwyQkFBTCxDQUFpQ0wsT0FBakMsRUFBMENHLGdCQUExQztBQUVBLFFBQUlHLFFBQVEsR0FBRyxJQUFJQyxxQkFBSixDQUFpQixLQUFLVCxPQUF0QixDQUFmO0FBQ0EsUUFBSVUsUUFBUSxHQUFHRixRQUFRLENBQUNQLFFBQVQsQ0FBa0JDLE9BQWxCLENBQWY7QUFFQSxXQUFPbkIsWUFBWSxDQUFDMkIsUUFBRCxDQUFuQjtBQUNIOztBQWZxRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKi9cblxuLypcbiAqIE94eWdlbiBQREYgUmVwb3J0ZXJcbiAqL1xuaW1wb3J0IEZpbGVSZXBvcnRlckJhc2UgZnJvbSAnLi4vcmVwb3J0ZXIvRmlsZVJlcG9ydGVyQmFzZSc7XG5pbXBvcnQgSHRtbFJlcG9ydGVyIGZyb20gJy4vcmVwb3J0ZXItaHRtbCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBmcyBmcm9tICdmcyc7XG52YXIgZXhlYyA9IHJlcXVpcmUoJ2NoaWxkX3Byb2Nlc3MnKS5leGVjRmlsZVN5bmM7XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb1BkZihodG1sRmlsZSkge1xuICAgIHZhciBiaW5QYXRoO1xuXG4gICAgaWYgKHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicpIHtcbiAgICAgICAgYmluUGF0aCA9IHBhdGguam9pbihfX2Rpcm5hbWUsICdwZGYnLCAnd2todG1sdG9wZGYuZXhlJyk7XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSAnbGludXgnKSB7XG4gICAgICAgIGJpblBhdGggPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAncGRmJywgJ3draHRtbHRvcGRmLWxpbicpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93ICdQREYgcmVwb3J0ZXIgaXMgbm90IHlldCBzdXBwb3J0ZWQgb24gT1MgWC4nO1xuICAgICAgICAvL2JpblBhdGggPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAncGRmJywgJ3draHRtbHRvcGRmLW9zeCcpO1xuICAgIH1cblxuICAgIHZhciBwZGZQYXRoID0gaHRtbEZpbGUucmVwbGFjZShuZXcgUmVnRXhwKCcuaHRtbCcsICdnJyksICcucGRmJyk7XG5cbiAgICBleGVjKGJpblBhdGgsIFsnLXEnLCAnLS12aWV3cG9ydC1zaXplJywgJzE2MDB4OTAwJywgJy1PJywgJ0xhbmRzY2FwZScsICctTCcsICcxMG1tJywgJy1SJywgJzEwbW0nLCAnLVQnLCAnMTBtbScsICctQicsICcxMG1tJywgaHRtbEZpbGUsIHBkZlBhdGhdLCB7c3RkaW86WzAsMSwyXX0pO1xuXG4gICAgZnMudW5saW5rU3luYyhodG1sRmlsZSk7XG5cbiAgICByZXR1cm4gcGRmUGF0aDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGRmUmVwb3J0ZXIgZXh0ZW5kcyBGaWxlUmVwb3J0ZXJCYXNlIHtcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGdlbmVyYXRlKHJlc3VsdHMpIHtcbiAgICAgICAgdmFyIHJlc3VsdEZpbGVQYXRoID0gdGhpcy5jcmVhdGVGb2xkZXJTdHJ1Y3R1cmVBbmRGaWxlUGF0aCgnLnhtbCcpO1xuICAgICAgICB2YXIgcmVzdWx0Rm9sZGVyUGF0aCA9IHBhdGguZGlybmFtZShyZXN1bHRGaWxlUGF0aCk7XG5cbiAgICAgICAgdGhpcy5yZXBsYWNlU2NyZWVuc2hvdHNXaXRoRmlsZXMocmVzdWx0cywgcmVzdWx0Rm9sZGVyUGF0aCk7XG5cbiAgICAgICAgdmFyIHJlcG9ydGVyID0gbmV3IEh0bWxSZXBvcnRlcih0aGlzLm9wdGlvbnMpO1xuICAgICAgICB2YXIgaHRtbFBhdGggPSByZXBvcnRlci5nZW5lcmF0ZShyZXN1bHRzKTtcblxuICAgICAgICByZXR1cm4gY29udmVydFRvUGRmKGh0bWxQYXRoKTtcbiAgICB9XG59Il19
|
|
@@ -532,4 +532,4 @@ class ReportPortalReporter extends _ReporterBase.default {
|
|
|
532
532
|
}
|
|
533
533
|
|
|
534
534
|
exports.default = ReportPortalReporter;
|
|
535
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9yZXBvcnRlcnMvcmVwb3J0ZXItcnAuanMiXSwibmFtZXMiOlsiUlBDbGllbnQiLCJyZXF1aXJlIiwiTEFVTkNIX01PREVTIiwiREVGQVVMVCIsIkRFQlVHIiwiVEVTVF9JVEVNX1RZUEVTIiwiU1VJVEUiLCJURVNUIiwiU1RFUCIsIk1BWF9OQU1FX0xFTkdUSCIsIlJlcG9ydFBvcnRhbFJlcG9ydGVyIiwiUmVwb3J0ZXJCYXNlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwicmVwb3J0ZXJPcHRzIiwiYWdncmVnYXRvciIsInJwIiwicmVwb3J0U3RlcHMiLCJyZXBvcnRMb2dzIiwiY2JTdWl0ZVRvUnBJZEhhc2giLCJjYkNhc2VUb1JwSWRIYXNoIiwiY2JTdGVwVG9ScElkSGFzaCIsImNiU3VpdGVSZXN1bHRMaXN0QnlSZWZJZCIsImN1cnJlbnRUcmFuc2FjdGlvblN0ZXBJZCIsInVuZGVmaW5lZCIsImN1cnJlbnRTdWJTdGVwSWQiLCJhcGlLZXkiLCJlbmRwb2ludCIsInByb2plY3QiLCJFcnJvciIsInJwQ2xpZW50IiwibGF1bmNoIiwibmFtZSIsImluaXQiLCJjaGVja0Nvbm5lY3QiLCJlIiwibWVzc2FnZSIsImdlbmVyYXRlIiwicmVzdWx0cyIsIm9uTGF1bmNoU3RhcnQiLCJ0ZW1wSWQiLCJwcm9taXNlIiwic3RhcnRMYXVuY2giLCJtb2RlIiwiZGVidWciLCJ0ZW1wTGF1bmNoSWQiLCJwcm9taXNlV2l0aFRpbWVvdXQiLCJjb25zb2xlIiwiZGlyIiwib25MYXVuY2hFbmQiLCJfcmVwb3J0RW5kT2ZTdGFydGVkU3VpdGVzIiwiaGFzRmFpbGVkIiwic29tZSIsIngiLCJzdGF0dXMiLCJTdGF0dXMiLCJGQUlMRUQiLCJmaW5pc2hMYXVuY2giLCJvblJ1bm5lclN0YXJ0IiwicmlkIiwib3B0cyIsImNhcHMiLCJvblJ1bm5lckVuZCIsInJlc3VsdCIsIm9uU3VpdGVTdGFydCIsInN1aXRlSWQiLCJzdWl0ZSIsInN1aXRlRGVmIiwic3VpdGVSZWZJZCIsInJlZklkIiwic3RhcnRUZXN0SXRlbVJlcSIsInR5cGUiLCJzdGFydFRlc3RJdGVtIiwib25TdWl0ZUVuZCIsInB1c2giLCJvbkNhc2VTdGFydCIsImNhc2VJZCIsImNhc2VEZWYiLCJjb2RlUmVmIiwicGF0aCIsInJwU3VpdGVJZCIsIm9uQ2FzZUVuZCIsInJwVGVzdElkIiwidG9Mb3dlckNhc2UiLCJmYWlsdXJlIiwicnBGaWxlIiwic2NyZWVuc2hvdCIsImNvbnRlbnQiLCJsb2dNc2ciLCJfc3RyaW5naWZ5IiwibG9nUmVxIiwibGV2ZWwiLCJzZW5kTG9nIiwiZmluaXNoVGVzdEl0ZW1SZXEiLCJmaW5pc2hUZXN0SXRlbSIsIm9uU3RlcFN0YXJ0Iiwic3RlcCIsIm1vZHVsZSIsInJlcG9ydExvZ1N0ZXAiLCJycENhc2VJZCIsInJwUGFyZW50SWQiLCJpZCIsInN0ZXBOYW1lIiwiX2dldFN0ZXBOYW1lIiwibG9jYXRpb24iLCJ0ZXN0Q2FzZUlkIiwiaGFzU3RhdHMiLCJvblN0ZXBFbmQiLCJzdGFydHNXaXRoIiwicnBTdGVwSWQiLCJmaWxlIiwib25Mb2ciLCJzdGVwSWQiLCJtc2ciLCJ0aW1lIiwic3JjIiwicnBMZXZlbCIsIl9nZXRScExldmVsIiwiYXJncyIsImxlbmd0aCIsInNlbmRScExvZyIsIk9iamVjdCIsImtleXMiLCJoYXNGYWlsZWRTdWl0ZSIsIm94TGV2ZWwiLCJzaWduYXR1cmUiLCJzdWJzdHJpbmciLCJTdHJpbmciLCJKU09OIiwic3RyaW5naWZ5IiwiZXJyb3IiLCJ0aW1lb3V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJ0aGVuIiwic2V0VGltZW91dCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBWUE7O0FBQ0E7Ozs7QUFDQSxNQUFNQSxRQUFRLEdBQUdDLE9BQU8sQ0FBQyxnQ0FBRCxDQUF4Qjs7QUFDQSxNQUFNQyxZQUFZLEdBQUc7QUFDakJDLEVBQUFBLE9BQU8sRUFBRSxTQURRO0FBRWpCQyxFQUFBQSxLQUFLLEVBQUU7QUFGVSxDQUFy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QWUsQ0FBZixFQUFrQnJILGVBQWUsR0FBQyxDQUFsQyxJQUF1QyxLQUE5QztBQUNIOztBQUNELFdBQU91QixJQUFQO0FBQ0g7O0FBR0R5RCxFQUFBQSxVQUFVLENBQUN3QixHQUFELEVBQU07QUFFWixRQUFJLE9BQU9BLEdBQVAsS0FBZSxXQUFmLElBQThCQSxHQUFHLEtBQUssSUFBMUMsRUFBZ0Q7QUFDNUMsYUFBTyxJQUFQO0FBQ0g7O0FBRUQsUUFBSSxPQUFPQSxHQUFQLEtBQWUsUUFBZixJQUEyQkEsR0FBRyxZQUFZYyxNQUE5QyxFQUFzRDtBQUNsRCxhQUFPZCxHQUFQO0FBQ0g7O0FBRUQsUUFBSTtBQUNBLGFBQU9lLElBQUksQ0FBQ0MsU0FBTCxDQUFlaEIsR0FBZixDQUFQO0FBQ0gsS0FGRCxDQUVFLE9BQU85RSxDQUFQLEVBQVU7QUFDUlksTUFBQUEsT0FBTyxDQUFDbUYsS0FBUixDQUFjLHlEQUFkO0FBQ0g7QUFDSjs7QUFFRHBGLEVBQUFBLGtCQUFrQixDQUFDTCxPQUFELEVBQVUwRixPQUFPLEdBQUcsS0FBSyxJQUF6QixFQUErQjtBQUM3QyxXQUFPLElBQUlDLE9BQUosQ0FBWSxDQUFDQyxPQUFELEVBQVVDLE1BQVYsS0FBcUI7QUFDcEMsVUFBSSxDQUFDN0YsT0FBRCxJQUFZLENBQUNBLE9BQU8sQ0FBQzhGLElBQXpCLEVBQStCO0FBQzNCRCxRQUFBQSxNQUFNLENBQUMsSUFBSXpHLEtBQUosQ0FBVyw0QkFBMkJzRyxPQUFRLEtBQTlDLENBQUQsQ0FBTjtBQUNIOztBQUNEMUYsTUFBQUEsT0FBTyxDQUFDOEYsSUFBUixDQUFhRixPQUFiLEVBQXNCQyxNQUF0QjtBQUNBRSxNQUFBQSxVQUFVLENBQUNGLE1BQUQsRUFBU0gsT0FBVCxDQUFWO0FBQ0gsS0FOTSxDQUFQO0FBT0g7O0FBNWEwRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLypcclxuICogT3h5Z2VuIFJlcG9ydGVyIGZvciBSZXBvcnRQb3J0YWxcclxuICovXHJcbmltcG9ydCBSZXBvcnRlckJhc2UgZnJvbSAnLi4vcmVwb3J0ZXIvUmVwb3J0ZXJCYXNlJztcclxuaW1wb3J0IFN0YXR1cyBmcm9tICcuLi9tb2RlbC9zdGF0dXMnO1xyXG5jb25zdCBSUENsaWVudCA9IHJlcXVpcmUoJ0BveHlnZW5ocS9ycC1jbGllbnQtamF2YXNjcmlwdCcpO1xyXG5jb25zdCBMQVVOQ0hfTU9ERVMgPSB7XHJcbiAgICBERUZBVUxUOiAnREVGQVVMVCcsXHJcbiAgICBERUJVRzogJ0RFQlVHJyxcclxufTtcclxuY29uc3QgVEVTVF9JVEVNX1RZUEVTID0ge1xyXG4gICAgU1VJVEU6ICdTVUlURScsXHJcbiAgICBURVNUOiAnVEVTVCcsXHJcbiAgICBTVEVQOiAnU1RFUCcsXHJcbn07XHJcbmNvbnN0IE1BWF9OQU1FX0xFTkdUSCA9IDEyODtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlcG9ydFBvcnRhbFJlcG9ydGVyIGV4dGVuZHMgUmVwb3J0ZXJCYXNlIHtcclxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMsIHJlcG9ydGVyT3B0cywgYWdncmVnYXRvcikge1xyXG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMucmVwb3J0ZXJPcHRzID0gcmVwb3J0ZXJPcHRzIHx8IG9wdGlvbnMucnA7XHJcbiAgICAgICAgdGhpcy5yZXBvcnRTdGVwcyA9IHJlcG9ydGVyT3B0cy5yZXBvcnRTdGVwcyB8fCB0cnVlO1xyXG4gICAgICAgIHRoaXMucmVwb3J0TG9ncyA9IHJlcG9ydGVyT3B0cy5yZXBvcnRMb2dzIHx8IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2JTdWl0ZVRvUnBJZEhhc2ggPSB7fTtcclxuICAgICAgICB0aGlzLmNiQ2FzZVRvUnBJZEhhc2ggPSB7fTtcclxuICAgICAgICB0aGlzLmNiU3RlcFRvUnBJZEhhc2ggPSB7fTtcclxuICAgICAgICB0aGlzLmNiU3VpdGVSZXN1bHRMaXN0QnlSZWZJZCA9IHt9O1xyXG4gICAgICAgIHRoaXMuY3VycmVudFRyYW5zYWN0aW9uU3RlcElkID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFN1YlN0ZXBJZCA9IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICF0aGlzLnJlcG9ydGVyT3B0c1xyXG4gICAgICAgICAgICB8fCAhdGhpcy5yZXBvcnRlck9wdHMuYXBpS2V5XHJcbiAgICAgICAgICAgIHx8ICF0aGlzLnJlcG9ydGVyT3B0cy5lbmRwb2ludFxyXG4gICAgICAgICAgICB8fCAhdGhpcy5yZXBvcnRlck9wdHMucHJvamVjdFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcG9ydFBvcnRhbCBvcHRpb25zIGFyZSBtaXNzaW5nIGluIG94eWdlbi5jb25mIGZpbGUuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYWdncmVnYXRvciA9IGFnZ3JlZ2F0b3I7XHJcbiAgICAgICAgdGhpcy5ycENsaWVudCA9IG5ldyBSUENsaWVudCh7XHJcbiAgICAgICAgICAgIGxhdW5jaDogdGhpcy5yZXBvcnRlck9wdHMubGF1bmNoIHx8IHRoaXMub3B0aW9ucy5uYW1lLFxyXG4gICAgICAgICAgICAuLi50aGlzLnJlcG9ydGVyT3B0c1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGluaXQoKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5ycENsaWVudC5jaGVja0Nvbm5lY3QoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSUCAtIEVycm9yIGNvbm5lY3RpbmcgdG8gdGhlIHNlcnZlcjogJHtlLm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYXN5bmMgZ2VuZXJhdGUocmVzdWx0cykge1xyXG4gICAgfVxyXG4gICAgLy8gRXZlbnRzXHJcbiAgICBhc3luYyBvbkxhdW5jaFN0YXJ0KHsgb3B0aW9ucyB9KSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgeyB0ZW1wSWQsIHByb21pc2UgfSA9IHRoaXMucnBDbGllbnQuc3RhcnRMYXVuY2goe1xyXG4gICAgICAgICAgICAgICAgbW9kZTogdGhpcy5yZXBvcnRlck9wdHMubW9kZSB8fCBMQVVOQ0hfTU9ERVMuREVGQVVMVCxcclxuICAgICAgICAgICAgICAgIGRlYnVnOiBmYWxzZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcExhdW5jaElkID0gdGVtcElkO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnByb21pc2VXaXRoVGltZW91dChwcm9taXNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5kaXIoYFJQIC0gRmFpbGVkIHRvIHN0YXJ0IGxhdW5jaDogJHtlfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGFzeW5jIG9uTGF1bmNoRW5kKHsgcmVzdWx0cyB9KSB7XHJcbiAgICAgICAgLy8gcmVwb3J0IHRoZSBlbmQgb2YgYWxsIHN0YXJ0ZWQgc3VpdGVzXHJcbiAgICAgICAgYXdhaXQgdGhpcy5fcmVwb3J0RW5kT2ZTdGFydGVkU3VpdGVzKCk7XHJcbiAgICAgICAgLy8gQ2FsY3VsYXRlIGxhdW5jaCBzdGF0dXNcclxuICAgICAgICBjb25zdCBoYXNGYWlsZWQgPSByZXN1bHRzLnNvbWUoeCA9PiB4LnN0YXR1cyA9PT0gU3RhdHVzLkZBSUxFRCk7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgcHJvbWlzZSB9ID0gYXdhaXQgdGhpcy5ycENsaWVudC5maW5pc2hMYXVuY2godGhpcy50ZW1wTGF1bmNoSWQsIHtcclxuICAgICAgICAgICAgICAgIHN0YXR1czogaGFzRmFpbGVkID8gJ0ZBSUxFRCcgOiAnUEFTU0VEJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9taXNlV2l0aFRpbWVvdXQocHJvbWlzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZGlyKGBSUCAtIEZhaWxlZCB0byBlbmQgbGF1bmNoOiAke2V9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYXN5bmMgb25SdW5uZXJTdGFydCh7IHJpZCwgb3B0cywgY2FwcyB9KSB7XHJcbiAgICB9XHJcbiAgICBhc3luYyBvblJ1bm5lckVuZCh7IHJpZCwgcmVzdWx0IH0pIHtcclxuICAgIH1cclxuICAgIGFzeW5jIG9uU3VpdGVTdGFydCh7IHJpZCwgc3VpdGVJZCwgc3VpdGU6IHN1aXRlRGVmIH0pIHtcclxuICAgICAgICAvLyBpbiBwYXJhbGxlbCB0ZXN0IGV4ZWN1dGlvbiwgb25TdWl0ZVN0YXJ0IHdpbGwgYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGZvciB0aGUgc2FtZSBzdWl0ZSBcclxuICAgICAgICAvLyBtYWtlIHN1cmUgd2UgY2FsbCBcInN0YXJ0VGVzdEl0ZW1cIiB0aGUgc2FtZSBzdWl0ZSBvbmx5IG9uY2VcclxuICAgICAgICBjb25zdCBzdWl0ZVJlZklkID0gc3VpdGVEZWYucmVmSWQ7XHJcbiAgICAgICAgaWYgKHRoaXMuY2JTdWl0ZVRvUnBJZEhhc2hbc3VpdGVSZWZJZF0pIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBhc3NpZ24gZW1wdHkgb2JqZWN0IGFzIGEgZm9ybSBvZiBtdWx0aS10aHJlYWQgbG9jayxcclxuICAgICAgICAvLyBzbyB0aGUgcGFyYWxsZWwgY2FsbCB0byBvblN1aXRlU3RhcnQgZnJvbSB0aGUgbmV4dCB0aHJlYWRcclxuICAgICAgICAvLyB3aWxsIG5vdCB0cnkgdG8gcHJvY2VlZCB3aXRoIHRoZSBjb2RlIGJlbG93XHJcbiAgICAgICAgdGhpcy5jYlN1aXRlVG9ScElkSGFzaFtzdWl0ZVJlZklkXSA9IHt9O1xyXG4gICAgICAgIHRoaXMuY2JTdWl0ZVJlc3VsdExpc3RCeVJlZklkW3N1aXRlUmVmSWRdID0gW107XHJcbiAgICAgICAgY29uc3Qgc3RhcnRUZXN0SXRlbVJlcSA9IHtcclxuICAgICAgICAgICAgbmFtZTogc3VpdGVEZWYubmFtZSB8fCB0aGlzLm9wdGlvbnMubmFtZSxcclxuICAgICAgICAgICAgdHlwZTogVEVTVF9JVEVNX1RZUEVTLlNVSVRFLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgdGVtcElkLCBwcm9taXNlIH0gPSB0aGlzLnJwQ2xpZW50LnN0YXJ0VGVzdEl0ZW0oc3RhcnRUZXN0SXRlbVJlcSwgdGhpcy50ZW1wTGF1bmNoSWQpO1xyXG4gICAgICAgICAgICB0aGlzLmNiU3VpdGVUb1JwSWRIYXNoW3N1aXRlUmVmSWRdID0gdGVtcElkO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnByb21pc2VXaXRoVGltZW91dChwcm9taXNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5kaXIoYFJQIC0gRmFpbGVkIHRvIHN0YXJ0IHN1aXRlIGl0ZW06ICR7ZX1gKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhc3luYyBvblN1aXRlRW5kKHsgcmlkLCBzdWl0ZUlkLCByZXN1bHQgfSkge1xyXG4gICAgICAgIGNvbnN0IHN1aXRlUmVmSWQgPSByZXN1bHQucmVmSWQ7XHJcbiAgICAgICAgdGhpcy5jYlN1aXRlUmVzdWx0TGlzdEJ5UmVmSWRbc3VpdGVSZWZJZF0gJiYgdGhpcy5jYlN1aXRlUmVzdWx0TGlzdEJ5UmVmSWRbc3VpdGVSZWZJZF0ucHVzaChyZXN1bHQpO1xyXG4gICAgfVxyXG4gICAgYXN5bmMgb25DYXNlU3RhcnQoeyByaWQsIHN1aXRlSWQsIHN1aXRlUmVmSWQsIGNhc2VJZCwgJ2Nhc2UnOiBjYXNlRGVmIH0pIHtcclxuICAgICAgICBjb25zdCBzdGFydFRlc3RJdGVtUmVxID0ge1xyXG4gICAgICAgICAgICBuYW1lOiBjYXNlRGVmLm5hbWUsXHJcbiAgICAgICAgICAgIHR5cGU6IFRFU1RfSVRFTV9UWVBFUy5URVNULFxyXG4gICAgICAgICAgICBjb2RlUmVmOiBjYXNlRGVmLnBhdGgsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBycFN1aXRlSWQgPSB0aGlzLmNiU3VpdGVUb1JwSWRIYXNoW3N1aXRlUmVmSWRdO1xyXG4gICAgICAgIGlmICghcnBTdWl0ZUlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgdGVtcElkLCBwcm9taXNlIH0gPSB0aGlzLnJwQ2xpZW50LnN0YXJ0VGVzdEl0ZW0oc3RhcnRUZXN0SXRlbVJlcSwgdGhpcy50ZW1wTGF1bmNoSWQsIHJwU3VpdGVJZCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2JDYXNlVG9ScElkSGFzaFtjYXNlSWRdID0gdGVtcElkO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnByb21pc2VXaXRoVGltZW91dChwcm9taXNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5kaXIoYFJQIC0gRmFpbGVkIHRvIHN0YXJ0IHRlc3QgaXRlbTogJHtlfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGFzeW5jIG9uQ2FzZUVuZCh7IHJpZCwgc3VpdGVJZCwgc3VpdGVSZWZJZCwgY2FzZUlkLCByZXN1bHQgfSkge1xyXG4gICAgICAgIGNvbnN0IHJwVGVzdElkID0gdGhpcy5jYkNhc2VUb1JwSWRIYXNoW2Nhc2VJZF07XHJcbiAgICAgICAgaWYgKCFycFRlc3RJZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IHJlc3VsdC5zdGF0dXMudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAoc3RhdHVzID09PSAnZmFpbGVkJyAmJiByZXN1bHQuZmFpbHVyZSkge1xyXG4gICAgICAgICAgICBjb25zdCBycEZpbGUgPSByZXN1bHQuc2NyZWVuc2hvdCA/XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdzY3JlZW5zaG90JyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZS9wbmcnLFxyXG4gICAgICAgICAgICAgICAgY29udGVudDogcmVzdWx0LnNjcmVlbnNob3QsXHJcbiAgICAgICAgICAgIH0gOiB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBsb2dNc2cgPSB0aGlzLl9zdHJpbmdpZnkocmVzdWx0LmZhaWx1cmUubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIGlmIChsb2dNc2cpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxvZ1JlcSA9IHtcclxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBsb2dNc2csXHJcbiAgICAgICAgICAgICAgICAgICAgbGV2ZWw6ICdlcnJvcidcclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHByb21pc2UgfSA9IHRoaXMucnBDbGllbnQuc2VuZExvZyhycFRlc3RJZCwgbG9nUmVxLCBycEZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvbWlzZVdpdGhUaW1lb3V0KHByb21pc2UpO1xyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZGlyKGBSUCAtIEZhaWxlZCB0byBzZW5kIGxvZyBmb3IgZmluaXNoZWQgdGVzdCBpdGVtOiAke2V9YCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZmluaXNoVGVzdEl0ZW1SZXEgPSB7XHJcbiAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cy50b0xvd2VyQ2FzZSgpLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgcHJvbWlzZSB9ID0gdGhpcy5ycENsaWVudC5maW5pc2hUZXN0SXRlbShycFRlc3RJZCwgZmluaXNoVGVzdEl0ZW1SZXEpO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnByb21pc2VXaXRoVGltZW91dChwcm9taXNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5kaXIoYFJQIC0gRmFpbGVkIHRvIGZpbmlzaCB0ZXN0IGl0ZW06ICR7ZX1gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudFRyYW5zYWN0aW9uU3RlcElkID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgYXN5bmMgb25TdGVwU3RhcnQoeyByaWQsIGNhc2VJZCwgc3RlcCB9KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJlcG9ydFN0ZXBzKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHN0ZXAubW9kdWxlICYmIHN0ZXAubW9kdWxlID09PSAnbG9nJykge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJlcG9ydExvZ1N0ZXAoY2FzZUlkLCBzdGVwKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBycENhc2VJZCA9IHRoaXMuY2JDYXNlVG9ScElkSGFzaFtjYXNlSWRdO1xyXG4gICAgICAgIGxldCBycFBhcmVudElkO1xyXG5cclxuICAgICAgICBpZiAoc3RlcC5uYW1lID09PSAndHJhbnNhY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFRyYW5zYWN0aW9uU3RlcElkID0gc3RlcC5pZDtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50U3ViU3RlcElkID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBycFBhcmVudElkID0gcnBDYXNlSWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdWJTdGVwSWQgPSBzdGVwLmlkO1xyXG4gICAgICAgICAgICBycFBhcmVudElkID0gdGhpcy5jdXJyZW50VHJhbnNhY3Rpb25TdGVwSWQgPyB0aGlzLmNiU3RlcFRvUnBJZEhhc2hbdGhpcy5jdXJyZW50VHJhbnNhY3Rpb25TdGVwSWRdIDogcnBDYXNlSWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXJwUGFyZW50SWQgfHwgIXJwQ2FzZUlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgc3RlcE5hbWUgPSB0aGlzLl9nZXRTdGVwTmFtZShzdGVwKTtcclxuICAgICAgICBjb25zdCBzdGFydFRlc3RJdGVtUmVxID0ge1xyXG4gICAgICAgICAgICBuYW1lOiBzdGVwTmFtZSxcclxuICAgICAgICAgICAgdHlwZTogVEVTVF9JVEVNX1RZUEVTLlNURVAsXHJcbiAgICAgICAgICAgIC8vIFwiY29kZVJlZlwiICsgXCJwYXJhbWV0ZXJzXCIgdXNlZCBieSBSUCBsaWIgdG8gZ2VuZXJhdGUgdGVzdENhc2VJZCBpZiB0ZXN0Q2FzZUlkIGlzIG5vdCBkZWZpbmVkXHJcbiAgICAgICAgICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vcmVwb3J0cG9ydGFsL2NsaWVudC1qYXZhc2NyaXB0L2Jsb2IvNDg2ZWY3MGM2MzhhOWEyMzI2NzI5MGM2MmRmMWZhZjkwMGY3ZGY2YS9saWIvcmVwb3J0LXBvcnRhbC1jbGllbnQuanMjTDQ5N1xyXG4gICAgICAgICAgICAvLyB0aGlzIGlzIGRpc2FibGVkIGZvciBub3cuIG5vdCBzdXJlIGlmIGFjdHVhbGx5IG5lZWRlZC4uLlxyXG4gICAgICAgICAgICAvL3BhcmFtZXRlcnM6IHRoaXMuX2dldFJwQXJncyhzdGVwLmFyZ3MpLFxyXG4gICAgICAgICAgICBjb2RlUmVmOiBzdGVwLmxvY2F0aW9uLFxyXG4gICAgICAgICAgICB0ZXN0Q2FzZUlkOiBycENhc2VJZCxcclxuICAgICAgICAgICAgaGFzU3RhdHM6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgdGVtcElkLCBwcm9taXNlIH0gPSB0aGlzLnJwQ2xpZW50LnN0YXJ0VGVzdEl0ZW0oc3RhcnRUZXN0SXRlbVJlcSwgdGhpcy50ZW1wTGF1bmNoSWQsIHJwUGFyZW50SWQpO1xyXG4gICAgICAgICAgICB0aGlzLmNiU3RlcFRvUnBJZEhhc2hbc3RlcC5pZF0gPSB0ZW1wSWQ7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvbWlzZVdpdGhUaW1lb3V0KHByb21pc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmRpcihgUlAgLSBGYWlsZWQgdG8gc3RhcnQgc3RlcCBpdGVtOiAke2V9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYXN5bmMgb25TdGVwRW5kKHsgcmlkLCBzdGVwOiByZXN1bHQgfSkge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXBvcnRTdGVwcykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChyZXN1bHQubmFtZSAmJiByZXN1bHQubmFtZS5zdGFydHNXaXRoKCdsb2cuJykpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBycFN0ZXBJZCA9IHRoaXMuY2JTdGVwVG9ScElkSGFzaFtyZXN1bHQuaWRdO1xyXG4gICAgICAgIGlmICghcnBTdGVwSWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocmVzdWx0Lm5hbWUgIT09ICd0cmFuc2FjdGlvbicpIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50U3ViU3RlcElkID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBzdGF0dXMgPSByZXN1bHQuc3RhdHVzLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ2ZhaWxlZCcgJiYgcmVzdWx0LmZhaWx1cmUpIHtcclxuICAgICAgICAgICAgY29uc3QgcnBGaWxlID0gcmVzdWx0LnNjcmVlbnNob3QgP1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnc2NyZWVuc2hvdCcsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2UvcG5nJyxcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHJlc3VsdC5zY3JlZW5zaG90LFxyXG4gICAgICAgICAgICB9IDogdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgbG9nTXNnID0gdGhpcy5fc3RyaW5naWZ5KHJlc3VsdC5mYWlsdXJlLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICBpZiAobG9nTXNnKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsb2dSZXEgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogbG9nTXNnLFxyXG4gICAgICAgICAgICAgICAgICAgIGxldmVsOiAnZXJyb3InLFxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGU6IHJwRmlsZSxcclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHByb21pc2UgfSA9IHRoaXMucnBDbGllbnQuc2VuZExvZyhycFN0ZXBJZCwgbG9nUmVxLCBycEZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvbWlzZVdpdGhUaW1lb3V0KHByb21pc2UpO1xyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZGlyKGBSUCAtIEZhaWxlZCB0byBzZW5kIGxvZyBmb3IgZmluaXNoZWQgdGVzdCBpdGVtOiAke2V9YCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZmluaXNoVGVzdEl0ZW1SZXEgPSB7XHJcbiAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cy50b0xvd2VyQ2FzZSgpLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgcHJvbWlzZSB9ID0gdGhpcy5ycENsaWVudC5maW5pc2hUZXN0SXRlbShycFN0ZXBJZCwgZmluaXNoVGVzdEl0ZW1SZXEpO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnByb21pc2VXaXRoVGltZW91dChwcm9taXNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5kaXIoYFJQIC0gRmFpbGVkIHRvIGZpbmlzaCBzdGVwIGl0ZW06ICR7ZX1gKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhc3luYyBvbkxvZyh7IHN1aXRlSWQsIGNhc2VJZCwgc3RlcElkLCBsZXZlbCwgbXNnLCB0aW1lLCBzcmMgfSkge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXBvcnRMb2dzKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gT3h5Z2VuIG1pZ2h0IHN0YXJ0IGdlbmVyYXRpbmcgbG9ncyBiZWZvcmUgb25SdW5uZXJTdGFydCBldmVudCwgaWdub3JlIHRoZW1cclxuICAgICAgICBpZiAoIXRoaXMudGVtcExhdW5jaElkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcnBQYXJlbnRJZCA9IHN0ZXBJZCA/XHJcbiAgICAgICAgICAgIHRoaXMuY2JTdGVwVG9ScElkSGFzaFtzdGVwSWRdXHJcbiAgICAgICAgICAgIDogY2FzZUlkID8gdGhpcy5jYkNhc2VUb1JwSWRIYXNoW2Nhc2VJZF1cclxuICAgICAgICAgICAgOiBzdWl0ZUlkID8gdGhpcy5jYlN1aXRlVG9ScElkSGFzaFtzdWl0ZUlkXVxyXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcclxuICAgICAgICBjb25zdCBycExldmVsID0gdGhpcy5fZ2V0UnBMZXZlbChsZXZlbCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGxvZ01zZyA9IHRoaXMuX3N0cmluZ2lmeShtc2cpO1xyXG4gICAgICAgIGlmIChsb2dNc2cpIHtcclxuICAgICAgICAgICAgY29uc3QgbG9nUmVxID0ge1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogbG9nTXNnLFxyXG4gICAgICAgICAgICAgICAgbGV2ZWw6IHJwTGV2ZWwsXHJcbiAgICAgICAgICAgICAgICB0aW1lOiB0aW1lLFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgcHJvbWlzZSB9ID0gdGhpcy5ycENsaWVudC5zZW5kTG9nKHJwUGFyZW50SWQgfHwgdGhpcy50ZW1wTGF1bmNoSWQsIGxvZ1JlcSk7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnByb21pc2VXaXRoVGltZW91dChwcm9taXNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5kaXIoYFJQIC0gRmFpbGVkIHRvIGNyZWF0ZSBsb2cgaXRlbTogJHtlfWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYXN5bmMgcmVwb3J0TG9nU3RlcChjYXNlSWQsIHN0ZXApIHtcclxuICAgICAgICBpZiAoIXN0ZXAuYXJncyB8fCAhc3RlcC5hcmdzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGxldmVsID0gc3RlcC5uYW1lO1xyXG4gICAgICAgIGNvbnN0IG1zZyA9IHN0ZXAuYXJnc1swXTtcclxuICAgICAgICBjb25zdCB0aW1lID0gc3RlcC50aW1lO1xyXG4gICAgICAgIGxldCBzdGVwSWQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFN1YlN0ZXBJZCkge1xyXG4gICAgICAgICAgICBzdGVwSWQgPSB0aGlzLmN1cnJlbnRTdWJTdGVwSWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHRoaXMuY3VycmVudFRyYW5zYWN0aW9uU3RlcElkKSB7XHJcbiAgICAgICAgICAgIHN0ZXBJZCA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uU3RlcElkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLnNlbmRScExvZyh7IHN1aXRlSWQ6IHVuZGVmaW5lZCwgY2FzZUlkLCBzdGVwSWQsIGxldmVsLCBtc2csIHRpbWUgfSk7XHJcbiAgICB9XHJcbiAgICBhc3luYyBzZW5kUnBMb2coeyBzdWl0ZUlkLCBjYXNlSWQsIHN0ZXBJZCwgbGV2ZWwsIG1zZywgdGltZSB9KSB7XHJcbiAgICAgICAgLy8gT3h5Z2VuIG1pZ2h0IHN0YXJ0IGdlbmVyYXRpbmcgbG9ncyBiZWZvcmUgb25SdW5uZXJTdGFydCBldmVudCwgaWdub3JlIHRoZW1cclxuICAgICAgICBpZiAoIXRoaXMudGVtcExhdW5jaElkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcnBQYXJlbnRJZCA9IHN0ZXBJZCA/XHJcbiAgICAgICAgICAgIHRoaXMuY2JTdGVwVG9ScElkSGFzaFtzdGVwSWRdXHJcbiAgICAgICAgICAgIDogY2FzZUlkID8gdGhpcy5jYkNhc2VUb1JwSWRIYXNoW2Nhc2VJZF1cclxuICAgICAgICAgICAgOiBzdWl0ZUlkID8gdGhpcy5jYlN1aXRlVG9ScElkSGFzaFtzdWl0ZUlkXVxyXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcclxuICAgICAgICBjb25zdCBycExldmVsID0gdGhpcy5fZ2V0UnBMZXZlbChsZXZlbCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGxvZ01zZyA9IHRoaXMuX3N0cmluZ2lmeShtc2cpO1xyXG4gICAgICAgIGlmIChsb2dNc2cpIHtcclxuICAgICAgICAgICAgY29uc3QgbG9nUmVxID0ge1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogbG9nTXNnLFxyXG4gICAgICAgICAgICAgICAgbGV2ZWw6IHJwTGV2ZWwsXHJcbiAgICAgICAgICAgICAgICB0aW1lOiB0aW1lLFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgcHJvbWlzZSB9ID0gdGhpcy5ycENsaWVudC5zZW5kTG9nKHJwUGFyZW50SWQgfHwgdGhpcy50ZW1wTGF1bmNoSWQsIGxvZ1JlcSk7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnByb21pc2VXaXRoVGltZW91dChwcm9taXNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5kaXIoYFJQIC0gRmFpbGVkIHRvIGNyZWF0ZSBsb2cgaXRlbTogJHtlfWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYXN5bmMgX3JlcG9ydEVuZE9mU3RhcnRlZFN1aXRlcygpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHN1aXRlUmVmSWQgb2YgT2JqZWN0LmtleXModGhpcy5jYlN1aXRlVG9ScElkSGFzaCkpIHtcclxuICAgICAgICAgICAgY29uc3QgcnBTdWl0ZUlkID0gdGhpcy5jYlN1aXRlVG9ScElkSGFzaFtzdWl0ZVJlZklkXTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IHRoaXMuY2JTdWl0ZVJlc3VsdExpc3RCeVJlZklkW3N1aXRlUmVmSWRdO1xyXG4gICAgICAgICAgICBkZWxldGUgdGhpcy5jYlN1aXRlVG9ScElkSGFzaFtzdWl0ZVJlZklkXTtcclxuICAgICAgICAgICAgY29uc3QgaGFzRmFpbGVkU3VpdGUgPSByZXN1bHRzLnNvbWUoeCA9PiB4LnN0YXR1cyA9PT0gU3RhdHVzLkZBSUxFRCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbmlzaFRlc3RJdGVtUmVxID0ge1xyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBoYXNGYWlsZWRTdWl0ZSA/ICdmYWlsZWQnIDogJ3Bhc3NlZCcsXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgeyBwcm9taXNlIH0gPSB0aGlzLnJwQ2xpZW50LmZpbmlzaFRlc3RJdGVtKHJwU3VpdGVJZCwgZmluaXNoVGVzdEl0ZW1SZXEpO1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9taXNlV2l0aFRpbWVvdXQocHJvbWlzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZGlyKGBSUCAtIEZhaWxlZCB0byBmaW5pc2ggc3VpdGUgaXRlbTogJHtlfWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgX2dldFJwTGV2ZWwob3hMZXZlbCkge1xyXG4gICAgICAgIGlmIChveExldmVsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBveExldmVsLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAnaW5mbyc7XHJcbiAgICB9XHJcbiAgICAvKl9nZXRScEFyZ3MoY2JBcmdzKSB7XHJcbiAgICAgICAgaWYgKCFjYkFyZ3MgfHwgIWNiQXJncy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcnBBcmdzID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaT0wOyBpIDwgY2JBcmdzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFyZyA9IGNiQXJnc1tpXTtcclxuICAgICAgICAgICAgbGV0IGFyZ1N0ciA9IHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnIHx8IGFyZyBpbnN0YW5jZW9mIFN0cmluZyA/IGFyZyA6IEpTT04uc3RyaW5naWZ5KGFyZyk7XHJcbiAgICAgICAgICAgIHJwQXJncy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGtleTogYGFyZyR7aX1gLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGFyZ1N0clxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJwQXJncztcclxuICAgIH0qL1xyXG4gICAgX2dldFN0ZXBOYW1lKHN0ZXApIHtcclxuICAgICAgICBsZXQgbmFtZTtcclxuXHJcbiAgICAgICAgaWYgKHN0ZXAubmFtZSA9PT0gJ3RyYW5zYWN0aW9uJyAmJiBzdGVwLmFyZ3MubGVuZ3RoID4gMCkgeyAgLy8gRklYTUU6IHN0ZXBzIG5lZWQgdG8gYmUgbmVzdGVkIHVuZGVyIHRyYW5zYWN0aW9uc1xyXG4gICAgICAgICAgICBuYW1lID0gc3RlcC5hcmdzWzBdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChzdGVwLnNpZ25hdHVyZSkge1xyXG4gICAgICAgICAgICBuYW1lID0gc3RlcC5zaWduYXR1cmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHN0ZXAubW9kdWxlKSB7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBpcyB0aGlzIGV2ZXIgcmVhY2hlZD8gXCJzdGVwLnNpZ25hdHVyZVwiIHNlZW1zIHRvIGFsd2F5cyBleGlzdFxyXG4gICAgICAgICAgICBuYW1lID0gYCR7c3RlcC5tb2R1bGV9LiR7c3RlcC5uYW1lfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBuYW1lID0gc3RlcC5uYW1lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gbWF4aW11bSBhbGxvd2VkIG5hbWUgbGVuZ3RoIGluIFJQIGlzIDEwMjQgYnl0ZXNcclxuICAgICAgICAvLyB3ZSB0cnVuY2F0ZSBpdCBldmVuIGxvd2VyIHNvIGl0IHdpbGwgZGlzcGxheSBuaWNlbHlcclxuICAgICAgICBpZiAobmFtZS5sZW5ndGggPiBNQVhfTkFNRV9MRU5HVEgpIHtcclxuICAgICAgICAgICAgbmFtZSA9IG5hbWUuc3Vic3RyaW5nKDAsIE1BWF9OQU1FX0xFTkdUSC0zKSArICcuLi4nO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmFtZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyByZXR1cm5zIG51bGwgaWYgbXNnIGNhbm5vdCBiZSBzdHJpbmdpZmllZCwgb3Igc3RyaWdpZmllcyBpdCBpZiBpdCdzIG5vdCBhIHN0cmluZyBhbHJlYWR5XHJcbiAgICBfc3RyaW5naWZ5KG1zZykge1xyXG4gICAgICAgIC8vIHdlIHRlc3QgZm9yIHVuZGVmaW5lZCBhbmQgbnVsbCBleHBsaWNpdGx5IG9uIHB1cnBvc2UgYmVjYXVzZSBvdGhlciBmYWxzeSB2YWx1ZXMgKGUuZy4gMCkgYXJlIG9rXHJcbiAgICAgICAgaWYgKHR5cGVvZiBtc2cgPT09ICd1bmRlZmluZWQnIHx8IG1zZyA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgbXNnID09PSAnc3RyaW5nJyB8fCBtc2cgaW5zdGFuY2VvZiBTdHJpbmcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG1zZztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShtc2cpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignUlAgLSBlcnJvciBzZW5kaW5nIGxvZzogbXNnIG9iamVjdCBjYW5ub3QgYmUgc2VyaWFsaXplZCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm9taXNlV2l0aFRpbWVvdXQocHJvbWlzZSwgdGltZW91dCA9IDMwICogMTAwMCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghcHJvbWlzZSB8fCAhcHJvbWlzZS50aGVuKSB7XHJcbiAgICAgICAgICAgICAgICByZWplY3QobmV3IEVycm9yKGBQcm9taXNlIGF3YWl0IHRpbWVvdXQgb2YgJHt0aW1lb3V0fSBtc2ApKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwcm9taXNlLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTtcclxuICAgICAgICAgICAgc2V0VGltZW91dChyZWplY3QsIHRpbWVvdXQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0=
|
|
535
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9yZXBvcnRlcnMvcmVwb3J0ZXItcnAuanMiXSwibmFtZXMiOlsiUlBDbGllbnQiLCJyZXF1aXJlIiwiTEFVTkNIX01PREVTIiwiREVGQVVMVCIsIkRFQlVHIiwiVEVTVF9JVEVNX1RZUEVTIiwiU1VJVEUiLCJURVNUIiwiU1RFUCIsIk1BWF9OQU1FX0xFTkdUSCIsIlJlcG9ydFBvcnRhbFJlcG9ydGVyIiwiUmVwb3J0ZXJCYXNlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwicmVwb3J0ZXJPcHRzIiwiYWdncmVnYXRvciIsInJwIiwicmVwb3J0U3RlcHMiLCJyZXBvcnRMb2dzIiwiY2JTdWl0ZVRvUnBJZEhhc2giLCJjYkNhc2VUb1JwSWRIYXNoIiwiY2JTdGVwVG9ScElkSGFzaCIsImNiU3VpdGVSZXN1bHRMaXN0QnlSZWZJZCIsImN1cnJlbnRUcmFuc2FjdGlvblN0ZXBJZCIsInVuZGVmaW5lZCIsImN1cnJlbnRTdWJTdGVwSWQiLCJhcGlLZXkiLCJlbmRwb2ludCIsInByb2plY3QiLCJFcnJvciIsInJwQ2xpZW50IiwibGF1bmNoIiwibmFtZSIsImluaXQiLCJjaGVja0Nvbm5lY3QiLCJlIiwibWVzc2FnZSIsImdlbmVyYXRlIiwicmVzdWx0cyIsIm9uTGF1bmNoU3RhcnQiLCJ0ZW1wSWQiLCJwcm9taXNlIiwic3RhcnRMYXVuY2giLCJtb2RlIiwiZGVidWciLCJ0ZW1wTGF1bmNoSWQiLCJwcm9taXNlV2l0aFRpbWVvdXQiLCJjb25zb2xlIiwiZGlyIiwib25MYXVuY2hFbmQiLCJfcmVwb3J0RW5kT2ZTdGFydGVkU3VpdGVzIiwiaGFzRmFpbGVkIiwic29tZSIsIngiLCJzdGF0dXMiLCJTdGF0dXMiLCJGQUlMRUQiLCJmaW5pc2hMYXVuY2giLCJvblJ1bm5lclN0YXJ0IiwicmlkIiwib3B0cyIsImNhcHMiLCJvblJ1bm5lckVuZCIsInJlc3VsdCIsIm9uU3VpdGVTdGFydCIsInN1aXRlSWQiLCJzdWl0ZSIsInN1aXRlRGVmIiwic3VpdGVSZWZJZCIsInJlZklkIiwic3RhcnRUZXN0SXRlbVJlcSIsInR5cGUiLCJzdGFydFRlc3RJdGVtIiwib25TdWl0ZUVuZCIsInB1c2giLCJvbkNhc2VTdGFydCIsImNhc2VJZCIsImNhc2VEZWYiLCJjb2RlUmVmIiwicGF0aCIsInJwU3VpdGVJZCIsIm9uQ2FzZUVuZCIsInJwVGVzdElkIiwidG9Mb3dlckNhc2UiLCJmYWlsdXJlIiwicnBGaWxlIiwic2NyZWVuc2hvdCIsImNvbnRlbnQiLCJsb2dNc2ciLCJfc3RyaW5naWZ5IiwibG9nUmVxIiwibGV2ZWwiLCJzZW5kTG9nIiwiZmluaXNoVGVzdEl0ZW1SZXEiLCJmaW5pc2hUZXN0SXRlbSIsIm9uU3RlcFN0YXJ0Iiwic3RlcCIsIm1vZHVsZSIsInJlcG9ydExvZ1N0ZXAiLCJycENhc2VJZCIsInJwUGFyZW50SWQiLCJpZCIsInN0ZXBOYW1lIiwiX2dldFN0ZXBOYW1lIiwibG9jYXRpb24iLCJ0ZXN0Q2FzZUlkIiwiaGFzU3RhdHMiLCJvblN0ZXBFbmQiLCJzdGFydHNXaXRoIiwicnBTdGVwSWQiLCJmaWxlIiwib25Mb2ciLCJzdGVwSWQiLCJtc2ciLCJ0aW1lIiwic3JjIiwicnBMZXZlbCIsIl9nZXRScExldmVsIiwiYXJncyIsImxlbmd0aCIsInNlbmRScExvZyIsIk9iamVjdCIsImtleXMiLCJoYXNGYWlsZWRTdWl0ZSIsIm94TGV2ZWwiLCJzaWduYXR1cmUiLCJzdWJzdHJpbmciLCJTdHJpbmciLCJKU09OIiwic3RyaW5naWZ5IiwiZXJyb3IiLCJ0aW1lb3V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJ0aGVuIiwic2V0VGltZW91dCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBWUE7O0FBQ0E7Ozs7QUFDQSxNQUFNQSxRQUFRLEdBQUdDLE9BQU8sQ0FBQyxnQ0FBRCxDQUF4Qjs7QUFDQSxNQUFNQyxZQUFZLEdBQUc7QUFDakJDLEVBQUFBLE9BQU8sRUFBRSxTQURRO0FBRWpCQyxFQUFBQSxLQUFLLEVBQUU7QUFGVSxDQUFy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QWUsQ0FBZixFQUFrQnJILGVBQWUsR0FBQyxDQUFsQyxJQUF1QyxLQUE5QztBQUNIOztBQUNELFdBQU91QixJQUFQO0FBQ0g7O0FBR0R5RCxFQUFBQSxVQUFVLENBQUN3QixHQUFELEVBQU07QUFFWixRQUFJLE9BQU9BLEdBQVAsS0FBZSxXQUFmLElBQThCQSxHQUFHLEtBQUssSUFBMUMsRUFBZ0Q7QUFDNUMsYUFBTyxJQUFQO0FBQ0g7O0FBRUQsUUFBSSxPQUFPQSxHQUFQLEtBQWUsUUFBZixJQUEyQkEsR0FBRyxZQUFZYyxNQUE5QyxFQUFzRDtBQUNsRCxhQUFPZCxHQUFQO0FBQ0g7O0FBRUQsUUFBSTtBQUNBLGFBQU9lLElBQUksQ0FBQ0MsU0FBTCxDQUFlaEIsR0FBZixDQUFQO0FBQ0gsS0FGRCxDQUVFLE9BQU85RSxDQUFQLEVBQVU7QUFDUlksTUFBQUEsT0FBTyxDQUFDbUYsS0FBUixDQUFjLHlEQUFkO0FBQ0g7QUFDSjs7QUFFRHBGLEVBQUFBLGtCQUFrQixDQUFDTCxPQUFELEVBQVUwRixPQUFPLEdBQUcsS0FBSyxJQUF6QixFQUErQjtBQUM3QyxXQUFPLElBQUlDLE9BQUosQ0FBWSxDQUFDQyxPQUFELEVBQVVDLE1BQVYsS0FBcUI7QUFDcEMsVUFBSSxDQUFDN0YsT0FBRCxJQUFZLENBQUNBLE9BQU8sQ0FBQzhGLElBQXpCLEVBQStCO0FBQzNCRCxRQUFBQSxNQUFNLENBQUMsSUFBSXpHLEtBQUosQ0FBVyw0QkFBMkJzRyxPQUFRLEtBQTlDLENBQUQsQ0FBTjtBQUNIOztBQUNEMUYsTUFBQUEsT0FBTyxDQUFDOEYsSUFBUixDQUFhRixPQUFiLEVBQXNCQyxNQUF0QjtBQUNBRSxNQUFBQSxVQUFVLENBQUNGLE1BQUQsRUFBU0gsT0FBVCxDQUFWO0FBQ0gsS0FOTSxDQUFQO0FBT0g7O0FBNWEwRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKi9cblxuLypcbiAqIE94eWdlbiBSZXBvcnRlciBmb3IgUmVwb3J0UG9ydGFsXG4gKi9cbmltcG9ydCBSZXBvcnRlckJhc2UgZnJvbSAnLi4vcmVwb3J0ZXIvUmVwb3J0ZXJCYXNlJztcbmltcG9ydCBTdGF0dXMgZnJvbSAnLi4vbW9kZWwvc3RhdHVzJztcbmNvbnN0IFJQQ2xpZW50ID0gcmVxdWlyZSgnQG94eWdlbmhxL3JwLWNsaWVudC1qYXZhc2NyaXB0Jyk7XG5jb25zdCBMQVVOQ0hfTU9ERVMgPSB7XG4gICAgREVGQVVMVDogJ0RFRkFVTFQnLFxuICAgIERFQlVHOiAnREVCVUcnLFxufTtcbmNvbnN0IFRFU1RfSVRFTV9UWVBFUyA9IHtcbiAgICBTVUlURTogJ1NVSVRFJyxcbiAgICBURVNUOiAnVEVTVCcsXG4gICAgU1RFUDogJ1NURVAnLFxufTtcbmNvbnN0IE1BWF9OQU1FX0xFTkdUSCA9IDEyODtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVwb3J0UG9ydGFsUmVwb3J0ZXIgZXh0ZW5kcyBSZXBvcnRlckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMsIHJlcG9ydGVyT3B0cywgYWdncmVnYXRvcikge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5yZXBvcnRlck9wdHMgPSByZXBvcnRlck9wdHMgfHwgb3B0aW9ucy5ycDtcbiAgICAgICAgdGhpcy5yZXBvcnRTdGVwcyA9IHJlcG9ydGVyT3B0cy5yZXBvcnRTdGVwcyB8fCB0cnVlO1xuICAgICAgICB0aGlzLnJlcG9ydExvZ3MgPSByZXBvcnRlck9wdHMucmVwb3J0TG9ncyB8fCBmYWxzZTtcbiAgICAgICAgdGhpcy5jYlN1aXRlVG9ScElkSGFzaCA9IHt9O1xuICAgICAgICB0aGlzLmNiQ2FzZVRvUnBJZEhhc2ggPSB7fTtcbiAgICAgICAgdGhpcy5jYlN0ZXBUb1JwSWRIYXNoID0ge307XG4gICAgICAgIHRoaXMuY2JTdWl0ZVJlc3VsdExpc3RCeVJlZklkID0ge307XG4gICAgICAgIHRoaXMuY3VycmVudFRyYW5zYWN0aW9uU3RlcElkID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmN1cnJlbnRTdWJTdGVwSWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLnJlcG9ydGVyT3B0c1xuICAgICAgICAgICAgfHwgIXRoaXMucmVwb3J0ZXJPcHRzLmFwaUtleVxuICAgICAgICAgICAgfHwgIXRoaXMucmVwb3J0ZXJPcHRzLmVuZHBvaW50XG4gICAgICAgICAgICB8fCAhdGhpcy5yZXBvcnRlck9wdHMucHJvamVjdFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVwb3J0UG9ydGFsIG9wdGlvbnMgYXJlIG1pc3NpbmcgaW4gb3h5Z2VuLmNvbmYgZmlsZS4nKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFnZ3JlZ2F0b3IgPSBhZ2dyZWdhdG9yO1xuICAgICAgICB0aGlzLnJwQ2xpZW50ID0gbmV3IFJQQ2xpZW50KHtcbiAgICAgICAgICAgIGxhdW5jaDogdGhpcy5yZXBvcnRlck9wdHMubGF1bmNoIHx8IHRoaXMub3B0aW9ucy5uYW1lLFxuICAgICAgICAgICAgLi4udGhpcy5yZXBvcnRlck9wdHNcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgaW5pdCgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucnBDbGllbnQuY2hlY2tDb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUlAgLSBFcnJvciBjb25uZWN0aW5nIHRvIHRoZSBzZXJ2ZXI6ICR7ZS5tZXNzYWdlfWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIGdlbmVyYXRlKHJlc3VsdHMpIHtcbiAgICB9XG4gICAgLy8gRXZlbnRzXG4gICAgYXN5bmMgb25MYXVuY2hTdGFydCh7IG9wdGlvbnMgfSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgeyB0ZW1wSWQsIHByb21pc2UgfSA9IHRoaXMucnBDbGllbnQuc3RhcnRMYXVuY2goe1xuICAgICAgICAgICAgICAgIG1vZGU6IHRoaXMucmVwb3J0ZXJPcHRzLm1vZGUgfHwgTEFVTkNIX01PREVTLkRFRkFVTFQsXG4gICAgICAgICAgICAgICAgZGVidWc6IGZhbHNlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnRlbXBMYXVuY2hJZCA9IHRlbXBJZDtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvbWlzZVdpdGhUaW1lb3V0KHByb21pc2UpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRpcihgUlAgLSBGYWlsZWQgdG8gc3RhcnQgbGF1bmNoOiAke2V9YCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgb25MYXVuY2hFbmQoeyByZXN1bHRzIH0pIHtcbiAgICAgICAgLy8gcmVwb3J0IHRoZSBlbmQgb2YgYWxsIHN0YXJ0ZWQgc3VpdGVzXG4gICAgICAgIGF3YWl0IHRoaXMuX3JlcG9ydEVuZE9mU3RhcnRlZFN1aXRlcygpO1xuICAgICAgICAvLyBDYWxjdWxhdGUgbGF1bmNoIHN0YXR1c1xuICAgICAgICBjb25zdCBoYXNGYWlsZWQgPSByZXN1bHRzLnNvbWUoeCA9PiB4LnN0YXR1cyA9PT0gU3RhdHVzLkZBSUxFRCk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgcHJvbWlzZSB9ID0gYXdhaXQgdGhpcy5ycENsaWVudC5maW5pc2hMYXVuY2godGhpcy50ZW1wTGF1bmNoSWQsIHtcbiAgICAgICAgICAgICAgICBzdGF0dXM6IGhhc0ZhaWxlZCA/ICdGQUlMRUQnIDogJ1BBU1NFRCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9taXNlV2l0aFRpbWVvdXQocHJvbWlzZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZGlyKGBSUCAtIEZhaWxlZCB0byBlbmQgbGF1bmNoOiAke2V9YCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgb25SdW5uZXJTdGFydCh7IHJpZCwgb3B0cywgY2FwcyB9KSB7XG4gICAgfVxuICAgIGFzeW5jIG9uUnVubmVyRW5kKHsgcmlkLCByZXN1bHQgfSkge1xuICAgIH1cbiAgICBhc3luYyBvblN1aXRlU3RhcnQoeyByaWQsIHN1aXRlSWQsIHN1aXRlOiBzdWl0ZURlZiB9KSB7XG4gICAgICAgIC8vIGluIHBhcmFsbGVsIHRlc3QgZXhlY3V0aW9uLCBvblN1aXRlU3RhcnQgd2lsbCBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgZm9yIHRoZSBzYW1lIHN1aXRlIFxuICAgICAgICAvLyBtYWtlIHN1cmUgd2UgY2FsbCBcInN0YXJ0VGVzdEl0ZW1cIiB0aGUgc2FtZSBzdWl0ZSBvbmx5IG9uY2VcbiAgICAgICAgY29uc3Qgc3VpdGVSZWZJZCA9IHN1aXRlRGVmLnJlZklkO1xuICAgICAgICBpZiAodGhpcy5jYlN1aXRlVG9ScElkSGFzaFtzdWl0ZVJlZklkXSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFzc2lnbiBlbXB0eSBvYmplY3QgYXMgYSBmb3JtIG9mIG11bHRpLXRocmVhZCBsb2NrLFxuICAgICAgICAvLyBzbyB0aGUgcGFyYWxsZWwgY2FsbCB0byBvblN1aXRlU3RhcnQgZnJvbSB0aGUgbmV4dCB0aHJlYWRcbiAgICAgICAgLy8gd2lsbCBub3QgdHJ5IHRvIHByb2NlZWQgd2l0aCB0aGUgY29kZSBiZWxvd1xuICAgICAgICB0aGlzLmNiU3VpdGVUb1JwSWRIYXNoW3N1aXRlUmVmSWRdID0ge307XG4gICAgICAgIHRoaXMuY2JTdWl0ZVJlc3VsdExpc3RCeVJlZklkW3N1aXRlUmVmSWRdID0gW107XG4gICAgICAgIGNvbnN0IHN0YXJ0VGVzdEl0ZW1SZXEgPSB7XG4gICAgICAgICAgICBuYW1lOiBzdWl0ZURlZi5uYW1lIHx8IHRoaXMub3B0aW9ucy5uYW1lLFxuICAgICAgICAgICAgdHlwZTogVEVTVF9JVEVNX1RZUEVTLlNVSVRFLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IHRlbXBJZCwgcHJvbWlzZSB9ID0gdGhpcy5ycENsaWVudC5zdGFydFRlc3RJdGVtKHN0YXJ0VGVzdEl0ZW1SZXEsIHRoaXMudGVtcExhdW5jaElkKTtcbiAgICAgICAgICAgIHRoaXMuY2JTdWl0ZVRvUnBJZEhhc2hbc3VpdGVSZWZJZF0gPSB0ZW1wSWQ7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnByb21pc2VXaXRoVGltZW91dChwcm9taXNlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5kaXIoYFJQIC0gRmFpbGVkIHRvIHN0YXJ0IHN1aXRlIGl0ZW06ICR7ZX1gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBvblN1aXRlRW5kKHsgcmlkLCBzdWl0ZUlkLCByZXN1bHQgfSkge1xuICAgICAgICBjb25zdCBzdWl0ZVJlZklkID0gcmVzdWx0LnJlZklkO1xuICAgICAgICB0aGlzLmNiU3VpdGVSZXN1bHRMaXN0QnlSZWZJZFtzdWl0ZVJlZklkXSAmJiB0aGlzLmNiU3VpdGVSZXN1bHRMaXN0QnlSZWZJZFtzdWl0ZVJlZklkXS5wdXNoKHJlc3VsdCk7XG4gICAgfVxuICAgIGFzeW5jIG9uQ2FzZVN0YXJ0KHsgcmlkLCBzdWl0ZUlkLCBzdWl0ZVJlZklkLCBjYXNlSWQsICdjYXNlJzogY2FzZURlZiB9KSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0VGVzdEl0ZW1SZXEgPSB7XG4gICAgICAgICAgICBuYW1lOiBjYXNlRGVmLm5hbWUsXG4gICAgICAgICAgICB0eXBlOiBURVNUX0lURU1fVFlQRVMuVEVTVCxcbiAgICAgICAgICAgIGNvZGVSZWY6IGNhc2VEZWYucGF0aCxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcnBTdWl0ZUlkID0gdGhpcy5jYlN1aXRlVG9ScElkSGFzaFtzdWl0ZVJlZklkXTtcbiAgICAgICAgaWYgKCFycFN1aXRlSWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IHRlbXBJZCwgcHJvbWlzZSB9ID0gdGhpcy5ycENsaWVudC5zdGFydFRlc3RJdGVtKHN0YXJ0VGVzdEl0ZW1SZXEsIHRoaXMudGVtcExhdW5jaElkLCBycFN1aXRlSWQpO1xuICAgICAgICAgICAgdGhpcy5jYkNhc2VUb1JwSWRIYXNoW2Nhc2VJZF0gPSB0ZW1wSWQ7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnByb21pc2VXaXRoVGltZW91dChwcm9taXNlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5kaXIoYFJQIC0gRmFpbGVkIHRvIHN0YXJ0IHRlc3QgaXRlbTogJHtlfWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIG9uQ2FzZUVuZCh7IHJpZCwgc3VpdGVJZCwgc3VpdGVSZWZJZCwgY2FzZUlkLCByZXN1bHQgfSkge1xuICAgICAgICBjb25zdCBycFRlc3RJZCA9IHRoaXMuY2JDYXNlVG9ScElkSGFzaFtjYXNlSWRdO1xuICAgICAgICBpZiAoIXJwVGVzdElkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhdHVzID0gcmVzdWx0LnN0YXR1cy50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoc3RhdHVzID09PSAnZmFpbGVkJyAmJiByZXN1bHQuZmFpbHVyZSkge1xuICAgICAgICAgICAgY29uc3QgcnBGaWxlID0gcmVzdWx0LnNjcmVlbnNob3QgP1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdzY3JlZW5zaG90JyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgICAgICBjb250ZW50OiByZXN1bHQuc2NyZWVuc2hvdCxcbiAgICAgICAgICAgIH0gOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGxvZ01zZyA9IHRoaXMuX3N0cmluZ2lmeShyZXN1bHQuZmFpbHVyZS5tZXNzYWdlKTtcbiAgICAgICAgICAgIGlmIChsb2dNc2cpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2dSZXEgPSB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGxvZ01zZyxcbiAgICAgICAgICAgICAgICAgICAgbGV2ZWw6ICdlcnJvcidcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBwcm9taXNlIH0gPSB0aGlzLnJwQ2xpZW50LnNlbmRMb2cocnBUZXN0SWQsIGxvZ1JlcSwgcnBGaWxlKTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9taXNlV2l0aFRpbWVvdXQocHJvbWlzZSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmRpcihgUlAgLSBGYWlsZWQgdG8gc2VuZCBsb2cgZm9yIGZpbmlzaGVkIHRlc3QgaXRlbTogJHtlfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaW5pc2hUZXN0SXRlbVJlcSA9IHtcbiAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cy50b0xvd2VyQ2FzZSgpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IHByb21pc2UgfSA9IHRoaXMucnBDbGllbnQuZmluaXNoVGVzdEl0ZW0ocnBUZXN0SWQsIGZpbmlzaFRlc3RJdGVtUmVxKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvbWlzZVdpdGhUaW1lb3V0KHByb21pc2UpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRpcihgUlAgLSBGYWlsZWQgdG8gZmluaXNoIHRlc3QgaXRlbTogJHtlfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdXJyZW50VHJhbnNhY3Rpb25TdGVwSWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGFzeW5jIG9uU3RlcFN0YXJ0KHsgcmlkLCBjYXNlSWQsIHN0ZXAgfSkge1xuICAgICAgICBpZiAoIXRoaXMucmVwb3J0U3RlcHMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RlcC5tb2R1bGUgJiYgc3RlcC5tb2R1bGUgPT09ICdsb2cnKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJlcG9ydExvZ1N0ZXAoY2FzZUlkLCBzdGVwKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBycENhc2VJZCA9IHRoaXMuY2JDYXNlVG9ScElkSGFzaFtjYXNlSWRdO1xuICAgICAgICBsZXQgcnBQYXJlbnRJZDtcblxuICAgICAgICBpZiAoc3RlcC5uYW1lID09PSAndHJhbnNhY3Rpb24nKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvblN0ZXBJZCA9IHN0ZXAuaWQ7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdWJTdGVwSWQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBycFBhcmVudElkID0gcnBDYXNlSWQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdWJTdGVwSWQgPSBzdGVwLmlkO1xuICAgICAgICAgICAgcnBQYXJlbnRJZCA9IHRoaXMuY3VycmVudFRyYW5zYWN0aW9uU3RlcElkID8gdGhpcy5jYlN0ZXBUb1JwSWRIYXNoW3RoaXMuY3VycmVudFRyYW5zYWN0aW9uU3RlcElkXSA6IHJwQ2FzZUlkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFycFBhcmVudElkIHx8ICFycENhc2VJZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0ZXBOYW1lID0gdGhpcy5fZ2V0U3RlcE5hbWUoc3RlcCk7XG4gICAgICAgIGNvbnN0IHN0YXJ0VGVzdEl0ZW1SZXEgPSB7XG4gICAgICAgICAgICBuYW1lOiBzdGVwTmFtZSxcbiAgICAgICAgICAgIHR5cGU6IFRFU1RfSVRFTV9UWVBFUy5TVEVQLFxuICAgICAgICAgICAgLy8gXCJjb2RlUmVmXCIgKyBcInBhcmFtZXRlcnNcIiB1c2VkIGJ5IFJQIGxpYiB0byBnZW5lcmF0ZSB0ZXN0Q2FzZUlkIGlmIHRlc3RDYXNlSWQgaXMgbm90IGRlZmluZWRcbiAgICAgICAgICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vcmVwb3J0cG9ydGFsL2NsaWVudC1qYXZhc2NyaXB0L2Jsb2IvNDg2ZWY3MGM2MzhhOWEyMzI2NzI5MGM2MmRmMWZhZjkwMGY3ZGY2YS9saWIvcmVwb3J0LXBvcnRhbC1jbGllbnQuanMjTDQ5N1xuICAgICAgICAgICAgLy8gdGhpcyBpcyBkaXNhYmxlZCBmb3Igbm93LiBub3Qgc3VyZSBpZiBhY3R1YWxseSBuZWVkZWQuLi5cbiAgICAgICAgICAgIC8vcGFyYW1ldGVyczogdGhpcy5fZ2V0UnBBcmdzKHN0ZXAuYXJncyksXG4gICAgICAgICAgICBjb2RlUmVmOiBzdGVwLmxvY2F0aW9uLFxuICAgICAgICAgICAgdGVzdENhc2VJZDogcnBDYXNlSWQsXG4gICAgICAgICAgICBoYXNTdGF0czogZmFsc2UsXG4gICAgICAgIH07XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgdGVtcElkLCBwcm9taXNlIH0gPSB0aGlzLnJwQ2xpZW50LnN0YXJ0VGVzdEl0ZW0oc3RhcnRUZXN0SXRlbVJlcSwgdGhpcy50ZW1wTGF1bmNoSWQsIHJwUGFyZW50SWQpO1xuICAgICAgICAgICAgdGhpcy5jYlN0ZXBUb1JwSWRIYXNoW3N0ZXAuaWRdID0gdGVtcElkO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9taXNlV2l0aFRpbWVvdXQocHJvbWlzZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZGlyKGBSUCAtIEZhaWxlZCB0byBzdGFydCBzdGVwIGl0ZW06ICR7ZX1gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBvblN0ZXBFbmQoeyByaWQsIHN0ZXA6IHJlc3VsdCB9KSB7XG4gICAgICAgIGlmICghdGhpcy5yZXBvcnRTdGVwcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXN1bHQubmFtZSAmJiByZXN1bHQubmFtZS5zdGFydHNXaXRoKCdsb2cuJykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBycFN0ZXBJZCA9IHRoaXMuY2JTdGVwVG9ScElkSGFzaFtyZXN1bHQuaWRdO1xuICAgICAgICBpZiAoIXJwU3RlcElkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdC5uYW1lICE9PSAndHJhbnNhY3Rpb24nKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdWJTdGVwSWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhdHVzID0gcmVzdWx0LnN0YXR1cy50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoc3RhdHVzID09PSAnZmFpbGVkJyAmJiByZXN1bHQuZmFpbHVyZSkge1xuICAgICAgICAgICAgY29uc3QgcnBGaWxlID0gcmVzdWx0LnNjcmVlbnNob3QgP1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdzY3JlZW5zaG90JyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgICAgICBjb250ZW50OiByZXN1bHQuc2NyZWVuc2hvdCxcbiAgICAgICAgICAgIH0gOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IGxvZ01zZyA9IHRoaXMuX3N0cmluZ2lmeShyZXN1bHQuZmFpbHVyZS5tZXNzYWdlKTtcbiAgICAgICAgICAgIGlmIChsb2dNc2cpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsb2dSZXEgPSB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGxvZ01zZyxcbiAgICAgICAgICAgICAgICAgICAgbGV2ZWw6ICdlcnJvcicsXG4gICAgICAgICAgICAgICAgICAgIGZpbGU6IHJwRmlsZSxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBwcm9taXNlIH0gPSB0aGlzLnJwQ2xpZW50LnNlbmRMb2cocnBTdGVwSWQsIGxvZ1JlcSwgcnBGaWxlKTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5wcm9taXNlV2l0aFRpbWVvdXQocHJvbWlzZSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmRpcihgUlAgLSBGYWlsZWQgdG8gc2VuZCBsb2cgZm9yIGZpbmlzaGVkIHRlc3QgaXRlbTogJHtlfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaW5pc2hUZXN0SXRlbVJlcSA9IHtcbiAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cy50b0xvd2VyQ2FzZSgpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IHByb21pc2UgfSA9IHRoaXMucnBDbGllbnQuZmluaXNoVGVzdEl0ZW0ocnBTdGVwSWQsIGZpbmlzaFRlc3RJdGVtUmVxKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvbWlzZVdpdGhUaW1lb3V0KHByb21pc2UpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmRpcihgUlAgLSBGYWlsZWQgdG8gZmluaXNoIHN0ZXAgaXRlbTogJHtlfWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIG9uTG9nKHsgc3VpdGVJZCwgY2FzZUlkLCBzdGVwSWQsIGxldmVsLCBtc2csIHRpbWUsIHNyYyB9KSB7XG4gICAgICAgIGlmICghdGhpcy5yZXBvcnRMb2dzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gT3h5Z2VuIG1pZ2h0IHN0YXJ0IGdlbmVyYXRpbmcgbG9ncyBiZWZvcmUgb25SdW5uZXJTdGFydCBldmVudCwgaWdub3JlIHRoZW1cbiAgICAgICAgaWYgKCF0aGlzLnRlbXBMYXVuY2hJZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJwUGFyZW50SWQgPSBzdGVwSWQgP1xuICAgICAgICAgICAgdGhpcy5jYlN0ZXBUb1JwSWRIYXNoW3N0ZXBJZF1cbiAgICAgICAgICAgIDogY2FzZUlkID8gdGhpcy5jYkNhc2VUb1JwSWRIYXNoW2Nhc2VJZF1cbiAgICAgICAgICAgIDogc3VpdGVJZCA/IHRoaXMuY2JTdWl0ZVRvUnBJZEhhc2hbc3VpdGVJZF1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBycExldmVsID0gdGhpcy5fZ2V0UnBMZXZlbChsZXZlbCk7XG5cbiAgICAgICAgY29uc3QgbG9nTXNnID0gdGhpcy5fc3RyaW5naWZ5KG1zZyk7XG4gICAgICAgIGlmIChsb2dNc2cpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvZ1JlcSA9IHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBsb2dNc2csXG4gICAgICAgICAgICAgICAgbGV2ZWw6IHJwTGV2ZWwsXG4gICAgICAgICAgICAgICAgdGltZTogdGltZSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBwcm9taXNlIH0gPSB0aGlzLnJwQ2xpZW50LnNlbmRMb2cocnBQYXJlbnRJZCB8fCB0aGlzLnRlbXBMYXVuY2hJZCwgbG9nUmVxKTtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnByb21pc2VXaXRoVGltZW91dChwcm9taXNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5kaXIoYFJQIC0gRmFpbGVkIHRvIGNyZWF0ZSBsb2cgaXRlbTogJHtlfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIHJlcG9ydExvZ1N0ZXAoY2FzZUlkLCBzdGVwKSB7XG4gICAgICAgIGlmICghc3RlcC5hcmdzIHx8ICFzdGVwLmFyZ3MubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGV2ZWwgPSBzdGVwLm5hbWU7XG4gICAgICAgIGNvbnN0IG1zZyA9IHN0ZXAuYXJnc1swXTtcbiAgICAgICAgY29uc3QgdGltZSA9IHN0ZXAudGltZTtcbiAgICAgICAgbGV0IHN0ZXBJZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFN1YlN0ZXBJZCkge1xuICAgICAgICAgICAgc3RlcElkID0gdGhpcy5jdXJyZW50U3ViU3RlcElkO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRoaXMuY3VycmVudFRyYW5zYWN0aW9uU3RlcElkKSB7XG4gICAgICAgICAgICBzdGVwSWQgPSB0aGlzLmN1cnJlbnRUcmFuc2FjdGlvblN0ZXBJZDtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB0aGlzLnNlbmRScExvZyh7IHN1aXRlSWQ6IHVuZGVmaW5lZCwgY2FzZUlkLCBzdGVwSWQsIGxldmVsLCBtc2csIHRpbWUgfSk7XG4gICAgfVxuICAgIGFzeW5jIHNlbmRScExvZyh7IHN1aXRlSWQsIGNhc2VJZCwgc3RlcElkLCBsZXZlbCwgbXNnLCB0aW1lIH0pIHtcbiAgICAgICAgLy8gT3h5Z2VuIG1pZ2h0IHN0YXJ0IGdlbmVyYXRpbmcgbG9ncyBiZWZvcmUgb25SdW5uZXJTdGFydCBldmVudCwgaWdub3JlIHRoZW1cbiAgICAgICAgaWYgKCF0aGlzLnRlbXBMYXVuY2hJZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJwUGFyZW50SWQgPSBzdGVwSWQgP1xuICAgICAgICAgICAgdGhpcy5jYlN0ZXBUb1JwSWRIYXNoW3N0ZXBJZF1cbiAgICAgICAgICAgIDogY2FzZUlkID8gdGhpcy5jYkNhc2VUb1JwSWRIYXNoW2Nhc2VJZF1cbiAgICAgICAgICAgIDogc3VpdGVJZCA/IHRoaXMuY2JTdWl0ZVRvUnBJZEhhc2hbc3VpdGVJZF1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBycExldmVsID0gdGhpcy5fZ2V0UnBMZXZlbChsZXZlbCk7XG5cbiAgICAgICAgY29uc3QgbG9nTXNnID0gdGhpcy5fc3RyaW5naWZ5KG1zZyk7XG4gICAgICAgIGlmIChsb2dNc2cpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvZ1JlcSA9IHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBsb2dNc2csXG4gICAgICAgICAgICAgICAgbGV2ZWw6IHJwTGV2ZWwsXG4gICAgICAgICAgICAgICAgdGltZTogdGltZSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBwcm9taXNlIH0gPSB0aGlzLnJwQ2xpZW50LnNlbmRMb2cocnBQYXJlbnRJZCB8fCB0aGlzLnRlbXBMYXVuY2hJZCwgbG9nUmVxKTtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnByb21pc2VXaXRoVGltZW91dChwcm9taXNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5kaXIoYFJQIC0gRmFpbGVkIHRvIGNyZWF0ZSBsb2cgaXRlbTogJHtlfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIF9yZXBvcnRFbmRPZlN0YXJ0ZWRTdWl0ZXMoKSB7XG4gICAgICAgIGZvciAoY29uc3Qgc3VpdGVSZWZJZCBvZiBPYmplY3Qua2V5cyh0aGlzLmNiU3VpdGVUb1JwSWRIYXNoKSkge1xuICAgICAgICAgICAgY29uc3QgcnBTdWl0ZUlkID0gdGhpcy5jYlN1aXRlVG9ScElkSGFzaFtzdWl0ZVJlZklkXTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSB0aGlzLmNiU3VpdGVSZXN1bHRMaXN0QnlSZWZJZFtzdWl0ZVJlZklkXTtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmNiU3VpdGVUb1JwSWRIYXNoW3N1aXRlUmVmSWRdO1xuICAgICAgICAgICAgY29uc3QgaGFzRmFpbGVkU3VpdGUgPSByZXN1bHRzLnNvbWUoeCA9PiB4LnN0YXR1cyA9PT0gU3RhdHVzLkZBSUxFRCk7XG4gICAgICAgICAgICBjb25zdCBmaW5pc2hUZXN0SXRlbVJlcSA9IHtcbiAgICAgICAgICAgICAgICBzdGF0dXM6IGhhc0ZhaWxlZFN1aXRlID8gJ2ZhaWxlZCcgOiAncGFzc2VkJyxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBwcm9taXNlIH0gPSB0aGlzLnJwQ2xpZW50LmZpbmlzaFRlc3RJdGVtKHJwU3VpdGVJZCwgZmluaXNoVGVzdEl0ZW1SZXEpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucHJvbWlzZVdpdGhUaW1lb3V0KHByb21pc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmRpcihgUlAgLSBGYWlsZWQgdG8gZmluaXNoIHN1aXRlIGl0ZW06ICR7ZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBfZ2V0UnBMZXZlbChveExldmVsKSB7XG4gICAgICAgIGlmIChveExldmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gb3hMZXZlbC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnaW5mbyc7XG4gICAgfVxuICAgIC8qX2dldFJwQXJncyhjYkFyZ3MpIHtcbiAgICAgICAgaWYgKCFjYkFyZ3MgfHwgIWNiQXJncy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcnBBcmdzID0gW107XG4gICAgICAgIGZvciAobGV0IGk9MDsgaSA8IGNiQXJncy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgYXJnID0gY2JBcmdzW2ldO1xuICAgICAgICAgICAgbGV0IGFyZ1N0ciA9IHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnIHx8IGFyZyBpbnN0YW5jZW9mIFN0cmluZyA/IGFyZyA6IEpTT04uc3RyaW5naWZ5KGFyZyk7XG4gICAgICAgICAgICBycEFyZ3MucHVzaCh7XG4gICAgICAgICAgICAgICAga2V5OiBgYXJnJHtpfWAsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGFyZ1N0clxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJwQXJncztcbiAgICB9Ki9cbiAgICBfZ2V0U3RlcE5hbWUoc3RlcCkge1xuICAgICAgICBsZXQgbmFtZTtcblxuICAgICAgICBpZiAoc3RlcC5uYW1lID09PSAndHJhbnNhY3Rpb24nICYmIHN0ZXAuYXJncy5sZW5ndGggPiAwKSB7ICAvLyBGSVhNRTogc3RlcHMgbmVlZCB0byBiZSBuZXN0ZWQgdW5kZXIgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICBuYW1lID0gc3RlcC5hcmdzWzBdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHN0ZXAuc2lnbmF0dXJlKSB7XG4gICAgICAgICAgICBuYW1lID0gc3RlcC5zaWduYXR1cmU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoc3RlcC5tb2R1bGUpIHsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IGlzIHRoaXMgZXZlciByZWFjaGVkPyBcInN0ZXAuc2lnbmF0dXJlXCIgc2VlbXMgdG8gYWx3YXlzIGV4aXN0XG4gICAgICAgICAgICBuYW1lID0gYCR7c3RlcC5tb2R1bGV9LiR7c3RlcC5uYW1lfWA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBuYW1lID0gc3RlcC5uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWF4aW11bSBhbGxvd2VkIG5hbWUgbGVuZ3RoIGluIFJQIGlzIDEwMjQgYnl0ZXNcbiAgICAgICAgLy8gd2UgdHJ1bmNhdGUgaXQgZXZlbiBsb3dlciBzbyBpdCB3aWxsIGRpc3BsYXkgbmljZWx5XG4gICAgICAgIGlmIChuYW1lLmxlbmd0aCA+IE1BWF9OQU1FX0xFTkdUSCkge1xuICAgICAgICAgICAgbmFtZSA9IG5hbWUuc3Vic3RyaW5nKDAsIE1BWF9OQU1FX0xFTkdUSC0zKSArICcuLi4nO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cblxuICAgIC8vIHJldHVybnMgbnVsbCBpZiBtc2cgY2Fubm90IGJlIHN0cmluZ2lmaWVkLCBvciBzdHJpZ2lmaWVzIGl0IGlmIGl0J3Mgbm90IGEgc3RyaW5nIGFscmVhZHlcbiAgICBfc3RyaW5naWZ5KG1zZykge1xuICAgICAgICAvLyB3ZSB0ZXN0IGZvciB1bmRlZmluZWQgYW5kIG51bGwgZXhwbGljaXRseSBvbiBwdXJwb3NlIGJlY2F1c2Ugb3RoZXIgZmFsc3kgdmFsdWVzIChlLmcuIDApIGFyZSBva1xuICAgICAgICBpZiAodHlwZW9mIG1zZyA9PT0gJ3VuZGVmaW5lZCcgfHwgbXNnID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbXNnID09PSAnc3RyaW5nJyB8fCBtc2cgaW5zdGFuY2VvZiBTdHJpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBtc2c7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG1zZyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1JQIC0gZXJyb3Igc2VuZGluZyBsb2c6IG1zZyBvYmplY3QgY2Fubm90IGJlIHNlcmlhbGl6ZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb21pc2VXaXRoVGltZW91dChwcm9taXNlLCB0aW1lb3V0ID0gMzAgKiAxMDAwKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXByb21pc2UgfHwgIXByb21pc2UudGhlbikge1xuICAgICAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoYFByb21pc2UgYXdhaXQgdGltZW91dCBvZiAke3RpbWVvdXR9IG1zYCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJvbWlzZS50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KHJlamVjdCwgdGltZW91dCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuIl19
|
|
@@ -93,4 +93,4 @@ class XmlReporter extends _FileReporterBase.default {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
exports.default = XmlReporter;
|
|
96
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9yZXBvcnRlcnMvcmVwb3J0ZXIteG1sLmpzIl0sIm5hbWVzIjpbIkVhc3lYbWwiLCJyZXF1aXJlIiwiWG1sUmVwb3J0ZXIiLCJGaWxlUmVwb3J0ZXJCYXNlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiZ2VuZXJhdGUiLCJyZXN1bHRzIiwicmVzdWx0RmlsZVBhdGgiLCJjcmVhdGVGb2xkZXJTdHJ1Y3R1cmVBbmRGaWxlUGF0aCIsInJlc3VsdEZvbGRlclBhdGgiLCJwYXRoIiwiZGlybmFtZSIsInNlcmlhbGl6ZXIiLCJzaW5ndWxhcml6ZSIsInJvb3RFbGVtZW50Iiwicm9vdEFycmF5IiwiZGF0ZUZvcm1hdCIsIm1hbmlmZXN0IiwidW53cmFwQXJyYXlzIiwiZmlsdGVyTnVsbHMiLCJyZXBsYWNlU2NyZWVuc2hvdHNXaXRoRmlsZXMiLCJmb3JYbWxSZW5kZXIiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJtYXAiLCJyZXN1bHQiLCJwdXNoIiwibmFtZSIsInN0YXR1cyIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJkdXJhdGlvbiIsImZhaWx1cmUiLCJlbnZpcm9ubWVudCIsImNhcGFiaWxpdGllcyIsImN3ZCIsInRhcmdldCIsImJyb3dzZXJOYW1lIiwic2VsZW5pdW1VcmwiLCJhcHBpdW1VcmwiLCJyZW9wZW5TZXNzaW9uIiwicmVSdW5PbkZhaWxlZCIsIml0ZXJhdGlvbnMiLCJkZWJ1Z1BvcnQiLCJkZWxheSIsImNvbGxlY3REZXZpY2VMb2dzIiwiY29sbGVjdEFwcGl1bUxvZ3MiLCJjb2xsZWN0QnJvd3NlckxvZ3MiLCJyZXBvcnRpbmciLCJwYXJhbWV0ZXJzIiwicGFyYWxsZWwiLCJzZXJ2aWNlcyIsIm1vZHVsZXMiLCJmcmFtZXdvcmsiLCJhcHBsaXRvb2xzT3B0cyIsImVudnMiLCJlbnYiLCJwbyIsInNjcmlwdENvbnRlbnRMaW5lT2Zmc2V0Iiwic3VpdGVzIiwieG1sIiwicmVuZGVyIiwiZnMiLCJ3cml0ZUZpbGVT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a0J6QyxZQUFsQixDQUFWOztBQUNBMEMsZ0JBQUdDLGFBQUgsQ0FBaUJ6RCxjQUFqQixFQUFpQ3NELEdBQWpDOztBQUVBLFdBQU90RCxjQUFQO0FBQ0g7O0FBekVxRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLypcclxuICogT3h5Z2VuIFhNTCBSZXBvcnRlclxyXG4gKi9cclxuXHJcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xyXG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xyXG5pbXBvcnQgRmlsZVJlcG9ydGVyQmFzZSBmcm9tICcuLi9yZXBvcnRlci9GaWxlUmVwb3J0ZXJCYXNlJztcclxudmFyIEVhc3lYbWwgPSByZXF1aXJlKCdlYXN5eG1sJyk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBYbWxSZXBvcnRlciBleHRlbmRzIEZpbGVSZXBvcnRlckJhc2Uge1xyXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xyXG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGdlbmVyYXRlKHJlc3VsdHMpIHtcclxuICAgICAgICB2YXIgcmVzdWx0RmlsZVBhdGggPSB0aGlzLmNyZWF0ZUZvbGRlclN0cnVjdHVyZUFuZEZpbGVQYXRoKCcueG1sJyk7XHJcbiAgICAgICAgdmFyIHJlc3VsdEZvbGRlclBhdGggPSBwYXRoLmRpcm5hbWUocmVzdWx0RmlsZVBhdGgpO1xyXG5cclxuICAgICAgICB2YXIgc2VyaWFsaXplciA9IG5ldyBFYXN5WG1sKHtcclxuICAgICAgICAgICAgc2luZ3VsYXJpemU6IHRydWUsXHJcbiAgICAgICAgICAgIHJvb3RFbGVtZW50OiAndGVzdC1yZXN1bHRzJyxcclxuICAgICAgICAgICAgcm9vdEFycmF5OiAndGVzdC1yZXN1bHRzJyxcclxuICAgICAgICAgICAgZGF0ZUZvcm1hdDogJ0lTTycsXHJcbiAgICAgICAgICAgIG1hbmlmZXN0OiB0cnVlLFxyXG4gICAgICAgICAgICB1bndyYXBBcnJheXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBmaWx0ZXJOdWxsczogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnJlcGxhY2VTY3JlZW5zaG90c1dpdGhGaWxlcyhyZXN1bHRzLCByZXN1bHRGb2xkZXJQYXRoKTtcclxuICAgICAgICBjb25zdCBmb3JYbWxSZW5kZXIgPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdHMgJiYgQXJyYXkuaXNBcnJheShyZXN1bHRzKSAmJiByZXN1bHRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmVzdWx0cy5tYXAoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZm9yWG1sUmVuZGVyLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlc3VsdC5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cyxcclxuICAgICAgICAgICAgICAgICAgICBzdGFydFRpbWU6IHJlc3VsdC5zdGFydFRpbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZW5kVGltZTogcmVzdWx0LmVuZFRpbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IHJlc3VsdC5kdXJhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlOiByZXN1bHQuZmFpbHVyZSxcclxuICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudDogcmVzdWx0LmVudmlyb25tZW50LFxyXG4gICAgICAgICAgICAgICAgICAgIGNhcGFiaWxpdGllczogcmVzdWx0LmNhcGFiaWxpdGllcyxcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN3ZDogcmVzdWx0Lm9wdGlvbnMuY3dkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6ICByZXN1bHQub3B0aW9ucy50YXJnZXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXJOYW1lOiByZXN1bHQub3B0aW9ucy5icm93c2VyTmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZW5pdW1Vcmw6IHJlc3VsdC5vcHRpb25zLnNlbGVuaXVtVXJsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBpdW1Vcmw6IHJlc3VsdC5vcHRpb25zLmFwcGl1bVVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVvcGVuU2Vzc2lvbjogcmVzdWx0Lm9wdGlvbnMucmVvcGVuU2Vzc2lvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVSdW5PbkZhaWxlZDogcmVzdWx0Lm9wdGlvbnMucmVSdW5PbkZhaWxlZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlcmF0aW9uczogcmVzdWx0Lm9wdGlvbnMuaXRlcmF0aW9ucyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdQb3J0OiByZXN1bHQub3B0aW9ucy5kZWJ1Z1BvcnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiByZXN1bHQub3B0aW9ucy5kZWxheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdERldmljZUxvZ3M6IHJlc3VsdC5vcHRpb25zLmNvbGxlY3REZXZpY2VMb2dzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0QXBwaXVtTG9nczogcmVzdWx0Lm9wdGlvbnMuY29sbGVjdEFwcGl1bUxvZ3MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3RCcm93c2VyTG9nczogcmVzdWx0Lm9wdGlvbnMuY29sbGVjdEJyb3dzZXJMb2dzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBvcnRpbmc6IHJlc3VsdC5vcHRpb25zLnJlcG9ydGluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogcmVzdWx0Lm9wdGlvbnMucGFyYW1ldGVycyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3VpdGVzOiByZXN1bHQub3B0aW9ucy5zdWl0ZXMsIC8vIGlnbm9yZSwgZnVuY3Rpb24gaW5zaWRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFsbGVsOiByZXN1bHQub3B0aW9ucy5wYXJhbGxlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FwYWJpbGl0aWVzOiByZXN1bHQub3B0aW9ucy5jYXBhYmlsaXRpZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VzOiByZXN1bHQub3B0aW9ucy5zZXJ2aWNlcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlczogcmVzdWx0Lm9wdGlvbnMubW9kdWxlcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWV3b3JrOiByZXN1bHQub3B0aW9ucy5mcmFtZXdvcmssXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpdG9vbHNPcHRzOiByZXN1bHQub3B0aW9ucy5hcHBsaXRvb2xzT3B0cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaG9va3M6IHJlc3VsdC5vcHRpb25zLmhvb2tzLCAvLyBpZ25vcmUsIGZ1bmN0aW9uIGluc2lkZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnZzOiByZXN1bHQub3B0aW9ucy5lbnZzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXN1bHQub3B0aW9ucy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnY6IHJlc3VsdC5vcHRpb25zLmVudixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG86IHJlc3VsdC5vcHRpb25zLnBvLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHRDb250ZW50TGluZU9mZnNldDogcmVzdWx0Lm9wdGlvbnMuc2NyaXB0Q29udGVudExpbmVPZmZzZXRcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHN1aXRlczogcmVzdWx0LnN1aXRlc1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gc2VyaWFsaXplIHRlc3QgcmVzdWx0cyB0byBYTUwgYW5kIHNhdmUgdG8gZmlsZVxyXG4gICAgICAgIHZhciB4bWwgPSBzZXJpYWxpemVyLnJlbmRlcihmb3JYbWxSZW5kZXIpO1xyXG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMocmVzdWx0RmlsZVBhdGgsIHhtbCk7XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHRGaWxlUGF0aDtcclxuICAgIH1cclxufSJdfQ==
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9yZXBvcnRlcnMvcmVwb3J0ZXIteG1sLmpzIl0sIm5hbWVzIjpbIkVhc3lYbWwiLCJyZXF1aXJlIiwiWG1sUmVwb3J0ZXIiLCJGaWxlUmVwb3J0ZXJCYXNlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiZ2VuZXJhdGUiLCJyZXN1bHRzIiwicmVzdWx0RmlsZVBhdGgiLCJjcmVhdGVGb2xkZXJTdHJ1Y3R1cmVBbmRGaWxlUGF0aCIsInJlc3VsdEZvbGRlclBhdGgiLCJwYXRoIiwiZGlybmFtZSIsInNlcmlhbGl6ZXIiLCJzaW5ndWxhcml6ZSIsInJvb3RFbGVtZW50Iiwicm9vdEFycmF5IiwiZGF0ZUZvcm1hdCIsIm1hbmlmZXN0IiwidW53cmFwQXJyYXlzIiwiZmlsdGVyTnVsbHMiLCJyZXBsYWNlU2NyZWVuc2hvdHNXaXRoRmlsZXMiLCJmb3JYbWxSZW5kZXIiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJtYXAiLCJyZXN1bHQiLCJwdXNoIiwibmFtZSIsInN0YXR1cyIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJkdXJhdGlvbiIsImZhaWx1cmUiLCJlbnZpcm9ubWVudCIsImNhcGFiaWxpdGllcyIsImN3ZCIsInRhcmdldCIsImJyb3dzZXJOYW1lIiwic2VsZW5pdW1VcmwiLCJhcHBpdW1VcmwiLCJyZW9wZW5TZXNzaW9uIiwicmVSdW5PbkZhaWxlZCIsIml0ZXJhdGlvbnMiLCJkZWJ1Z1BvcnQiLCJkZWxheSIsImNvbGxlY3REZXZpY2VMb2dzIiwiY29sbGVjdEFwcGl1bUxvZ3MiLCJjb2xsZWN0QnJvd3NlckxvZ3MiLCJyZXBvcnRpbmciLCJwYXJhbWV0ZXJzIiwicGFyYWxsZWwiLCJzZXJ2aWNlcyIsIm1vZHVsZXMiLCJmcmFtZXdvcmsiLCJhcHBsaXRvb2xzT3B0cyIsImVudnMiLCJlbnYiLCJwbyIsInNjcmlwdENvbnRlbnRMaW5lT2Zmc2V0Iiwic3VpdGVzIiwieG1sIiwicmVuZGVyIiwiZnMiLCJ3cml0ZUZpbGVT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a0J6QyxZQUFsQixDQUFWOztBQUNBMEMsZ0JBQUdDLGFBQUgsQ0FBaUJ6RCxjQUFqQixFQUFpQ3NELEdBQWpDOztBQUVBLFdBQU90RCxjQUFQO0FBQ0g7O0FBekVxRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUtcHJlc2VudCBDbG91ZEJlYXQgTGltaXRlZFxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKi9cblxuLypcbiAqIE94eWdlbiBYTUwgUmVwb3J0ZXJcbiAqL1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgRmlsZVJlcG9ydGVyQmFzZSBmcm9tICcuLi9yZXBvcnRlci9GaWxlUmVwb3J0ZXJCYXNlJztcbnZhciBFYXN5WG1sID0gcmVxdWlyZSgnZWFzeXhtbCcpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBYbWxSZXBvcnRlciBleHRlbmRzIEZpbGVSZXBvcnRlckJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgZ2VuZXJhdGUocmVzdWx0cykge1xuICAgICAgICB2YXIgcmVzdWx0RmlsZVBhdGggPSB0aGlzLmNyZWF0ZUZvbGRlclN0cnVjdHVyZUFuZEZpbGVQYXRoKCcueG1sJyk7XG4gICAgICAgIHZhciByZXN1bHRGb2xkZXJQYXRoID0gcGF0aC5kaXJuYW1lKHJlc3VsdEZpbGVQYXRoKTtcblxuICAgICAgICB2YXIgc2VyaWFsaXplciA9IG5ldyBFYXN5WG1sKHtcbiAgICAgICAgICAgIHNpbmd1bGFyaXplOiB0cnVlLFxuICAgICAgICAgICAgcm9vdEVsZW1lbnQ6ICd0ZXN0LXJlc3VsdHMnLFxuICAgICAgICAgICAgcm9vdEFycmF5OiAndGVzdC1yZXN1bHRzJyxcbiAgICAgICAgICAgIGRhdGVGb3JtYXQ6ICdJU08nLFxuICAgICAgICAgICAgbWFuaWZlc3Q6IHRydWUsXG4gICAgICAgICAgICB1bndyYXBBcnJheXM6IGZhbHNlLFxuICAgICAgICAgICAgZmlsdGVyTnVsbHM6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yZXBsYWNlU2NyZWVuc2hvdHNXaXRoRmlsZXMocmVzdWx0cywgcmVzdWx0Rm9sZGVyUGF0aCk7XG4gICAgICAgIGNvbnN0IGZvclhtbFJlbmRlciA9IFtdO1xuXG4gICAgICAgIGlmIChyZXN1bHRzICYmIEFycmF5LmlzQXJyYXkocmVzdWx0cykgJiYgcmVzdWx0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXN1bHRzLm1hcCgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yWG1sUmVuZGVyLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXN1bHQubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICBzdGFydFRpbWU6IHJlc3VsdC5zdGFydFRpbWUsXG4gICAgICAgICAgICAgICAgICAgIGVuZFRpbWU6IHJlc3VsdC5lbmRUaW1lLFxuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogcmVzdWx0LmR1cmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlOiByZXN1bHQuZmFpbHVyZSxcbiAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ6IHJlc3VsdC5lbnZpcm9ubWVudCxcbiAgICAgICAgICAgICAgICAgICAgY2FwYWJpbGl0aWVzOiByZXN1bHQuY2FwYWJpbGl0aWVzLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjd2Q6IHJlc3VsdC5vcHRpb25zLmN3ZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogIHJlc3VsdC5vcHRpb25zLnRhcmdldCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXJOYW1lOiByZXN1bHQub3B0aW9ucy5icm93c2VyTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVuaXVtVXJsOiByZXN1bHQub3B0aW9ucy5zZWxlbml1bVVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGl1bVVybDogcmVzdWx0Lm9wdGlvbnMuYXBwaXVtVXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVvcGVuU2Vzc2lvbjogcmVzdWx0Lm9wdGlvbnMucmVvcGVuU2Vzc2lvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlUnVuT25GYWlsZWQ6IHJlc3VsdC5vcHRpb25zLnJlUnVuT25GYWlsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zOiByZXN1bHQub3B0aW9ucy5pdGVyYXRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdQb3J0OiByZXN1bHQub3B0aW9ucy5kZWJ1Z1BvcnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxheTogcmVzdWx0Lm9wdGlvbnMuZGVsYXksXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0RGV2aWNlTG9nczogcmVzdWx0Lm9wdGlvbnMuY29sbGVjdERldmljZUxvZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0QXBwaXVtTG9nczogcmVzdWx0Lm9wdGlvbnMuY29sbGVjdEFwcGl1bUxvZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0QnJvd3NlckxvZ3M6IHJlc3VsdC5vcHRpb25zLmNvbGxlY3RCcm93c2VyTG9ncyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9ydGluZzogcmVzdWx0Lm9wdGlvbnMucmVwb3J0aW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogcmVzdWx0Lm9wdGlvbnMucGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN1aXRlczogcmVzdWx0Lm9wdGlvbnMuc3VpdGVzLCAvLyBpZ25vcmUsIGZ1bmN0aW9uIGluc2lkZVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWw6IHJlc3VsdC5vcHRpb25zLnBhcmFsbGVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FwYWJpbGl0aWVzOiByZXN1bHQub3B0aW9ucy5jYXBhYmlsaXRpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlczogcmVzdWx0Lm9wdGlvbnMuc2VydmljZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVzOiByZXN1bHQub3B0aW9ucy5tb2R1bGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWV3b3JrOiByZXN1bHQub3B0aW9ucy5mcmFtZXdvcmssXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBsaXRvb2xzT3B0czogcmVzdWx0Lm9wdGlvbnMuYXBwbGl0b29sc09wdHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBob29rczogcmVzdWx0Lm9wdGlvbnMuaG9va3MsIC8vIGlnbm9yZSwgZnVuY3Rpb24gaW5zaWRlXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnZzOiByZXN1bHQub3B0aW9ucy5lbnZzLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogcmVzdWx0Lm9wdGlvbnMubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudjogcmVzdWx0Lm9wdGlvbnMuZW52LFxuICAgICAgICAgICAgICAgICAgICAgICAgcG86IHJlc3VsdC5vcHRpb25zLnBvLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0Q29udGVudExpbmVPZmZzZXQ6IHJlc3VsdC5vcHRpb25zLnNjcmlwdENvbnRlbnRMaW5lT2Zmc2V0XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHN1aXRlczogcmVzdWx0LnN1aXRlc1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzZXJpYWxpemUgdGVzdCByZXN1bHRzIHRvIFhNTCBhbmQgc2F2ZSB0byBmaWxlXG4gICAgICAgIHZhciB4bWwgPSBzZXJpYWxpemVyLnJlbmRlcihmb3JYbWxSZW5kZXIpO1xuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHJlc3VsdEZpbGVQYXRoLCB4bWwpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHRGaWxlUGF0aDtcbiAgICB9XG59Il19
|