oxygen-cli 1.37.7 → 1.37.9
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 +1687 -1682
- package/LICENSE +672 -672
- package/README.md +37 -37
- package/build/core/OxygenCore.js +8 -2
- package/build/core/OxygenEvents.js +4 -2
- 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 +1 -1
- package/build/index.js +1 -1
- package/build/lib/cli-util.js +25 -6
- package/build/lib/cli.js +2 -2
- 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 +2 -2
- 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 +2 -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 +1 -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 +83 -79
- 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 +105 -100
- 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 +376 -0
- 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 +110 -43
- package/build/reporter/ReporterBase.js +2 -2
- 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 +37 -22
- package/build/runners/oxygen/worker.js +1 -1
- package/config/default.json +6 -6
- package/log.txt +1614 -0
- package/package.json +136 -135
- 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
|