@appium/images-plugin 1.2.0 → 1.2.4

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.
@@ -1,22 +1,13 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
6
  exports.IMAGE_ELEMENT_PREFIX = exports.DEFAULT_TEMPLATE_IMAGE_SCALE = exports.IMAGE_EL_TAP_STRATEGY_W3C = exports.IMAGE_EL_TAP_STRATEGY_MJSONWP = exports.ImageElement = void 0;
16
7
  const lodash_1 = __importDefault(require("lodash"));
17
- const appium_base_driver_1 = require("appium-base-driver");
8
+ const base_driver_1 = require("@appium/base-driver");
18
9
  const logger_1 = __importDefault(require("./logger"));
19
- const appium_support_1 = require("appium-support");
10
+ const support_1 = require("@appium/support");
20
11
  const finder_1 = require("./finder");
21
12
  const IMAGE_ELEMENT_PREFIX = 'appium-image-element-';
22
13
  exports.IMAGE_ELEMENT_PREFIX = IMAGE_ELEMENT_PREFIX;
@@ -68,7 +59,7 @@ class ImageElement {
68
59
  constructor(b64Template, rect, score, b64Result = null, finder = null) {
69
60
  this.template = b64Template;
70
61
  this.rect = rect;
71
- this.id = `${IMAGE_ELEMENT_PREFIX}${appium_support_1.util.uuidV4()}`;
62
+ this.id = `${IMAGE_ELEMENT_PREFIX}${support_1.util.uuidV4()}`;
72
63
  this.b64MatchedImage = b64Result;
73
64
  this.score = score;
74
65
  this.finder = finder;
@@ -127,87 +118,85 @@ class ImageElement {
127
118
  *
128
119
  * @param {BaseDriver} driver - driver for calling actions with
129
120
  */
130
- click(driver) {
131
- return __awaiter(this, void 0, void 0, function* () {
132
- // before we click we need to make sure the element is actually still there
133
- // where we expect it to be
134
- let newImgEl;
135
- const settings = Object.assign({}, finder_1.DEFAULT_SETTINGS, driver.settings.getSettings());
136
- const { autoUpdateImageElementPosition: updatePos, checkForImageElementStaleness, imageElementTapStrategy, } = settings;
137
- // validate tap strategy
138
- if (!IMAGE_TAP_STRATEGIES.includes(imageElementTapStrategy)) {
139
- throw new Error(`Incorrect imageElementTapStrategy setting ` +
140
- `'${imageElementTapStrategy}'. Must be one of ` +
141
- JSON.stringify(IMAGE_TAP_STRATEGIES));
121
+ async click(driver) {
122
+ // before we click we need to make sure the element is actually still there
123
+ // where we expect it to be
124
+ let newImgEl;
125
+ const settings = Object.assign({}, finder_1.DEFAULT_SETTINGS, driver.settings.getSettings());
126
+ const { autoUpdateImageElementPosition: updatePos, checkForImageElementStaleness, imageElementTapStrategy, } = settings;
127
+ // validate tap strategy
128
+ if (!IMAGE_TAP_STRATEGIES.includes(imageElementTapStrategy)) {
129
+ throw new Error(`Incorrect imageElementTapStrategy setting ` +
130
+ `'${imageElementTapStrategy}'. Must be one of ` +
131
+ JSON.stringify(IMAGE_TAP_STRATEGIES));
132
+ }
133
+ if (checkForImageElementStaleness || updatePos) {
134
+ logger_1.default.info('Checking image element for staleness before clicking');
135
+ try {
136
+ newImgEl = await this.finder.findByImage(this.template, {
137
+ shouldCheckStaleness: true,
138
+ // Set ignoreDefaultImageTemplateScale because this.template is device screenshot based image
139
+ // managed inside Appium after finidng image by template which managed by a user
140
+ ignoreDefaultImageTemplateScale: true
141
+ });
142
142
  }
143
- if (checkForImageElementStaleness || updatePos) {
144
- logger_1.default.info('Checking image element for staleness before clicking');
145
- try {
146
- newImgEl = yield this.finder.findByImage(this.template, {
147
- shouldCheckStaleness: true,
148
- // Set ignoreDefaultImageTemplateScale because this.template is device screenshot based image
149
- // managed inside Appium after finidng image by template which managed by a user
150
- ignoreDefaultImageTemplateScale: true
151
- });
152
- }
153
- catch (err) {
154
- throw new appium_base_driver_1.errors.StaleElementReferenceError();
155
- }
156
- if (!this.equals(newImgEl)) {
157
- logger_1.default.warn(`When trying to click on an image element, the image changed ` +
158
- `position from where it was originally found. It is now at ` +
159
- `${JSON.stringify(newImgEl.rect)} and was originally at ` +
160
- `${JSON.stringify(this.rect)}.`);
161
- if (updatePos) {
162
- logger_1.default.warn('Click will proceed at new coordinates');
163
- this.rect = lodash_1.default.clone(newImgEl.rect);
164
- }
165
- else {
166
- logger_1.default.warn('Click will take place at original coordinates. If you ' +
167
- 'would like Appium to automatically click the new ' +
168
- "coordinates, set the 'autoUpdateImageElementPosition' " +
169
- 'setting to true');
170
- }
171
- }
143
+ catch (err) {
144
+ throw new base_driver_1.errors.StaleElementReferenceError();
172
145
  }
173
- const { x, y } = this.center;
174
- logger_1.default.info(`Will tap on image element at coordinate [${x}, ${y}]`);
175
- if (imageElementTapStrategy === IMAGE_EL_TAP_STRATEGY_W3C) {
176
- // set up a W3C action to click on the image by position
177
- logger_1.default.info('Will tap using W3C actions');
178
- const action = {
179
- type: 'pointer',
180
- id: 'mouse',
181
- parameters: { pointerType: 'touch' },
182
- actions: [
183
- { type: 'pointerMove', x, y, duration: 0 },
184
- { type: 'pointerDown', button: 0 },
185
- { type: 'pause', duration: TAP_DURATION_MS },
186
- { type: 'pointerUp', button: 0 },
187
- ]
188
- };
189
- // check if the driver has the appropriate performActions method
190
- if (driver.performActions) {
191
- return yield driver.performActions([action]);
146
+ if (!this.equals(newImgEl)) {
147
+ logger_1.default.warn(`When trying to click on an image element, the image changed ` +
148
+ `position from where it was originally found. It is now at ` +
149
+ `${JSON.stringify(newImgEl.rect)} and was originally at ` +
150
+ `${JSON.stringify(this.rect)}.`);
151
+ if (updatePos) {
152
+ logger_1.default.warn('Click will proceed at new coordinates');
153
+ this.rect = lodash_1.default.clone(newImgEl.rect);
154
+ }
155
+ else {
156
+ logger_1.default.warn('Click will take place at original coordinates. If you ' +
157
+ 'would like Appium to automatically click the new ' +
158
+ "coordinates, set the 'autoUpdateImageElementPosition' " +
159
+ 'setting to true');
192
160
  }
193
- // if not, warn and fall back to the other method
194
- logger_1.default.warn('Driver does not seem to implement W3C actions, falling back ' +
195
- 'to TouchActions');
196
161
  }
197
- // if the w3c strategy was not requested, do the only other option (mjsonwp
198
- // touch actions)
199
- logger_1.default.info('Will tap using MJSONWP TouchActions');
162
+ }
163
+ const { x, y } = this.center;
164
+ logger_1.default.info(`Will tap on image element at coordinate [${x}, ${y}]`);
165
+ if (imageElementTapStrategy === IMAGE_EL_TAP_STRATEGY_W3C) {
166
+ // set up a W3C action to click on the image by position
167
+ logger_1.default.info('Will tap using W3C actions');
200
168
  const action = {
201
- action: 'tap',
202
- options: { x, y }
169
+ type: 'pointer',
170
+ id: 'mouse',
171
+ parameters: { pointerType: 'touch' },
172
+ actions: [
173
+ { type: 'pointerMove', x, y, duration: 0 },
174
+ { type: 'pointerDown', button: 0 },
175
+ { type: 'pause', duration: TAP_DURATION_MS },
176
+ { type: 'pointerUp', button: 0 },
177
+ ]
203
178
  };
204
- if (driver.performTouch) {
205
- return yield driver.performTouch([action]);
179
+ // check if the driver has the appropriate performActions method
180
+ if (driver.performActions) {
181
+ return await driver.performActions([action]);
206
182
  }
207
- throw new Error("Driver did not implement the 'performTouch' command. " +
208
- 'For drivers to support finding image elements, they ' +
209
- "should support 'performTouch' and 'performActions'");
210
- });
183
+ // if not, warn and fall back to the other method
184
+ logger_1.default.warn('Driver does not seem to implement W3C actions, falling back ' +
185
+ 'to TouchActions');
186
+ }
187
+ // if the w3c strategy was not requested, do the only other option (mjsonwp
188
+ // touch actions)
189
+ logger_1.default.info('Will tap using MJSONWP TouchActions');
190
+ const action = {
191
+ action: 'tap',
192
+ options: { x, y }
193
+ };
194
+ if (driver.performTouch) {
195
+ return await driver.performTouch([action]);
196
+ }
197
+ throw new Error("Driver did not implement the 'performTouch' command. " +
198
+ 'For drivers to support finding image elements, they ' +
199
+ "should support 'performTouch' and 'performActions'");
211
200
  }
212
201
  /**
213
202
  * Handle various Appium commands that involve an image element
@@ -219,37 +208,35 @@ class ImageElement {
219
208
  *
220
209
  * @returns {Object} - the result of running a command
221
210
  */
222
- static execute(driver, imgEl, cmd, ...args) {
223
- return __awaiter(this, void 0, void 0, function* () {
224
- switch (cmd) {
225
- case 'click':
226
- return yield imgEl.click(driver);
227
- case 'elementDisplayed':
228
- return true;
229
- case 'getSize':
230
- return imgEl.size;
231
- case 'getLocation':
232
- case 'getLocationInView':
233
- return imgEl.location;
234
- case 'getElementRect':
235
- return imgEl.rect;
236
- case 'getAttribute':
237
- // /session/:sessionId/element/:elementId/attribute/:name
238
- // /session/:sessionId/element/:elementId/attribute/visual should retun the visual data
239
- // e.g. ["content-desc","appium-image-element-xxxxx","xxxxx"], ["visual","appium-image-element-xxxxx","xxxxx"]
240
- switch (args[0]) {
241
- case 'visual':
242
- return imgEl.matchedImage;
243
- case 'score':
244
- return imgEl.score;
245
- default:
246
- throw new appium_base_driver_1.errors.NotYetImplementedError();
247
- }
248
- default: throw new appium_base_driver_1.errors.NotYetImplementedError();
249
- }
250
- });
211
+ static async execute(driver, imgEl, cmd, ...args) {
212
+ switch (cmd) {
213
+ case 'click':
214
+ return await imgEl.click(driver);
215
+ case 'elementDisplayed':
216
+ return true;
217
+ case 'getSize':
218
+ return imgEl.size;
219
+ case 'getLocation':
220
+ case 'getLocationInView':
221
+ return imgEl.location;
222
+ case 'getElementRect':
223
+ return imgEl.rect;
224
+ case 'getAttribute':
225
+ // /session/:sessionId/element/:elementId/attribute/:name
226
+ // /session/:sessionId/element/:elementId/attribute/visual should retun the visual data
227
+ // e.g. ["content-desc","appium-image-element-xxxxx","xxxxx"], ["visual","appium-image-element-xxxxx","xxxxx"]
228
+ switch (args[0]) {
229
+ case 'visual':
230
+ return imgEl.matchedImage;
231
+ case 'score':
232
+ return imgEl.score;
233
+ default:
234
+ throw new base_driver_1.errors.NotYetImplementedError();
235
+ }
236
+ default: throw new base_driver_1.errors.NotYetImplementedError();
237
+ }
251
238
  }
252
239
  }
253
240
  exports.default = ImageElement;
254
241
  exports.ImageElement = ImageElement;
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9pbWFnZS1lbGVtZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUF1QjtBQUN2QiwyREFBNEM7QUFDNUMsc0RBQTJCO0FBQzNCLG1EQUFzQztBQUN0QyxxQ0FBNEM7QUFFNUMsTUFBTSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQztBQTRQckIsb0RBQW9CO0FBM1BwRCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUM7QUFDNUIsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUM7QUF5UEEsOERBQXlCO0FBeFB4RSxNQUFNLDZCQUE2QixHQUFHLGNBQWMsQ0FBQztBQXdQckMsc0VBQTZCO0FBdlA3QyxNQUFNLG9CQUFvQixHQUFHO0lBQzNCLDZCQUE2QjtJQUM3Qix5QkFBeUI7Q0FDMUIsQ0FBQztBQUNGLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxDQUFDO0FBb1B2QyxvRUFBNEI7QUFsUDlCOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFFSDs7OztHQUlHO0FBRUg7OztHQUdHO0FBQ0gsTUFBcUIsWUFBWTtJQUUvQjs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQWEsV0FBVyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxHQUFHLElBQUksRUFBRSxNQUFNLEdBQUcsSUFBSTtRQUNwRSxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsb0JBQW9CLEdBQUcscUJBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFD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
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9pbWFnZS1lbGVtZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUF1QjtBQUN2QixxREFBNkM7QUFDN0Msc0RBQTJCO0FBQzNCLDZDQUF1QztBQUN2QyxxQ0FBNEM7QUFFNUMsTUFBTSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQztBQTRQckIsb0RBQW9CO0FBM1BwRCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUM7QUFDNUIsTUFBTSx5QkFBeUIsR0FBRyxZQUFZLENBQUM7QUF5UEEsOERBQXlCO0FBeFB4RSxNQUFNLDZCQUE2QixHQUFHLGNBQWMsQ0FBQztBQXdQckMsc0VBQTZCO0FBdlA3QyxNQUFNLG9CQUFvQixHQUFHO0lBQzNCLDZCQUE2QjtJQUM3Qix5QkFBeUI7Q0FDMUIsQ0FBQztBQUNGLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxDQUFDO0FBb1B2QyxvRUFBNEI7QUFsUDlCOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFFSDs7OztHQUlHO0FBRUg7OztHQUdHO0FBQ0gsTUFBcUIsWUFBWTtJQUUvQjs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQWEsV0FBVyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxHQUFHLElBQUksRUFBRSxNQUFNLEdBQUcsSUFBSTtRQUNwRSxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsb0JBQW9CLEdBQUcsY0FBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FB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
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const appium_support_1 = require("appium-support");
4
- const log = appium_support_1.logger.getLogger('ImageElementPlugin');
3
+ const support_1 = require("@appium/support");
4
+ const log = support_1.logger.getLogger('ImageElementPlugin');
5
5
  exports.default = log;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1EQUF3QztBQUN4QyxNQUFNLEdBQUcsR0FBRyx1QkFBTSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ25ELGtCQUFlLEdBQUcsQ0FBQyJ9
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUF5QztBQUN6QyxNQUFNLEdBQUcsR0FBRyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ25ELGtCQUFlLEdBQUcsQ0FBQyJ9
@@ -1,48 +1,16 @@
1
1
  "use strict";
2
2
  /* eslint-disable no-case-declarations */
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
6
- }) : (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- o[k2] = m[k];
9
- }));
10
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
11
- Object.defineProperty(o, "default", { enumerable: true, value: v });
12
- }) : function(o, v) {
13
- o["default"] = v;
14
- });
15
- var __importStar = (this && this.__importStar) || function (mod) {
16
- if (mod && mod.__esModule) return mod;
17
- var result = {};
18
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
19
- __setModuleDefault(result, mod);
20
- return result;
21
- };
22
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
23
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24
- return new (P || (P = Promise))(function (resolve, reject) {
25
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
26
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
27
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
28
- step((generator = generator.apply(thisArg, _arguments || [])).next());
29
- });
30
- };
31
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
32
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
33
5
  };
