@appium/base-driver 8.3.0 → 8.4.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/build/lib/basedriver/capabilities.d.ts +80 -0
- package/build/lib/basedriver/capabilities.d.ts.map +1 -0
- package/build/lib/basedriver/capabilities.js +12 -13
- package/build/lib/basedriver/commands/event.d.ts +9 -0
- package/build/lib/basedriver/commands/event.d.ts.map +1 -0
- package/build/lib/basedriver/commands/event.js +21 -23
- package/build/lib/basedriver/commands/find.d.ts +11 -0
- package/build/lib/basedriver/commands/find.d.ts.map +1 -0
- package/build/lib/basedriver/commands/find.js +42 -37
- package/build/lib/basedriver/commands/index.d.ts +8 -0
- package/build/lib/basedriver/commands/index.d.ts.map +1 -0
- package/build/lib/basedriver/commands/index.js +17 -16
- package/build/lib/basedriver/commands/log.d.ts +12 -0
- package/build/lib/basedriver/commands/log.d.ts.map +1 -0
- package/build/lib/basedriver/commands/log.js +23 -27
- package/build/lib/basedriver/commands/session.d.ts +11 -0
- package/build/lib/basedriver/commands/session.d.ts.map +1 -0
- package/build/lib/basedriver/commands/session.js +21 -149
- package/build/lib/basedriver/commands/settings.d.ts +10 -0
- package/build/lib/basedriver/commands/settings.d.ts.map +1 -0
- package/build/lib/basedriver/commands/settings.js +19 -19
- package/build/lib/basedriver/commands/timeout.d.ts +8 -0
- package/build/lib/basedriver/commands/timeout.d.ts.map +1 -0
- package/build/lib/basedriver/commands/timeout.js +118 -139
- package/build/lib/basedriver/core.d.ts +235 -0
- package/build/lib/basedriver/core.d.ts.map +1 -0
- package/build/lib/basedriver/core.js +283 -0
- package/build/lib/basedriver/desired-caps.d.ts +5 -0
- package/build/lib/basedriver/desired-caps.d.ts.map +1 -0
- package/build/lib/basedriver/desired-caps.js +2 -4
- package/build/lib/basedriver/device-settings.d.ts +32 -0
- package/build/lib/basedriver/device-settings.d.ts.map +1 -0
- package/build/lib/basedriver/device-settings.js +20 -14
- package/build/lib/basedriver/driver.d.ts +83 -0
- package/build/lib/basedriver/driver.d.ts.map +1 -0
- package/build/lib/basedriver/driver.js +101 -256
- package/build/lib/basedriver/helpers.d.ts +132 -0
- package/build/lib/basedriver/helpers.d.ts.map +1 -0
- package/build/lib/basedriver/helpers.js +16 -2
- package/build/lib/basedriver/logger.d.ts +3 -0
- package/build/lib/basedriver/logger.d.ts.map +1 -0
- package/build/lib/basedriver/logger.js +2 -4
- package/build/lib/constants.d.ts +9 -0
- package/build/lib/constants.d.ts.map +1 -0
- package/build/lib/constants.js +2 -4
- package/build/lib/express/crash.d.ts +3 -0
- package/build/lib/express/crash.d.ts.map +1 -0
- package/build/lib/express/crash.js +2 -4
- package/build/lib/express/express-logging.d.ts +3 -0
- package/build/lib/express/express-logging.d.ts.map +1 -0
- package/build/lib/express/express-logging.js +2 -4
- package/build/lib/express/idempotency.d.ts +2 -0
- package/build/lib/express/idempotency.d.ts.map +1 -0
- package/build/lib/express/idempotency.js +2 -4
- package/build/lib/express/logger.d.ts +3 -0
- package/build/lib/express/logger.d.ts.map +1 -0
- package/build/lib/express/logger.js +2 -4
- package/build/lib/express/middleware.d.ts +9 -0
- package/build/lib/express/middleware.d.ts.map +1 -0
- package/build/lib/express/middleware.js +2 -4
- package/build/lib/express/server.d.ts +10 -0
- package/build/lib/express/server.d.ts.map +1 -0
- package/build/lib/express/server.js +2 -4
- package/build/lib/express/static.d.ts +6 -0
- package/build/lib/express/static.d.ts.map +1 -0
- package/build/lib/express/static.js +2 -4
- package/build/lib/express/websocket.d.ts +64 -0
- package/build/lib/express/websocket.d.ts.map +1 -0
- package/build/lib/express/websocket.js +40 -41
- package/build/lib/helpers/capabilities.d.ts +13 -0
- package/build/lib/helpers/capabilities.d.ts.map +1 -0
- package/build/lib/helpers/capabilities.js +40 -2
- package/build/lib/index.d.ts +183 -0
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/index.js +41 -23
- package/build/lib/jsonwp-proxy/protocol-converter.d.ts +48 -0
- package/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -0
- package/build/lib/jsonwp-proxy/protocol-converter.js +2 -4
- package/build/lib/jsonwp-proxy/proxy.d.ts +41 -0
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -0
- package/build/lib/jsonwp-proxy/proxy.js +25 -9
- package/build/lib/jsonwp-status/status.d.ts +159 -0
- package/build/lib/jsonwp-status/status.d.ts.map +1 -0
- package/build/lib/jsonwp-status/status.js +2 -4
- package/build/lib/protocol/errors.d.ts +310 -0
- package/build/lib/protocol/errors.d.ts.map +1 -0
- package/build/lib/protocol/errors.js +82 -5
- package/build/lib/protocol/helpers.d.ts +22 -0
- package/build/lib/protocol/helpers.d.ts.map +1 -0
- package/build/lib/protocol/helpers.js +2 -4
- package/build/lib/protocol/index.d.ts +16 -0
- package/build/lib/protocol/index.d.ts.map +1 -0
- package/build/lib/protocol/index.js +8 -10
- package/build/lib/protocol/protocol.d.ts +11 -0
- package/build/lib/protocol/protocol.d.ts.map +1 -0
- package/build/lib/protocol/protocol.js +3 -9
- package/build/lib/protocol/routes.d.ts +6 -0
- package/build/lib/protocol/routes.d.ts.map +1 -0
- package/build/lib/protocol/routes.js +18 -4
- package/build/lib/protocol/validators.d.ts +8 -0
- package/build/lib/protocol/validators.d.ts.map +1 -0
- package/build/lib/protocol/validators.js +2 -4
- package/build/test/basedriver/README.md +5 -0
- package/build/test/basedriver/driver-e2e-tests.js +2 -4
- package/build/test/basedriver/driver-tests.js +31 -6
- package/build/test/basedriver/index.js +2 -4
- package/build/test/e2e/basedriver/driver.e2e.spec.js +15 -0
- package/build/test/e2e/basedriver/helpers.e2e.spec.js +192 -0
- package/build/test/e2e/basedriver/websockets.e2e.spec.js +87 -0
- package/build/test/e2e/express/server.e2e.spec.js +159 -0
- package/build/test/e2e/jsonwp-proxy/proxy.e2e.spec.js +59 -0
- package/build/test/e2e/protocol/fake-driver.js +163 -0
- package/build/test/e2e/protocol/helpers.js +25 -0
- package/build/test/e2e/protocol/protocol.e2e.spec.js +1186 -0
- package/build/test/helpers.js +2 -4
- package/build/test/unit/basedriver/capabilities.spec.js +672 -0
- package/build/test/unit/basedriver/capability.spec.js +353 -0
- package/build/test/unit/basedriver/commands/event.spec.js +110 -0
- package/build/test/unit/basedriver/commands/log.spec.js +92 -0
- package/build/test/unit/basedriver/driver.spec.js +15 -0
- package/build/test/unit/basedriver/helpers.spec.js +151 -0
- package/build/test/unit/basedriver/timeout.spec.js +135 -0
- package/build/test/unit/express/server.spec.js +155 -0
- package/build/test/unit/express/static.spec.js +26 -0
- package/build/test/unit/jsonwp-proxy/mock-request.js +91 -0
- package/build/test/unit/jsonwp-proxy/protocol-converter.spec.js +171 -0
- package/build/test/unit/jsonwp-proxy/proxy.spec.js +292 -0
- package/build/test/unit/jsonwp-proxy/url.spec.js +165 -0
- package/build/test/unit/jsonwp-status/status.spec.js +34 -0
- package/build/test/unit/protocol/errors.spec.js +390 -0
- package/build/test/unit/protocol/routes.spec.js +80 -0
- package/build/test/unit/protocol/validator.spec.js +149 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/lib/basedriver/capabilities.js +49 -10
- package/lib/basedriver/commands/event.js +49 -31
- package/lib/basedriver/commands/find.js +108 -43
- package/lib/basedriver/commands/index.js +25 -19
- package/lib/basedriver/commands/log.js +60 -33
- package/lib/basedriver/commands/session.js +39 -141
- package/lib/basedriver/commands/settings.js +33 -13
- package/lib/basedriver/commands/timeout.js +153 -153
- package/lib/basedriver/core.js +497 -0
- package/lib/basedriver/desired-caps.js +1 -1
- package/lib/basedriver/device-settings.js +47 -12
- package/lib/basedriver/driver.js +272 -383
- package/lib/basedriver/helpers.js +18 -2
- package/lib/express/websocket.js +35 -32
- package/lib/helpers/capabilities.js +60 -1
- package/lib/index.js +16 -12
- package/lib/jsonwp-proxy/proxy.js +26 -6
- package/lib/protocol/errors.js +42 -42
- package/lib/protocol/index.js +4 -4
- package/lib/protocol/protocol.js +1 -3
- package/lib/protocol/routes.js +9 -0
- package/package.json +22 -14
- package/test/basedriver/README.md +5 -0
- package/test/basedriver/driver-e2e-tests.js +1 -1
- package/test/basedriver/driver-tests.js +31 -2
- package/build/test/basedriver/capabilities-specs.js +0 -674
- package/build/test/basedriver/capability-specs.js +0 -355
- package/build/test/basedriver/commands/event-specs.js +0 -112
- package/build/test/basedriver/commands/log-specs.js +0 -87
- package/build/test/basedriver/driver-e2e-specs.js +0 -17
- package/build/test/basedriver/driver-specs.js +0 -17
- package/build/test/basedriver/helpers-e2e-specs.js +0 -194
- package/build/test/basedriver/helpers-specs.js +0 -153
- package/build/test/basedriver/timeout-specs.js +0 -137
- package/build/test/basedriver/websockets-e2e-specs.js +0 -84
- package/build/test/express/server-e2e-specs.js +0 -161
- package/build/test/express/server-specs.js +0 -157
- package/build/test/express/static-specs.js +0 -28
- package/build/test/jsonwp-proxy/mock-request.js +0 -93
- package/build/test/jsonwp-proxy/protocol-converter-specs.js +0 -173
- package/build/test/jsonwp-proxy/proxy-e2e-specs.js +0 -61
- package/build/test/jsonwp-proxy/proxy-specs.js +0 -294
- package/build/test/jsonwp-proxy/url-specs.js +0 -167
- package/build/test/jsonwp-status/status-specs.js +0 -36
- package/build/test/protocol/errors-specs.js +0 -388
- package/build/test/protocol/fake-driver.js +0 -165
- package/build/test/protocol/helpers.js +0 -27
- package/build/test/protocol/protocol-e2e-specs.js +0 -1188
- package/build/test/protocol/routes-specs.js +0 -82
- package/build/test/protocol/validator-specs.js +0 -151
- package/index.d.ts +0 -386
- package/test/basedriver/capabilities-specs.js +0 -537
- package/test/basedriver/capability-specs.js +0 -383
- package/test/basedriver/commands/event-specs.js +0 -74
- package/test/basedriver/commands/log-specs.js +0 -79
- package/test/basedriver/driver-e2e-specs.js +0 -8
- package/test/basedriver/driver-specs.js +0 -8
- package/test/basedriver/fixtures/BadZippedApp.zip +0 -1
- package/test/basedriver/fixtures/FakeAndroidApp.apk +0 -1
- package/test/basedriver/fixtures/FakeAndroidApp.asd +0 -0
- package/test/basedriver/fixtures/FakeIOSApp.app +0 -1
- package/test/basedriver/fixtures/FakeIOSApp.app.zip +0 -0
- package/test/basedriver/fixtures/FakeIOSApp.ipa +0 -0
- package/test/basedriver/fixtures/custom-element-finder-bad.js +0 -5
- package/test/basedriver/fixtures/custom-element-finder.js +0 -29
- package/test/basedriver/helpers-e2e-specs.js +0 -187
- package/test/basedriver/helpers-specs.js +0 -137
- package/test/basedriver/timeout-specs.js +0 -128
- package/test/basedriver/websockets-e2e-specs.js +0 -75
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
export { DriverCore } from "./basedriver/core";
|
|
2
|
+
export default BaseDriver;
|
|
3
|
+
import { BaseDriver } from "./basedriver/driver";
|
|
4
|
+
import { DeviceSettings } from "./basedriver/device-settings";
|
|
5
|
+
export const routeConfiguringFunction: typeof protocol.routeConfiguringFunction;
|
|
6
|
+
export const errors: {
|
|
7
|
+
NotYetImplementedError: typeof import("./protocol/errors").NotYetImplementedError;
|
|
8
|
+
NotImplementedError: typeof import("./protocol/errors").NotImplementedError;
|
|
9
|
+
BadParametersError: typeof import("./protocol/errors").BadParametersError;
|
|
10
|
+
InvalidArgumentError: typeof import("./protocol/errors").InvalidArgumentError;
|
|
11
|
+
NoSuchDriverError: typeof import("./protocol/errors").NoSuchDriverError;
|
|
12
|
+
NoSuchElementError: typeof import("./protocol/errors").NoSuchElementError;
|
|
13
|
+
UnknownCommandError: typeof import("./protocol/errors").UnknownCommandError;
|
|
14
|
+
StaleElementReferenceError: typeof import("./protocol/errors").StaleElementReferenceError;
|
|
15
|
+
ElementNotVisibleError: typeof import("./protocol/errors").ElementNotVisibleError;
|
|
16
|
+
InvalidElementStateError: typeof import("./protocol/errors").InvalidElementStateError;
|
|
17
|
+
UnknownError: typeof import("./protocol/errors").UnknownError;
|
|
18
|
+
ElementIsNotSelectableError: typeof import("./protocol/errors").ElementIsNotSelectableError;
|
|
19
|
+
ElementClickInterceptedError: typeof import("./protocol/errors").ElementClickInterceptedError;
|
|
20
|
+
ElementNotInteractableError: typeof import("./protocol/errors").ElementNotInteractableError;
|
|
21
|
+
InsecureCertificateError: typeof import("./protocol/errors").InsecureCertificateError;
|
|
22
|
+
JavaScriptError: typeof import("./protocol/errors").JavaScriptError;
|
|
23
|
+
XPathLookupError: typeof import("./protocol/errors").XPathLookupError;
|
|
24
|
+
TimeoutError: typeof import("./protocol/errors").TimeoutError;
|
|
25
|
+
NoSuchWindowError: typeof import("./protocol/errors").NoSuchWindowError;
|
|
26
|
+
NoSuchCookieError: typeof import("./protocol/errors").NoSuchCookieError;
|
|
27
|
+
InvalidCookieDomainError: typeof import("./protocol/errors").InvalidCookieDomainError;
|
|
28
|
+
InvalidCoordinatesError: typeof import("./protocol/errors").InvalidCoordinatesError;
|
|
29
|
+
UnableToSetCookieError: typeof import("./protocol/errors").UnableToSetCookieError;
|
|
30
|
+
UnexpectedAlertOpenError: typeof import("./protocol/errors").UnexpectedAlertOpenError;
|
|
31
|
+
NoAlertOpenError: typeof import("./protocol/errors").NoAlertOpenError;
|
|
32
|
+
ScriptTimeoutError: typeof import("./protocol/errors").ScriptTimeoutError;
|
|
33
|
+
InvalidElementCoordinatesError: typeof import("./protocol/errors").InvalidElementCoordinatesError;
|
|
34
|
+
IMENotAvailableError: typeof import("./protocol/errors").IMENotAvailableError;
|
|
35
|
+
IMEEngineActivationFailedError: typeof import("./protocol/errors").IMEEngineActivationFailedError;
|
|
36
|
+
InvalidSelectorError: typeof import("./protocol/errors").InvalidSelectorError;
|
|
37
|
+
SessionNotCreatedError: typeof import("./protocol/errors").SessionNotCreatedError;
|
|
38
|
+
MoveTargetOutOfBoundsError: typeof import("./protocol/errors").MoveTargetOutOfBoundsError;
|
|
39
|
+
NoSuchAlertError: typeof import("./protocol/errors").NoSuchAlertError;
|
|
40
|
+
NoSuchContextError: typeof import("./protocol/errors").NoSuchContextError;
|
|
41
|
+
InvalidContextError: typeof import("./protocol/errors").InvalidContextError;
|
|
42
|
+
NoSuchFrameError: typeof import("./protocol/errors").NoSuchFrameError;
|
|
43
|
+
UnableToCaptureScreen: typeof import("./protocol/errors").UnableToCaptureScreen;
|
|
44
|
+
UnknownMethodError: typeof import("./protocol/errors").UnknownMethodError;
|
|
45
|
+
UnsupportedOperationError: typeof import("./protocol/errors").UnsupportedOperationError;
|
|
46
|
+
ProxyRequestError: typeof import("./protocol/errors").ProxyRequestError;
|
|
47
|
+
};
|
|
48
|
+
export const isErrorType: typeof protocol.isErrorType;
|
|
49
|
+
import { PROTOCOLS } from "./constants";
|
|
50
|
+
export const errorFromMJSONWPStatusCode: typeof protocol.errorFromMJSONWPStatusCode;
|
|
51
|
+
export const errorFromW3CJsonCode: typeof protocol.errorFromW3CJsonCode;
|
|
52
|
+
export const determineProtocol: typeof protocol.determineProtocol;
|
|
53
|
+
export const ALL_COMMANDS: any[];
|
|
54
|
+
export const METHOD_MAP: import("@appium/types").MethodMap<import("@appium/types").ExternalDriver>;
|
|
55
|
+
export const routeToCommandName: typeof protocol.routeToCommandName;
|
|
56
|
+
export const NO_SESSION_ID_COMMANDS: string[];
|
|
57
|
+
export const isSessionCommand: typeof protocol.isSessionCommand;
|
|
58
|
+
import { DEFAULT_BASE_PATH } from "./constants";
|
|
59
|
+
export const CREATE_SESSION_COMMAND: "createSession";
|
|
60
|
+
export const DELETE_SESSION_COMMAND: "deleteSession";
|
|
61
|
+
export const GET_STATUS_COMMAND: "getStatus";
|
|
62
|
+
export const STATIC_DIR: string;
|
|
63
|
+
export const server: typeof serverIndex.server;
|
|
64
|
+
export const normalizeBasePath: typeof serverIndex.normalizeBasePath;
|
|
65
|
+
export const JWProxy: typeof proxyIndex.JWProxy;
|
|
66
|
+
export const statusCodes: {
|
|
67
|
+
Success: {
|
|
68
|
+
code: number;
|
|
69
|
+
summary: string;
|
|
70
|
+
};
|
|
71
|
+
NoSuchDriver: {
|
|
72
|
+
code: number;
|
|
73
|
+
summary: string;
|
|
74
|
+
};
|
|
75
|
+
NoSuchElement: {
|
|
76
|
+
code: number;
|
|
77
|
+
summary: string;
|
|
78
|
+
};
|
|
79
|
+
NoSuchFrame: {
|
|
80
|
+
code: number;
|
|
81
|
+
summary: string;
|
|
82
|
+
};
|
|
83
|
+
UnknownCommand: {
|
|
84
|
+
code: number;
|
|
85
|
+
summary: string;
|
|
86
|
+
};
|
|
87
|
+
StaleElementReference: {
|
|
88
|
+
code: number;
|
|
89
|
+
summary: string;
|
|
90
|
+
};
|
|
91
|
+
ElementNotVisible: {
|
|
92
|
+
code: number;
|
|
93
|
+
summary: string;
|
|
94
|
+
};
|
|
95
|
+
InvalidElementState: {
|
|
96
|
+
code: number;
|
|
97
|
+
summary: string;
|
|
98
|
+
};
|
|
99
|
+
UnknownError: {
|
|
100
|
+
code: number;
|
|
101
|
+
summary: string;
|
|
102
|
+
};
|
|
103
|
+
ElementIsNotSelectable: {
|
|
104
|
+
code: number;
|
|
105
|
+
summary: string;
|
|
106
|
+
};
|
|
107
|
+
JavaScriptError: {
|
|
108
|
+
code: number;
|
|
109
|
+
summary: string;
|
|
110
|
+
};
|
|
111
|
+
XPathLookupError: {
|
|
112
|
+
code: number;
|
|
113
|
+
summary: string;
|
|
114
|
+
};
|
|
115
|
+
Timeout: {
|
|
116
|
+
code: number;
|
|
117
|
+
summary: string;
|
|
118
|
+
};
|
|
119
|
+
NoSuchWindow: {
|
|
120
|
+
code: number;
|
|
121
|
+
summary: string;
|
|
122
|
+
};
|
|
123
|
+
InvalidCookieDomain: {
|
|
124
|
+
code: number;
|
|
125
|
+
summary: string;
|
|
126
|
+
};
|
|
127
|
+
UnableToSetCookie: {
|
|
128
|
+
code: number;
|
|
129
|
+
summary: string;
|
|
130
|
+
};
|
|
131
|
+
UnexpectedAlertOpen: {
|
|
132
|
+
code: number;
|
|
133
|
+
summary: string;
|
|
134
|
+
};
|
|
135
|
+
NoAlertOpenError: {
|
|
136
|
+
code: number;
|
|
137
|
+
summary: string;
|
|
138
|
+
};
|
|
139
|
+
ScriptTimeout: {
|
|
140
|
+
code: number;
|
|
141
|
+
summary: string;
|
|
142
|
+
};
|
|
143
|
+
InvalidElementCoordinates: {
|
|
144
|
+
code: number;
|
|
145
|
+
summary: string;
|
|
146
|
+
};
|
|
147
|
+
IMENotAvailable: {
|
|
148
|
+
code: number;
|
|
149
|
+
summary: string;
|
|
150
|
+
};
|
|
151
|
+
IMEEngineActivationFailed: {
|
|
152
|
+
code: number;
|
|
153
|
+
summary: string;
|
|
154
|
+
};
|
|
155
|
+
InvalidSelector: {
|
|
156
|
+
code: number;
|
|
157
|
+
summary: string;
|
|
158
|
+
};
|
|
159
|
+
SessionNotCreatedException: {
|
|
160
|
+
code: number;
|
|
161
|
+
summary: string;
|
|
162
|
+
};
|
|
163
|
+
MoveTargetOutOfBounds: {
|
|
164
|
+
code: number;
|
|
165
|
+
summary: string;
|
|
166
|
+
};
|
|
167
|
+
NoSuchContext: {
|
|
168
|
+
code: number;
|
|
169
|
+
summary: string;
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
export const getSummaryByCode: typeof statusIndex.getSummaryByCode;
|
|
173
|
+
export const processCapabilities: typeof caps.processCapabilities;
|
|
174
|
+
export const isStandardCap: typeof caps.isStandardCap;
|
|
175
|
+
export const validateCaps: typeof caps.validateCaps;
|
|
176
|
+
export const DEFAULT_WS_PATHNAME_PREFIX: "/ws";
|
|
177
|
+
import * as protocol from "./protocol";
|
|
178
|
+
import * as serverIndex from "./express/server";
|
|
179
|
+
import * as proxyIndex from "./jsonwp-proxy/proxy";
|
|
180
|
+
import * as statusIndex from "./jsonwp-status/status";
|
|
181
|
+
import * as caps from "./basedriver/capabilities";
|
|
182
|
+
export { BaseDriver, DeviceSettings, PROTOCOLS, errorFromMJSONWPStatusCode as errorFromCode, DEFAULT_BASE_PATH };
|
|
183
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":""}
|
package/build/lib/index.js
CHANGED
|
@@ -1,29 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.
|
|
8
|
+
exports.ALL_COMMANDS = void 0;
|
|
9
|
+
Object.defineProperty(exports, "BaseDriver", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () {
|
|
12
|
+
return _driver.BaseDriver;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
exports.CREATE_SESSION_COMMAND = void 0;
|
|
7
16
|
Object.defineProperty(exports, "DEFAULT_BASE_PATH", {
|
|
8
17
|
enumerable: true,
|
|
9
18
|
get: function () {
|
|
10
19
|
return _constants.DEFAULT_BASE_PATH;
|
|
11
20
|
}
|
|
12
21
|
});
|
|
13
|
-
exports.
|
|
22
|
+
exports.DELETE_SESSION_COMMAND = exports.DEFAULT_WS_PATHNAME_PREFIX = void 0;
|
|
23
|
+
Object.defineProperty(exports, "DeviceSettings", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () {
|
|
26
|
+
return _deviceSettings.DeviceSettings;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(exports, "DriverCore", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function () {
|
|
32
|
+
return _core.DriverCore;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
exports.NO_SESSION_ID_COMMANDS = exports.METHOD_MAP = exports.JWProxy = exports.GET_STATUS_COMMAND = void 0;
|
|
14
36
|
Object.defineProperty(exports, "PROTOCOLS", {
|
|
15
37
|
enumerable: true,
|
|
16
38
|
get: function () {
|
|
17
39
|
return _constants.PROTOCOLS;
|
|
18
40
|
}
|
|
19
41
|
});
|
|
20
|
-
exports.validateCaps = exports.statusCodes = exports.server = exports.routeToCommandName = exports.routeConfiguringFunction = exports.processCapabilities = exports.normalizeBasePath = exports.isStandardCap = exports.isSessionCommand = exports.isErrorType = exports.getSummaryByCode = exports.errors = exports.errorFromW3CJsonCode = exports.errorFromMJSONWPStatusCode = exports.errorFromCode = exports.determineProtocol = exports.default = exports.STATIC_DIR =
|
|
42
|
+
exports.validateCaps = exports.statusCodes = exports.server = exports.routeToCommandName = exports.routeConfiguringFunction = exports.processCapabilities = exports.normalizeBasePath = exports.isStandardCap = exports.isSessionCommand = exports.isErrorType = exports.getSummaryByCode = exports.errors = exports.errorFromW3CJsonCode = exports.errorFromMJSONWPStatusCode = exports.errorFromCode = exports.determineProtocol = exports.default = exports.STATIC_DIR = void 0;
|
|
21
43
|
|
|
22
44
|
require("source-map-support/register");
|
|
23
45
|
|
|
24
|
-
var
|
|
46
|
+
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
47
|
+
|
|
48
|
+
var _driver = require("./basedriver/driver");
|
|
49
|
+
|
|
50
|
+
var _core = require("./basedriver/core");
|
|
25
51
|
|
|
26
|
-
var
|
|
52
|
+
var _deviceSettings = require("./basedriver/device-settings");
|
|
27
53
|
|
|
28
54
|
var protocol = _interopRequireWildcard(require("./protocol"));
|
|
29
55
|
|
|
@@ -45,18 +71,13 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
45
71
|
|
|
46
72
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
47
73
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
DeviceSettings
|
|
54
|
-
} = deviceSettings;
|
|
55
|
-
exports.DeviceSettings = DeviceSettings;
|
|
56
|
-
var _default = BaseDriver;
|
|
74
|
+
_bluebird.default.config({
|
|
75
|
+
cancellation: true
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
var _default = _driver.BaseDriver;
|
|
57
79
|
exports.default = _default;
|
|
58
80
|
const {
|
|
59
|
-
Protocol,
|
|
60
81
|
routeConfiguringFunction,
|
|
61
82
|
errors,
|
|
62
83
|
isErrorType,
|
|
@@ -67,7 +88,6 @@ const {
|
|
|
67
88
|
routeToCommandName,
|
|
68
89
|
NO_SESSION_ID_COMMANDS,
|
|
69
90
|
isSessionCommand,
|
|
70
|
-
normalizeBasePath,
|
|
71
91
|
determineProtocol,
|
|
72
92
|
CREATE_SESSION_COMMAND,
|
|
73
93
|
DELETE_SESSION_COMMAND,
|
|
@@ -77,7 +97,6 @@ exports.GET_STATUS_COMMAND = GET_STATUS_COMMAND;
|
|
|
77
97
|
exports.DELETE_SESSION_COMMAND = DELETE_SESSION_COMMAND;
|
|
78
98
|
exports.CREATE_SESSION_COMMAND = CREATE_SESSION_COMMAND;
|
|
79
99
|
exports.determineProtocol = determineProtocol;
|
|
80
|
-
exports.normalizeBasePath = normalizeBasePath;
|
|
81
100
|
exports.isSessionCommand = isSessionCommand;
|
|
82
101
|
exports.NO_SESSION_ID_COMMANDS = NO_SESSION_ID_COMMANDS;
|
|
83
102
|
exports.routeToCommandName = routeToCommandName;
|
|
@@ -88,14 +107,15 @@ exports.errorFromCode = exports.errorFromMJSONWPStatusCode = errorFromMJSONWPSta
|
|
|
88
107
|
exports.isErrorType = isErrorType;
|
|
89
108
|
exports.errors = errors;
|
|
90
109
|
exports.routeConfiguringFunction = routeConfiguringFunction;
|
|
91
|
-
exports.Protocol = Protocol;
|
|
92
110
|
const {
|
|
93
111
|
STATIC_DIR
|
|
94
112
|
} = staticIndex;
|
|
95
113
|
exports.STATIC_DIR = STATIC_DIR;
|
|
96
114
|
const {
|
|
97
|
-
server
|
|
115
|
+
server,
|
|
116
|
+
normalizeBasePath
|
|
98
117
|
} = serverIndex;
|
|
118
|
+
exports.normalizeBasePath = normalizeBasePath;
|
|
99
119
|
exports.server = server;
|
|
100
120
|
const {
|
|
101
121
|
JWProxy
|
|
@@ -118,7 +138,5 @@ exports.processCapabilities = processCapabilities;
|
|
|
118
138
|
const {
|
|
119
139
|
DEFAULT_WS_PATHNAME_PREFIX
|
|
120
140
|
} = ws;
|
|
121
|
-
exports.DEFAULT_WS_PATHNAME_PREFIX = DEFAULT_WS_PATHNAME_PREFIX;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9pbmRleC5qcyJdLCJuYW1lcyI6WyJCYXNlRHJpdmVyIiwiZHJpdmVyIiwiRGV2aWNlU2V0dGluZ3MiLCJkZXZpY2VTZXR0aW5ncyIsIlByb3RvY29sIiwicm91dGVDb25maWd1cmluZ0Z1bmN0aW9uIiwiZXJyb3JzIiwiaXNFcnJvclR5cGUiLCJlcnJvckZyb21NSlNPTldQU3RhdHVzQ29kZSIsImVycm9yRnJvbVczQ0pzb25Db2RlIiwiQUxMX0NPTU1BTkRTIiwiTUVUSE9EX01BUCIsInJvdXRlVG9Db21tYW5kTmFtZSIsIk5PX1NFU1NJT05fSURfQ09NTUFORFMiLCJpc1Nlc3Npb25Db21tYW5kIiwibm9ybWFsaXplQmFzZVBhdGgiLCJkZXRlcm1pbmVQcm90b2NvbCIsIkNSRUFURV9TRVNTSU9OX0NPTU1BTkQiLCJERUxFVEVfU0VTU0lPTl9DT01NQU5EIiwiR0VUX1NUQVRVU19DT01NQU5EIiwicHJvdG9jb2wiLCJTVEFUSUNfRElSIiwic3RhdGljSW5kZXgiLCJzZXJ2ZXIiLCJzZXJ2ZXJJbmRleCIsIkpXUHJveHkiLCJwcm94eUluZGV4IiwiY29kZXMiLCJzdGF0dXNDb2RlcyIsImdldFN1bW1hcnlCeUNvZGUiLCJzdGF0dXNJbmRleCIsInByb2Nlc3NDYXBhYmlsaXRpZXMiLCJpc1N0YW5kYXJkQ2FwIiwidmFsaWRhdGVDYXBzIiwiY2FwcyIsIkRFRkFVTFRfV1NfUEFUSE5BTUVfUFJFRklYIiwid3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBVUE7O0FBQ0E7O0FBc0JBOztBQUlBOztBQUtBOztBQUtBOztBQUtBOztBQUtBOzs7Ozs7QUF2REEsTUFBTTtBQUFFQSxFQUFBQTtBQUFGLElBQWlCQyxNQUF2Qjs7QUFDQSxNQUFNO0FBQUVDLEVBQUFBO0FBQUYsSUFBcUJDLGNBQTNCOztlQUdlSCxVOztBQVNmLE1BQU07QUFDSkksRUFBQUEsUUFESTtBQUNNQyxFQUFBQSx3QkFETjtBQUNnQ0MsRUFBQUEsTUFEaEM7QUFDd0NDLEVBQUFBLFdBRHhDO0FBRUpDLEVBQUFBLDBCQUZJO0FBRXdCQyxFQUFBQSxvQkFGeEI7QUFFOENDLEVBQUFBLFlBRjlDO0FBRTREQyxFQUFBQSxVQUY1RDtBQUdKQyxFQUFBQSxrQkFISTtBQUdnQkMsRUFBQUEsc0JBSGhCO0FBR3dDQyxFQUFBQSxnQkFIeEM7QUFJSkMsRUFBQUEsaUJBSkk7QUFJZUMsRUFBQUEsaUJBSmY7QUFJa0NDLEVBQUFBLHNCQUpsQztBQUtKQyxFQUFBQSxzQkFMSTtBQUtvQkMsRUFBQUE7QUFMcEIsSUFNRkMsUUFOSjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsTUFBTTtBQUFFQyxFQUFBQTtBQUFGLElBQWlCQyxXQUF2Qjs7QUFJQSxNQUFNO0FBQUVDLEVBQUFBO0FBQUYsSUFBYUMsV0FBbkI7O0FBS0EsTUFBTTtBQUFFQyxFQUFBQTtBQUFGLElBQWNDLFVBQXBCOztBQUtBLE1BQU07QUFBRUMsRUFBQUEsS0FBSyxFQUFFQyxXQUFUO0FBQXNCQyxFQUFBQTtBQUF0QixJQUEyQ0MsV0FBakQ7OztBQUtBLE1BQU07QUFBRUMsRUFBQUEsbUJBQUY7QUFBdUJDLEVBQUFBLGFBQXZCO0FBQXNDQyxFQUFBQTtBQUF0QyxJQUF1REMsSUFBN0Q7Ozs7QUFLQSxNQUFNO0FBQUVDLEVBQUFBO0FBQUYsSUFBaUNDLEVBQXZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHJhbnNwaWxlOm1haW5cblxuLy8gQmFzZURyaXZlciBleHBvcnRzXG5pbXBvcnQgKiBhcyBkcml2ZXIgZnJvbSAnLi9iYXNlZHJpdmVyL2RyaXZlcic7XG5pbXBvcnQgKiBhcyBkZXZpY2VTZXR0aW5ncyBmcm9tICcuL2Jhc2Vkcml2ZXIvZGV2aWNlLXNldHRpbmdzJztcblxuY29uc3QgeyBCYXNlRHJpdmVyIH0gPSBkcml2ZXI7XG5jb25zdCB7IERldmljZVNldHRpbmdzIH0gPSBkZXZpY2VTZXR0aW5ncztcblxuZXhwb3J0IHsgQmFzZURyaXZlciwgRGV2aWNlU2V0dGluZ3MgfTtcbmV4cG9ydCBkZWZhdWx0IEJhc2VEcml2ZXI7XG5cblxuLy8gTUpTT05XUCBleHBvcnRzXG5pbXBvcnQgKiBhcyBwcm90b2NvbCBmcm9tICcuL3Byb3RvY29sJztcbmltcG9ydCB7XG4gIERFRkFVTFRfQkFTRV9QQVRILCBQUk9UT0NPTFNcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCB7XG4gIFByb3RvY29sLCByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24sIGVycm9ycywgaXNFcnJvclR5cGUsXG4gIGVycm9yRnJvbU1KU09OV1BTdGF0dXNDb2RlLCBlcnJvckZyb21XM0NKc29uQ29kZSwgQUxMX0NPTU1BTkRTLCBNRVRIT0RfTUFQLFxuICByb3V0ZVRvQ29tbWFuZE5hbWUsIE5PX1NFU1NJT05fSURfQ09NTUFORFMsIGlzU2Vzc2lvbkNvbW1hbmQsXG4gIG5vcm1hbGl6ZUJhc2VQYXRoLCBkZXRlcm1pbmVQcm90b2NvbCwgQ1JFQVRFX1NFU1NJT05fQ09NTUFORCxcbiAgREVMRVRFX1NFU1NJT05fQ09NTUFORCwgR0VUX1NUQVRVU19DT01NQU5ELFxufSA9IHByb3RvY29sO1xuXG5leHBvcnQge1xuICBQcm90b2NvbCwgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uLCBlcnJvcnMsIGlzRXJyb3JUeXBlLCBQUk9UT0NPTFMsXG4gIGVycm9yRnJvbU1KU09OV1BTdGF0dXNDb2RlLCBlcnJvckZyb21XM0NKc29uQ29kZSwgZGV0ZXJtaW5lUHJvdG9jb2wsXG4gIGVycm9yRnJvbU1KU09OV1BTdGF0dXNDb2RlIGFzIGVycm9yRnJvbUNvZGUsIEFMTF9DT01NQU5EUywgTUVUSE9EX01BUCxcbiAgcm91dGVUb0NvbW1hbmROYW1lLCBOT19TRVNTSU9OX0lEX0NPTU1BTkRTLCBpc1Nlc3Npb25Db21tYW5kLFxuICBERUZBVUxUX0JBU0VfUEFUSCwgbm9ybWFsaXplQmFzZVBhdGgsIENSRUFURV9TRVNTSU9OX0NPTU1BTkQsXG4gIERFTEVURV9TRVNTSU9OX0NPTU1BTkQsIEdFVF9TVEFUVVNfQ09NTUFORCxcbn07XG5cbi8vIEV4cHJlc3MgZXhwb3J0c1xuaW1wb3J0ICogYXMgc3RhdGljSW5kZXggZnJvbSAnLi9leHByZXNzL3N0YXRpYyc7XG5jb25zdCB7IFNUQVRJQ19ESVIgfSA9IHN0YXRpY0luZGV4O1xuZXhwb3J0IHsgU1RBVElDX0RJUiB9O1xuXG5pbXBvcnQgKiBhcyBzZXJ2ZXJJbmRleCBmcm9tICcuL2V4cHJlc3Mvc2VydmVyJztcbmNvbnN0IHsgc2VydmVyIH0gPSBzZXJ2ZXJJbmRleDtcbmV4cG9ydCB7IHNlcnZlciB9O1xuXG4vLyBqc29ud3AtcHJveHkgZXhwb3J0c1xuaW1wb3J0ICogYXMgcHJveHlJbmRleCBmcm9tICcuL2pzb253cC1wcm94eS9wcm94eSc7XG5jb25zdCB7IEpXUHJveHkgfSA9IHByb3h5SW5kZXg7XG5leHBvcnQgeyBKV1Byb3h5IH07XG5cbi8vIGpzb253cC1zdGF0dXMgZXhwb3J0c1xuaW1wb3J0ICogYXMgc3RhdHVzSW5kZXggZnJvbSAnLi9qc29ud3Atc3RhdHVzL3N0YXR1cyc7XG5jb25zdCB7IGNvZGVzOiBzdGF0dXNDb2RlcywgZ2V0U3VtbWFyeUJ5Q29kZSB9ID0gc3RhdHVzSW5kZXg7XG5leHBvcnQgeyBzdGF0dXNDb2RlcywgZ2V0U3VtbWFyeUJ5Q29kZSB9O1xuXG4vLyBXM0MgY2FwYWJpbGl0aWVzIHBhcnNlclxuaW1wb3J0ICogYXMgY2FwcyBmcm9tICcuL2Jhc2Vkcml2ZXIvY2FwYWJpbGl0aWVzJztcbmNvbnN0IHsgcHJvY2Vzc0NhcGFiaWxpdGllcywgaXNTdGFuZGFyZENhcCwgdmFsaWRhdGVDYXBzIH0gPSBjYXBzO1xuZXhwb3J0IHsgcHJvY2Vzc0NhcGFiaWxpdGllcywgaXNTdGFuZGFyZENhcCwgdmFsaWRhdGVDYXBzIH07XG5cbi8vIFdlYiBzb2NrZXQgaGVscGVyc1xuaW1wb3J0ICogYXMgd3MgZnJvbSAnLi9leHByZXNzL3dlYnNvY2tldCc7XG5jb25zdCB7IERFRkFVTFRfV1NfUEFUSE5BTUVfUFJFRklYIH0gPSB3cztcbmV4cG9ydCB7IERFRkFVTFRfV1NfUEFUSE5BTUVfUFJFRklYIH07XG4iXSwiZmlsZSI6ImxpYi9pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
|
|
141
|
+
exports.DEFAULT_WS_PATHNAME_PREFIX = DEFAULT_WS_PATHNAME_PREFIX;
|
|
142
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9pbmRleC5qcyJdLCJuYW1lcyI6WyJCIiwiY29uZmlnIiwiY2FuY2VsbGF0aW9uIiwiQmFzZURyaXZlciIsInJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbiIsImVycm9ycyIsImlzRXJyb3JUeXBlIiwiZXJyb3JGcm9tTUpTT05XUFN0YXR1c0NvZGUiLCJlcnJvckZyb21XM0NKc29uQ29kZSIsIkFMTF9DT01NQU5EUyIsIk1FVEhPRF9NQVAiLCJyb3V0ZVRvQ29tbWFuZE5hbWUiLCJOT19TRVNTSU9OX0lEX0NPTU1BTkRTIiwiaXNTZXNzaW9uQ29tbWFuZCIsImRldGVybWluZVByb3RvY29sIiwiQ1JFQVRFX1NFU1NJT05fQ09NTUFORCIsIkRFTEVURV9TRVNTSU9OX0NPTU1BTkQiLCJHRVRfU1RBVFVTX0NPTU1BTkQiLCJwcm90b2NvbCIsIlNUQVRJQ19ESVIiLCJzdGF0aWNJbmRleCIsInNlcnZlciIsIm5vcm1hbGl6ZUJhc2VQYXRoIiwic2VydmVySW5kZXgiLCJKV1Byb3h5IiwicHJveHlJbmRleCIsImNvZGVzIiwic3RhdHVzQ29kZXMiLCJnZXRTdW1tYXJ5QnlDb2RlIiwic3RhdHVzSW5kZXgiLCJwcm9jZXNzQ2FwYWJpbGl0aWVzIiwiaXNTdGFuZGFyZENhcCIsInZhbGlkYXRlQ2FwcyIsImNhcHMiLCJERUZBVUxUX1dTX1BBVEhOQU1FX1BSRUZJWCIsIndzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7QUFPQTs7QUFDQTs7QUFDQTs7QUFPQTs7QUFDQTs7QUFzQkE7O0FBSUE7O0FBS0E7O0FBS0E7O0FBS0E7O0FBS0E7Ozs7OztBQTdEQUEsa0JBQUVDLE1BQUYsQ0FBUztBQUNQQyxFQUFBQSxZQUFZLEVBQUU7QUFEUCxDQUFUOztlQVVlQyxrQjs7QUFTZixNQUFNO0FBQ0pDLEVBQUFBLHdCQURJO0FBQ3NCQyxFQUFBQSxNQUR0QjtBQUM4QkMsRUFBQUEsV0FEOUI7QUFFSkMsRUFBQUEsMEJBRkk7QUFFd0JDLEVBQUFBLG9CQUZ4QjtBQUU4Q0MsRUFBQUEsWUFGOUM7QUFFNERDLEVBQUFBLFVBRjVEO0FBR0pDLEVBQUFBLGtCQUhJO0FBR2dCQyxFQUFBQSxzQkFIaEI7QUFHd0NDLEVBQUFBLGdCQUh4QztBQUlKQyxFQUFBQSxpQkFKSTtBQUllQyxFQUFBQSxzQkFKZjtBQUtKQyxFQUFBQSxzQkFMSTtBQUtvQkMsRUFBQUE7QUFMcEIsSUFNRkMsUUFOSjs7Ozs7Ozs7Ozs7Ozs7O0FBbUJBLE1BQU07QUFBRUMsRUFBQUE7QUFBRixJQUFpQkMsV0FBdkI7O0FBSUEsTUFBTTtBQUFFQyxFQUFBQSxNQUFGO0FBQVVDLEVBQUFBO0FBQVYsSUFBZ0NDLFdBQXRDOzs7QUFLQSxNQUFNO0FBQUVDLEVBQUFBO0FBQUYsSUFBY0MsVUFBcEI7O0FBS0EsTUFBTTtBQUFFQyxFQUFBQSxLQUFLLEVBQUVDLFdBQVQ7QUFBc0JDLEVBQUFBO0FBQXRCLElBQTJDQyxXQUFqRDs7O0FBS0EsTUFBTTtBQUFFQyxFQUFBQSxtQkFBRjtBQUF1QkMsRUFBQUEsYUFBdkI7QUFBc0NDLEVBQUFBO0FBQXRDLElBQXVEQyxJQUE3RDs7OztBQUtBLE1BQU07QUFBRUMsRUFBQUE7QUFBRixJQUFpQ0MsRUFBdkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuXG5CLmNvbmZpZyh7XG4gIGNhbmNlbGxhdGlvbjogdHJ1ZSxcbn0pO1xuXG4vLyBCYXNlRHJpdmVyIGV4cG9ydHNcbmltcG9ydCB7IEJhc2VEcml2ZXIgfSBmcm9tICcuL2Jhc2Vkcml2ZXIvZHJpdmVyJztcbmV4cG9ydCB7IERyaXZlckNvcmUgfSBmcm9tICcuL2Jhc2Vkcml2ZXIvY29yZSc7XG5pbXBvcnQgeyBEZXZpY2VTZXR0aW5ncyB9IGZyb20gJy4vYmFzZWRyaXZlci9kZXZpY2Utc2V0dGluZ3MnO1xuXG5leHBvcnQgeyBCYXNlRHJpdmVyLCBEZXZpY2VTZXR0aW5ncyB9O1xuZXhwb3J0IGRlZmF1bHQgQmFzZURyaXZlcjtcblxuXG4vLyBNSlNPTldQIGV4cG9ydHNcbmltcG9ydCAqIGFzIHByb3RvY29sIGZyb20gJy4vcHJvdG9jb2wnO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9CQVNFX1BBVEgsIFBST1RPQ09MU1xufSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IHtcbiAgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uLCBlcnJvcnMsIGlzRXJyb3JUeXBlLFxuICBlcnJvckZyb21NSlNPTldQU3RhdHVzQ29kZSwgZXJyb3JGcm9tVzNDSnNvbkNvZGUsIEFMTF9DT01NQU5EUywgTUVUSE9EX01BUCxcbiAgcm91dGVUb0NvbW1hbmROYW1lLCBOT19TRVNTSU9OX0lEX0NPTU1BTkRTLCBpc1Nlc3Npb25Db21tYW5kLFxuICBkZXRlcm1pbmVQcm90b2NvbCwgQ1JFQVRFX1NFU1NJT05fQ09NTUFORCxcbiAgREVMRVRFX1NFU1NJT05fQ09NTUFORCwgR0VUX1NUQVRVU19DT01NQU5ELFxufSA9IHByb3RvY29sO1xuXG5leHBvcnQge1xuICByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24sIGVycm9ycywgaXNFcnJvclR5cGUsIFBST1RPQ09MUyxcbiAgZXJyb3JGcm9tTUpTT05XUFN0YXR1c0NvZGUsIGVycm9yRnJvbVczQ0pzb25Db2RlLCBkZXRlcm1pbmVQcm90b2NvbCxcbiAgZXJyb3JGcm9tTUpTT05XUFN0YXR1c0NvZGUgYXMgZXJyb3JGcm9tQ29kZSwgQUxMX0NPTU1BTkRTLCBNRVRIT0RfTUFQLFxuICByb3V0ZVRvQ29tbWFuZE5hbWUsIE5PX1NFU1NJT05fSURfQ09NTUFORFMsIGlzU2Vzc2lvbkNvbW1hbmQsXG4gIERFRkFVTFRfQkFTRV9QQVRILCBDUkVBVEVfU0VTU0lPTl9DT01NQU5ELFxuICBERUxFVEVfU0VTU0lPTl9DT01NQU5ELCBHRVRfU1RBVFVTX0NPTU1BTkQsXG59O1xuXG4vLyBFeHByZXNzIGV4cG9ydHNcbmltcG9ydCAqIGFzIHN0YXRpY0luZGV4IGZyb20gJy4vZXhwcmVzcy9zdGF0aWMnO1xuY29uc3QgeyBTVEFUSUNfRElSIH0gPSBzdGF0aWNJbmRleDtcbmV4cG9ydCB7IFNUQVRJQ19ESVIgfTtcblxuaW1wb3J0ICogYXMgc2VydmVySW5kZXggZnJvbSAnLi9leHByZXNzL3NlcnZlcic7XG5jb25zdCB7IHNlcnZlciwgbm9ybWFsaXplQmFzZVBhdGggfSA9IHNlcnZlckluZGV4O1xuZXhwb3J0IHsgc2VydmVyLCBub3JtYWxpemVCYXNlUGF0aCB9O1xuXG4vLyBqc29ud3AtcHJveHkgZXhwb3J0c1xuaW1wb3J0ICogYXMgcHJveHlJbmRleCBmcm9tICcuL2pzb253cC1wcm94eS9wcm94eSc7XG5jb25zdCB7IEpXUHJveHkgfSA9IHByb3h5SW5kZXg7XG5leHBvcnQgeyBKV1Byb3h5IH07XG5cbi8vIGpzb253cC1zdGF0dXMgZXhwb3J0c1xuaW1wb3J0ICogYXMgc3RhdHVzSW5kZXggZnJvbSAnLi9qc29ud3Atc3RhdHVzL3N0YXR1cyc7XG5jb25zdCB7IGNvZGVzOiBzdGF0dXNDb2RlcywgZ2V0U3VtbWFyeUJ5Q29kZSB9ID0gc3RhdHVzSW5kZXg7XG5leHBvcnQgeyBzdGF0dXNDb2RlcywgZ2V0U3VtbWFyeUJ5Q29kZSB9O1xuXG4vLyBXM0MgY2FwYWJpbGl0aWVzIHBhcnNlclxuaW1wb3J0ICogYXMgY2FwcyBmcm9tICcuL2Jhc2Vkcml2ZXIvY2FwYWJpbGl0aWVzJztcbmNvbnN0IHsgcHJvY2Vzc0NhcGFiaWxpdGllcywgaXNTdGFuZGFyZENhcCwgdmFsaWRhdGVDYXBzIH0gPSBjYXBzO1xuZXhwb3J0IHsgcHJvY2Vzc0NhcGFiaWxpdGllcywgaXNTdGFuZGFyZENhcCwgdmFsaWRhdGVDYXBzIH07XG5cbi8vIFdlYiBzb2NrZXQgaGVscGVyc1xuaW1wb3J0ICogYXMgd3MgZnJvbSAnLi9leHByZXNzL3dlYnNvY2tldCc7XG5jb25zdCB7IERFRkFVTFRfV1NfUEFUSE5BTUVfUFJFRklYIH0gPSB3cztcbmV4cG9ydCB7IERFRkFVTFRfV1NfUEFUSE5BTUVfUFJFRklYIH07XG4iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export const COMMAND_URLS_CONFLICTS: {
|
|
2
|
+
commandNames: string[];
|
|
3
|
+
jsonwpConverter: (url: any) => any;
|
|
4
|
+
w3cConverter: (url: any) => any;
|
|
5
|
+
}[];
|
|
6
|
+
export default ProtocolConverter;
|
|
7
|
+
declare class ProtocolConverter {
|
|
8
|
+
constructor(proxyFunc: any, log?: null);
|
|
9
|
+
proxyFunc: any;
|
|
10
|
+
_downstreamProtocol: any;
|
|
11
|
+
_log: any;
|
|
12
|
+
get log(): any;
|
|
13
|
+
set downstreamProtocol(arg: any);
|
|
14
|
+
get downstreamProtocol(): any;
|
|
15
|
+
/**
|
|
16
|
+
* W3C /timeouts can take as many as 3 timeout types at once, MJSONWP /timeouts only takes one
|
|
17
|
+
* at a time. So if we're using W3C and proxying to MJSONWP and there's more than one timeout type
|
|
18
|
+
* provided in the request, we need to do 3 proxies and combine the result
|
|
19
|
+
*
|
|
20
|
+
* @param {Object} body Request body
|
|
21
|
+
* @return {Array} Array of W3C + MJSONWP compatible timeout objects
|
|
22
|
+
*/
|
|
23
|
+
getTimeoutRequestObjects(body: any): any[];
|
|
24
|
+
/**
|
|
25
|
+
* Proxy an array of timeout objects and merge the result
|
|
26
|
+
* @param {String} url Endpoint url
|
|
27
|
+
* @param {String} method Endpoint method
|
|
28
|
+
* @param {Object} body Request body
|
|
29
|
+
*/
|
|
30
|
+
proxySetTimeouts(url: string, method: string, body: any): Promise<any[]>;
|
|
31
|
+
proxySetWindow(url: any, method: any, body: any): Promise<any>;
|
|
32
|
+
proxySetValue(url: any, method: any, body: any): Promise<any>;
|
|
33
|
+
proxySetFrame(url: any, method: any, body: any): Promise<any>;
|
|
34
|
+
proxyPerformActions(url: any, method: any, body: any): Promise<any>;
|
|
35
|
+
proxyReleaseActions(url: any, method: any): Promise<any>;
|
|
36
|
+
/**
|
|
37
|
+
* Handle "crossing" endpoints for the case
|
|
38
|
+
* when upstream and downstream drivers operate different protocols
|
|
39
|
+
*
|
|
40
|
+
* @param {string} commandName
|
|
41
|
+
* @param {string} url
|
|
42
|
+
* @param {string} method
|
|
43
|
+
* @param {?string|object} body
|
|
44
|
+
* @returns The proxyfying result as [response, responseBody] tuple
|
|
45
|
+
*/
|
|
46
|
+
convertAndProxy(commandName: string, url: string, method: string, body: (string | object) | null): Promise<any>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=protocol-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-converter.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/protocol-converter.js"],"names":[],"mappings":"AAOA;;;;IAqCE;;AAKF;IACE,wCAIC;IAHC,eAA0B;IAC1B,yBAA+B;IAC/B,UAAe;IAGjB,eAEC;IAED,iCAEC;IAED,8BAEC;IAED;;;;;;;OAOG;IACH,2CAsBC;IAED;;;;;OAKG;IACH,yEAqBC;IAED,+DAoBC;IAED,8DAsBC;IAED,8DAQC;IAED,oEAKC;IAED,yDAEC;IAED;;;;;;;;;OASG;IACH,6BANW,MAAM,OACN,MAAM,UACN,MAAM,SACL,MAAM,GAAC,MAAM,wBA+CxB;CACF"}
|
|
@@ -237,7 +237,5 @@ class ProtocolConverter {
|
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
var _default = ProtocolConverter;
|
|
240
|
-
exports.default = _default;
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9qc29ud3AtcHJveHkvcHJvdG9jb2wtY29udmVydGVyLmpzIl0sIm5hbWVzIjpbIkNPTU1BTkRfVVJMU19DT05GTElDVFMiLCJjb21tYW5kTmFtZXMiLCJqc29ud3BDb252ZXJ0ZXIiLCJ1cmwiLCJyZXBsYWNlIiwiaW5jbHVkZXMiLCJ3M2NDb252ZXJ0ZXIiLCJ0ZXN0IiwidzNjVXJsIiwidzNjUHJvcGVydHlSZWdleCIsImpzb253cFVybCIsIk1KU09OV1AiLCJXM0MiLCJQUk9UT0NPTFMiLCJERUZBVUxUX0xPRyIsImxvZ2dlciIsImdldExvZ2dlciIsIlByb3RvY29sQ29udmVydGVyIiwiY29uc3RydWN0b3IiLCJwcm94eUZ1bmMiLCJsb2ciLCJfZG93bnN0cmVhbVByb3RvY29sIiwiX2xvZyIsImRvd25zdHJlYW1Qcm90b2NvbCIsInZhbHVlIiwiZ2V0VGltZW91dFJlcXVlc3RPYmplY3RzIiwiYm9keSIsIl8iLCJoYXMiLCJ0eXBlVG9XM0MiLCJ4IiwidHlwZSIsIm1zIiwidHlwZVRvSlNPTldQIiwidG9QYWlycyIsImZpbHRlciIsInBhaXIiLCJtYXAiLCJwcm94eVNldFRpbWVvdXRzIiwibWV0aG9kIiwicmVzcG9uc2UiLCJyZXNCb2R5IiwidGltZW91dFJlcXVlc3RPYmplY3RzIiwiZGVidWciLCJKU09OIiwic3RyaW5naWZ5IiwidGltZW91dE9iaiIsInN0YXR1c0NvZGUiLCJwcm94eVNldFdpbmRvdyIsImJvZHlPYmoiLCJ1dGlsIiwic2FmZUpzb25QYXJzZSIsImlzUGxhaW5PYmplY3QiLCJuYW1lIiwiaGFuZGxlIiwicHJveHlTZXRWYWx1ZSIsImhhc1ZhbHVlIiwidGV4dCIsImlzU3RyaW5nIiwiaXNBcnJheSIsImpvaW4iLCJPYmplY3QiLCJhc3NpZ24iLCJwcm94eVNldEZyYW1lIiwiaWQiLCJNSlNPTldQX0VMRU1FTlRfS0VZIiwiVzNDX0VMRU1FTlRfS0VZIiwicHJveHlQZXJmb3JtQWN0aW9ucyIsInByb3h5UmVsZWFzZUFjdGlvbnMiLCJjb252ZXJ0QW5kUHJveHkiLCJjb21tYW5kTmFtZSIsInJld3JpdHRlblVybCIsImluZm8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSU8sTUFBTUEsc0JBQXNCLEdBQUcsQ0FDcEM7QUFDRUMsRUFBQUEsWUFBWSxFQUFFLENBQUMsU0FBRCxFQUFZLGNBQVosQ0FEaEI7QUFFRUMsRUFBQUEsZUFBZSxFQUFHQyxHQUFELElBQVNBLEdBQUcsQ0FBQ0MsT0FBSixDQUFZLGFBQVosRUFDeEJELEdBQUcsQ0FBQ0UsUUFBSixDQUFhLE9BQWIsSUFBd0IsZ0JBQXhCLEdBQTJDLFVBRG5CLENBRjVCO0FBSUVDLEVBQUFBLFlBQVksRUFBR0gsR0FBRCxJQUFTQSxHQUFHLENBQUNDLE9BQUosQ0FBWSxhQUFaLEVBQ3JCRCxHQUFHLENBQUNFLFFBQUosQ0FBYSxPQUFiLElBQXdCLGdCQUF4QixHQUEyQyxlQUR0QjtBQUp6QixDQURvQyxFQVFwQztBQUNFSixFQUFBQSxZQUFZLEVBQUUsQ0FBQyxzQkFBRCxDQURoQjtBQUVFQyxFQUFBQSxlQUFlLEVBQUdDLEdBQUQsSUFBU0EsR0FBRyxDQUFDQyxPQUFKLENBQVksaUNBQVosRUFDeEIsZ0JBRHdCLENBRjVCO0FBSUVFLEVBQUFBLFlBQVksRUFBR0gsR0FBRCxJQUFTQSxHQUFHLENBQUNDLE9BQUosQ0FBWSx1QkFBWixFQUNyQix3QkFEcUI7QUFKekIsQ0FSb0MsRUFlcEM7QUFDRUgsRUFBQUEsWUFBWSxFQUFFLENBQUMsa0JBQUQsRUFBcUIsaUJBQXJCLENBRGhCOztBQUVFQyxFQUFBQSxlQUFlLENBQUVDLEdBQUYsRUFBTztBQUNwQixXQUFPLFlBQVlJLElBQVosQ0FBaUJKLEdBQWpCLElBQ0hBLEdBQUcsQ0FBQ0MsT0FBSixDQUFZLFdBQVosRUFBeUIsZ0JBQXpCLENBREcsR0FFSEQsR0FBRyxDQUFDQyxPQUFKLENBQVksdUJBQVosRUFBcUMsa0JBQXJDLENBRko7QUFHRCxHQU5IOztBQU9FRSxFQUFBQSxZQUFZLENBQUVILEdBQUYsRUFBTztBQUNqQixXQUFPLG1CQUFtQkksSUFBbkIsQ0FBd0JKLEdBQXhCLElBQ0hBLEdBQUcsQ0FBQ0MsT0FBSixDQUFZLGtCQUFaLEVBQWdDLFNBQWhDLENBREcsR0FFSEQsR0FBRyxDQUFDQyxPQUFKLENBQVksbUJBQVosRUFBaUMsaUJBQWpDLENBRko7QUFHRDs7QUFYSCxDQWZvQyxFQTRCcEM7QUFDRUgsRUFBQUEsWUFBWSxFQUFFLENBQUMsYUFBRCxDQURoQjtBQUVFQyxFQUFBQSxlQUFlLEVBQUdNLE1BQUQsSUFBWTtBQUMzQixVQUFNQyxnQkFBZ0IsR0FBRyx1Q0FBekI7QUFDQSxVQUFNQyxTQUFTLEdBQUdGLE1BQU0sQ0FBQ0osT0FBUCxDQUFlSyxnQkFBZixFQUFpQywwQkFBakMsQ0FBbEI7QUFDQSxXQUFPQyxTQUFQO0FBQ0QsR0FOSDtBQU9FSixFQUFBQSxZQUFZLEVBQUdJLFNBQUQsSUFBZUE7QUFQL0IsQ0E1Qm9DLENBQS9COztBQXNDUCxNQUFNO0FBQUNDLEVBQUFBLE9BQUQ7QUFBVUMsRUFBQUE7QUFBVixJQUFpQkMsb0JBQXZCOztBQUNBLE1BQU1DLFdBQVcsR0FBR0MsZ0JBQU9DLFNBQVAsQ0FBaUIsb0JBQWpCLENBQXBCOztBQUdBLE1BQU1DLGlCQUFOLENBQXdCO0FBQ3RCQyxFQUFBQSxXQUFXLENBQUVDLFNBQUYsRUFBYUMsR0FBRyxHQUFHLElBQW5CLEVBQXlCO0FBQ2xDLFNBQUtELFNBQUwsR0FBaUJBLFNBQWpCO0FBQ0EsU0FBS0UsbUJBQUwsR0FBMkIsSUFBM0I7QUFDQSxTQUFLQyxJQUFMLEdBQVlGLEdBQVo7QUFDRDs7QUFFTSxNQUFIQSxHQUFHLEdBQUk7QUFBQTs7QUFDVCx5QkFBTyxLQUFLRSxJQUFaLG1EQUFvQlIsV0FBcEI7QUFDRDs7QUFFcUIsTUFBbEJTLGtCQUFrQixDQUFFQyxLQUFGLEVBQVM7QUFDN0IsU0FBS0gsbUJBQUwsR0FBMkJHLEtBQTNCO0FBQ0Q7O0FBRXFCLE1BQWxCRCxrQkFBa0IsR0FBSTtBQUN4QixXQUFPLEtBQUtGLG1CQUFaO0FBQ0Q7O0FBVURJLEVBQUFBLHdCQUF3QixDQUFFQyxJQUFGLEVBQVE7QUFDOUIsUUFBSSxLQUFLSCxrQkFBTCxLQUE0QlgsR0FBNUIsSUFBbUNlLGdCQUFFQyxHQUFGLENBQU1GLElBQU4sRUFBWSxJQUFaLENBQW5DLElBQXdEQyxnQkFBRUMsR0FBRixDQUFNRixJQUFOLEVBQVksTUFBWixDQUE1RCxFQUFpRjtBQUMvRSxZQUFNRyxTQUFTLEdBQUlDLENBQUQsSUFBT0EsQ0FBQyxLQUFLLFdBQU4sR0FBb0IsVUFBcEIsR0FBaUNBLENBQTFEOztBQUNBLGFBQU8sQ0FBQztBQUNOLFNBQUNELFNBQVMsQ0FBQ0gsSUFBSSxDQUFDSyxJQUFOLENBQVYsR0FBd0JMLElBQUksQ0FBQ007QUFEdkIsT0FBRCxDQUFQO0FBR0Q7O0FBRUQsUUFBSSxLQUFLVCxrQkFBTCxLQUE0QlosT0FBNUIsS0FBd0MsQ0FBQ2dCLGdCQUFFQyxHQUFGLENBQU1GLElBQU4sRUFBWSxJQUFaLENBQUQsSUFBc0IsQ0FBQ0MsZ0JBQUVDLEdBQUYsQ0FBTUYsSUFBTixFQUFZLE1BQVosQ0FBL0QsQ0FBSixFQUF5RjtBQUN2RixZQUFNTyxZQUFZLEdBQUlILENBQUQsSUFBT0EsQ0FBQyxLQUFLLFVBQU4sR0FBbUIsV0FBbkIsR0FBaUNBLENBQTdEOztBQUNBLGFBQU9ILGdCQUFFTyxPQUFGLENBQVVSLElBQVYsRUFFSlMsTUFGSSxDQUVJQyxJQUFELElBQVUscUJBQXFCN0IsSUFBckIsQ0FBMkIsR0FBRTZCLElBQUksQ0FBQyxDQUFELENBQUksRUFBckMsQ0FGYixFQUdKQyxHQUhJLENBR0EsVUFBVUQsSUFBVixFQUFnQjtBQUNuQixlQUFPO0FBQ0xMLFVBQUFBLElBQUksRUFBRUUsWUFBWSxDQUFDRyxJQUFJLENBQUMsQ0FBRCxDQUFMLENBRGI7QUFFTEosVUFBQUEsRUFBRSxFQUFFSSxJQUFJLENBQUMsQ0FBRDtBQUZILFNBQVA7QUFJRCxPQVJJLENBQVA7QUFTRDs7QUFFRCxXQUFPLENBQUNWLElBQUQsQ0FBUDtBQUNEOztBQVFxQixRQUFoQlksZ0JBQWdCLENBQUVuQyxHQUFGLEVBQU9vQyxNQUFQLEVBQWViLElBQWYsRUFBcUI7QUFDekMsUUFBSWMsUUFBSixFQUFjQyxPQUFkO0FBRUEsVUFBTUMscUJBQXFCLEdBQUcsS0FBS2pCLHdCQUFMLENBQThCQyxJQUE5QixDQUE5QjtBQUNBLFNBQUtOLEdBQUwsQ0FBU3VCLEtBQVQsQ0FBZ0Isd0RBQXVEQyxJQUFJLENBQUNDLFNBQUwsQ0FBZUgscUJBQWYsQ0FBc0MsRUFBN0c7O0FBQ0EsU0FBSyxNQUFNSSxVQUFYLElBQXlCSixxQkFBekIsRUFBZ0Q7QUFDOUMsT0FBQ0YsUUFBRCxFQUFXQyxPQUFYLElBQXNCLE1BQU0sS0FBS3RCLFNBQUwsQ0FBZWhCLEdBQWYsRUFBb0JvQyxNQUFwQixFQUE0Qk8sVUFBNUIsQ0FBNUI7O0FBR0EsVUFBSSxLQUFLdkIsa0JBQUwsS0FBNEJaLE9BQWhDLEVBQXlDO0FBQ3ZDLGVBQU8sQ0FBQzZCLFFBQUQsRUFBV0MsT0FBWCxDQUFQO0FBQ0Q7O0FBR0QsVUFBSUQsUUFBUSxDQUFDTyxVQUFULElBQXVCLEdBQTNCLEVBQWdDO0FBQzlCLGVBQU8sQ0FBQ1AsUUFBRCxFQUFXQyxPQUFYLENBQVA7QUFDRDtBQUdGOztBQUNELFdBQU8sQ0FBQ0QsUUFBRCxFQUFXQyxPQUFYLENBQVA7QUFDRDs7QUFFbUIsUUFBZE8sY0FBYyxDQUFFN0MsR0FBRixFQUFPb0MsTUFBUCxFQUFlYixJQUFmLEVBQXFCO0FBQ3ZDLFVBQU11QixPQUFPLEdBQUdDLGNBQUtDLGFBQUwsQ0FBbUJ6QixJQUFuQixDQUFoQjs7QUFDQSxRQUFJQyxnQkFBRXlCLGFBQUYsQ0FBZ0JILE9BQWhCLENBQUosRUFBOEI7QUFDNUIsVUFBSSxLQUFLMUIsa0JBQUwsS0FBNEJYLEdBQTVCLElBQW1DZSxnQkFBRUMsR0FBRixDQUFNcUIsT0FBTixFQUFlLE1BQWYsQ0FBbkMsSUFBNkQsQ0FBQ3RCLGdCQUFFQyxHQUFGLENBQU1xQixPQUFOLEVBQWUsUUFBZixDQUFsRSxFQUE0RjtBQUMxRixhQUFLN0IsR0FBTCxDQUFTdUIsS0FBVCxDQUFnQix3QkFBdUJNLE9BQU8sQ0FBQ0ksSUFBSywrQkFBcEQ7QUFDQSxlQUFPLE1BQU0sS0FBS2xDLFNBQUwsQ0FBZWhCLEdBQWYsRUFBb0JvQyxNQUFwQixFQUE0QixFQUN2QyxHQUFHVSxPQURvQztBQUV2Q0ssVUFBQUEsTUFBTSxFQUFFTCxPQUFPLENBQUNJO0FBRnVCLFNBQTVCLENBQWI7QUFJRDs7QUFDRCxVQUFJLEtBQUs5QixrQkFBTCxLQUE0QlosT0FBNUIsSUFBdUNnQixnQkFBRUMsR0FBRixDQUFNcUIsT0FBTixFQUFlLFFBQWYsQ0FBdkMsSUFBbUUsQ0FBQ3RCLGdCQUFFQyxHQUFGLENBQU1xQixPQUFOLEVBQWUsTUFBZixDQUF4RSxFQUFnRztBQUM5RixhQUFLN0IsR0FBTCxDQUFTdUIsS0FBVCxDQUFnQiwwQkFBeUJNLE9BQU8sQ0FBQ0ssTUFBTyxnQ0FBeEQ7QUFDQSxlQUFPLE1BQU0sS0FBS25DLFNBQUwsQ0FBZWhCLEdBQWYsRUFBb0JvQyxNQUFwQixFQUE0QixFQUN2QyxHQUFHVSxPQURvQztBQUV2Q0ksVUFBQUEsSUFBSSxFQUFFSixPQUFPLENBQUNLO0FBRnlCLFNBQTVCLENBQWI7QUFJRDtBQUNGOztBQUVELFdBQU8sTUFBTSxLQUFLbkMsU0FBTCxDQUFlaEIsR0FBZixFQUFvQm9DLE1BQXBCLEVBQTRCYixJQUE1QixDQUFiO0FBQ0Q7O0FBRWtCLFFBQWI2QixhQUFhLENBQUVwRCxHQUFGLEVBQU9vQyxNQUFQLEVBQWViLElBQWYsRUFBcUI7QUFDdEMsVUFBTXVCLE9BQU8sR0FBR0MsY0FBS0MsYUFBTCxDQUFtQnpCLElBQW5CLENBQWhCOztBQUNBLFFBQUlDLGdCQUFFeUIsYUFBRixDQUFnQkgsT0FBaEIsTUFBNkJDLGNBQUtNLFFBQUwsQ0FBY1AsT0FBTyxDQUFDUSxJQUF0QixLQUErQlAsY0FBS00sUUFBTCxDQUFjUCxPQUFPLENBQUN6QixLQUF0QixDQUE1RCxDQUFKLEVBQStGO0FBQzdGLFVBQUk7QUFBQ2lDLFFBQUFBLElBQUQ7QUFBT2pDLFFBQUFBO0FBQVAsVUFBZ0J5QixPQUFwQjs7QUFDQSxVQUFJQyxjQUFLTSxRQUFMLENBQWNDLElBQWQsS0FBdUIsQ0FBQ1AsY0FBS00sUUFBTCxDQUFjaEMsS0FBZCxDQUE1QixFQUFrRDtBQUNoREEsUUFBQUEsS0FBSyxHQUFHRyxnQkFBRStCLFFBQUYsQ0FBV0QsSUFBWCxJQUNKLENBQUMsR0FBR0EsSUFBSixDQURJLEdBRUg5QixnQkFBRWdDLE9BQUYsQ0FBVUYsSUFBVixJQUFrQkEsSUFBbEIsR0FBeUIsRUFGOUI7QUFHQSxhQUFLckMsR0FBTCxDQUFTdUIsS0FBVCxDQUFnQiwwQkFBeUJDLElBQUksQ0FBQ0MsU0FBTCxDQUFlckIsS0FBZixDQUFzQiw2QkFBL0Q7QUFDRCxPQUxELE1BS08sSUFBSSxDQUFDMEIsY0FBS00sUUFBTCxDQUFjQyxJQUFkLENBQUQsSUFBd0JQLGNBQUtNLFFBQUwsQ0FBY2hDLEtBQWQsQ0FBNUIsRUFBa0Q7QUFDdkRpQyxRQUFBQSxJQUFJLEdBQUc5QixnQkFBRWdDLE9BQUYsQ0FBVW5DLEtBQVYsSUFDSEEsS0FBSyxDQUFDb0MsSUFBTixDQUFXLEVBQVgsQ0FERyxHQUVGakMsZ0JBQUUrQixRQUFGLENBQVdsQyxLQUFYLElBQW9CQSxLQUFwQixHQUE0QixFQUZqQztBQUdBLGFBQUtKLEdBQUwsQ0FBU3VCLEtBQVQsQ0FBZ0IseUJBQXdCQyxJQUFJLENBQUNDLFNBQUwsQ0FBZVksSUFBZixDQUFxQiw2QkFBN0Q7QUFDRDs7QUFDRCxhQUFPLE1BQU0sS0FBS3RDLFNBQUwsQ0FBZWhCLEdBQWYsRUFBb0JvQyxNQUFwQixFQUE0QnNCLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjLEVBQWQsRUFBa0JiLE9BQWxCLEVBQTJCO0FBQ2xFUSxRQUFBQSxJQURrRTtBQUVsRWpDLFFBQUFBO0FBRmtFLE9BQTNCLENBQTVCLENBQWI7QUFJRDs7QUFFRCxXQUFPLE1BQU0sS0FBS0wsU0FBTCxDQUFlaEIsR0FBZixFQUFvQm9DLE1BQXBCLEVBQTRCYixJQUE1QixDQUFiO0FBQ0Q7O0FBRWtCLFFBQWJxQyxhQUFhLENBQUU1RCxHQUFGLEVBQU9vQyxNQUFQLEVBQWViLElBQWYsRUFBcUI7QUFDdEMsVUFBTXVCLE9BQU8sR0FBR0MsY0FBS0MsYUFBTCxDQUFtQnpCLElBQW5CLENBQWhCOztBQUNBLFdBQU9DLGdCQUFFQyxHQUFGLENBQU1xQixPQUFOLEVBQWUsSUFBZixLQUF3QnRCLGdCQUFFeUIsYUFBRixDQUFnQkgsT0FBTyxDQUFDZSxFQUF4QixDQUF4QixHQUNILE1BQU0sS0FBSzdDLFNBQUwsQ0FBZWhCLEdBQWYsRUFBb0JvQyxNQUFwQixFQUE0QixFQUNsQyxHQUFHVSxPQUQrQjtBQUVsQ2UsTUFBQUEsRUFBRSxFQUFFLDRCQUFjZixPQUFPLENBQUNlLEVBQXRCLEVBQTBCQyw4QkFBMUIsRUFBK0NDLDBCQUEvQztBQUY4QixLQUE1QixDQURILEdBS0gsTUFBTSxLQUFLL0MsU0FBTCxDQUFlaEIsR0FBZixFQUFvQm9DLE1BQXBCLEVBQTRCYixJQUE1QixDQUxWO0FBTUQ7O0FBRXdCLFFBQW5CeUMsbUJBQW1CLENBQUVoRSxHQUFGLEVBQU9vQyxNQUFQLEVBQWViLElBQWYsRUFBcUI7QUFDNUMsVUFBTXVCLE9BQU8sR0FBR0MsY0FBS0MsYUFBTCxDQUFtQnpCLElBQW5CLENBQWhCOztBQUNBLFdBQU9DLGdCQUFFeUIsYUFBRixDQUFnQkgsT0FBaEIsSUFDSCxNQUFNLEtBQUs5QixTQUFMLENBQWVoQixHQUFmLEVBQW9Cb0MsTUFBcEIsRUFBNEIsNEJBQWNVLE9BQWQsRUFBdUJnQiw4QkFBdkIsRUFBNENDLDBCQUE1QyxDQUE1QixDQURILEdBRUgsTUFBTSxLQUFLL0MsU0FBTCxDQUFlaEIsR0FBZixFQUFvQm9DLE1BQXBCLEVBQTRCYixJQUE1QixDQUZWO0FBR0Q7O0FBRXdCLFFBQW5CMEMsbUJBQW1CLENBQUVqRSxHQUFGLEVBQU9vQyxNQUFQLEVBQWU7QUFDdEMsV0FBTyxNQUFNLEtBQUtwQixTQUFMLENBQWVoQixHQUFmLEVBQW9Cb0MsTUFBcEIsQ0FBYjtBQUNEOztBQVlvQixRQUFmOEIsZUFBZSxDQUFFQyxXQUFGLEVBQWVuRSxHQUFmLEVBQW9Cb0MsTUFBcEIsRUFBNEJiLElBQTVCLEVBQWtDO0FBQ3JELFFBQUksQ0FBQyxLQUFLSCxrQkFBVixFQUE4QjtBQUM1QixhQUFPLE1BQU0sS0FBS0osU0FBTCxDQUFlaEIsR0FBZixFQUFvQm9DLE1BQXBCLEVBQTRCYixJQUE1QixDQUFiO0FBQ0Q7O0FBR0QsWUFBUTRDLFdBQVI7QUFDRSxXQUFLLFVBQUw7QUFDRSxlQUFPLE1BQU0sS0FBS2hDLGdCQUFMLENBQXNCbkMsR0FBdEIsRUFBMkJvQyxNQUEzQixFQUFtQ2IsSUFBbkMsQ0FBYjs7QUFDRixXQUFLLFdBQUw7QUFDRSxlQUFPLE1BQU0sS0FBS3NCLGNBQUwsQ0FBb0I3QyxHQUFwQixFQUF5Qm9DLE1BQXpCLEVBQWlDYixJQUFqQyxDQUFiOztBQUNGLFdBQUssVUFBTDtBQUNFLGVBQU8sTUFBTSxLQUFLNkIsYUFBTCxDQUFtQnBELEdBQW5CLEVBQXdCb0MsTUFBeEIsRUFBZ0NiLElBQWhDLENBQWI7O0FBQ0YsV0FBSyxnQkFBTDtBQUNFLGVBQU8sTUFBTSxLQUFLeUMsbUJBQUwsQ0FBeUJoRSxHQUF6QixFQUE4Qm9DLE1BQTlCLEVBQXNDYixJQUF0QyxDQUFiOztBQUNGLFdBQUssZ0JBQUw7QUFDRSxlQUFPLE1BQU0sS0FBSzBDLG1CQUFMLENBQXlCakUsR0FBekIsRUFBOEJvQyxNQUE5QixFQUFzQ2IsSUFBdEMsQ0FBYjs7QUFDRixXQUFLLFVBQUw7QUFDRSxlQUFPLE1BQU0sS0FBS3FDLGFBQUwsQ0FBbUI1RCxHQUFuQixFQUF3Qm9DLE1BQXhCLEVBQWdDYixJQUFoQyxDQUFiOztBQUNGO0FBQ0U7QUFkSjs7QUFrQkEsU0FBSyxNQUFNO0FBQUN6QixNQUFBQSxZQUFEO0FBQWVDLE1BQUFBLGVBQWY7QUFBZ0NJLE1BQUFBO0FBQWhDLEtBQVgsSUFBNEROLHNCQUE1RCxFQUFvRjtBQUNsRixVQUFJLENBQUNDLFlBQVksQ0FBQ0ksUUFBYixDQUFzQmlFLFdBQXRCLENBQUwsRUFBeUM7QUFDdkM7QUFDRDs7QUFFRCxZQUFNQyxZQUFZLEdBQUcsS0FBS2hELGtCQUFMLEtBQTRCWixPQUE1QixHQUNqQlQsZUFBZSxDQUFDQyxHQUFELENBREUsR0FFakJHLFlBQVksQ0FBQ0gsR0FBRCxDQUZoQjs7QUFHQSxVQUFJb0UsWUFBWSxLQUFLcEUsR0FBckIsRUFBMEI7QUFDeEIsYUFBS2lCLEdBQUwsQ0FBU3VCLEtBQVQsQ0FBZ0IsaURBQWdEeEMsR0FBSSxJQUFyRCxHQUNaLE9BQU0sS0FBS29CLGtCQUFtQixXQURqQztBQUVBO0FBQ0Q7O0FBQ0QsV0FBS0gsR0FBTCxDQUFTb0QsSUFBVCxDQUFlLDZCQUE0QnJFLEdBQUksU0FBUW9FLFlBQWEsSUFBdEQsR0FDWCxPQUFNLEtBQUtoRCxrQkFBbUIsV0FEakM7QUFFQSxhQUFPLE1BQU0sS0FBS0osU0FBTCxDQUFlb0QsWUFBZixFQUE2QmhDLE1BQTdCLEVBQXFDYixJQUFyQyxDQUFiO0FBQ0Q7O0FBR0QsV0FBTyxNQUFNLEtBQUtQLFNBQUwsQ0FBZWhCLEdBQWYsRUFBb0JvQyxNQUFwQixFQUE0QmIsSUFBNUIsQ0FBYjtBQUNEOztBQXpNcUI7O2VBNE1UVCxpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBsb2dnZXIsIHV0aWwgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgZHVwbGljYXRlS2V5cyB9IGZyb20gJy4uL2Jhc2Vkcml2ZXIvaGVscGVycyc7XG5pbXBvcnQge1xuICBNSlNPTldQX0VMRU1FTlRfS0VZLCBXM0NfRUxFTUVOVF9LRVksIFBST1RPQ09MU1xufSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgQ09NTUFORF9VUkxTX0NPTkZMSUNUUyA9IFtcbiAge1xuICAgIGNvbW1hbmROYW1lczogWydleGVjdXRlJywgJ2V4ZWN1dGVBc3luYyddLFxuICAgIGpzb253cENvbnZlcnRlcjogKHVybCkgPT4gdXJsLnJlcGxhY2UoL1xcL2V4ZWN1dGUuKi8sXG4gICAgICB1cmwuaW5jbHVkZXMoJ2FzeW5jJykgPyAnL2V4ZWN1dGVfYXN5bmMnIDogJy9leGVjdXRlJyksXG4gICAgdzNjQ29udmVydGVyOiAodXJsKSA9PiB1cmwucmVwbGFjZSgvXFwvZXhlY3V0ZS4qLyxcbiAgICAgIHVybC5pbmNsdWRlcygnYXN5bmMnKSA/ICcvZXhlY3V0ZS9hc3luYycgOiAnL2V4ZWN1dGUvc3luYycpLFxuICB9LFxuICB7XG4gICAgY29tbWFuZE5hbWVzOiBbJ2dldEVsZW1lbnRTY3JlZW5zaG90J10sXG4gICAganNvbndwQ29udmVydGVyOiAodXJsKSA9PiB1cmwucmVwbGFjZSgvXFwvZWxlbWVudFxcLyhbXi9dKylcXC9zY3JlZW5zaG90JC8sXG4gICAgICAnL3NjcmVlbnNob3QvJDEnKSxcbiAgICB3M2NDb252ZXJ0ZXI6ICh1cmwpID0+IHVybC5yZXBsYWNlKC9cXC9zY3JlZW5zaG90XFwvKFteL10rKS8sXG4gICAgICAnL2VsZW1lbnQvJDEvc2NyZWVuc2hvdCcpLFxuICB9LFxuICB7XG4gICAgY29tbWFuZE5hbWVzOiBbJ2dldFdpbmRvd0hhbmRsZXMnLCAnZ2V0V2luZG93SGFuZGxlJ10sXG4gICAganNvbndwQ29udmVydGVyICh1cmwpIHtcbiAgICAgIHJldHVybiAvXFwvd2luZG93JC8udGVzdCh1cmwpXG4gICAgICAgID8gdXJsLnJlcGxhY2UoL1xcL3dpbmRvdyQvLCAnL3dpbmRvd19oYW5kbGUnKVxuICAgICAgICA6IHVybC5yZXBsYWNlKC9cXC93aW5kb3dcXC9oYW5kbGUocz8pJC8sICcvd2luZG93X2hhbmRsZSQxJyk7XG4gICAgfSxcbiAgICB3M2NDb252ZXJ0ZXIgKHVybCkge1xuICAgICAgcmV0dXJuIC9cXC93aW5kb3dfaGFuZGxlJC8udGVzdCh1cmwpXG4gICAgICAgID8gdXJsLnJlcGxhY2UoL1xcL3dpbmRvd19oYW5kbGUkLywgJy93aW5kb3cnKVxuICAgICAgICA6IHVybC5yZXBsYWNlKC9cXC93aW5kb3dfaGFuZGxlcyQvLCAnL3dpbmRvdy9oYW5kbGVzJyk7XG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGNvbW1hbmROYW1lczogWydnZXRQcm9wZXJ0eSddLFxuICAgIGpzb253cENvbnZlcnRlcjogKHczY1VybCkgPT4ge1xuICAgICAgY29uc3QgdzNjUHJvcGVydHlSZWdleCA9IC9cXC9lbGVtZW50XFwvKFteL10rKVxcL3Byb3BlcnR5XFwvKFteL10rKS87XG4gICAgICBjb25zdCBqc29ud3BVcmwgPSB3M2NVcmwucmVwbGFjZSh3M2NQcm9wZXJ0eVJlZ2V4LCAnL2VsZW1lbnQvJDEvYXR0cmlidXRlLyQyJyk7XG4gICAgICByZXR1cm4ganNvbndwVXJsO1xuICAgIH0sXG4gICAgdzNjQ29udmVydGVyOiAoanNvbndwVXJsKSA9PiBqc29ud3BVcmwgLy8gRG9uJ3QgY29udmVydCBKU09OV1AgVVJMIHRvIFczQy4gVzNDIGFjY2VwdHMgL2F0dHJpYnV0ZSBhbmQgL3Byb3BlcnR5XG4gIH1cbl07XG5jb25zdCB7TUpTT05XUCwgVzNDfSA9IFBST1RPQ09MUztcbmNvbnN0IERFRkFVTFRfTE9HID0gbG9nZ2VyLmdldExvZ2dlcignUHJvdG9jb2wgQ29udmVydGVyJyk7XG5cblxuY2xhc3MgUHJvdG9jb2xDb252ZXJ0ZXIge1xuICBjb25zdHJ1Y3RvciAocHJveHlGdW5jLCBsb2cgPSBudWxsKSB7XG4gICAgdGhpcy5wcm94eUZ1bmMgPSBwcm94eUZ1bmM7XG4gICAgdGhpcy5fZG93bnN0cmVhbVByb3RvY29sID0gbnVsbDtcbiAgICB0aGlzLl9sb2cgPSBsb2c7XG4gIH1cblxuICBnZXQgbG9nICgpIHtcbiAgICByZXR1cm4gdGhpcy5fbG9nID8/IERFRkFVTFRfTE9HO1xuICB9XG5cbiAgc2V0IGRvd25zdHJlYW1Qcm90b2NvbCAodmFsdWUpIHtcbiAgICB0aGlzLl9kb3duc3RyZWFtUHJvdG9jb2wgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkb3duc3RyZWFtUHJvdG9jb2wgKCkge1xuICAgIHJldHVybiB0aGlzLl9kb3duc3RyZWFtUHJvdG9jb2w7XG4gIH1cblxuICAvKipcbiAgICogVzNDIC90aW1lb3V0cyBjYW4gdGFrZSBhcyBtYW55IGFzIDMgdGltZW91dCB0eXBlcyBhdCBvbmNlLCBNSlNPTldQIC90aW1lb3V0cyBvbmx5IHRha2VzIG9uZVxuICAgKiBhdCBhIHRpbWUuIFNvIGlmIHdlJ3JlIHVzaW5nIFczQyBhbmQgcHJveHlpbmcgdG8gTUpTT05XUCBhbmQgdGhlcmUncyBtb3JlIHRoYW4gb25lIHRpbWVvdXQgdHlwZVxuICAgKiBwcm92aWRlZCBpbiB0aGUgcmVxdWVzdCwgd2UgbmVlZCB0byBkbyAzIHByb3hpZXMgYW5kIGNvbWJpbmUgdGhlIHJlc3VsdFxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gYm9keSBSZXF1ZXN0IGJvZHlcbiAgICogQHJldHVybiB7QXJyYXl9IEFycmF5IG9mIFczQyArIE1KU09OV1AgY29tcGF0aWJsZSB0aW1lb3V0IG9iamVjdHNcbiAgICovXG4gIGdldFRpbWVvdXRSZXF1ZXN0T2JqZWN0cyAoYm9keSkge1xuICAgIGlmICh0aGlzLmRvd25zdHJlYW1Qcm90b2NvbCA9PT0gVzNDICYmIF8uaGFzKGJvZHksICdtcycpICYmIF8uaGFzKGJvZHksICd0eXBlJykpIHtcbiAgICAgIGNvbnN0IHR5cGVUb1czQyA9ICh4KSA9PiB4ID09PSAncGFnZSBsb2FkJyA/ICdwYWdlTG9hZCcgOiB4O1xuICAgICAgcmV0dXJuIFt7XG4gICAgICAgIFt0eXBlVG9XM0MoYm9keS50eXBlKV06IGJvZHkubXMsXG4gICAgICB9XTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kb3duc3RyZWFtUHJvdG9jb2wgPT09IE1KU09OV1AgJiYgKCFfLmhhcyhib2R5LCAnbXMnKSB8fCAhXy5oYXMoYm9keSwgJ3R5cGUnKSkpIHtcbiAgICAgIGNvbnN0IHR5cGVUb0pTT05XUCA9ICh4KSA9PiB4ID09PSAncGFnZUxvYWQnID8gJ3BhZ2UgbG9hZCcgOiB4O1xuICAgICAgcmV0dXJuIF8udG9QYWlycyhib2R5KVxuICAgICAgICAvLyBPbmx5IHRyYW5zZm9ybSB0aGUgZW50cnkgaWYgbXMgdmFsdWUgaXMgYSB2YWxpZCBwb3NpdGl2ZSBmbG9hdCBudW1iZXJcbiAgICAgICAgLmZpbHRlcigocGFpcikgPT4gL15cXGQrKD86Wy4sXVxcZCo/KT8kLy50ZXN0KGAke3BhaXJbMV19YCkpXG4gICAgICAgIC5tYXAoZnVuY3Rpb24gKHBhaXIpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogdHlwZVRvSlNPTldQKHBhaXJbMF0pLFxuICAgICAgICAgICAgbXM6IHBhaXJbMV0sXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtib2R5XTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm94eSBhbiBhcnJheSBvZiB0aW1lb3V0IG9iamVjdHMgYW5kIG1lcmdlIHRoZSByZXN1bHRcbiAgICogQHBhcmFtIHtTdHJpbmd9IHVybCBFbmRwb2ludCB1cmxcbiAgICogQHBhcmFtIHtTdHJpbmd9IG1ldGhvZCBFbmRwb2ludCBtZXRob2RcbiAgICogQHBhcmFtIHtPYmplY3R9IGJvZHkgUmVxdWVzdCBib2R5XG4gICAqL1xuICBhc3luYyBwcm94eVNldFRpbWVvdXRzICh1cmwsIG1ldGhvZCwgYm9keSkge1xuICAgIGxldCByZXNwb25zZSwgcmVzQm9keTtcblxuICAgIGNvbnN0IHRpbWVvdXRSZXF1ZXN0T2JqZWN0cyA9IHRoaXMuZ2V0VGltZW91dFJlcXVlc3RPYmplY3RzKGJvZHkpO1xuICAgIHRoaXMubG9nLmRlYnVnKGBXaWxsIHNlbmQgdGhlIGZvbGxvd2luZyByZXF1ZXN0IGJvZGllcyB0byAvdGltZW91dHM6ICR7SlNPTi5zdHJpbmdpZnkodGltZW91dFJlcXVlc3RPYmplY3RzKX1gKTtcbiAgICBmb3IgKGNvbnN0IHRpbWVvdXRPYmogb2YgdGltZW91dFJlcXVlc3RPYmplY3RzKSB7XG4gICAgICBbcmVzcG9uc2UsIHJlc0JvZHldID0gYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QsIHRpbWVvdXRPYmopO1xuXG4gICAgICAvLyBJZiB3ZSBnb3QgYSBub24tTUpTT05XUCByZXNwb25zZSwgcmV0dXJuIHRoZSByZXN1bHQsIG5vdGhpbmcgbGVmdCB0byBkb1xuICAgICAgaWYgKHRoaXMuZG93bnN0cmVhbVByb3RvY29sICE9PSBNSlNPTldQKSB7XG4gICAgICAgIHJldHVybiBbcmVzcG9uc2UsIHJlc0JvZHldO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB3ZSBnb3QgYW4gZXJyb3IsIHJldHVybiB0aGUgZXJyb3IgcmlnaHQgYXdheVxuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgPj0gNDAwKSB7XG4gICAgICAgIHJldHVybiBbcmVzcG9uc2UsIHJlc0JvZHldO1xuICAgICAgfVxuXG4gICAgICAvLyAuLi5PdGhlcndpc2UsIGNvbnRpbnVlIHRvIHRoZSBuZXh0IHRpbWVvdXRzIGNhbGxcbiAgICB9XG4gICAgcmV0dXJuIFtyZXNwb25zZSwgcmVzQm9keV07XG4gIH1cblxuICBhc3luYyBwcm94eVNldFdpbmRvdyAodXJsLCBtZXRob2QsIGJvZHkpIHtcbiAgICBjb25zdCBib2R5T2JqID0gdXRpbC5zYWZlSnNvblBhcnNlKGJvZHkpO1xuICAgIGlmIChfLmlzUGxhaW5PYmplY3QoYm9keU9iaikpIHtcbiAgICAgIGlmICh0aGlzLmRvd25zdHJlYW1Qcm90b2NvbCA9PT0gVzNDICYmIF8uaGFzKGJvZHlPYmosICduYW1lJykgJiYgIV8uaGFzKGJvZHlPYmosICdoYW5kbGUnKSkge1xuICAgICAgICB0aGlzLmxvZy5kZWJ1ZyhgQ29waWVkICduYW1lJyB2YWx1ZSAnJHtib2R5T2JqLm5hbWV9JyB0byAnaGFuZGxlJyBhcyBwZXIgVzNDIHNwZWNgKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlGdW5jKHVybCwgbWV0aG9kLCB7XG4gICAgICAgICAgLi4uYm9keU9iaixcbiAgICAgICAgICBoYW5kbGU6IGJvZHlPYmoubmFtZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5kb3duc3RyZWFtUHJvdG9jb2wgPT09IE1KU09OV1AgJiYgXy5oYXMoYm9keU9iaiwgJ2hhbmRsZScpICYmICFfLmhhcyhib2R5T2JqLCAnbmFtZScpKSB7XG4gICAgICAgIHRoaXMubG9nLmRlYnVnKGBDb3BpZWQgJ2hhbmRsZScgdmFsdWUgJyR7Ym9keU9iai5oYW5kbGV9JyB0byAnbmFtZScgYXMgcGVyIEpTT05XUCBzcGVjYCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwge1xuICAgICAgICAgIC4uLmJvZHlPYmosXG4gICAgICAgICAgbmFtZTogYm9keU9iai5oYW5kbGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwgYm9keSk7XG4gIH1cblxuICBhc3luYyBwcm94eVNldFZhbHVlICh1cmwsIG1ldGhvZCwgYm9keSkge1xuICAgIGNvbnN0IGJvZHlPYmogPSB1dGlsLnNhZmVKc29uUGFyc2UoYm9keSk7XG4gICAgaWYgKF8uaXNQbGFpbk9iamVjdChib2R5T2JqKSAmJiAodXRpbC5oYXNWYWx1ZShib2R5T2JqLnRleHQpIHx8IHV0aWwuaGFzVmFsdWUoYm9keU9iai52YWx1ZSkpKSB7XG4gICAgICBsZXQge3RleHQsIHZhbHVlfSA9IGJvZHlPYmo7XG4gICAgICBpZiAodXRpbC5oYXNWYWx1ZSh0ZXh0KSAmJiAhdXRpbC5oYXNWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgdmFsdWUgPSBfLmlzU3RyaW5nKHRleHQpXG4gICAgICAgICAgPyBbLi4udGV4dF1cbiAgICAgICAgICA6IChfLmlzQXJyYXkodGV4dCkgPyB0ZXh0IDogW10pO1xuICAgICAgICB0aGlzLmxvZy5kZWJ1ZyhgQWRkZWQgJ3ZhbHVlJyBwcm9wZXJ0eSAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX0gdG8gJ3NldFZhbHVlJyByZXF1ZXN0IGJvZHlgKTtcbiAgICAgIH0gZWxzZSBpZiAoIXV0aWwuaGFzVmFsdWUodGV4dCkgJiYgdXRpbC5oYXNWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgdGV4dCA9IF8uaXNBcnJheSh2YWx1ZSlcbiAgICAgICAgICA/IHZhbHVlLmpvaW4oJycpXG4gICAgICAgICAgOiAoXy5pc1N0cmluZyh2YWx1ZSkgPyB2YWx1ZSA6ICcnKTtcbiAgICAgICAgdGhpcy5sb2cuZGVidWcoYEFkZGVkICd0ZXh0JyBwcm9wZXJ0eSAke0pTT04uc3RyaW5naWZ5KHRleHQpfSB0byAnc2V0VmFsdWUnIHJlcXVlc3QgYm9keWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlGdW5jKHVybCwgbWV0aG9kLCBPYmplY3QuYXNzaWduKHt9LCBib2R5T2JqLCB7XG4gICAgICAgIHRleHQsXG4gICAgICAgIHZhbHVlLFxuICAgICAgfSkpO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwgYm9keSk7XG4gIH1cblxuICBhc3luYyBwcm94eVNldEZyYW1lICh1cmwsIG1ldGhvZCwgYm9keSkge1xuICAgIGNvbnN0IGJvZHlPYmogPSB1dGlsLnNhZmVKc29uUGFyc2UoYm9keSk7XG4gICAgcmV0dXJuIF8uaGFzKGJvZHlPYmosICdpZCcpICYmIF8uaXNQbGFpbk9iamVjdChib2R5T2JqLmlkKVxuICAgICAgPyBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwge1xuICAgICAgICAuLi5ib2R5T2JqLFxuICAgICAgICBpZDogZHVwbGljYXRlS2V5cyhib2R5T2JqLmlkLCBNSlNPTldQX0VMRU1FTlRfS0VZLCBXM0NfRUxFTUVOVF9LRVkpLFxuICAgICAgfSlcbiAgICAgIDogYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QsIGJvZHkpO1xuICB9XG5cbiAgYXN5bmMgcHJveHlQZXJmb3JtQWN0aW9ucyAodXJsLCBtZXRob2QsIGJvZHkpIHtcbiAgICBjb25zdCBib2R5T2JqID0gdXRpbC5zYWZlSnNvblBhcnNlKGJvZHkpO1xuICAgIHJldHVybiBfLmlzUGxhaW5PYmplY3QoYm9keU9iailcbiAgICAgID8gYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QsIGR1cGxpY2F0ZUtleXMoYm9keU9iaiwgTUpTT05XUF9FTEVNRU5UX0tFWSwgVzNDX0VMRU1FTlRfS0VZKSlcbiAgICAgIDogYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QsIGJvZHkpO1xuICB9XG5cbiAgYXN5bmMgcHJveHlSZWxlYXNlQWN0aW9ucyAodXJsLCBtZXRob2QpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBcImNyb3NzaW5nXCIgZW5kcG9pbnRzIGZvciB0aGUgY2FzZVxuICAgKiB3aGVuIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIGRyaXZlcnMgb3BlcmF0ZSBkaWZmZXJlbnQgcHJvdG9jb2xzXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb21tYW5kTmFtZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2RcbiAgICogQHBhcmFtIHs/c3RyaW5nfG9iamVjdH0gYm9keVxuICAgKiBAcmV0dXJucyBUaGUgcHJveHlmeWluZyByZXN1bHQgYXMgW3Jlc3BvbnNlLCByZXNwb25zZUJvZHldIHR1cGxlXG4gICAqL1xuICBhc3luYyBjb252ZXJ0QW5kUHJveHkgKGNvbW1hbmROYW1lLCB1cmwsIG1ldGhvZCwgYm9keSkge1xuICAgIGlmICghdGhpcy5kb3duc3RyZWFtUHJvdG9jb2wpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwgYm9keSk7XG4gICAgfVxuXG4gICAgLy8gU2FtZSB1cmwsIGJ1dCBkaWZmZXJlbnQgYXJndW1lbnRzXG4gICAgc3dpdGNoIChjb21tYW5kTmFtZSkge1xuICAgICAgY2FzZSAndGltZW91dHMnOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm94eVNldFRpbWVvdXRzKHVybCwgbWV0aG9kLCBib2R5KTtcbiAgICAgIGNhc2UgJ3NldFdpbmRvdyc6XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5U2V0V2luZG93KHVybCwgbWV0aG9kLCBib2R5KTtcbiAgICAgIGNhc2UgJ3NldFZhbHVlJzpcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlTZXRWYWx1ZSh1cmwsIG1ldGhvZCwgYm9keSk7XG4gICAgICBjYXNlICdwZXJmb3JtQWN0aW9ucyc6XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5UGVyZm9ybUFjdGlvbnModXJsLCBtZXRob2QsIGJvZHkpO1xuICAgICAgY2FzZSAncmVsZWFzZUFjdGlvbnMnOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm94eVJlbGVhc2VBY3Rpb25zKHVybCwgbWV0aG9kLCBib2R5KTtcbiAgICAgIGNhc2UgJ3NldEZyYW1lJzpcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlTZXRGcmFtZSh1cmwsIG1ldGhvZCwgYm9keSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBTYW1lIGFyZ3VtZW50cywgYnV0IGRpZmZlcmVudCBVUkxzXG4gICAgZm9yIChjb25zdCB7Y29tbWFuZE5hbWVzLCBqc29ud3BDb252ZXJ0ZXIsIHczY0NvbnZlcnRlcn0gb2YgQ09NTUFORF9VUkxTX0NPTkZMSUNUUykge1xuICAgICAgaWYgKCFjb21tYW5kTmFtZXMuaW5jbHVkZXMoY29tbWFuZE5hbWUpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXdyaXR0ZW5VcmwgPSB0aGlzLmRvd25zdHJlYW1Qcm90b2NvbCA9PT0gTUpTT05XUFxuICAgICAgICA/IGpzb253cENvbnZlcnRlcih1cmwpXG4gICAgICAgIDogdzNjQ29udmVydGVyKHVybCk7XG4gICAgICBpZiAocmV3cml0dGVuVXJsID09PSB1cmwpIHtcbiAgICAgICAgdGhpcy5sb2cuZGVidWcoYERpZCBub3Qga25vdyBob3cgdG8gcmV3cml0ZSB0aGUgb3JpZ2luYWwgVVJMICcke3VybH0nIGAgK1xuICAgICAgICAgIGBmb3IgJHt0aGlzLmRvd25zdHJlYW1Qcm90b2NvbH0gcHJvdG9jb2xgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLmxvZy5pbmZvKGBSZXdyb3RlIHRoZSBvcmlnaW5hbCBVUkwgJyR7dXJsfScgdG8gJyR7cmV3cml0dGVuVXJsfScgYCArXG4gICAgICAgIGBmb3IgJHt0aGlzLmRvd25zdHJlYW1Qcm90b2NvbH0gcHJvdG9jb2xgKTtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyhyZXdyaXR0ZW5VcmwsIG1ldGhvZCwgYm9keSk7XG4gICAgfVxuXG4gICAgLy8gTm8gbWF0Y2hlcyBmb3VuZC4gUHJvY2VlZCBub3JtYWxseVxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwgYm9keSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUHJvdG9jb2xDb252ZXJ0ZXI7XG4iXSwiZmlsZSI6ImxpYi9qc29ud3AtcHJveHkvcHJvdG9jb2wtY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
|
|
240
|
+
exports.default = _default;
|
|
241
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9qc29ud3AtcHJveHkvcHJvdG9jb2wtY29udmVydGVyLmpzIl0sIm5hbWVzIjpbIkNPTU1BTkRfVVJMU19DT05GTElDVFMiLCJjb21tYW5kTmFtZXMiLCJqc29ud3BDb252ZXJ0ZXIiLCJ1cmwiLCJyZXBsYWNlIiwiaW5jbHVkZXMiLCJ3M2NDb252ZXJ0ZXIiLCJ0ZXN0IiwidzNjVXJsIiwidzNjUHJvcGVydHlSZWdleCIsImpzb253cFVybCIsIk1KU09OV1AiLCJXM0MiLCJQUk9UT0NPTFMiLCJERUZBVUxUX0xPRyIsImxvZ2dlciIsImdldExvZ2dlciIsIlByb3RvY29sQ29udmVydGVyIiwiY29uc3RydWN0b3IiLCJwcm94eUZ1bmMiLCJsb2ciLCJfZG93bnN0cmVhbVByb3RvY29sIiwiX2xvZyIsImRvd25zdHJlYW1Qcm90b2NvbCIsInZhbHVlIiwiZ2V0VGltZW91dFJlcXVlc3RPYmplY3RzIiwiYm9keSIsIl8iLCJoYXMiLCJ0eXBlVG9XM0MiLCJ4IiwidHlwZSIsIm1zIiwidHlwZVRvSlNPTldQIiwidG9QYWlycyIsImZpbHRlciIsInBhaXIiLCJtYXAiLCJwcm94eVNldFRpbWVvdXRzIiwibWV0aG9kIiwicmVzcG9uc2UiLCJyZXNCb2R5IiwidGltZW91dFJlcXVlc3RPYmplY3RzIiwiZGVidWciLCJKU09OIiwic3RyaW5naWZ5IiwidGltZW91dE9iaiIsInN0YXR1c0NvZGUiLCJwcm94eVNldFdpbmRvdyIsImJvZHlPYmoiLCJ1dGlsIiwic2FmZUpzb25QYXJzZSIsImlzUGxhaW5PYmplY3QiLCJuYW1lIiwiaGFuZGxlIiwicHJveHlTZXRWYWx1ZSIsImhhc1ZhbHVlIiwidGV4dCIsImlzU3RyaW5nIiwiaXNBcnJheSIsImpvaW4iLCJPYmplY3QiLCJhc3NpZ24iLCJwcm94eVNldEZyYW1lIiwiaWQiLCJNSlNPTldQX0VMRU1FTlRfS0VZIiwiVzNDX0VMRU1FTlRfS0VZIiwicHJveHlQZXJmb3JtQWN0aW9ucyIsInByb3h5UmVsZWFzZUFjdGlvbnMiLCJjb252ZXJ0QW5kUHJveHkiLCJjb21tYW5kTmFtZSIsInJld3JpdHRlblVybCIsImluZm8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSU8sTUFBTUEsc0JBQXNCLEdBQUcsQ0FDcEM7QUFDRUMsRUFBQUEsWUFBWSxFQUFFLENBQUMsU0FBRCxFQUFZLGNBQVosQ0FEaEI7QUFFRUMsRUFBQUEsZUFBZSxFQUFHQyxHQUFELElBQVNBLEdBQUcsQ0FBQ0MsT0FBSixDQUFZLGFBQVosRUFDeEJELEdBQUcsQ0FBQ0UsUUFBSixDQUFhLE9BQWIsSUFBd0IsZ0JBQXhCLEdBQTJDLFVBRG5CLENBRjVCO0FBSUVDLEVBQUFBLFlBQVksRUFBR0gsR0FBRCxJQUFTQSxHQUFHLENBQUNDLE9BQUosQ0FBWSxhQUFaLEVBQ3JCRCxHQUFHLENBQUNFLFFBQUosQ0FBYSxPQUFiLElBQXdCLGdCQUF4QixHQUEyQyxlQUR0QjtBQUp6QixDQURvQyxFQVFwQztBQUNFSixFQUFBQSxZQUFZLEVBQUUsQ0FBQyxzQkFBRCxDQURoQjtBQUVFQyxFQUFBQSxlQUFlLEVBQUdDLEdBQUQsSUFBU0EsR0FBRyxDQUFDQyxPQUFKLENBQVksaUNBQVosRUFDeEIsZ0JBRHdCLENBRjVCO0FBSUVFLEVBQUFBLFlBQVksRUFBR0gsR0FBRCxJQUFTQSxHQUFHLENBQUNDLE9BQUosQ0FBWSx1QkFBWixFQUNyQix3QkFEcUI7QUFKekIsQ0FSb0MsRUFlcEM7QUFDRUgsRUFBQUEsWUFBWSxFQUFFLENBQUMsa0JBQUQsRUFBcUIsaUJBQXJCLENBRGhCOztBQUVFQyxFQUFBQSxlQUFlLENBQUVDLEdBQUYsRUFBTztBQUNwQixXQUFPLFlBQVlJLElBQVosQ0FBaUJKLEdBQWpCLElBQ0hBLEdBQUcsQ0FBQ0MsT0FBSixDQUFZLFdBQVosRUFBeUIsZ0JBQXpCLENBREcsR0FFSEQsR0FBRyxDQUFDQyxPQUFKLENBQVksdUJBQVosRUFBcUMsa0JBQXJDLENBRko7QUFHRCxHQU5IOztB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YixDQUFzQmlFLFdBQXRCLENBQUwsRUFBeUM7QUFDdkM7QUFDRDs7QUFFRCxZQUFNQyxZQUFZLEdBQUcsS0FBS2hELGtCQUFMLEtBQTRCWixPQUE1QixHQUNqQlQsZUFBZSxDQUFDQyxHQUFELENBREUsR0FFakJHLFlBQVksQ0FBQ0gsR0FBRCxDQUZoQjs7QUFHQSxVQUFJb0UsWUFBWSxLQUFLcEUsR0FBckIsRUFBMEI7QUFDeEIsYUFBS2lCLEdBQUwsQ0FBU3VCLEtBQVQsQ0FBZ0IsaURBQWdEeEMsR0FBSSxJQUFyRCxHQUNaLE9BQU0sS0FBS29CLGtCQUFtQixXQURqQztBQUVBO0FBQ0Q7O0FBQ0QsV0FBS0gsR0FBTCxDQUFTb0QsSUFBVCxDQUFlLDZCQUE0QnJFLEdBQUksU0FBUW9FLFlBQWEsSUFBdEQsR0FDWCxPQUFNLEtBQUtoRCxrQkFBbUIsV0FEakM7QUFFQSxhQUFPLE1BQU0sS0FBS0osU0FBTCxDQUFlb0QsWUFBZixFQUE2QmhDLE1BQTdCLEVBQXFDYixJQUFyQyxDQUFiO0FBQ0Q7O0FBR0QsV0FBTyxNQUFNLEtBQUtQLFNBQUwsQ0FBZWhCLEdBQWYsRUFBb0JvQyxNQUFwQixFQUE0QmIsSUFBNUIsQ0FBYjtBQUNEOztBQXpNcUI7O2VBNE1UVCxpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBsb2dnZXIsIHV0aWwgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgZHVwbGljYXRlS2V5cyB9IGZyb20gJy4uL2Jhc2Vkcml2ZXIvaGVscGVycyc7XG5pbXBvcnQge1xuICBNSlNPTldQX0VMRU1FTlRfS0VZLCBXM0NfRUxFTUVOVF9LRVksIFBST1RPQ09MU1xufSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgQ09NTUFORF9VUkxTX0NPTkZMSUNUUyA9IFtcbiAge1xuICAgIGNvbW1hbmROYW1lczogWydleGVjdXRlJywgJ2V4ZWN1dGVBc3luYyddLFxuICAgIGpzb253cENvbnZlcnRlcjogKHVybCkgPT4gdXJsLnJlcGxhY2UoL1xcL2V4ZWN1dGUuKi8sXG4gICAgICB1cmwuaW5jbHVkZXMoJ2FzeW5jJykgPyAnL2V4ZWN1dGVfYXN5bmMnIDogJy9leGVjdXRlJyksXG4gICAgdzNjQ29udmVydGVyOiAodXJsKSA9PiB1cmwucmVwbGFjZSgvXFwvZXhlY3V0ZS4qLyxcbiAgICAgIHVybC5pbmNsdWRlcygnYXN5bmMnKSA/ICcvZXhlY3V0ZS9hc3luYycgOiAnL2V4ZWN1dGUvc3luYycpLFxuICB9LFxuICB7XG4gICAgY29tbWFuZE5hbWVzOiBbJ2dldEVsZW1lbnRTY3JlZW5zaG90J10sXG4gICAganNvbndwQ29udmVydGVyOiAodXJsKSA9PiB1cmwucmVwbGFjZSgvXFwvZWxlbWVudFxcLyhbXi9dKylcXC9zY3JlZW5zaG90JC8sXG4gICAgICAnL3NjcmVlbnNob3QvJDEnKSxcbiAgICB3M2NDb252ZXJ0ZXI6ICh1cmwpID0+IHVybC5yZXBsYWNlKC9cXC9zY3JlZW5zaG90XFwvKFteL10rKS8sXG4gICAgICAnL2VsZW1lbnQvJDEvc2NyZWVuc2hvdCcpLFxuICB9LFxuICB7XG4gICAgY29tbWFuZE5hbWVzOiBbJ2dldFdpbmRvd0hhbmRsZXMnLCAnZ2V0V2luZG93SGFuZGxlJ10sXG4gICAganNvbndwQ29udmVydGVyICh1cmwpIHtcbiAgICAgIHJldHVybiAvXFwvd2luZG93JC8udGVzdCh1cmwpXG4gICAgICAgID8gdXJsLnJlcGxhY2UoL1xcL3dpbmRvdyQvLCAnL3dpbmRvd19oYW5kbGUnKVxuICAgICAgICA6IHVybC5yZXBsYWNlKC9cXC93aW5kb3dcXC9oYW5kbGUocz8pJC8sICcvd2luZG93X2hhbmRsZSQxJyk7XG4gICAgfSxcbiAgICB3M2NDb252ZXJ0ZXIgKHVybCkge1xuICAgICAgcmV0dXJuIC9cXC93aW5kb3dfaGFuZGxlJC8udGVzdCh1cmwpXG4gICAgICAgID8gdXJsLnJlcGxhY2UoL1xcL3dpbmRvd19oYW5kbGUkLywgJy93aW5kb3cnKVxuICAgICAgICA6IHVybC5yZXBsYWNlKC9cXC93aW5kb3dfaGFuZGxlcyQvLCAnL3dpbmRvdy9oYW5kbGVzJyk7XG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGNvbW1hbmROYW1lczogWydnZXRQcm9wZXJ0eSddLFxuICAgIGpzb253cENvbnZlcnRlcjogKHczY1VybCkgPT4ge1xuICAgICAgY29uc3QgdzNjUHJvcGVydHlSZWdleCA9IC9cXC9lbGVtZW50XFwvKFteL10rKVxcL3Byb3BlcnR5XFwvKFteL10rKS87XG4gICAgICBjb25zdCBqc29ud3BVcmwgPSB3M2NVcmwucmVwbGFjZSh3M2NQcm9wZXJ0eVJlZ2V4LCAnL2VsZW1lbnQvJDEvYXR0cmlidXRlLyQyJyk7XG4gICAgICByZXR1cm4ganNvbndwVXJsO1xuICAgIH0sXG4gICAgdzNjQ29udmVydGVyOiAoanNvbndwVXJsKSA9PiBqc29ud3BVcmwgLy8gRG9uJ3QgY29udmVydCBKU09OV1AgVVJMIHRvIFczQy4gVzNDIGFjY2VwdHMgL2F0dHJpYnV0ZSBhbmQgL3Byb3BlcnR5XG4gIH1cbl07XG5jb25zdCB7TUpTT05XUCwgVzNDfSA9IFBST1RPQ09MUztcbmNvbnN0IERFRkFVTFRfTE9HID0gbG9nZ2VyLmdldExvZ2dlcignUHJvdG9jb2wgQ29udmVydGVyJyk7XG5cblxuY2xhc3MgUHJvdG9jb2xDb252ZXJ0ZXIge1xuICBjb25zdHJ1Y3RvciAocHJveHlGdW5jLCBsb2cgPSBudWxsKSB7XG4gICAgdGhpcy5wcm94eUZ1bmMgPSBwcm94eUZ1bmM7XG4gICAgdGhpcy5fZG93bnN0cmVhbVByb3RvY29sID0gbnVsbDtcbiAgICB0aGlzLl9sb2cgPSBsb2c7XG4gIH1cblxuICBnZXQgbG9nICgpIHtcbiAgICByZXR1cm4gdGhpcy5fbG9nID8/IERFRkFVTFRfTE9HO1xuICB9XG5cbiAgc2V0IGRvd25zdHJlYW1Qcm90b2NvbCAodmFsdWUpIHtcbiAgICB0aGlzLl9kb3duc3RyZWFtUHJvdG9jb2wgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkb3duc3RyZWFtUHJvdG9jb2wgKCkge1xuICAgIHJldHVybiB0aGlzLl9kb3duc3RyZWFtUHJvdG9jb2w7XG4gIH1cblxuICAvKipcbiAgICogVzNDIC90aW1lb3V0cyBjYW4gdGFrZSBhcyBtYW55IGFzIDMgdGltZW91dCB0eXBlcyBhdCBvbmNlLCBNSlNPTldQIC90aW1lb3V0cyBvbmx5IHRha2VzIG9uZVxuICAgKiBhdCBhIHRpbWUuIFNvIGlmIHdlJ3JlIHVzaW5nIFczQyBhbmQgcHJveHlpbmcgdG8gTUpTT05XUCBhbmQgdGhlcmUncyBtb3JlIHRoYW4gb25lIHRpbWVvdXQgdHlwZVxuICAgKiBwcm92aWRlZCBpbiB0aGUgcmVxdWVzdCwgd2UgbmVlZCB0byBkbyAzIHByb3hpZXMgYW5kIGNvbWJpbmUgdGhlIHJlc3VsdFxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gYm9keSBSZXF1ZXN0IGJvZHlcbiAgICogQHJldHVybiB7QXJyYXl9IEFycmF5IG9mIFczQyArIE1KU09OV1AgY29tcGF0aWJsZSB0aW1lb3V0IG9iamVjdHNcbiAgICovXG4gIGdldFRpbWVvdXRSZXF1ZXN0T2JqZWN0cyAoYm9keSkge1xuICAgIGlmICh0aGlzLmRvd25zdHJlYW1Qcm90b2NvbCA9PT0gVzNDICYmIF8uaGFzKGJvZHksICdtcycpICYmIF8uaGFzKGJvZHksICd0eXBlJykpIHtcbiAgICAgIGNvbnN0IHR5cGVUb1czQyA9ICh4KSA9PiB4ID09PSAncGFnZSBsb2FkJyA/ICdwYWdlTG9hZCcgOiB4O1xuICAgICAgcmV0dXJuIFt7XG4gICAgICAgIFt0eXBlVG9XM0MoYm9keS50eXBlKV06IGJvZHkubXMsXG4gICAgICB9XTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kb3duc3RyZWFtUHJvdG9jb2wgPT09IE1KU09OV1AgJiYgKCFfLmhhcyhib2R5LCAnbXMnKSB8fCAhXy5oYXMoYm9keSwgJ3R5cGUnKSkpIHtcbiAgICAgIGNvbnN0IHR5cGVUb0pTT05XUCA9ICh4KSA9PiB4ID09PSAncGFnZUxvYWQnID8gJ3BhZ2UgbG9hZCcgOiB4O1xuICAgICAgcmV0dXJuIF8udG9QYWlycyhib2R5KVxuICAgICAgICAvLyBPbmx5IHRyYW5zZm9ybSB0aGUgZW50cnkgaWYgbXMgdmFsdWUgaXMgYSB2YWxpZCBwb3NpdGl2ZSBmbG9hdCBudW1iZXJcbiAgICAgICAgLmZpbHRlcigocGFpcikgPT4gL15cXGQrKD86Wy4sXVxcZCo/KT8kLy50ZXN0KGAke3BhaXJbMV19YCkpXG4gICAgICAgIC5tYXAoZnVuY3Rpb24gKHBhaXIpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogdHlwZVRvSlNPTldQKHBhaXJbMF0pLFxuICAgICAgICAgICAgbXM6IHBhaXJbMV0sXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtib2R5XTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm94eSBhbiBhcnJheSBvZiB0aW1lb3V0IG9iamVjdHMgYW5kIG1lcmdlIHRoZSByZXN1bHRcbiAgICogQHBhcmFtIHtTdHJpbmd9IHVybCBFbmRwb2ludCB1cmxcbiAgICogQHBhcmFtIHtTdHJpbmd9IG1ldGhvZCBFbmRwb2ludCBtZXRob2RcbiAgICogQHBhcmFtIHtPYmplY3R9IGJvZHkgUmVxdWVzdCBib2R5XG4gICAqL1xuICBhc3luYyBwcm94eVNldFRpbWVvdXRzICh1cmwsIG1ldGhvZCwgYm9keSkge1xuICAgIGxldCByZXNwb25zZSwgcmVzQm9keTtcblxuICAgIGNvbnN0IHRpbWVvdXRSZXF1ZXN0T2JqZWN0cyA9IHRoaXMuZ2V0VGltZW91dFJlcXVlc3RPYmplY3RzKGJvZHkpO1xuICAgIHRoaXMubG9nLmRlYnVnKGBXaWxsIHNlbmQgdGhlIGZvbGxvd2luZyByZXF1ZXN0IGJvZGllcyB0byAvdGltZW91dHM6ICR7SlNPTi5zdHJpbmdpZnkodGltZW91dFJlcXVlc3RPYmplY3RzKX1gKTtcbiAgICBmb3IgKGNvbnN0IHRpbWVvdXRPYmogb2YgdGltZW91dFJlcXVlc3RPYmplY3RzKSB7XG4gICAgICBbcmVzcG9uc2UsIHJlc0JvZHldID0gYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QsIHRpbWVvdXRPYmopO1xuXG4gICAgICAvLyBJZiB3ZSBnb3QgYSBub24tTUpTT05XUCByZXNwb25zZSwgcmV0dXJuIHRoZSByZXN1bHQsIG5vdGhpbmcgbGVmdCB0byBkb1xuICAgICAgaWYgKHRoaXMuZG93bnN0cmVhbVByb3RvY29sICE9PSBNSlNPTldQKSB7XG4gICAgICAgIHJldHVybiBbcmVzcG9uc2UsIHJlc0JvZHldO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB3ZSBnb3QgYW4gZXJyb3IsIHJldHVybiB0aGUgZXJyb3IgcmlnaHQgYXdheVxuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgPj0gNDAwKSB7XG4gICAgICAgIHJldHVybiBbcmVzcG9uc2UsIHJlc0JvZHldO1xuICAgICAgfVxuXG4gICAgICAvLyAuLi5PdGhlcndpc2UsIGNvbnRpbnVlIHRvIHRoZSBuZXh0IHRpbWVvdXRzIGNhbGxcbiAgICB9XG4gICAgcmV0dXJuIFtyZXNwb25zZSwgcmVzQm9keV07XG4gIH1cblxuICBhc3luYyBwcm94eVNldFdpbmRvdyAodXJsLCBtZXRob2QsIGJvZHkpIHtcbiAgICBjb25zdCBib2R5T2JqID0gdXRpbC5zYWZlSnNvblBhcnNlKGJvZHkpO1xuICAgIGlmIChfLmlzUGxhaW5PYmplY3QoYm9keU9iaikpIHtcbiAgICAgIGlmICh0aGlzLmRvd25zdHJlYW1Qcm90b2NvbCA9PT0gVzNDICYmIF8uaGFzKGJvZHlPYmosICduYW1lJykgJiYgIV8uaGFzKGJvZHlPYmosICdoYW5kbGUnKSkge1xuICAgICAgICB0aGlzLmxvZy5kZWJ1ZyhgQ29waWVkICduYW1lJyB2YWx1ZSAnJHtib2R5T2JqLm5hbWV9JyB0byAnaGFuZGxlJyBhcyBwZXIgVzNDIHNwZWNgKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlGdW5jKHVybCwgbWV0aG9kLCB7XG4gICAgICAgICAgLi4uYm9keU9iaixcbiAgICAgICAgICBoYW5kbGU6IGJvZHlPYmoubmFtZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5kb3duc3RyZWFtUHJvdG9jb2wgPT09IE1KU09OV1AgJiYgXy5oYXMoYm9keU9iaiwgJ2hhbmRsZScpICYmICFfLmhhcyhib2R5T2JqLCAnbmFtZScpKSB7XG4gICAgICAgIHRoaXMubG9nLmRlYnVnKGBDb3BpZWQgJ2hhbmRsZScgdmFsdWUgJyR7Ym9keU9iai5oYW5kbGV9JyB0byAnbmFtZScgYXMgcGVyIEpTT05XUCBzcGVjYCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwge1xuICAgICAgICAgIC4uLmJvZHlPYmosXG4gICAgICAgICAgbmFtZTogYm9keU9iai5oYW5kbGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwgYm9keSk7XG4gIH1cblxuICBhc3luYyBwcm94eVNldFZhbHVlICh1cmwsIG1ldGhvZCwgYm9keSkge1xuICAgIGNvbnN0IGJvZHlPYmogPSB1dGlsLnNhZmVKc29uUGFyc2UoYm9keSk7XG4gICAgaWYgKF8uaXNQbGFpbk9iamVjdChib2R5T2JqKSAmJiAodXRpbC5oYXNWYWx1ZShib2R5T2JqLnRleHQpIHx8IHV0aWwuaGFzVmFsdWUoYm9keU9iai52YWx1ZSkpKSB7XG4gICAgICBsZXQge3RleHQsIHZhbHVlfSA9IGJvZHlPYmo7XG4gICAgICBpZiAodXRpbC5oYXNWYWx1ZSh0ZXh0KSAmJiAhdXRpbC5oYXNWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgdmFsdWUgPSBfLmlzU3RyaW5nKHRleHQpXG4gICAgICAgICAgPyBbLi4udGV4dF1cbiAgICAgICAgICA6IChfLmlzQXJyYXkodGV4dCkgPyB0ZXh0IDogW10pO1xuICAgICAgICB0aGlzLmxvZy5kZWJ1ZyhgQWRkZWQgJ3ZhbHVlJyBwcm9wZXJ0eSAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX0gdG8gJ3NldFZhbHVlJyByZXF1ZXN0IGJvZHlgKTtcbiAgICAgIH0gZWxzZSBpZiAoIXV0aWwuaGFzVmFsdWUodGV4dCkgJiYgdXRpbC5oYXNWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgdGV4dCA9IF8uaXNBcnJheSh2YWx1ZSlcbiAgICAgICAgICA/IHZhbHVlLmpvaW4oJycpXG4gICAgICAgICAgOiAoXy5pc1N0cmluZyh2YWx1ZSkgPyB2YWx1ZSA6ICcnKTtcbiAgICAgICAgdGhpcy5sb2cuZGVidWcoYEFkZGVkICd0ZXh0JyBwcm9wZXJ0eSAke0pTT04uc3RyaW5naWZ5KHRleHQpfSB0byAnc2V0VmFsdWUnIHJlcXVlc3QgYm9keWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlGdW5jKHVybCwgbWV0aG9kLCBPYmplY3QuYXNzaWduKHt9LCBib2R5T2JqLCB7XG4gICAgICAgIHRleHQsXG4gICAgICAgIHZhbHVlLFxuICAgICAgfSkpO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwgYm9keSk7XG4gIH1cblxuICBhc3luYyBwcm94eVNldEZyYW1lICh1cmwsIG1ldGhvZCwgYm9keSkge1xuICAgIGNvbnN0IGJvZHlPYmogPSB1dGlsLnNhZmVKc29uUGFyc2UoYm9keSk7XG4gICAgcmV0dXJuIF8uaGFzKGJvZHlPYmosICdpZCcpICYmIF8uaXNQbGFpbk9iamVjdChib2R5T2JqLmlkKVxuICAgICAgPyBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwge1xuICAgICAgICAuLi5ib2R5T2JqLFxuICAgICAgICBpZDogZHVwbGljYXRlS2V5cyhib2R5T2JqLmlkLCBNSlNPTldQX0VMRU1FTlRfS0VZLCBXM0NfRUxFTUVOVF9LRVkpLFxuICAgICAgfSlcbiAgICAgIDogYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QsIGJvZHkpO1xuICB9XG5cbiAgYXN5bmMgcHJveHlQZXJmb3JtQWN0aW9ucyAodXJsLCBtZXRob2QsIGJvZHkpIHtcbiAgICBjb25zdCBib2R5T2JqID0gdXRpbC5zYWZlSnNvblBhcnNlKGJvZHkpO1xuICAgIHJldHVybiBfLmlzUGxhaW5PYmplY3QoYm9keU9iailcbiAgICAgID8gYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QsIGR1cGxpY2F0ZUtleXMoYm9keU9iaiwgTUpTT05XUF9FTEVNRU5UX0tFWSwgVzNDX0VMRU1FTlRfS0VZKSlcbiAgICAgIDogYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QsIGJvZHkpO1xuICB9XG5cbiAgYXN5bmMgcHJveHlSZWxlYXNlQWN0aW9ucyAodXJsLCBtZXRob2QpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBcImNyb3NzaW5nXCIgZW5kcG9pbnRzIGZvciB0aGUgY2FzZVxuICAgKiB3aGVuIHVwc3RyZWFtIGFuZCBkb3duc3RyZWFtIGRyaXZlcnMgb3BlcmF0ZSBkaWZmZXJlbnQgcHJvdG9jb2xzXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb21tYW5kTmFtZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2RcbiAgICogQHBhcmFtIHs/c3RyaW5nfG9iamVjdH0gYm9keVxuICAgKiBAcmV0dXJucyBUaGUgcHJveHlmeWluZyByZXN1bHQgYXMgW3Jlc3BvbnNlLCByZXNwb25zZUJvZHldIHR1cGxlXG4gICAqL1xuICBhc3luYyBjb252ZXJ0QW5kUHJveHkgKGNvbW1hbmROYW1lLCB1cmwsIG1ldGhvZCwgYm9keSkge1xuICAgIGlmICghdGhpcy5kb3duc3RyZWFtUHJvdG9jb2wpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwgYm9keSk7XG4gICAgfVxuXG4gICAgLy8gU2FtZSB1cmwsIGJ1dCBkaWZmZXJlbnQgYXJndW1lbnRzXG4gICAgc3dpdGNoIChjb21tYW5kTmFtZSkge1xuICAgICAgY2FzZSAndGltZW91dHMnOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm94eVNldFRpbWVvdXRzKHVybCwgbWV0aG9kLCBib2R5KTtcbiAgICAgIGNhc2UgJ3NldFdpbmRvdyc6XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5U2V0V2luZG93KHVybCwgbWV0aG9kLCBib2R5KTtcbiAgICAgIGNhc2UgJ3NldFZhbHVlJzpcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlTZXRWYWx1ZSh1cmwsIG1ldGhvZCwgYm9keSk7XG4gICAgICBjYXNlICdwZXJmb3JtQWN0aW9ucyc6XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5UGVyZm9ybUFjdGlvbnModXJsLCBtZXRob2QsIGJvZHkpO1xuICAgICAgY2FzZSAncmVsZWFzZUFjdGlvbnMnOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm94eVJlbGVhc2VBY3Rpb25zKHVybCwgbWV0aG9kLCBib2R5KTtcbiAgICAgIGNhc2UgJ3NldEZyYW1lJzpcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlTZXRGcmFtZSh1cmwsIG1ldGhvZCwgYm9keSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBTYW1lIGFyZ3VtZW50cywgYnV0IGRpZmZlcmVudCBVUkxzXG4gICAgZm9yIChjb25zdCB7Y29tbWFuZE5hbWVzLCBqc29ud3BDb252ZXJ0ZXIsIHczY0NvbnZlcnRlcn0gb2YgQ09NTUFORF9VUkxTX0NPTkZMSUNUUykge1xuICAgICAgaWYgKCFjb21tYW5kTmFtZXMuaW5jbHVkZXMoY29tbWFuZE5hbWUpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXdyaXR0ZW5VcmwgPSB0aGlzLmRvd25zdHJlYW1Qcm90b2NvbCA9PT0gTUpTT05XUFxuICAgICAgICA/IGpzb253cENvbnZlcnRlcih1cmwpXG4gICAgICAgIDogdzNjQ29udmVydGVyKHVybCk7XG4gICAgICBpZiAocmV3cml0dGVuVXJsID09PSB1cmwpIHtcbiAgICAgICAgdGhpcy5sb2cuZGVidWcoYERpZCBub3Qga25vdyBob3cgdG8gcmV3cml0ZSB0aGUgb3JpZ2luYWwgVVJMICcke3VybH0nIGAgK1xuICAgICAgICAgIGBmb3IgJHt0aGlzLmRvd25zdHJlYW1Qcm90b2NvbH0gcHJvdG9jb2xgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLmxvZy5pbmZvKGBSZXdyb3RlIHRoZSBvcmlnaW5hbCBVUkwgJyR7dXJsfScgdG8gJyR7cmV3cml0dGVuVXJsfScgYCArXG4gICAgICAgIGBmb3IgJHt0aGlzLmRvd25zdHJlYW1Qcm90b2NvbH0gcHJvdG9jb2xgKTtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyhyZXdyaXR0ZW5VcmwsIG1ldGhvZCwgYm9keSk7XG4gICAgfVxuXG4gICAgLy8gTm8gbWF0Y2hlcyBmb3VuZC4gUHJvY2VlZCBub3JtYWxseVxuICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwgYm9keSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUHJvdG9jb2xDb252ZXJ0ZXI7XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export default JWProxy;
|
|
3
|
+
export class JWProxy {
|
|
4
|
+
constructor(opts?: {});
|
|
5
|
+
scheme: any;
|
|
6
|
+
_activeRequests: any[];
|
|
7
|
+
_downstreamProtocol: any;
|
|
8
|
+
httpAgent: http.Agent;
|
|
9
|
+
httpsAgent: https.Agent;
|
|
10
|
+
protocolConverter: ProtocolConverter;
|
|
11
|
+
_log: any;
|
|
12
|
+
get log(): any;
|
|
13
|
+
/**
|
|
14
|
+
* Performs requests to the downstream server
|
|
15
|
+
*
|
|
16
|
+
* @private - Do not call this method directly,
|
|
17
|
+
* it uses client-specific arguments and responses!
|
|
18
|
+
*
|
|
19
|
+
* @param {AxiosRequestConfig} requestConfig
|
|
20
|
+
* @returns {AxiosResponse}
|
|
21
|
+
*/
|
|
22
|
+
private request;
|
|
23
|
+
getActiveRequestsCount(): number;
|
|
24
|
+
cancelActiveRequests(): void;
|
|
25
|
+
endpointRequiresSessionId(endpoint: any): boolean;
|
|
26
|
+
set downstreamProtocol(arg: any);
|
|
27
|
+
get downstreamProtocol(): any;
|
|
28
|
+
getUrlForProxy(url: any): string;
|
|
29
|
+
proxy(url: any, method: any, body?: null): Promise<any[]>;
|
|
30
|
+
sessionId: any;
|
|
31
|
+
getProtocolFromResBody(resObj: any): string | undefined;
|
|
32
|
+
requestToCommandName(url: any, method: any): keyof import("@appium/types").ExternalDriver | undefined;
|
|
33
|
+
proxyCommand(url: any, method: any, body?: null): Promise<any>;
|
|
34
|
+
command(url: any, method: any, body?: null): Promise<any>;
|
|
35
|
+
getSessionIdFromUrl(url: any): any;
|
|
36
|
+
proxyReqRes(req: any, res: any): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
import http from "http";
|
|
39
|
+
import https from "https";
|
|
40
|
+
import ProtocolConverter from "./protocol-converter";
|
|
41
|
+
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/proxy.js"],"names":[],"mappings":";;AAwBA;IACE,uBAsBC;IAZC,YAAuC;IACvC,uBAAyB;IACzB,yBAA+B;IAM/B,sBAA0C;IAC1C,wBAA4C;IAC5C,qCAA+E;IAC/E,UAAoB;IAGtB,eAEC;IAED;;;;;;;;OAQG;IACH,gBAQC;IAED,iCAEC;IAED,6BAEC;IAED,kDAEC;IAED,iCAGC;IAED,8BAEC;IAED,iCA8CC;IAED,0DA2FC;IAjCO,eAA+D;IAmCvE,wDAOC;IAED,sGAaC;IAED,+DAQC;IAED,0DAuCC;IAED,mCAGC;IAED,+CAuCC;CACF"}
|