34
6
  Object.defineProperty(exports, "__esModule", { value: true });
35
7
  exports.IMAGE_STRATEGY = exports.getImgElFromArgs = exports.ImageElementPlugin = void 0;
36
8
  const lodash_1 = __importDefault(require("lodash"));
37
- const appium_base_driver_1 = require("appium-base-driver");
9
+ const base_driver_1 = require("@appium/base-driver");
38
10
  const base_plugin_1 = __importDefault(require("@appium/base-plugin"));
39
11
  const compare_1 = require("./compare");
40
- const finder_1 = __importStar(require("./finder"));
12
+ const finder_1 = __importDefault(require("./finder"));
41
13
  const image_element_1 = require("./image-element");
42
- const IMG_EL_BODY_RE = new RegExp(`"(${finder_1.W3C_ELEMENT_KEY}|${finder_1.MJSONWP_ELEMENT_KEY})":\s*` + // eslint-disable-line no-useless-escape
43
- `"${image_element_1.IMAGE_ELEMENT_PREFIX}[^"]+"`);
44
- const IMG_EL_URL_RE = new RegExp(`/(element|screenshot)` +
45
- `/${image_element_1.IMAGE_ELEMENT_PREFIX}[^/]+`);
46
14
  const IMAGE_STRATEGY = '-image';
47
15
  exports.IMAGE_STRATEGY = IMAGE_STRATEGY;
48
16
  function getImgElFromArgs(args) {
@@ -58,67 +26,37 @@ class ImageElementPlugin extends base_plugin_1.default {
58
26
  super(pluginName);
59
27
  this.finder = new finder_1.default();
60
28
  }
61
- shouldAvoidProxy(method, route, body) {
62
- // if it looks like we have an image element in the url (as a route
63
- // parameter), never proxy. Just look for our image element prefix in allowed
64
- // positions (either after an 'element' or 'screenshot' path segment), and
65
- // ensure the prefix is followed by something
66
- if (IMG_EL_URL_RE.test(route)) {
67
- return true;
68
- }
69
- // also if it looks like we have an image element in the request body (as
70
- // a JSON parameter), never proxy. Basically check against a regexp of the
71
- // json string of the body, where we know what the form of an image element
72
- // must be
73
- if (body) {
74
- const stringBody = JSON.stringify(body);
75
- if (stringBody && IMG_EL_BODY_RE.test(stringBody)) {
76
- return true;
77
- }
78
- }
79
- return false;
29
+ async compareImages(next, driver, ...args) {
30
+ return await (0, compare_1.compareImages)(...args);
80
31
  }
81
- compareImages(next, driver, ...args) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- return yield compare_1.compareImages(...args);
84
- });
32
+ async findElement(next, driver, ...args) {
33
+ return await this._find(false, next, driver, ...args);
85
34
  }
86
- findElement(next, driver, ...args) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- return yield this._find(false, next, driver, ...args);
89
- });
35
+ async findElements(next, driver, ...args) {
36
+ return await this._find(true, next, driver, ...args);
90
37
  }
91
- findElements(next, driver, ...args) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- return yield this._find(true, next, driver, ...args);
94
- });
95
- }
96
- _find(multiple, next, driver, ...args) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- const [strategy, selector] = args;
99
- // if we're not actually finding by image, just do the normal thing
100
- if (strategy !== IMAGE_STRATEGY) {
101
- return yield next();
102
- }
103
- this.finder.setDriver(driver);
104
- return yield this.finder.findByImage(selector, { multiple });
105
- });
38
+ async _find(multiple, next, driver, ...args) {
39
+ const [strategy, selector] = args;
40
+ // if we're not actually finding by image, just do the normal thing
41
+ if (strategy !== IMAGE_STRATEGY) {
42
+ return await next();
43
+ }
44
+ this.finder.setDriver(driver);
45
+ return await this.finder.findByImage(selector, { multiple });
106
46
  }
107
- handle(next, driver, cmdName, ...args) {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- // if we have a command that involves an image element id, attempt to find the image element
110
- // and execute the command on it
111
- const imgElId = getImgElFromArgs(args);
112
- if (imgElId) {
113
- if (!this.finder.imgElCache.has(imgElId)) {
114
- throw new appium_base_driver_1.errors.NoSuchElementError();
115
- }
116
- const imgEl = this.finder.imgElCache.get(imgElId);
117
- return yield image_element_1.ImageElement.execute(driver, imgEl, cmdName, ...args);
47
+ async handle(next, driver, cmdName, ...args) {
48
+ // if we have a command that involves an image element id, attempt to find the image element
49
+ // and execute the command on it
50
+ const imgElId = getImgElFromArgs(args);
51
+ if (imgElId) {
52
+ if (!this.finder.imgElCache.has(imgElId)) {
53
+ throw new base_driver_1.errors.NoSuchElementError();
118
54
  }
119
- // otherwise just do the normal thing
120
- return yield next();
121
- });
55
+ const imgEl = this.finder.imgElCache.get(imgElId);
56
+ return await image_element_1.ImageElement.execute(driver, imgEl, cmdName, ...args);
57
+ }
58
+ // otherwise just do the normal thing
59
+ return await next();
122
60
  }
123
61
  }
124
62
  exports.default = ImageElementPlugin;
@@ -132,7 +70,8 @@ ImageElementPlugin.newMethodMap = {
132
70
  required: ['mode', 'firstImage', 'secondImage'],
133
71
  optional: ['options']
134
72
  },
73
+ neverProxy: true,
135
74
  }
136
75
  },
137
76
  };
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3BsdWdpbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUNBQXlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpDLG9EQUF1QjtBQUN2QiwyREFBNEM7QUFDNUMsc0VBQTZDO0FBQzdDLHVDQUEwQztBQUMxQyxtREFBb0Y7QUFDcEYsbURBQXFFO0FBRXJFLE1BQU0sY0FBYyxHQUFHLElBQUksTUFBTSxDQUMvQixLQUFLLHdCQUFlLElBQUksNEJBQW1CLFFBQVEsR0FBRyx3Q0FBd0M7SUFDOUYsSUFBSSxvQ0FBb0IsUUFBUSxDQUNqQyxDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUcsSUFBSSxNQUFNLENBQzlCLHVCQUF1QjtJQUN2QixJQUFJLG9DQUFvQixPQUFPLENBQ2hDLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUM7QUErRmUsd0NBQWM7QUE3RjdELFNBQVMsZ0JBQWdCLENBQUUsSUFBSTtJQUM3QixLQUFLLElBQUksR0FBRyxJQUFJLElBQUksRUFBRTtRQUNwQixJQUFJLGdCQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsb0NBQW9CLENBQUMsRUFBRTtZQUMzRCxPQUFPLEdBQUcsQ0FBQztTQUNaO0tBQ0Y7QUFDSCxDQUFDO0FBdUY0Qiw0Q0FBZ0I7QUFyRjdDLE1BQXFCLGtCQUFtQixTQUFRLHFCQUFVO0lBRXhELFlBQWEsVUFBVTtRQUNyQixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGdCQUFrQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQWVELGdCQUFnQixDQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSTtRQUNuQyxtRUFBbUU7UUFDbkUsNkVBQTZFO1FBQzdFLDBFQUEwRTtRQUMxRSw2Q0FBNkM7UUFDN0Ms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
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3BsdWdpbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUNBQXlDOzs7Ozs7QUFFekMsb0RBQXVCO0FBQ3ZCLHFEQUE2QztBQUM3QyxzRUFBNkM7QUFDN0MsdUNBQTBDO0FBQzFDLHNEQUEwQztBQUMxQyxtREFBcUU7QUFFckUsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDO0FBd0VlLHdDQUFjO0FBdEU3RCxTQUFTLGdCQUFnQixDQUFFLElBQUk7SUFDN0IsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7UUFDcEIsSUFBSSxnQkFBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLG9DQUFvQixDQUFDLEVBQUU7WUFDM0QsT0FBTyxHQUFHLENBQUM7U0FDWjtLQUNGO0FBQ0gsQ0FBQztBQWdFNEIsNENBQWdCO0FBOUQ3QyxNQUFxQixrQkFBbUIsU0FBUSxxQkFBVTtJQUV4RCxZQUFhLFVBQVU7UUFDckIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxnQkFBa0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFnQkQsS0FBSyxDQUFDLGFBQWEsQ0FBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSTtRQUN4QyxPQUFPLE1BQU0sSUFBQSx1QkFBYSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUk7UUFDdEMsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSTtRQUN2QyxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSTtRQUMxQyxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUVsQyxtRUFBbUU7UUFDbkUsSUFBSSxRQUFRLEtBQUssY0FBYyxFQUFFO1lBQy9CLE9BQU8sTUFBTSxJQUFJLEVBQUUsQ0FBQztTQUNyQjtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSTtRQUMxQyw0RkFBNEY7UUFDNUYsZ0NBQWdDO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDeEMsTUFBTSxJQUFJLG9CQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUN2QztZQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsRCxPQUFPLE1BQU0sNEJBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUNwRTtRQUVELHFDQUFxQztRQUNyQyxPQUFPLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7QUEzREgscUNBNERDO0FBRVEsZ0RBQWtCO0FBdkR6QiwrREFBK0Q7QUFDeEQsK0JBQVksR0FBRztJQUNwQiwyQ0FBMkMsRUFBRTtRQUMzQyxJQUFJLEVBQUU7WUFDSixPQUFPLEVBQUUsZUFBZTtZQUN4QixhQUFhLEVBQUU7Z0JBQ2IsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxhQUFhLENBQUM7Z0JBQy9DLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQzthQUN0QjtZQUNELFVBQVUsRUFBRSxJQUFJO1NBQ2pCO0tBQ0Y7Q0FDRixDQUFDIn0=
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const path_1 = __importDefault(require("path"));
7
+ const APPIUM_HOME = path_1.default.resolve(__dirname, '..', '..', '..', 'local_appium_home');
8
+ // need to assign this before appium is imported via e2eSetup
9
+ process.env.APPIUM_HOME = APPIUM_HOME;
15
10
  const chai_1 = __importDefault(require("chai"));
16
11
  const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
17
- const path_1 = __importDefault(require("path"));
18
12
  const webdriverio_1 = require("webdriverio");
19
13
  const compare_1 = require("../../lib/compare");
20
14
  const fixtures_1 = require("../fixtures");
@@ -22,10 +16,8 @@ const helpers_1 = require("@appium/base-plugin/build/test/helpers");
22
16
  chai_1.default.use(chai_as_promised_1.default);
23
17
  chai_1.default.should();
24
18
  const THIS_PLUGIN_DIR = path_1.default.resolve(__dirname, '..', '..', '..');
25
- const APPIUM_HOME = path_1.default.resolve(__dirname, '..', '..', '..', 'local_appium_home');
26
19
  const TEST_HOST = 'localhost';
27
- const TEST_PORT = 4723;
28
- const TEST_FAKE_APP = path_1.default.resolve(APPIUM_HOME, 'appium-fake-driver', 'node_modules', 'appium-fake-driver', 'test', 'fixtures', 'app.xml');
20
+ const TEST_FAKE_APP = path_1.default.resolve(APPIUM_HOME, '@appium', 'fake-driver', 'node_modules', '@appium', 'fake-driver', 'test', 'fixtures', 'app.xml');
29
21
  const TEST_CAPS = {
30
22
  platformName: 'Fake',
31
23
  'appium:automationName': 'Fake',
@@ -34,44 +26,37 @@ const TEST_CAPS = {
34
26
  };
35
27
  const WDIO_OPTS = {
36
28
  hostname: TEST_HOST,
37
- port: TEST_PORT,
38
29
  connectionRetryCount: 0,
39
30
  capabilities: TEST_CAPS
40
31
  };
41
32
  describe('ImageElementPlugin', function () {
42
33
  let server, driver = null;
43
- after(function () {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- if (driver) {
46
- yield driver.deleteSession();
47
- }
48
- });
34
+ after(async function () {
35
+ if (driver) {
36
+ await driver.deleteSession();
37
+ }
49
38
  });
50
- helpers_1.e2eSetup({
51
- before, after, server, port: TEST_PORT, host: TEST_HOST, appiumHome: APPIUM_HOME,
52
- driverName: 'fake', driverSource: 'npm', driverSpec: 'appium-fake-driver',
53
- pluginName: 'images', pluginSource: 'local', pluginSpec: THIS_PLUGIN_DIR,
39
+ (0, helpers_1.e2eSetup)({
40
+ before, after, server, host: TEST_HOST, driverName: 'fake', driverSource: 'npm',
41
+ driverSpec: '@appium/fake-driver', pluginName: 'images', pluginSource: 'local',
42
+ pluginSpec: THIS_PLUGIN_DIR,
54
43
  });
55
- it('should add the compareImages route', function () {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- driver = yield webdriverio_1.remote(WDIO_OPTS);
58
- let comparison = yield driver.compareImages(compare_1.MATCH_FEATURES_MODE, fixtures_1.TEST_IMG_1_B64, fixtures_1.TEST_IMG_2_B64, {});
59
- comparison.count.should.eql(0);
60
- comparison = yield driver.compareImages(compare_1.GET_SIMILARITY_MODE, fixtures_1.TEST_IMG_1_B64, fixtures_1.TEST_IMG_2_B64, {});
61
- comparison.score.should.be.above(0.2);
62
- });
44
+ it('should add the compareImages route', async function () {
45
+ driver = await (0, webdriverio_1.remote)({ ...WDIO_OPTS, port: this.port });
46
+ let comparison = await driver.compareImages(compare_1.MATCH_FEATURES_MODE, fixtures_1.TEST_IMG_1_B64, fixtures_1.TEST_IMG_2_B64, {});
47
+ comparison.count.should.eql(0);
48
+ comparison = await driver.compareImages(compare_1.GET_SIMILARITY_MODE, fixtures_1.TEST_IMG_1_B64, fixtures_1.TEST_IMG_2_B64, {});
49
+ comparison.score.should.be.above(0.2);
63
50
  });
64
- it('should find and interact with image elements', function () {
65
- return __awaiter(this, void 0, void 0, function* () {
66
- const imageEl = yield driver.$(fixtures_1.APPSTORE_IMG_PATH);
67
- const { x, y } = yield imageEl.getLocation();
68
- const { width, height } = yield imageEl.getSize();
69
- x.should.eql(28);
70
- y.should.eql(72);
71
- width.should.eql(80);
72
- height.should.eql(91);
73
- yield imageEl.click();
74
- });
51
+ it('should find and interact with image elements', async function () {
52
+ const imageEl = await driver.$(fixtures_1.APPSTORE_IMG_PATH);
53
+ const { x, y } = await imageEl.getLocation();
54
+ const { width, height } = await imageEl.getSize();
55
+ x.should.eql(28);
56
+ y.should.eql(72);
57
+ width.should.eql(80);
58
+ height.should.eql(91);
59
+ await imageEl.click();
75
60
  });
76
61
  });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWUyZS1zcGVjcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvZTJlL3BsdWdpbi1lMmUtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsd0VBQThDO0FBQzlDLGdEQUF3QjtBQUN4Qiw2Q0FBNkM7QUFDN0MsK0NBQTZFO0FBQzdFLDBDQUFnRjtBQUNoRixvRUFBa0U7QUFFbEUsY0FBSSxDQUFDLEdBQUcsQ0FBQywwQkFBYyxDQUFDLENBQUM7QUFDekIsY0FBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBRWQsTUFBTSxlQUFlLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNsRSxNQUFNLFdBQVcsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBQ25GLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUM5QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUM7QUFDdkIsTUFBTSxhQUFhLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQzNGLFNBQVMsQ0FBQyxDQUFDO0FBQzlDLE1BQU0sU0FBUyxHQUFHO0lBQ2hCLFlBQVksRUFBRSxNQUFNO0lBQ3BCLHVCQUF1QixFQUFFLE1BQU07SUFDL0IsbUJBQW1CLEVBQUUsTUFBTTtJQUMzQixZQUFZLEVBQUUsYUFBYTtDQUM1QixDQUFDO0FBQ0YsTUFBTSxTQUFTLEdBQUc7SUFDaEIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsSUFBSSxFQUFFLFNBQVM7SUFDZixvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZCLFlBQVksRUFBRSxTQUFTO0NBQ3hCLENBQUM7QUFFRixRQUFRLENBQUMsb0JBQW9CLEVBQUU7SUFDN0IsSUFBSSxNQUFNLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQztJQUUxQixLQUFLLENBQUM7O1lBQ0osSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsTUFBTSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDOUI7UUFDSCxDQUFDO0tBQUEsQ0FBQyxDQUFDO0lBRUgsa0JBQVEsQ0FBQztRQUNQLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVztRQUNoRixVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLG9CQUFvQjtRQUN6RSxVQUFVLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWU7S0FDekUsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG9DQUFvQyxFQUFFOztZQUN2QyxNQUFNLEdBQUcsTUFBTSxvQkFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLElBQUksVUFBVSxHQUFHLE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyw2QkFBbUIsRUFBRSx5QkFBYyxFQUFFLHlCQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckcsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLFVBQVUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsNkJBQW1CLEVBQUUseUJBQWMsRUFBRSx5QkFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pHLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsQ0FBQztLQUFBLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRTs7WUFDakQsTUFBTSxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsQ0FBQyxDQUFDLDRCQUFpQixDQUFDLENBQUM7WUFDbEQsTUFBTSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQyxNQUFNLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hELENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pCLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLENBQUM7S0FBQSxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWUyZS1zcGVjcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvZTJlL3BsdWdpbi1lMmUtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsTUFBTSxXQUFXLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUNuRiw2REFBNkQ7QUFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0FBRXRDLGdEQUF3QjtBQUN4Qix3RUFBOEM7QUFDOUMsNkNBQTZDO0FBQzdDLCtDQUE2RTtBQUM3RSwwQ0FBZ0Y7QUFDaEYsb0VBQWtFO0FBRWxFLGNBQUksQ0FBQyxHQUFHLENBQUMsMEJBQWMsQ0FBQyxDQUFDO0FBQ3pCLGNBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUVkLE1BQU0sZUFBZSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEUsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBQzlCLE1BQU0sYUFBYSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUN0RixTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDM0QsTUFBTSxTQUFTLEdBQUc7SUFDaEIsWUFBWSxFQUFFLE1BQU07SUFDcEIsdUJBQXVCLEVBQUUsTUFBTTtJQUMvQixtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLFlBQVksRUFBRSxhQUFhO0NBQzVCLENBQUM7QUFDRixNQUFNLFNBQVMsR0FBRztJQUNoQixRQUFRLEVBQUUsU0FBUztJQUNuQixvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZCLFlBQVksRUFBRSxTQUFTO0NBQ3hCLENBQUM7QUFFRixRQUFRLENBQUMsb0JBQW9CLEVBQUU7SUFDN0IsSUFBSSxNQUFNLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQztJQUUxQixLQUFLLENBQUMsS0FBSztRQUNULElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsa0JBQVEsRUFBQztRQUNQLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSztRQUMvRSxVQUFVLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTztRQUM5RSxVQUFVLEVBQUUsZUFBZTtLQUM1QixDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsb0NBQW9DLEVBQUUsS0FBSztRQUM1QyxNQUFNLEdBQUcsTUFBTSxJQUFBLG9CQUFJLEVBQUMsRUFBQyxHQUFHLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEdBQUcsTUFBTSxNQUFNLENBQUMsYUFBYSxDQUFDLDZCQUFtQixFQUFFLHlCQUFjLEVBQUUseUJBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsVUFBVSxHQUFHLE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyw2QkFBbUIsRUFBRSx5QkFBYyxFQUFFLHlCQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakcsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxLQUFLO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLENBQUMsQ0FBQyw0QkFBaUIsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0MsTUFBTSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoRCxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=