eyes_selenium 3.17.18 → 3.17.19

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e700b0c089d4a160a733d968b4b8d20bc2e4fe1278fe8d12e4a540d7283eac43
4
- data.tar.gz: a9e7fc99fd7a904f421fc3b887e2bf89e58b8e8a5d8769f8936da39acd13cc7e
3
+ metadata.gz: 6289f627e365bab6d1a0c3908dd1af84e838492ba38778c90aa190374fb1dc71
4
+ data.tar.gz: 343c13925eb6c8c6e1d443aed4b73a102765b24389b8a0f31a03f6d328506eb2
5
5
  SHA512:
6
- metadata.gz: e6b9d50e867587b2114fae5fce160fc7ea58a46e8c65e75227856b91b4f519cb95935d999eb6edd7f67081d8b81a4bcfbd0935f7722e596f31029a4df233b9d7
7
- data.tar.gz: 53bd3a39ef344ffe9a5ac904033a29f82cf8f34c9e066f12b3f4d050d990014214ebe22963114d41ba712a912e2c9b904bd2eb694a8523cff85024e782f56fcf
6
+ metadata.gz: bb7e4c3cb57a319a8477d3f06de322875f3619eef31ff5f8f43291440d3cc7920bebee51b85887866aca9921fd4745548600811e56784accb602750f362df4e9
7
+ data.tar.gz: abc47d3ac64cc4f80e42b74329dac0dbcf0de0fb8d70989af4f55acd8190c0fbf2934ed6d1061b7c5e6cfe937a7210b7c05b2b490a50ad9c1b8b69731bff8b59
@@ -4,1024 +4,16 @@ module Applitools
4
4
  module Selenium
5
5
  module Scripts
6
6
  PROCESS_PAGE_AND_POLL = <<'END'
7
- /* @applitools/dom-snapshot@3.1.4 */
7
+ /* @applitools/dom-snapshot@4.0.5 */
8
8
 
9
9
  function __processPageAndSerializePoll() {
10
- var processPageAndSerializePoll = (function () {
11
- 'use strict';
12
-
13
- const EYES_NAME_SPACE = '__EYES__APPLITOOLS__';
14
-
15
- function pullify(script, win = window) {
16
- return function() {
17
- const scriptName = script.name;
18
- if (!win[EYES_NAME_SPACE]) {
19
- win[EYES_NAME_SPACE] = {};
20
- }
21
- if (!win[EYES_NAME_SPACE][scriptName]) {
22
- win[EYES_NAME_SPACE][scriptName] = {
23
- status: 'WIP',
24
- value: null,
25
- error: null,
26
- };
27
- script
28
- .apply(null, arguments)
29
- .then(r => ((resultObject.status = 'SUCCESS'), (resultObject.value = r)))
30
- .catch(e => ((resultObject.status = 'ERROR'), (resultObject.error = e.message)));
31
- }
32
-
33
- const resultObject = win[EYES_NAME_SPACE][scriptName];
34
- if (resultObject.status === 'SUCCESS') {
35
- win[EYES_NAME_SPACE][scriptName] = null;
36
- }
37
-
38
- return JSON.stringify(resultObject);
39
- };
40
- }
41
-
42
- var pollify = pullify;
43
-
44
- // This code was copied and modified from https://github.com/beatgammit/base64-js/blob/bf68aaa277/index.js
45
- // License: https://github.com/beatgammit/base64-js/blob/bf68aaa277d9de7007cc0c58279c411bb10670ac/LICENSE
46
-
47
- function arrayBufferToBase64(ab) {
48
- const lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');
49
-
50
- const uint8 = new Uint8Array(ab);
51
- const len = uint8.length;
52
- const extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes
53
- const parts = [];
54
- const maxChunkLength = 16383; // must be multiple of 3
55
-
56
- let tmp;
57
-
58
- // go through the array every three bytes, we'll deal with trailing stuff later
59
- for (let i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
60
- parts.push(encodeChunk(i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));
61
- }
62
-
63
- // pad the end with zeros, but make sure to not forget the extra bytes
64
- if (extraBytes === 1) {
65
- tmp = uint8[len - 1];
66
- parts.push(lookup[tmp >> 2] + lookup[(tmp << 4) & 0x3f] + '==');
67
- } else if (extraBytes === 2) {
68
- tmp = (uint8[len - 2] << 8) + uint8[len - 1];
69
- parts.push(lookup[tmp >> 10] + lookup[(tmp >> 4) & 0x3f] + lookup[(tmp << 2) & 0x3f] + '=');
70
- }
71
-
72
- return parts.join('');
73
-
74
- function tripletToBase64(num) {
75
- return (
76
- lookup[(num >> 18) & 0x3f] +
77
- lookup[(num >> 12) & 0x3f] +
78
- lookup[(num >> 6) & 0x3f] +
79
- lookup[num & 0x3f]
80
- );
81
- }
82
-
83
- function encodeChunk(start, end) {
84
- let tmp;
85
- const output = [];
86
- for (let i = start; i < end; i += 3) {
87
- tmp = ((uint8[i] << 16) & 0xff0000) + ((uint8[i + 1] << 8) & 0xff00) + (uint8[i + 2] & 0xff);
88
- output.push(tripletToBase64(tmp));
89
- }
90
- return output.join('');
91
- }
92
- }
93
-
94
- var arrayBufferToBase64_1 = arrayBufferToBase64;
95
-
96
- function extractLinks(doc = document) {
97
- const srcsetUrls = Array.from(doc.querySelectorAll('img[srcset],source[srcset]'))
98
- .map(srcsetEl =>
99
- srcsetEl
100
- .getAttribute('srcset')
101
- .split(', ')
102
- .map(str => str.trim().split(/\s+/)[0]),
103
- )
104
- .reduce((acc, urls) => acc.concat(urls), []);
105
-
106
- const srcUrls = Array.from(
107
- doc.querySelectorAll('img[src],source[src],input[type="image"][src]'),
108
- ).map(srcEl => srcEl.getAttribute('src'));
109
-
110
- const imageUrls = Array.from(doc.querySelectorAll('image,use'))
111
- .map(hrefEl => hrefEl.getAttribute('href') || hrefEl.getAttribute('xlink:href'))
112
- .filter(u => u && u[0] !== '#');
113
-
114
- const objectUrls = Array.from(doc.querySelectorAll('object'))
115
- .map(el => el.getAttribute('data'))
116
- .filter(Boolean);
117
-
118
- const cssUrls = Array.from(doc.querySelectorAll('link[rel="stylesheet"]')).map(link =>
119
- link.getAttribute('href'),
120
- );
121
-
122
- const videoPosterUrls = Array.from(doc.querySelectorAll('video[poster]')).map(videoEl =>
123
- videoEl.getAttribute('poster'),
124
- );
125
-
126
- return Array.from(srcsetUrls)
127
- .concat(Array.from(srcUrls))
128
- .concat(Array.from(imageUrls))
129
- .concat(Array.from(cssUrls))
130
- .concat(Array.from(videoPosterUrls))
131
- .concat(Array.from(objectUrls));
132
- }
133
-
134
- var extractLinks_1 = extractLinks;
135
-
136
- function uuid() {
137
- return window.crypto.getRandomValues(new Uint32Array(1))[0];
138
- }
139
-
140
- var uuid_1 = uuid;
141
-
142
- function isInlineFrame(frame) {
143
- return (
144
- !/^https?:.+/.test(frame.src) ||
145
- (frame.contentDocument &&
146
- frame.contentDocument.location &&
147
- frame.contentDocument.location.href === 'about:blank')
148
- );
149
- }
150
-
151
- var isInlineFrame_1 = isInlineFrame;
152
-
153
- function isAccessibleFrame(frame) {
154
- try {
155
- const doc = frame.contentDocument;
156
- return !!(doc && doc.defaultView && doc.defaultView.frameElement);
157
- } catch (err) {
158
- // for CORS frames
159
- }
160
- }
161
-
162
- var isAccessibleFrame_1 = isAccessibleFrame;
163
-
164
- function absolutizeUrl(url, absoluteUrl) {
165
- return new URL(url, absoluteUrl).href;
166
- }
167
-
168
- var absolutizeUrl_1 = absolutizeUrl;
169
-
170
- const NEED_MAP_INPUT_TYPES = new Set([
171
- 'date',
172
- 'datetime-local',
173
- 'email',
174
- 'month',
175
- 'number',
176
- 'password',
177
- 'search',
178
- 'tel',
179
- 'text',
180
- 'time',
181
- 'url',
182
- 'week',
183
- ]);
184
-
185
- function domNodesToCdt(docNode, baseUrl) {
186
- const cdt = [{nodeType: Node.DOCUMENT_NODE}];
187
- const docRoots = [docNode];
188
- const canvasElements = [];
189
- const inlineFrames = [];
190
-
191
- cdt[0].childNodeIndexes = childrenFactory(cdt, docNode.childNodes);
192
- return {cdt, docRoots, canvasElements, inlineFrames};
193
-
194
- function childrenFactory(cdt, elementNodes) {
195
- if (!elementNodes || elementNodes.length === 0) return null;
196
-
197
- const childIndexes = [];
198
- Array.prototype.forEach.call(elementNodes, elementNode => {
199
- const index = elementNodeFactory(cdt, elementNode);
200
- if (index !== null) {
201
- childIndexes.push(index);
202
- }
203
- });
204
- return childIndexes;
205
- }
206
-
207
- function elementNodeFactory(cdt, elementNode) {
208
- let node, manualChildNodeIndexes, dummyUrl;
209
- const {nodeType} = elementNode;
210
-
211
- if ([Node.ELEMENT_NODE, Node.DOCUMENT_FRAGMENT_NODE].includes(nodeType)) {
212
- if (elementNode.nodeName !== 'SCRIPT') {
213
- if (
214
- elementNode.nodeName === 'STYLE' &&
215
- elementNode.sheet &&
216
- elementNode.sheet.cssRules.length
217
- ) {
218
- cdt.push(getCssRulesNode(elementNode));
219
- manualChildNodeIndexes = [cdt.length - 1];
220
- }
221
-
222
- if (elementNode.tagName === 'TEXTAREA' && elementNode.value !== elementNode.textContent) {
223
- cdt.push(getTextContentNode(elementNode));
224
- manualChildNodeIndexes = [cdt.length - 1];
225
- }
226
-
227
- node = getBasicNode(elementNode);
228
- node.childNodeIndexes =
229
- manualChildNodeIndexes ||
230
- (elementNode.childNodes.length ? childrenFactory(cdt, elementNode.childNodes) : []);
231
-
232
- if (elementNode.shadowRoot) {
233
- node.shadowRootIndex = elementNodeFactory(cdt, elementNode.shadowRoot);
234
- docRoots.push(elementNode.shadowRoot);
235
- }
236
-
237
- if (elementNode.nodeName === 'CANVAS') {
238
- dummyUrl = absolutizeUrl_1(`applitools-canvas-${uuid_1()}.png`, baseUrl);
239
- node.attributes.push({name: 'data-applitools-src', value: dummyUrl});
240
- canvasElements.push({element: elementNode, url: dummyUrl});
241
- }
242
-
243
- if (
244
- elementNode.nodeName === 'IFRAME' &&
245
- isAccessibleFrame_1(elementNode) &&
246
- isInlineFrame_1(elementNode)
247
- ) {
248
- dummyUrl = absolutizeUrl_1(`?applitools-iframe=${uuid_1()}`, baseUrl);
249
- node.attributes.push({name: 'data-applitools-src', value: dummyUrl});
250
- inlineFrames.push({element: elementNode, url: dummyUrl});
251
- }
252
- } else {
253
- node = getScriptNode(elementNode);
254
- }
255
- } else if (nodeType === Node.TEXT_NODE) {
256
- node = getTextNode(elementNode);
257
- } else if (nodeType === Node.DOCUMENT_TYPE_NODE) {
258
- node = getDocNode(elementNode);
259
- }
260
-
261
- if (node) {
262
- cdt.push(node);
263
- return cdt.length - 1;
264
- } else {
265
- return null;
266
- }
267
- }
268
-
269
- function nodeAttributes({attributes = {}}) {
270
- return Object.keys(attributes).filter(k => attributes[k] && attributes[k].name);
271
- }
272
-
273
- function getCssRulesNode(elementNode) {
274
- return {
275
- nodeType: Node.TEXT_NODE,
276
- nodeValue: Array.from(elementNode.sheet.cssRules)
277
- .map(rule => rule.cssText)
278
- .join(''),
279
- };
280
- }
281
-
282
- function getTextContentNode(elementNode) {
283
- return {
284
- nodeType: Node.TEXT_NODE,
285
- nodeValue: elementNode.value,
286
- };
287
- }
288
-
289
- function getBasicNode(elementNode) {
290
- const node = {
291
- nodeType: elementNode.nodeType,
292
- nodeName: elementNode.nodeName,
293
- attributes: nodeAttributes(elementNode).map(key => {
294
- let value = elementNode.attributes[key].value;
295
- const name = elementNode.attributes[key].name;
296
- if (/^blob:/.test(value)) {
297
- value = value.replace(/^blob:/, '');
298
- }
299
- return {
300
- name,
301
- value,
302
- };
303
- }),
304
- };
305
-
306
- if (elementNode.tagName === 'INPUT' && ['checkbox', 'radio'].includes(elementNode.type)) {
307
- if (elementNode.attributes.checked && !elementNode.checked) {
308
- const idx = node.attributes.findIndex(a => a.name === 'checked');
309
- node.attributes.splice(idx, 1);
310
- }
311
- if (!elementNode.attributes.checked && elementNode.checked) {
312
- node.attributes.push({name: 'checked'});
313
- }
314
- }
315
-
316
- if (
317
- elementNode.tagName === 'INPUT' &&
318
- NEED_MAP_INPUT_TYPES.has(elementNode.type) &&
319
- (elementNode.attributes.value && elementNode.attributes.value.value) !== elementNode.value
320
- ) {
321
- const nodeAttr = node.attributes.find(a => a.name === 'value');
322
- if (nodeAttr) {
323
- nodeAttr.value = elementNode.value;
324
- } else {
325
- node.attributes.push({name: 'value', value: elementNode.value});
326
- }
327
- }
328
-
329
- if (elementNode.tagName === 'OPTION' && elementNode.parentElement.value === elementNode.value) {
330
- const nodeAttr = node.attributes.find(a => a.name === 'selected');
331
- if (!nodeAttr) {
332
- node.attributes.push({name: 'selected', value: ''});
333
- }
334
- }
335
- return node;
336
- }
337
-
338
- function getScriptNode(elementNode) {
339
- return {
340
- nodeType: Node.ELEMENT_NODE,
341
- nodeName: 'SCRIPT',
342
- attributes: nodeAttributes(elementNode)
343
- .map(key => ({
344
- name: elementNode.attributes[key].name,
345
- value: elementNode.attributes[key].value,
346
- }))
347
- .filter(attr => attr.name !== 'src'),
348
- childNodeIndexes: [],
349
- };
350
- }
351
-
352
- function getTextNode(elementNode) {
353
- return {
354
- nodeType: Node.TEXT_NODE,
355
- nodeValue: elementNode.nodeValue,
356
- };
357
- }
358
-
359
- function getDocNode(elementNode) {
360
- return {
361
- nodeType: Node.DOCUMENT_TYPE_NODE,
362
- nodeName: elementNode.nodeName,
363
- };
364
- }
365
- }
366
-
367
- var domNodesToCdt_1 = domNodesToCdt;
368
-
369
- function uniq(arr) {
370
- const result = [];
371
- new Set(arr).forEach(v => v && result.push(v));
372
- return result;
373
- }
374
-
375
- var uniq_1 = uniq;
376
-
377
- function aggregateResourceUrlsAndBlobs(resourceUrlsAndBlobsArr) {
378
- return resourceUrlsAndBlobsArr.reduce(
379
- ({resourceUrls: allResourceUrls, blobsObj: allBlobsObj}, {resourceUrls, blobsObj}) => ({
380
- resourceUrls: uniq_1(allResourceUrls.concat(resourceUrls)),
381
- blobsObj: Object.assign(allBlobsObj, blobsObj),
382
- }),
383
- {resourceUrls: [], blobsObj: {}},
384
- );
385
- }
386
-
387
- var aggregateResourceUrlsAndBlobs_1 = aggregateResourceUrlsAndBlobs;
388
-
389
- function makeGetResourceUrlsAndBlobs({processResource, aggregateResourceUrlsAndBlobs}) {
390
- return function getResourceUrlsAndBlobs({documents, urls, forceCreateStyle = false}) {
391
- return Promise.all(
392
- urls.map(url => processResource({url, documents, getResourceUrlsAndBlobs, forceCreateStyle})),
393
- ).then(resourceUrlsAndBlobsArr => aggregateResourceUrlsAndBlobs(resourceUrlsAndBlobsArr));
394
- };
395
- }
396
-
397
- var getResourceUrlsAndBlobs = makeGetResourceUrlsAndBlobs;
398
-
399
- function filterInlineUrl(absoluteUrl) {
400
- return /^(blob|https?):/.test(absoluteUrl);
401
- }
402
-
403
- var filterInlineUrl_1 = filterInlineUrl;
404
-
405
- function toUnAnchoredUri(url) {
406
- const m = url && url.match(/(^[^#]*)/);
407
- const res = (m && m[1]) || url;
408
- return (res && res.replace(/\?\s*$/, '')) || url;
409
- }
410
-
411
- var toUnAnchoredUri_1 = toUnAnchoredUri;
412
-
413
- var noop = () => {};
414
-
415
- function flat(arr) {
416
- return arr.reduce((flatArr, item) => flatArr.concat(item), []);
417
- }
418
-
419
- var flat_1 = flat;
420
-
421
- function makeProcessResource({
422
- fetchUrl,
423
- findStyleSheetByUrl,
424
- getCorsFreeStyleSheet,
425
- extractResourcesFromStyleSheet,
426
- extractResourcesFromSvg,
427
- sessionCache,
428
- cache = {},
429
- log = noop,
430
- }) {
431
- return function processResource({
432
- url,
433
- documents,
434
- getResourceUrlsAndBlobs,
435
- forceCreateStyle = false,
436
- }) {
437
- if (!cache[url]) {
438
- if (sessionCache && sessionCache.getItem(url)) {
439
- const resourceUrls = getDependencies(url);
440
- log('doProcessResource from sessionStorage', url, 'deps:', resourceUrls.slice(1));
441
- cache[url] = Promise.resolve({resourceUrls});
442
- } else {
443
- const now = Date.now();
444
- cache[url] = doProcessResource(url).then(result => {
445
- log('doProcessResource', `[${Date.now() - now}ms]`, url);
446
- return result;
447
- });
448
- }
449
- }
450
- return cache[url];
451
-
452
- function doProcessResource(url) {
453
- log('fetching', url);
454
- const now = Date.now();
455
- return fetchUrl(url)
456
- .catch(e => {
457
- if (probablyCORS(e)) {
458
- return {probablyCORS: true, url};
459
- } else {
460
- throw e;
461
- }
462
- })
463
- .then(({url, type, value, probablyCORS}) => {
464
- if (probablyCORS) {
465
- sessionCache && sessionCache.setItem(url, []);
466
- return {resourceUrls: [url]};
467
- }
468
-
469
- log('fetched', `[${Date.now() - now}ms]`, url);
470
-
471
- const thisBlob = {[url]: {type, value}};
472
- let dependentUrls;
473
- if (/text\/css/.test(type)) {
474
- let styleSheet = findStyleSheetByUrl(url, documents);
475
- if (styleSheet || forceCreateStyle) {
476
- const {corsFreeStyleSheet, cleanStyleSheet} = getCorsFreeStyleSheet(
477
- value,
478
- styleSheet,
479
- );
480
- dependentUrls = extractResourcesFromStyleSheet(corsFreeStyleSheet);
481
- cleanStyleSheet();
482
- }
483
- } else if (/image\/svg/.test(type)) {
484
- try {
485
- dependentUrls = extractResourcesFromSvg(value);
486
- forceCreateStyle = !!dependentUrls;
487
- } catch (e) {
488
- console.log('could not parse svg content', e);
489
- }
490
- }
491
-
492
- if (dependentUrls) {
493
- const absoluteDependentUrls = dependentUrls
494
- .map(resourceUrl => absolutizeUrl_1(resourceUrl, url.replace(/^blob:/, '')))
495
- .map(toUnAnchoredUri_1)
496
- .filter(filterInlineUrl_1);
497
-
498
- sessionCache && sessionCache.setItem(url, absoluteDependentUrls);
499
-
500
- return getResourceUrlsAndBlobs({
501
- documents,
502
- urls: absoluteDependentUrls,
503
- forceCreateStyle,
504
- }).then(({resourceUrls, blobsObj}) => ({
505
- resourceUrls,
506
- blobsObj: Object.assign(blobsObj, thisBlob),
507
- }));
508
- } else {
509
- sessionCache && sessionCache.setItem(url, []);
510
- return {blobsObj: thisBlob};
511
- }
512
- })
513
- .catch(err => {
514
- log('error while fetching', url, err);
515
- sessionCache && clearFromSessionStorage();
516
- return {};
517
- });
518
- }
519
-
520
- function probablyCORS(err) {
521
- const msg =
522
- err.message &&
523
- (err.message.includes('Failed to fetch') || err.message.includes('Network request failed'));
524
- const name = err.name && err.name.includes('TypeError');
525
- return msg && name;
526
- }
527
-
528
- function getDependencies(url) {
529
- const dependentUrls = sessionCache.getItem(url);
530
- return [url].concat(dependentUrls ? uniq_1(flat_1(dependentUrls.map(getDependencies))) : []);
531
- }
532
-
533
- function clearFromSessionStorage() {
534
- log('clearing from sessionStorage:', url);
535
- sessionCache.keys().forEach(key => {
536
- const dependentUrls = sessionCache.getItem(key);
537
- sessionCache.setItem(key, dependentUrls.filter(dep => dep !== url));
538
- });
539
- log('cleared from sessionStorage:', url);
540
- }
541
- };
542
- }
543
-
544
- var processResource = makeProcessResource;
545
-
546
- function getUrlFromCssText(cssText) {
547
- const re = /url\((?!['"]?:)['"]?([^'")]*)['"]?\)/g;
548
- const ret = [];
549
- let result;
550
- while ((result = re.exec(cssText)) !== null) {
551
- ret.push(result[1]);
552
- }
553
- return ret;
554
- }
555
-
556
- var getUrlFromCssText_1 = getUrlFromCssText;
557
-
558
- function makeExtractResourcesFromSvg({parser, decoder, extractResourceUrlsFromStyleTags}) {
559
- return function(svgArrayBuffer) {
560
- const decooder = decoder || new TextDecoder('utf-8');
561
- const svgStr = decooder.decode(svgArrayBuffer);
562
- const domparser = parser || new DOMParser();
563
- const doc = domparser.parseFromString(svgStr, 'image/svg+xml');
564
-
565
- const srcsetUrls = Array.from(doc.querySelectorAll('img[srcset]'))
566
- .map(srcsetEl =>
567
- srcsetEl
568
- .getAttribute('srcset')
569
- .split(', ')
570
- .map(str => str.trim().split(/\s+/)[0]),
571
- )
572
- .reduce((acc, urls) => acc.concat(urls), []);
573
-
574
- const srcUrls = Array.from(doc.querySelectorAll('img[src]')).map(srcEl =>
575
- srcEl.getAttribute('src'),
576
- );
577
-
578
- const fromHref = Array.from(doc.querySelectorAll('image,use,link[rel="stylesheet"]')).map(
579
- e => e.getAttribute('href') || e.getAttribute('xlink:href'),
580
- );
581
- const fromObjects = Array.from(doc.getElementsByTagName('object')).map(e =>
582
- e.getAttribute('data'),
583
- );
584
- const fromStyleTags = extractResourceUrlsFromStyleTags(doc, false);
585
- const fromStyleAttrs = urlsFromStyleAttrOfDoc(doc);
586
-
587
- return srcsetUrls
588
- .concat(srcUrls)
589
- .concat(fromHref)
590
- .concat(fromObjects)
591
- .concat(fromStyleTags)
592
- .concat(fromStyleAttrs)
593
- .filter(u => u[0] !== '#');
594
- };
595
- }
596
-
597
- function urlsFromStyleAttrOfDoc(doc) {
598
- return flat_1(
599
- Array.from(doc.querySelectorAll('*[style]'))
600
- .map(e => e.style.cssText)
601
- .map(getUrlFromCssText_1)
602
- .filter(Boolean),
603
- );
604
- }
605
-
606
- var makeExtractResourcesFromSvg_1 = makeExtractResourcesFromSvg;
607
-
608
- /* global window */
609
-
610
- function fetchUrl(url, fetch = window.fetch) {
611
- // Why return a `new Promise` like this? Because people like Atlassian do horrible things.
612
- // They monkey patched window.fetch, and made it so it throws a synchronous exception if the route is not well known.
613
- // Returning a new Promise guarantees that `fetchUrl` is the async function that it declares to be.
614
- return new Promise((resolve, reject) => {
615
- return fetch(url, {cache: 'force-cache', credentials: 'same-origin'})
616
- .then(resp =>
617
- resp.status === 200
618
- ? resp.arrayBuffer().then(buff => ({
619
- url,
620
- type: resp.headers.get('Content-Type'),
621
- value: buff,
622
- }))
623
- : Promise.reject(`bad status code ${resp.status}`),
624
- )
625
- .then(resolve)
626
- .catch(err => reject(err));
627
- });
628
- }
629
-
630
- var fetchUrl_1 = fetchUrl;
631
-
632
- function sanitizeAuthUrl(urlStr) {
633
- const url = new URL(urlStr);
634
- if (url.username && url.password) {
635
- return urlStr.replace(`${url.username}:${url.password}@`, '');
636
- }
637
- return urlStr;
638
- }
639
-
640
- var sanitizeAuthUrl_1 = sanitizeAuthUrl;
641
-
642
- function makeFindStyleSheetByUrl({styleSheetCache}) {
643
- return function findStyleSheetByUrl(url, documents) {
644
- const allStylesheets = flat_1(documents.map(d => Array.from(d.styleSheets)));
645
- return (
646
- styleSheetCache[url] ||
647
- allStylesheets.find(styleSheet => {
648
- const styleUrl = styleSheet.href && toUnAnchoredUri_1(styleSheet.href);
649
- return styleUrl && sanitizeAuthUrl_1(styleUrl) === url;
650
- })
651
- );
652
- };
653
- }
654
-
655
- var findStyleSheetByUrl = makeFindStyleSheetByUrl;
656
-
657
- function makeExtractResourcesFromStyleSheet({styleSheetCache, CSSRule = window.CSSRule}) {
658
- return function extractResourcesFromStyleSheet(styleSheet) {
659
- const urls = uniq_1(
660
- Array.from(styleSheet.cssRules || []).reduce((acc, rule) => {
661
- const getRuleUrls = {
662
- [CSSRule.IMPORT_RULE]: () => {
663
- if (rule.styleSheet) {
664
- styleSheetCache[rule.styleSheet.href] = rule.styleSheet;
665
- return rule.href;
666
- }
667
- },
668
- [CSSRule.FONT_FACE_RULE]: () => getUrlFromCssText_1(rule.cssText),
669
- [CSSRule.SUPPORTS_RULE]: () => extractResourcesFromStyleSheet(rule),
670
- [CSSRule.MEDIA_RULE]: () => extractResourcesFromStyleSheet(rule),
671
- [CSSRule.STYLE_RULE]: () => {
672
- let rv = [];
673
- for (let i = 0, ii = rule.style.length; i < ii; i++) {
674
- const urls = getUrlFromCssText_1(rule.style.getPropertyValue(rule.style[i]));
675
- rv = rv.concat(urls);
676
- }
677
- return rv;
678
- },
679
- }[rule.type];
680
-
681
- const urls = (getRuleUrls && getRuleUrls()) || [];
682
- return acc.concat(urls);
683
- }, []),
684
- );
685
- return urls.filter(u => u[0] !== '#');
686
- };
687
- }
688
-
689
- var extractResourcesFromStyleSheet = makeExtractResourcesFromStyleSheet;
690
-
691
- function extractResourceUrlsFromStyleAttrs(cdt) {
692
- return cdt.reduce((acc, node) => {
693
- if (node.nodeType === 1) {
694
- const styleAttr =
695
- node.attributes && node.attributes.find(attr => attr.name.toUpperCase() === 'STYLE');
696
-
697
- if (styleAttr) acc = acc.concat(getUrlFromCssText_1(styleAttr.value));
698
- }
699
- return acc;
700
- }, []);
701
- }
702
-
703
- var extractResourceUrlsFromStyleAttrs_1 = extractResourceUrlsFromStyleAttrs;
704
-
705
- function makeExtractResourceUrlsFromStyleTags(extractResourcesFromStyleSheet) {
706
- return function extractResourceUrlsFromStyleTags(doc, onlyDocStylesheet = true) {
707
- return uniq_1(
708
- Array.from(doc.querySelectorAll('style')).reduce((resourceUrls, styleEl) => {
709
- const styleSheet = onlyDocStylesheet
710
- ? Array.from(doc.styleSheets).find(styleSheet => styleSheet.ownerNode === styleEl)
711
- : styleEl.sheet;
712
- return styleSheet
713
- ? resourceUrls.concat(extractResourcesFromStyleSheet(styleSheet))
714
- : resourceUrls;
715
- }, []),
716
- );
717
- };
718
- }
719
-
720
- var extractResourceUrlsFromStyleTags = makeExtractResourceUrlsFromStyleTags;
721
-
722
- function createTempStylsheet(cssArrayBuffer) {
723
- const cssText = new TextDecoder('utf-8').decode(cssArrayBuffer);
724
- const head = document.head || document.querySelectorAll('head')[0];
725
- const style = document.createElement('style');
726
- style.type = 'text/css';
727
- style.setAttribute('data-desc', 'Applitools tmp variable created by DOM SNAPSHOT');
728
- head.appendChild(style);
729
-
730
- // This is required for IE8 and below.
731
- if (style.styleSheet) {
732
- style.styleSheet.cssText = cssText;
733
- } else {
734
- style.appendChild(document.createTextNode(cssText));
735
- }
736
- return style.sheet;
737
- }
738
-
739
- var createTempStyleSheet = createTempStylsheet;
740
-
741
- function getCorsFreeStyleSheet(cssArrayBuffer, styleSheet) {
742
- let corsFreeStyleSheet;
743
- if (styleSheet) {
744
- try {
745
- styleSheet.cssRules;
746
- corsFreeStyleSheet = styleSheet;
747
- } catch (e) {
748
- console.log(
749
- `[dom-snapshot] could not access cssRules for ${styleSheet.href} ${e}\ncreating temp style for access.`,
750
- );
751
- corsFreeStyleSheet = createTempStyleSheet(cssArrayBuffer);
752
- }
753
- } else {
754
- corsFreeStyleSheet = createTempStyleSheet(cssArrayBuffer);
755
- }
756
-
757
- return {corsFreeStyleSheet, cleanStyleSheet};
758
-
759
- function cleanStyleSheet() {
760
- if (corsFreeStyleSheet !== styleSheet) {
761
- corsFreeStyleSheet.ownerNode.parentNode.removeChild(corsFreeStyleSheet.ownerNode);
762
- }
763
- }
764
- }
765
-
766
- var getCorsFreeStyleSheet_1 = getCorsFreeStyleSheet;
767
-
768
- function base64ToArrayBuffer(base64) {
769
- var binary_string = window.atob(base64);
770
- var len = binary_string.length;
771
- var bytes = new Uint8Array(len);
772
- for (var i = 0; i < len; i++) {
773
- bytes[i] = binary_string.charCodeAt(i);
774
- }
775
- return bytes.buffer;
776
- }
777
-
778
- var base64ToArrayBuffer_1 = base64ToArrayBuffer;
779
-
780
- function buildCanvasBlobs(canvasElements) {
781
- return canvasElements.map(({url, element}) => {
782
- const data = element.toDataURL('image/png');
783
- const value = base64ToArrayBuffer_1(data.split(',')[1]);
784
- return {url, type: 'image/png', value};
785
- });
786
- }
787
-
788
- var buildCanvasBlobs_1 = buildCanvasBlobs;
789
-
790
- function extractFrames(documents = [document]) {
791
- const iframes = flat_1(
792
- documents.map(d => Array.from(d.querySelectorAll('iframe[src]:not([src=""])'))),
793
- );
794
-
795
- return iframes.filter(f => isAccessibleFrame_1(f) && !isInlineFrame_1(f)).map(f => f.contentDocument);
796
- }
797
-
798
- var extractFrames_1 = extractFrames;
799
-
800
- const getBaesUrl = function(doc) {
801
- const baseUrl = doc.querySelectorAll('base')[0] && doc.querySelectorAll('base')[0].href;
802
- if (baseUrl && isUrl(baseUrl)) {
803
- return baseUrl;
804
- }
805
- };
806
-
807
- function isUrl(url) {
808
- return url && !/^(about:blank|javascript:void|blob:)/.test(url);
809
- }
810
-
811
- var getBaseUrl = getBaesUrl;
812
-
813
- function toUriEncoding(url) {
814
- const result =
815
- (url &&
816
- url.replace(/(\\[0-9a-fA-F]{1,6}\s?)/g, s => {
817
- const int = parseInt(s.substr(1).trim(), 16);
818
- return String.fromCodePoint(int);
819
- })) ||
820
- url;
821
- return result;
822
- }
823
-
824
- var toUriEncoding_1 = toUriEncoding;
825
-
826
- function makeLog(referenceTime) {
827
- return function log() {
828
- const args = ['[dom-snapshot]', `[+${Date.now() - referenceTime}ms]`].concat(
829
- Array.from(arguments),
830
- );
831
- console.log.apply(console, args);
832
- };
833
- }
834
-
835
- var log = makeLog;
836
-
837
- const RESOURCE_STORAGE_KEY = '__process_resource';
838
-
839
- function makeSessionCache({log, sessionStorage}) {
840
- let sessionStorageCache;
841
- try {
842
- sessionStorage = sessionStorage || window.sessionStorage;
843
- const sessionStorageCacheStr = sessionStorage.getItem(RESOURCE_STORAGE_KEY);
844
- sessionStorageCache = sessionStorageCacheStr ? JSON.parse(sessionStorageCacheStr) : {};
845
- } catch (ex) {
846
- log('error creating session cache', ex);
847
- }
848
-
849
- return {
850
- getItem,
851
- setItem,
852
- keys,
853
- persist,
854
- };
855
-
856
- function getItem(key) {
857
- if (sessionStorageCache) {
858
- return sessionStorageCache[key];
859
- }
860
- }
861
-
862
- function setItem(key, value) {
863
- if (sessionStorageCache) {
864
- log('saving to in-memory sessionStorage, key:', key, 'value:', value);
865
- sessionStorageCache[key] = value;
866
- }
867
- }
868
-
869
- function keys() {
870
- if (sessionStorageCache) {
871
- return Object.keys(sessionStorageCache);
872
- } else {
873
- return [];
874
- }
875
- }
876
-
877
- function persist() {
878
- if (sessionStorageCache) {
879
- sessionStorage.setItem(RESOURCE_STORAGE_KEY, JSON.stringify(sessionStorageCache));
880
- }
881
- }
882
- }
883
-
884
- var sessionCache = makeSessionCache;
885
-
886
- function processPage(doc = document, {showLogs, useSessionCache, dontFetchResources} = {}) {
887
- const log$$1 = showLogs ? log(Date.now()) : noop;
888
- log$$1('processPage start');
889
- const sessionCache$$1 = useSessionCache && sessionCache({log: log$$1});
890
- const styleSheetCache = {};
891
- const extractResourcesFromStyleSheet$$1 = extractResourcesFromStyleSheet({styleSheetCache});
892
- const findStyleSheetByUrl$$1 = findStyleSheetByUrl({styleSheetCache});
893
- const extractResourceUrlsFromStyleTags$$1 = extractResourceUrlsFromStyleTags(
894
- extractResourcesFromStyleSheet$$1,
895
- );
896
-
897
- const extractResourcesFromSvg = makeExtractResourcesFromSvg_1({extractResourceUrlsFromStyleTags: extractResourceUrlsFromStyleTags$$1});
898
- const processResource$$1 = processResource({
899
- fetchUrl: fetchUrl_1,
900
- findStyleSheetByUrl: findStyleSheetByUrl$$1,
901
- getCorsFreeStyleSheet: getCorsFreeStyleSheet_1,
902
- extractResourcesFromStyleSheet: extractResourcesFromStyleSheet$$1,
903
- extractResourcesFromSvg,
904
- absolutizeUrl: absolutizeUrl_1,
905
- log: log$$1,
906
- sessionCache: sessionCache$$1,
907
- });
908
-
909
- const getResourceUrlsAndBlobs$$1 = getResourceUrlsAndBlobs({
910
- processResource: processResource$$1,
911
- aggregateResourceUrlsAndBlobs: aggregateResourceUrlsAndBlobs_1,
912
- });
913
-
914
- return doProcessPage(doc).then(result => {
915
- log$$1('processPage end');
916
- return result;
917
- });
918
-
919
- function doProcessPage(doc, pageUrl = doc.location.href) {
920
- const baseUrl = getBaseUrl(doc) || pageUrl;
921
- const {cdt, docRoots, canvasElements, inlineFrames} = domNodesToCdt_1(doc, baseUrl);
922
-
923
- const linkUrls = flat_1(docRoots.map(extractLinks_1));
924
- const styleTagUrls = flat_1(docRoots.map(extractResourceUrlsFromStyleTags$$1));
925
- const absolutizeThisUrl = getAbsolutizeByUrl(baseUrl);
926
- const urls = uniq_1(
927
- Array.from(linkUrls)
928
- .concat(Array.from(styleTagUrls))
929
- .concat(extractResourceUrlsFromStyleAttrs_1(cdt)),
930
- )
931
- .map(toUriEncoding_1)
932
- .map(absolutizeThisUrl)
933
- .map(toUnAnchoredUri_1)
934
- .filter(filterInlineUrlsIfExisting);
935
-
936
- const resourceUrlsAndBlobsPromise = dontFetchResources
937
- ? Promise.resolve({resourceUrls: urls, blobsObj: {}})
938
- : getResourceUrlsAndBlobs$$1({documents: docRoots, urls}).then(result => {
939
- sessionCache$$1 && sessionCache$$1.persist();
940
- return result;
941
- });
942
- const canvasBlobs = buildCanvasBlobs_1(canvasElements);
943
- const frameDocs = extractFrames_1(docRoots);
944
-
945
- const processFramesPromise = frameDocs.map(f =>
946
- doProcessPage(f, f.defaultView.frameElement.src),
947
- );
948
- const processInlineFramesPromise = inlineFrames.map(({element, url}) =>
949
- doProcessPage(element.contentDocument, url),
950
- );
951
-
952
- const srcAttr =
953
- doc.defaultView &&
954
- doc.defaultView.frameElement &&
955
- doc.defaultView.frameElement.getAttribute('src');
956
-
957
- return Promise.all(
958
- [resourceUrlsAndBlobsPromise].concat(processFramesPromise).concat(processInlineFramesPromise),
959
- ).then(function(resultsWithFrameResults) {
960
- const {resourceUrls, blobsObj} = resultsWithFrameResults[0];
961
- const framesResults = resultsWithFrameResults.slice(1);
962
- return {
963
- cdt,
964
- url: pageUrl,
965
- srcAttr,
966
- resourceUrls: resourceUrls.map(url => url.replace(/^blob:/, '')),
967
- blobs: blobsObjToArray(blobsObj).concat(canvasBlobs),
968
- frames: framesResults,
969
- };
970
- });
971
- }
972
- }
973
-
974
- function getAbsolutizeByUrl(url) {
975
- return function(someUrl) {
976
- try {
977
- return absolutizeUrl_1(someUrl, url);
978
- } catch (err) {
979
- // can't do anything with a non-absolute url
980
- }
981
- };
982
- }
983
-
984
- function blobsObjToArray(blobsObj) {
985
- return Object.keys(blobsObj).map(blobUrl =>
986
- Object.assign(
987
- {
988
- url: blobUrl.replace(/^blob:/, ''),
989
- },
990
- blobsObj[blobUrl],
991
- ),
992
- );
993
- }
994
-
995
- function filterInlineUrlsIfExisting(absoluteUrl) {
996
- return absoluteUrl && filterInlineUrl_1(absoluteUrl);
997
- }
998
-
999
- var processPage_1 = processPage;
1000
-
1001
- function processPageAndSerialize() {
1002
- return processPage_1.apply(this, arguments).then(serializeFrame);
1003
- }
1004
-
1005
- function serializeFrame(frame) {
1006
- frame.blobs = frame.blobs.map(({url, type, value}) => ({
1007
- url,
1008
- type,
1009
- value: arrayBufferToBase64_1(value),
1010
- }));
1011
- frame.frames.forEach(serializeFrame);
1012
- return frame;
1013
- }
1014
-
1015
- var processPageAndSerialize_1 = processPageAndSerialize;
1016
-
1017
- var processPageAndSerializePoll = pollify(processPageAndSerialize_1);
1018
-
1019
- return processPageAndSerializePoll;
1020
-
1021
- }());
10
+ var processPageAndSerializePoll=function(){"use strict";const e="__EYES__APPLITOOLS__";var t=function(t,n=window){return function(){const r=t.name;n[e]||(n[e]={}),n[e][r]||(n[e][r]={status:"WIP",value:null,error:null},t.apply(null,arguments).then(e=>(o.status="SUCCESS",o.value=e)).catch(e=>(o.status="ERROR",o.error=e.message)));const o=n[e][r];return"SUCCESS"===o.status&&(n[e][r]=null),JSON.stringify(o)}};var n=function(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),n=new Uint8Array(e),r=n.length,o=r%3,a=[];let i;for(let e=0,t=r-o;e<t;e+=16383)a.push(s(e,e+16383>t?t:e+16383));return 1===o?(i=n[r-1],a.push(t[i>>2]+t[i<<4&63]+"==")):2===o&&(i=(n[r-2]<<8)+n[r-1],a.push(t[i>>10]+t[i>>4&63]+t[i<<2&63]+"=")),a.join("");function s(e,r){let o;const a=[];for(let s=e;s<r;s+=3)o=(n[s]<<16&16711680)+(n[s+1]<<8&65280)+(255&n[s+2]),a.push(t[(i=o)>>18&63]+t[i>>12&63]+t[i>>6&63]+t[63&i]);var i;return a.join("")}};var r=function(){return window.crypto.getRandomValues(new Uint32Array(1))[0]};var o=function(e){return!/^https?:.+/.test(e.src)||e.contentDocument&&e.contentDocument.location&&["about:blank","about:srcdoc"].includes(e.contentDocument.location.href)};var a=function(e){try{const t=e.contentDocument;return Boolean(t&&t.defaultView&&t.defaultView.frameElement)}catch(e){}};var i=function(e,t){return new URL(e,t).href};function s(e){return{prev:null,next:null,data:e}}function l(e,t,n){var r;return null!==u?(r=u,u=u.cursor,r.prev=t,r.next=n,r.cursor=e.cursor):r={prev:t,next:n,cursor:e.cursor},e.cursor=r,r}function c(e){var t=e.cursor;e.cursor=t.cursor,t.prev=null,t.next=null,t.cursor=u,u=t}var u=null,h=function(){this.cursor=null,this.head=null,this.tail=null};h.createItem=s,h.prototype.createItem=s,h.prototype.updateCursors=function(e,t,n,r){for(var o=this.cursor;null!==o;)o.prev===e&&(o.prev=t),o.next===n&&(o.next=r),o=o.cursor},h.prototype.getSize=function(){for(var e=0,t=this.head;t;)e++,t=t.next;return e},h.prototype.fromArray=function(e){var t=null;this.head=null;for(var n=0;n<e.length;n++){var r=s(e[n]);null!==t?t.next=r:this.head=r,r.prev=t,t=r}return this.tail=t,this},h.prototype.toArray=function(){for(var e=this.head,t=[];e;)t.push(e.data),e=e.next;return t},h.prototype.toJSON=h.prototype.toArray,h.prototype.isEmpty=function(){return null===this.head},h.prototype.first=function(){return this.head&&this.head.data},h.prototype.last=function(){return this.tail&&this.tail.data},h.prototype.each=function(e,t){var n;void 0===t&&(t=this);for(var r=l(this,null,this.head);null!==r.next;)n=r.next,r.next=n.next,e.call(t,n.data,n,this);c(this)},h.prototype.forEach=h.prototype.each,h.prototype.eachRight=function(e,t){var n;void 0===t&&(t=this);for(var r=l(this,this.tail,null);null!==r.prev;)n=r.prev,r.prev=n.prev,e.call(t,n.data,n,this);c(this)},h.prototype.forEachRight=h.prototype.eachRight,h.prototype.nextUntil=function(e,t,n){if(null!==e){var r;void 0===n&&(n=this);for(var o=l(this,null,e);null!==o.next&&(r=o.next,o.next=r.next,!t.call(n,r.data,r,this)););c(this)}},h.prototype.prevUntil=function(e,t,n){if(null!==e){var r;void 0===n&&(n=this);for(var o=l(this,e,null);null!==o.prev&&(r=o.prev,o.prev=r.prev,!t.call(n,r.data,r,this)););c(this)}},h.prototype.some=function(e,t){var n=this.head;for(void 0===t&&(t=this);null!==n;){if(e.call(t,n.data,n,this))return!0;n=n.next}return!1},h.prototype.map=function(e,t){var n=new h,r=this.head;for(void 0===t&&(t=this);null!==r;)n.appendData(e.call(t,r.data,r,this)),r=r.next;return n},h.prototype.filter=function(e,t){var n=new h,r=this.head;for(void 0===t&&(t=this);null!==r;)e.call(t,r.data,r,this)&&n.appendData(r.data),r=r.next;return n},h.prototype.clear=function(){this.head=null,this.tail=null},h.prototype.copy=function(){for(var e=new h,t=this.head;null!==t;)e.insert(s(t.data)),t=t.next;return e},h.prototype.prepend=function(e){return this.updateCursors(null,e,this.head,e),null!==this.head?(this.head.prev=e,e.next=this.head):this.tail=e,this.head=e,this},h.prototype.prependData=function(e){return this.prepend(s(e))},h.prototype.append=function(e){return this.insert(e)},h.prototype.appendData=function(e){return this.insert(s(e))},h.prototype.insert=function(e,t){if(null!=t)if(this.updateCursors(t.prev,e,t,e),null===t.prev){if(this.head!==t)throw new Error("before doesn't belong to list");this.head=e,t.prev=e,e.next=t,this.updateCursors(null,e)}else t.prev.next=e,e.prev=t.prev,t.prev=e,e.next=t;else this.updateCursors(this.tail,e,null,e),null!==this.tail?(this.tail.next=e,e.prev=this.tail):this.head=e,this.tail=e;return this},h.prototype.insertData=function(e,t){return this.insert(s(e),t)},h.prototype.remove=function(e){if(this.updateCursors(e,e.prev,e,e.next),null!==e.prev)e.prev.next=e.next;else{if(this.head!==e)throw new Error("item doesn't belong to list");this.head=e.next}if(null!==e.next)e.next.prev=e.prev;else{if(this.tail!==e)throw new Error("item doesn't belong to list");this.tail=e.prev}return e.prev=null,e.next=null,e},h.prototype.push=function(e){this.insert(s(e))},h.prototype.pop=function(){if(null!==this.tail)return this.remove(this.tail)},h.prototype.unshift=function(e){this.prepend(s(e))},h.prototype.shift=function(){if(null!==this.head)return this.remove(this.head)},h.prototype.prependList=function(e){return this.insertList(e,this.head)},h.prototype.appendList=function(e){return this.insertList(e)},h.prototype.insertList=function(e,t){return null===e.head||(null!=t?(this.updateCursors(t.prev,e.tail,t,e.head),null!==t.prev?(t.prev.next=e.head,e.head.prev=t.prev):this.head=e.head,t.prev=e.tail,e.tail.next=t):(this.updateCursors(this.tail,e.tail,null,e.head),null!==this.tail?(this.tail.next=e.head,e.head.prev=this.tail):this.head=e.head,this.tail=e.tail),e.head=null,e.tail=null),this},h.prototype.replace=function(e,t){"head"in t?this.insertList(t,e):this.insert(t,e),this.remove(e)};var d=h,p=function(e,t){var n=Object.create(SyntaxError.prototype),r=new Error;return n.name=e,n.message=t,Object.defineProperty(n,"stack",{get:function(){return(r.stack||"").replace(/^(.+\n){1,3}/,e+": "+t+"\n")}}),n};function m(e,t){function n(e,t){return r.slice(e,t).map((function(t,n){for(var r=String(e+n+1);r.length<l;)r=" "+r;return r+" |"+t})).join("\n")}var r=e.source.split(/\r\n?|\n|\f/),o=e.line,a=e.column,i=Math.max(1,o-t)-1,s=Math.min(o+t,r.length+1),l=Math.max(4,String(s).length)+1,c=0;(a+=(" ".length-1)*(r[o-1].substr(0,a-1).match(/\t/g)||[]).length)>100&&(c=a-60+3,a=58);for(var u=i;u<=s;u++)u>=0&&u<r.length&&(r[u]=r[u].replace(/\t/g," "),r[u]=(c>0&&r[u].length>c?"…":"")+r[u].substr(c,98)+(r[u].length>c+100-1?"…":""));return[n(i,o),new Array(a+l+2).join("-")+"^",n(o,s)].filter(Boolean).join("\n")}var g=function(e,t,n,r,o){var a=p("SyntaxError",e);return a.source=t,a.offset=n,a.line=r,a.column=o,a.sourceFragment=function(e){return m(a,isNaN(e)?0:e)},Object.defineProperty(a,"formattedMessage",{get:function(){return"Parse error: "+a.message+"\n"+m(a,2)}}),a.parseError={offset:n,line:r,column:o},a},f={EOF:0,Ident:1,Function:2,AtKeyword:3,Hash:4,String:5,BadString:6,Url:7,BadUrl:8,Delim:9,Number:10,Percentage:11,Dimension:12,WhiteSpace:13,CDO:14,CDC:15,Colon:16,Semicolon:17,Comma:18,LeftSquareBracket:19,RightSquareBracket:20,LeftParenthesis:21,RightParenthesis:22,LeftCurlyBracket:23,RightCurlyBracket:24,Comment:25},b=Object.keys(f).reduce((function(e,t){return e[f[t]]=t,e}),{}),y={TYPE:f,NAME:b};function k(e){return e>=48&&e<=57}function v(e){return e>=65&&e<=90}function w(e){return e>=97&&e<=122}function x(e){return v(e)||w(e)}function S(e){return e>=128}function C(e){return x(e)||S(e)||95===e}function A(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e}function T(e){return 10===e||13===e||12===e}function z(e){return T(e)||32===e||9===e}function P(e,t){return 92===e&&(!T(t)&&0!==t)}var E=new Array(128);O.Eof=128,O.WhiteSpace=130,O.Digit=131,O.NameStart=132,O.NonPrintable=133;for(var L=0;L<E.length;L++)switch(!0){case z(L):E[L]=O.WhiteSpace;break;case k(L):E[L]=O.Digit;break;case C(L):E[L]=O.NameStart;break;case A(L):E[L]=O.NonPrintable;break;default:E[L]=L||O.Eof}function O(e){return e<128?E[e]:O.NameStart}var D={isDigit:k,isHexDigit:function(e){return k(e)||e>=65&&e<=70||e>=97&&e<=102},isUppercaseLetter:v,isLowercaseLetter:w,isLetter:x,isNonAscii:S,isNameStart:C,isName:function(e){return C(e)||k(e)||45===e},isNonPrintable:A,isNewline:T,isWhiteSpace:z,isValidEscape:P,isIdentifierStart:function(e,t,n){return 45===e?C(t)||45===t||P(t,n):!!C(e)||92===e&&P(e,t)},isNumberStart:function(e,t,n){return 43===e||45===e?k(t)?2:46===t&&k(n)?3:0:46===e?k(t)?2:0:k(e)?1:0},isBOM:function(e){return 65279===e||65534===e?1:0},charCodeCategory:O},N=D.isDigit,R=D.isHexDigit,I=D.isUppercaseLetter,B=D.isName,M=D.isWhiteSpace,j=D.isValidEscape;function _(e,t){return t<e.length?e.charCodeAt(t):0}function F(e,t,n){return 13===n&&10===_(e,t+1)?2:1}function U(e,t,n){var r=e.charCodeAt(t);return I(r)&&(r|=32),r===n}function q(e,t){for(;t<e.length&&N(e.charCodeAt(t));t++);return t}function W(e,t){if(R(_(e,(t+=2)-1))){for(var n=Math.min(e.length,t+5);t<n&&R(_(e,t));t++);var r=_(e,t);M(r)&&(t+=F(e,t,r))}return t}var Y={consumeEscaped:W,consumeName:function(e,t){for(;t<e.length;t++){var n=e.charCodeAt(t);if(!B(n)){if(!j(n,_(e,t+1)))break;t=W(e,t)-1}}return t},consumeNumber:function(e,t){var n=e.charCodeAt(t);if(43!==n&&45!==n||(n=e.charCodeAt(t+=1)),N(n)&&(t=q(e,t+1),n=e.charCodeAt(t)),46===n&&N(e.charCodeAt(t+1))&&(n=e.charCodeAt(t+=2),t=q(e,t)),U(e,t,101)){var r=0;45!==(n=e.charCodeAt(t+1))&&43!==n||(r=1,n=e.charCodeAt(t+2)),N(n)&&(t=q(e,t+1+r+1))}return t},consumeBadUrlRemnants:function(e,t){for(;t<e.length;t++){var n=e.charCodeAt(t);if(41===n){t++;break}j(n,_(e,t+1))&&(t=W(e,t))}return t},cmpChar:U,cmpStr:function(e,t,n,r){if(n-t!==r.length)return!1;if(t<0||n>e.length)return!1;for(var o=t;o<n;o++){var a=e.charCodeAt(o),i=r.charCodeAt(o-t);if(I(a)&&(a|=32),a!==i)return!1}return!0},getNewlineLength:F,findWhiteSpaceStart:function(e,t){for(;t>=0&&M(e.charCodeAt(t));t--);return t+1},findWhiteSpaceEnd:function(e,t){for(;t<e.length&&M(e.charCodeAt(t));t++);return t}},V=y.TYPE,H=y.NAME,$=Y.cmpStr,G=V.EOF,K=V.WhiteSpace,X=V.Comment,Q=function(){this.offsetAndType=null,this.balance=null,this.reset()};Q.prototype={reset:function(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset},lookupType:function(e){return(e+=this.tokenIndex)<this.tokenCount?this.offsetAndType[e]>>24:G},lookupOffset:function(e){return(e+=this.tokenIndex)<this.tokenCount?16777215&this.offsetAndType[e-1]:this.source.length},lookupValue:function(e,t){return(e+=this.tokenIndex)<this.tokenCount&&$(this.source,16777215&this.offsetAndType[e-1],16777215&this.offsetAndType[e],t)},getTokenStart:function(e){return e===this.tokenIndex?this.tokenStart:e>0?e<this.tokenCount?16777215&this.offsetAndType[e-1]:16777215&this.offsetAndType[this.tokenCount]:this.firstCharOffset},getRawLength:function(e,t){var n,r=e,o=16777215&this.offsetAndType[Math.max(r-1,0)];e:for(;r<this.tokenCount&&!((n=this.balance[r])<e);r++)switch(t(this.offsetAndType[r]>>24,this.source,o)){case 1:break e;case 2:r++;break e;default:o=16777215&this.offsetAndType[r],this.balance[n]===r&&(r=n)}return r-this.tokenIndex},isBalanceEdge:function(e){return this.balance[this.tokenIndex]<e},isDelim:function(e,t){return t?this.lookupType(t)===V.Delim&&this.source.charCodeAt(this.lookupOffset(t))===e:this.tokenType===V.Delim&&this.source.charCodeAt(this.tokenStart)===e},getTokenValue:function(){return this.source.substring(this.tokenStart,this.tokenEnd)},getTokenLength:function(){return this.tokenEnd-this.tokenStart},substrToCursor:function(e){return this.source.substring(e,this.tokenStart)},skipWS:function(){for(var e=this.tokenIndex,t=0;e<this.tokenCount&&this.offsetAndType[e]>>24===K;e++,t++);t>0&&this.skip(t)},skipSC:function(){for(;this.tokenType===K||this.tokenType===X;)this.next()},skip:function(e){var t=this.tokenIndex+e;t<this.tokenCount?(this.tokenIndex=t,this.tokenStart=16777215&this.offsetAndType[t-1],t=this.offsetAndType[t],this.tokenType=t>>24,this.tokenEnd=16777215&t):(this.tokenIndex=this.tokenCount,this.next())},next:function(){var e=this.tokenIndex+1;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=this.tokenEnd,e=this.offsetAndType[e],this.tokenType=e>>24,this.tokenEnd=16777215&e):(this.tokenIndex=this.tokenCount,this.eof=!0,this.tokenType=G,this.tokenStart=this.tokenEnd=this.source.length)},dump:function(){var e=this.firstCharOffset;return Array.prototype.slice.call(this.offsetAndType,0,this.tokenCount).map((function(t,n){var r=e,o=16777215&t;return e=o,{idx:n,type:H[t>>24],chunk:this.source.substring(r,o),balance:this.balance[n]}}),this)}};var J=Q;function Z(e){return e}function ee(e,t,n,r){var o,a;switch(e.type){case"Group":o=function(e,t,n,r){var o=" "===e.combinator||r?e.combinator:" "+e.combinator+" ",a=e.terms.map((function(e){return ee(e,t,n,r)})).join(o);return(e.explicit||n)&&(a=(r||","===a[0]?"[":"[ ")+a+(r?"]":" ]")),a}(e,t,n,r)+(e.disallowEmpty?"!":"");break;case"Multiplier":return ee(e.term,t,n,r)+t(0===(a=e).min&&0===a.max?"*":0===a.min&&1===a.max?"?":1===a.min&&0===a.max?a.comma?"#":"+":1===a.min&&1===a.max?"":(a.comma?"#":"")+(a.min===a.max?"{"+a.min+"}":"{"+a.min+","+(0!==a.max?a.max:"")+"}"),e);case"Type":o="<"+e.name+(e.opts?t(function(e){switch(e.type){case"Range":return" ["+(null===e.min?"-∞":e.min)+","+(null===e.max?"∞":e.max)+"]";default:throw new Error("Unknown node type `"+e.type+"`")}}(e.opts),e.opts):"")+">";break;case"Property":o="<'"+e.name+"'>";break;case"Keyword":o=e.name;break;case"AtKeyword":o="@"+e.name;break;case"Function":o=e.name+"(";break;case"String":case"Token":o=e.value;break;case"Comma":o=",";break;default:throw new Error("Unknown node type `"+e.type+"`")}return t(o,e)}var te=function(e,t){var n=Z,r=!1,o=!1;return"function"==typeof t?n=t:t&&(r=Boolean(t.forceBraces),o=Boolean(t.compact),"function"==typeof t.decorate&&(n=t.decorate)),ee(e,n,r,o)};function ne(e,t){var n=e&&e.loc&&e.loc[t];return n?{offset:n.offset,line:n.line,column:n.column}:null}var re=function(e,t){var n=p("SyntaxReferenceError",e+(t?" `"+t+"`":""));return n.reference=t,n},oe=function(e,t,n,r){var o=p("SyntaxMatchError",e),a=function(e){for(var t=e.tokens,n=e.longestMatch,r=n<t.length?t[n].node:null,o=-1,a=0,i="",s=0;s<t.length;s++)s===n&&(o=i.length),null!==r&&t[s].node===r&&(s<=n?a++:a=0),i+=t[s].value;return{node:r,css:i,mismatchOffset:-1===o?i.length:o,last:null===r||a>1}}(r),i=a.mismatchOffset||0,s=a.node||n,l=ne(s,"end"),c=a.last?l:ne(s,"start"),u=a.css;return o.rawMessage=e,o.syntax=t?te(t):"<generic>",o.css=u,o.mismatchOffset=i,o.loc={source:s&&s.loc&&s.loc.source||"<unknown>",start:c,end:l},o.line=c?c.line:void 0,o.column=c?c.column:void 0,o.offset=c?c.offset:void 0,o.message=e+"\n syntax: "+o.syntax+"\n value: "+(o.css||"<empty string>")+"\n --------"+new Array(o.mismatchOffset+1).join("-")+"^",o},ae=Object.prototype.hasOwnProperty,ie=Object.create(null),se=Object.create(null);function le(e,t){return t=t||0,e.length-t>=2&&45===e.charCodeAt(t)&&45===e.charCodeAt(t+1)}function ce(e,t){if(t=t||0,e.length-t>=3&&45===e.charCodeAt(t)&&45!==e.charCodeAt(t+1)){var n=e.indexOf("-",t+2);if(-1!==n)return e.substring(t,n+1)}return""}var ue={keyword:function(e){if(ae.call(ie,e))return ie[e];var t=e.toLowerCase();if(ae.call(ie,t))return ie[e]=ie[t];var n=le(t,0),r=n?"":ce(t,0);return ie[e]=Object.freeze({basename:t.substr(r.length),name:t,vendor:r,prefix:r,custom:n})},property:function(e){if(ae.call(se,e))return se[e];var t=e,n=e[0];"/"===n?n="/"===e[1]?"//":"/":"_"!==n&&"*"!==n&&"$"!==n&&"#"!==n&&"+"!==n&&"&"!==n&&(n="");var r=le(t,n.length);if(!r&&(t=t.toLowerCase(),ae.call(se,t)))return se[e]=se[t];var o=r?"":ce(t,n.length),a=t.substr(0,n.length+o.length);return se[e]=Object.freeze({basename:t.substr(a.length),name:t.substr(n.length),hack:n,vendor:o,prefix:a,custom:r})},isCustomProperty:le,vendorPrefix:ce},he="undefined"!=typeof Uint32Array?Uint32Array:Array,de=function(e,t){return null===e||e.length<t?new he(Math.max(t+1024,16384)):e},pe=y.TYPE,me=D.isNewline,ge=D.isName,fe=D.isValidEscape,be=D.isNumberStart,ye=D.isIdentifierStart,ke=D.charCodeCategory,ve=D.isBOM,we=Y.cmpStr,xe=Y.getNewlineLength,Se=Y.findWhiteSpaceEnd,Ce=Y.consumeEscaped,Ae=Y.consumeName,Te=Y.consumeNumber,ze=Y.consumeBadUrlRemnants;function Pe(e,t){function n(t){return t<i?e.charCodeAt(t):0}function r(){return h=Te(e,h),ye(n(h),n(h+1),n(h+2))?(f=pe.Dimension,void(h=Ae(e,h))):37===n(h)?(f=pe.Percentage,void h++):void(f=pe.Number)}function o(){const t=h;return h=Ae(e,h),we(e,t,h,"url")&&40===n(h)?34===n(h=Se(e,h+1))||39===n(h)?(f=pe.Function,void(h=t+4)):void function(){for(f=pe.Url,h=Se(e,h);h<e.length;h++){var t=e.charCodeAt(h);switch(ke(t)){case 41:return void h++;case ke.Eof:return;case ke.WhiteSpace:return 41===n(h=Se(e,h))||h>=e.length?void(h<e.length&&h++):(h=ze(e,h),void(f=pe.BadUrl));case 34:case 39:case 40:case ke.NonPrintable:return h=ze(e,h),void(f=pe.BadUrl);case 92:if(fe(t,n(h+1))){h=Ce(e,h)-1;break}return h=ze(e,h),void(f=pe.BadUrl)}}}():40===n(h)?(f=pe.Function,void h++):void(f=pe.Ident)}function a(t){for(t||(t=n(h++)),f=pe.String;h<e.length;h++){var r=e.charCodeAt(h);switch(ke(r)){case t:return void h++;case ke.Eof:return;case ke.WhiteSpace:if(me(r))return h+=xe(e,h,r),void(f=pe.BadString);break;case 92:if(h===e.length-1)break;var o=n(h+1);me(o)?h+=xe(e,h+1,o):fe(r,o)&&(h=Ce(e,h)-1)}}}t||(t=new J);for(var i=(e=String(e||"")).length,s=de(t.offsetAndType,i+1),l=de(t.balance,i+1),c=0,u=ve(n(0)),h=u,d=0,p=0,m=0;h<i;){var g=e.charCodeAt(h),f=0;switch(l[c]=i,ke(g)){case ke.WhiteSpace:f=pe.WhiteSpace,h=Se(e,h+1);break;case 34:a();break;case 35:ge(n(h+1))||fe(n(h+1),n(h+2))?(f=pe.Hash,h=Ae(e,h+1)):(f=pe.Delim,h++);break;case 39:a();break;case 40:f=pe.LeftParenthesis,h++;break;case 41:f=pe.RightParenthesis,h++;break;case 43:be(g,n(h+1),n(h+2))?r():(f=pe.Delim,h++);break;case 44:f=pe.Comma,h++;break;case 45:be(g,n(h+1),n(h+2))?r():45===n(h+1)&&62===n(h+2)?(f=pe.CDC,h+=3):ye(g,n(h+1),n(h+2))?o():(f=pe.Delim,h++);break;case 46:be(g,n(h+1),n(h+2))?r():(f=pe.Delim,h++);break;case 47:42===n(h+1)?(f=pe.Comment,1===(h=e.indexOf("*/",h+2)+2)&&(h=e.length)):(f=pe.Delim,h++);break;case 58:f=pe.Colon,h++;break;case 59:f=pe.Semicolon,h++;break;case 60:33===n(h+1)&&45===n(h+2)&&45===n(h+3)?(f=pe.CDO,h+=4):(f=pe.Delim,h++);break;case 64:ye(n(h+1),n(h+2),n(h+3))?(f=pe.AtKeyword,h=Ae(e,h+1)):(f=pe.Delim,h++);break;case 91:f=pe.LeftSquareBracket,h++;break;case 92:fe(g,n(h+1))?o():(f=pe.Delim,h++);break;case 93:f=pe.RightSquareBracket,h++;break;case 123:f=pe.LeftCurlyBracket,h++;break;case 125:f=pe.RightCurlyBracket,h++;break;case ke.Digit:r();break;case ke.NameStart:o();break;case ke.Eof:break;default:f=pe.Delim,h++}switch(f){case d:for(d=(p=l[m=16777215&p])>>24,l[c]=m,l[m++]=c;m<c;m++)l[m]===i&&(l[m]=c);break;case pe.LeftParenthesis:case pe.Function:l[c]=p,p=(d=pe.RightParenthesis)<<24|c;break;case pe.LeftSquareBracket:l[c]=p,p=(d=pe.RightSquareBracket)<<24|c;break;case pe.LeftCurlyBracket:l[c]=p,p=(d=pe.RightCurlyBracket)<<24|c}s[c++]=f<<24|h}for(s[c]=pe.EOF<<24|h,l[c]=i,l[i]=i;0!==p;)p=l[m=16777215&p],l[m]=i;return t.source=e,t.firstCharOffset=u,t.offsetAndType=s,t.tokenCount=c,t.balance=l,t.reset(),t.next(),t}Object.keys(y).forEach((function(e){Pe[e]=y[e]})),Object.keys(D).forEach((function(e){Pe[e]=D[e]})),Object.keys(Y).forEach((function(e){Pe[e]=Y[e]}));var Ee=Pe,Le=Ee.isDigit,Oe=Ee.cmpChar,De=Ee.TYPE,Ne=De.Delim,Re=De.WhiteSpace,Ie=De.Comment,Be=De.Ident,Me=De.Number,je=De.Dimension;function _e(e,t){return null!==e&&e.type===Ne&&e.value.charCodeAt(0)===t}function Fe(e,t,n){for(;null!==e&&(e.type===Re||e.type===Ie);)e=n(++t);return t}function Ue(e,t,n,r){if(!e)return 0;var o=e.value.charCodeAt(t);if(43===o||45===o){if(n)return 0;t++}for(;t<e.value.length;t++)if(!Le(e.value.charCodeAt(t)))return 0;return r+1}function qe(e,t,n){var r=!1,o=Fe(e,t,n);if(null===(e=n(o)))return t;if(e.type!==Me){if(!_e(e,43)&&!_e(e,45))return t;if(r=!0,o=Fe(n(++o),o,n),null===(e=n(o))&&e.type!==Me)return 0}if(!r){var a=e.value.charCodeAt(0);if(43!==a&&45!==a)return 0}return Ue(e,r?0:1,r,o)}var We=Ee.isHexDigit,Ye=Ee.cmpChar,Ve=Ee.TYPE,He=Ve.Ident,$e=Ve.Delim,Ge=Ve.Number,Ke=Ve.Dimension;function Xe(e,t){return null!==e&&e.type===$e&&e.value.charCodeAt(0)===t}function Qe(e,t){return e.value.charCodeAt(0)===t}function Je(e,t,n){for(var r=t,o=0;r<e.value.length;r++){var a=e.value.charCodeAt(r);if(45===a&&n&&0!==o)return Je(e,t+o+1,!1)>0?6:0;if(!We(a))return 0;if(++o>6)return 0}return o}function Ze(e,t,n){if(!e)return 0;for(;Xe(n(t),63);){if(++e>6)return 0;t++}return t}var et=Ee.isIdentifierStart,tt=Ee.isHexDigit,nt=Ee.isDigit,rt=Ee.cmpStr,ot=Ee.consumeNumber,at=Ee.TYPE,it=["unset","initial","inherit"],st=["calc(","-moz-calc(","-webkit-calc("];function lt(e,t){return t<e.length?e.charCodeAt(t):0}function ct(e,t){return rt(e,0,e.length,t)}function ut(e,t){for(var n=0;n<t.length;n++)if(ct(e,t[n]))return!0;return!1}function ht(e,t){return t===e.length-2&&(92===e.charCodeAt(t)&&nt(e.charCodeAt(t+1)))}function dt(e,t,n){if(e&&"Range"===e.type){var r=Number(void 0!==n&&n!==t.length?t.substr(0,n):t);if(isNaN(r))return!0;if(null!==e.min&&r<e.min)return!0;if(null!==e.max&&r>e.max)return!0}return!1}function pt(e,t){var n=e.index,r=0;do{if(r++,e.balance<=n)break}while(e=t(r));return r}function mt(e){return function(t,n,r){return null===t?0:t.type===at.Function&&ut(t.value,st)?pt(t,n):e(t,n,r)}}function gt(e){return function(t){return null===t||t.type!==e?0:1}}function ft(e){return function(t,n,r){if(null===t||t.type!==at.Dimension)return 0;var o=ot(t.value,0);if(null!==e){var a=t.value.indexOf("\\",o),i=-1!==a&&ht(t.value,a)?t.value.substring(o,a):t.value.substr(o);if(!1===e.hasOwnProperty(i.toLowerCase()))return 0}return dt(r,t.value,o)?0:1}}function bt(e){return"function"!=typeof e&&(e=function(){return 0}),function(t,n,r){return null!==t&&t.type===at.Number&&0===Number(t.value)?1:e(t,n,r)}}var yt,kt={"ident-token":gt(at.Ident),"function-token":gt(at.Function),"at-keyword-token":gt(at.AtKeyword),"hash-token":gt(at.Hash),"string-token":gt(at.String),"bad-string-token":gt(at.BadString),"url-token":gt(at.Url),"bad-url-token":gt(at.BadUrl),"delim-token":gt(at.Delim),"number-token":gt(at.Number),"percentage-token":gt(at.Percentage),"dimension-token":gt(at.Dimension),"whitespace-token":gt(at.WhiteSpace),"CDO-token":gt(at.CDO),"CDC-token":gt(at.CDC),"colon-token":gt(at.Colon),"semicolon-token":gt(at.Semicolon),"comma-token":gt(at.Comma),"[-token":gt(at.LeftSquareBracket),"]-token":gt(at.RightSquareBracket),"(-token":gt(at.LeftParenthesis),")-token":gt(at.RightParenthesis),"{-token":gt(at.LeftCurlyBracket),"}-token":gt(at.RightCurlyBracket),string:gt(at.String),ident:gt(at.Ident),"custom-ident":function(e){if(null===e||e.type!==at.Ident)return 0;var t=e.value.toLowerCase();return ut(t,it)||ct(t,"default")?0:1},"custom-property-name":function(e){return null===e||e.type!==at.Ident||45!==lt(e.value,0)||45!==lt(e.value,1)?0:1},"hex-color":function(e){if(null===e||e.type!==at.Hash)return 0;var t=e.value.length;if(4!==t&&5!==t&&7!==t&&9!==t)return 0;for(var n=1;n<t;n++)if(!tt(e.value.charCodeAt(n)))return 0;return 1},"id-selector":function(e){return null===e||e.type!==at.Hash?0:et(lt(e.value,1),lt(e.value,2),lt(e.value,3))?1:0},"an-plus-b":function(e,t){var n=0;if(!e)return 0;if(e.type===Me)return Ue(e,0,!1,n);if(e.type===Be&&45===e.value.charCodeAt(0)){if(!Oe(e.value,1,110))return 0;switch(e.value.length){case 2:return qe(t(++n),n,t);case 3:return 45!==e.value.charCodeAt(2)?0:(n=Fe(t(++n),n,t),Ue(e=t(n),0,!0,n));default:return 45!==e.value.charCodeAt(2)?0:Ue(e,3,!0,n)}}else if(e.type===Be||_e(e,43)&&t(n+1).type===Be){if(e.type!==Be&&(e=t(++n)),null===e||!Oe(e.value,0,110))return 0;switch(e.value.length){case 1:return qe(t(++n),n,t);case 2:return 45!==e.value.charCodeAt(1)?0:(n=Fe(t(++n),n,t),Ue(e=t(n),0,!0,n));default:return 45!==e.value.charCodeAt(1)?0:Ue(e,2,!0,n)}}else if(e.type===je){for(var r=e.value.charCodeAt(0),o=43===r||45===r?1:0,a=o;a<e.value.length&&Le(e.value.charCodeAt(a));a++);return a===o?0:Oe(e.value,a,110)?a+1===e.value.length?qe(t(++n),n,t):45!==e.value.charCodeAt(a+1)?0:a+2===e.value.length?(n=Fe(t(++n),n,t),Ue(e=t(n),0,!0,n)):Ue(e,a+2,!0,n):0}return 0},urange:function(e,t){var n=0;if(null===e||e.type!==He||!Ye(e.value,0,117))return 0;if(null===(e=t(++n)))return 0;if(Xe(e,43))return null===(e=t(++n))?0:e.type===He?Ze(Je(e,0,!0),++n,t):Xe(e,63)?Ze(1,++n,t):0;if(e.type===Ge){if(!Qe(e,43))return 0;var r=Je(e,1,!0);return 0===r?0:null===(e=t(++n))?n:e.type===Ke||e.type===Ge?Qe(e,45)&&Je(e,1,!1)?n+1:0:Ze(r,n,t)}return e.type===Ke&&Qe(e,43)?Ze(Je(e,1,!0),++n,t):0},"declaration-value":function(e,t){if(!e)return 0;var n=0,r=0,o=e.index;e:do{switch(e.type){case at.BadString:case at.BadUrl:break e;case at.RightCurlyBracket:case at.RightParenthesis:case at.RightSquareBracket:if(e.balance>e.index||e.balance<o)break e;r--;break;case at.Semicolon:if(0===r)break e;break;case at.Delim:if("!"===e.value&&0===r)break e;break;case at.Function:case at.LeftParenthesis:case at.LeftSquareBracket:case at.LeftCurlyBracket:r++}if(n++,e.balance<=o)break}while(e=t(n));return n},"any-value":function(e,t){if(!e)return 0;var n=e.index,r=0;e:do{switch(e.type){case at.BadString:case at.BadUrl:break e;case at.RightCurlyBracket:case at.RightParenthesis:case at.RightSquareBracket:if(e.balance>e.index||e.balance<n)break e}if(r++,e.balance<=n)break}while(e=t(r));return r},dimension:mt(ft(null)),angle:mt(ft({deg:!0,grad:!0,rad:!0,turn:!0})),decibel:mt(ft({db:!0})),frequency:mt(ft({hz:!0,khz:!0})),flex:mt(ft({fr:!0})),length:mt(bt(ft({px:!0,mm:!0,cm:!0,in:!0,pt:!0,pc:!0,q:!0,em:!0,ex:!0,ch:!0,rem:!0,vh:!0,vw:!0,vmin:!0,vmax:!0,vm:!0}))),resolution:mt(ft({dpi:!0,dpcm:!0,dppx:!0,x:!0})),semitones:mt(ft({st:!0})),time:mt(ft({s:!0,ms:!0})),percentage:mt((function(e,t,n){return null===e||e.type!==at.Percentage||dt(n,e.value,e.value.length-1)?0:1})),zero:bt(),number:mt((function(e,t,n){if(null===e)return 0;var r=ot(e.value,0);return r===e.value.length||ht(e.value,r)?dt(n,e.value,r)?0:1:0})),integer:mt((function(e,t,n){if(null===e||e.type!==at.Number)return 0;for(var r=43===e.value.charCodeAt(0)||45===e.value.charCodeAt(0)?1:0;r<e.value.length;r++)if(!nt(e.value.charCodeAt(r)))return 0;return dt(n,e.value,r)?0:1})),"-ms-legacy-expression":(yt="expression",yt+="(",function(e,t){return null!==e&&ct(e.value,yt)?pt(e,t):0})},vt=function(e,t,n){var r=p("SyntaxError",e);return r.input=t,r.offset=n,r.rawMessage=e,r.message=r.rawMessage+"\n "+r.input+"\n--"+new Array((r.offset||r.input.length)+1).join("-")+"^",r},wt=function(e){this.str=e,this.pos=0};wt.prototype={charCodeAt:function(e){return e<this.str.length?this.str.charCodeAt(e):0},charCode:function(){return this.charCodeAt(this.pos)},nextCharCode:function(){return this.charCodeAt(this.pos+1)},nextNonWsCode:function(e){return this.charCodeAt(this.findWsEnd(e))},findWsEnd:function(e){for(;e<this.str.length;e++){var t=this.str.charCodeAt(e);if(13!==t&&10!==t&&12!==t&&32!==t&&9!==t)break}return e},substringToPos:function(e){return this.str.substring(this.pos,this.pos=e)},eat:function(e){this.charCode()!==e&&this.error("Expect `"+String.fromCharCode(e)+"`"),this.pos++},peek:function(){return this.pos<this.str.length?this.str.charAt(this.pos++):""},error:function(e){throw new vt(e,this.str,this.pos)}};var xt=wt,St=function(e){for(var t="function"==typeof Uint32Array?new Uint32Array(128):new Array(128),n=0;n<128;n++)t[n]=e(String.fromCharCode(n))?1:0;return t}((function(e){return/[a-zA-Z0-9\-]/.test(e)})),Ct={" ":1,"&&":2,"||":3,"|":4};function At(e){return e.substringToPos(e.findWsEnd(e.pos))}function Tt(e){for(var t=e.pos;t<e.str.length;t++){var n=e.str.charCodeAt(t);if(n>=128||0===St[n])break}return e.pos===t&&e.error("Expect a keyword"),e.substringToPos(t)}function zt(e){for(var t=e.pos;t<e.str.length;t++){var n=e.str.charCodeAt(t);if(n<48||n>57)break}return e.pos===t&&e.error("Expect a number"),e.substringToPos(t)}function Pt(e){var t=e.str.indexOf("'",e.pos+1);return-1===t&&(e.pos=e.str.length,e.error("Expect an apostrophe")),e.substringToPos(t+1)}function Et(e){var t,n=null;return e.eat(123),t=zt(e),44===e.charCode()?(e.pos++,125!==e.charCode()&&(n=zt(e))):n=t,e.eat(125),{min:Number(t),max:n?Number(n):0}}function Lt(e,t){var n=function(e){var t=null,n=!1;switch(e.charCode()){case 42:e.pos++,t={min:0,max:0};break;case 43:e.pos++,t={min:1,max:0};break;case 63:e.pos++,t={min:0,max:1};break;case 35:e.pos++,n=!0,t=123===e.charCode()?Et(e):{min:1,max:0};break;case 123:t=Et(e);break;default:return null}return{type:"Multiplier",comma:n,min:t.min,max:t.max,term:null}}(e);return null!==n?(n.term=t,n):t}function Ot(e){var t=e.peek();return""===t?null:{type:"Token",value:t}}function Dt(e){var t,n=null;return e.eat(60),t=Tt(e),40===e.charCode()&&41===e.nextCharCode()&&(e.pos+=2,t+="()"),91===e.charCodeAt(e.findWsEnd(e.pos))&&(At(e),n=function(e){var t=null,n=null,r=1;return e.eat(91),45===e.charCode()&&(e.peek(),r=-1),-1==r&&8734===e.charCode()?e.peek():t=r*Number(zt(e)),At(e),e.eat(44),At(e),8734===e.charCode()?e.peek():(r=1,45===e.charCode()&&(e.peek(),r=-1),n=r*Number(zt(e))),e.eat(93),null===t&&null===n?null:{type:"Range",min:t,max:n}}(e)),e.eat(62),Lt(e,{type:"Type",name:t,opts:n})}function Nt(e,t){function n(e,t){return{type:"Group",terms:e,combinator:t,disallowEmpty:!1,explicit:!1}}for(t=Object.keys(t).sort((function(e,t){return Ct[e]-Ct[t]}));t.length>0;){for(var r=t.shift(),o=0,a=0;o<e.length;o++){var i=e[o];"Combinator"===i.type&&(i.value===r?(-1===a&&(a=o-1),e.splice(o,1),o--):(-1!==a&&o-a>1&&(e.splice(a,o-a,n(e.slice(a,o),r)),o=a+1),a=-1))}-1!==a&&t.length&&e.splice(a,o-a,n(e.slice(a,o),r))}return r}function Rt(e){for(var t,n=[],r={},o=null,a=e.pos;t=It(e);)"Spaces"!==t.type&&("Combinator"===t.type?(null!==o&&"Combinator"!==o.type||(e.pos=a,e.error("Unexpected combinator")),r[t.value]=!0):null!==o&&"Combinator"!==o.type&&(r[" "]=!0,n.push({type:"Combinator",value:" "})),n.push(t),o=t,a=e.pos);return null!==o&&"Combinator"===o.type&&(e.pos-=a,e.error("Unexpected combinator")),{type:"Group",terms:n,combinator:Nt(n,r)||" ",disallowEmpty:!1,explicit:!1}}function It(e){var t=e.charCode();if(t<128&&1===St[t])return function(e){var t;return t=Tt(e),40===e.charCode()?(e.pos++,{type:"Function",name:t}):Lt(e,{type:"Keyword",name:t})}(e);switch(t){case 93:break;case 91:return Lt(e,function(e){var t;return e.eat(91),t=Rt(e),e.eat(93),t.explicit=!0,33===e.charCode()&&(e.pos++,t.disallowEmpty=!0),t}(e));case 60:return 39===e.nextCharCode()?function(e){var t;return e.eat(60),e.eat(39),t=Tt(e),e.eat(39),e.eat(62),Lt(e,{type:"Property",name:t})}(e):Dt(e);case 124:return{type:"Combinator",value:e.substringToPos(124===e.nextCharCode()?e.pos+2:e.pos+1)};case 38:return e.pos++,e.eat(38),{type:"Combinator",value:"&&"};case 44:return e.pos++,{type:"Comma"};case 39:return Lt(e,{type:"String",value:Pt(e)});case 32:case 9:case 10:case 13:case 12:return{type:"Spaces",value:At(e)};case 64:return(t=e.nextCharCode())<128&&1===St[t]?(e.pos++,{type:"AtKeyword",name:Tt(e)}):Ot(e);case 42:case 43:case 63:case 35:case 33:break;case 123:if((t=e.nextCharCode())<48||t>57)return Ot(e);break;default:return Ot(e)}}function Bt(e){var t=new xt(e),n=Rt(t);return t.pos!==e.length&&t.error("Unexpected input"),1===n.terms.length&&"Group"===n.terms[0].type&&(n=n.terms[0]),n}Bt("[a&&<b>#|<'c'>*||e() f{2} /,(% g#{1,2} h{2,})]!");var Mt=Bt,jt=function(){};function _t(e){return"function"==typeof e?e:jt}var Ft=function(e,t,n){var r=jt,o=jt;if("function"==typeof t?r=t:t&&(r=_t(t.enter),o=_t(t.leave)),r===jt&&o===jt)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");!function e(t){switch(r.call(n,t),t.type){case"Group":t.terms.forEach(e);break;case"Multiplier":e(t.term);break;case"Type":case"Property":case"Keyword":case"AtKeyword":case"Function":case"String":case"Token":case"Comma":break;default:throw new Error("Unknown type: "+t.type)}o.call(n,t)}(e)},Ut=new J,qt={decorator:function(e){var t=null,n={len:0,node:null},r=[n],o="";return{children:e.children,node:function(n){var r=t;t=n,e.node.call(this,n),t=r},chunk:function(e){o+=e,n.node!==t?r.push({len:e.length,node:t}):n.len+=e.length},result:function(){return Wt(o,r)}}}};function Wt(e,t){var n=[],r=0,o=0,a=t?t[o].node:null;for(Ee(e,Ut);!Ut.eof;){if(t)for(;o<t.length&&r+t[o].len<=Ut.tokenStart;)r+=t[o++].len,a=t[o].node;n.push({type:Ut.tokenType,value:Ut.getTokenValue(),index:Ut.tokenIndex,balance:Ut.balance[Ut.tokenIndex],node:a}),Ut.next()}return n}var Yt={type:"Match"},Vt={type:"Mismatch"},Ht={type:"DisallowEmpty"};function $t(e,t,n){return t===Yt&&n===Vt||e===Yt&&t===Yt&&n===Yt?e:("If"===e.type&&e.else===Vt&&t===Yt&&(t=e.then,e=e.match),{type:"If",match:e,then:t,else:n})}function Gt(e){return e.length>2&&40===e.charCodeAt(e.length-2)&&41===e.charCodeAt(e.length-1)}function Kt(e){return"Keyword"===e.type||"AtKeyword"===e.type||"Function"===e.type||"Type"===e.type&&Gt(e.name)}function Xt(e){if("function"==typeof e)return{type:"Generic",fn:e};switch(e.type){case"Group":var t=function e(t,n,r){switch(t){case" ":for(var o=Yt,a=n.length-1;a>=0;a--){o=$t(l=n[a],o,Vt)}return o;case"|":o=Vt;var i=null;for(a=n.length-1;a>=0;a--){if(Kt(l=n[a])&&(null===i&&a>0&&Kt(n[a-1])&&(o=$t({type:"Enum",map:i=Object.create(null)},Yt,o)),null!==i)){var s=(Gt(l.name)?l.name.slice(0,-1):l.name).toLowerCase();if(s in i==!1){i[s]=l;continue}}i=null,o=$t(l,Yt,o)}return o;case"&&":if(n.length>5)return{type:"MatchOnce",terms:n,all:!0};for(o=Vt,a=n.length-1;a>=0;a--){var l=n[a];c=n.length>1?e(t,n.filter((function(e){return e!==l})),!1):Yt,o=$t(l,c,o)}return o;case"||":if(n.length>5)return{type:"MatchOnce",terms:n,all:!1};for(o=r?Yt:Vt,a=n.length-1;a>=0;a--){var c;l=n[a];c=n.length>1?e(t,n.filter((function(e){return e!==l})),!0):Yt,o=$t(l,c,o)}return o}}(e.combinator,e.terms.map(Xt),!1);return e.disallowEmpty&&(t=$t(t,Ht,Vt)),t;case"Multiplier":return function(e){var t=Yt,n=Xt(e.term);if(0===e.max)n=$t(n,Ht,Vt),(t=$t(n,null,Vt)).then=$t(Yt,Yt,t),e.comma&&(t.then.else=$t({type:"Comma",syntax:e},t,Vt));else for(var r=e.min||1;r<=e.max;r++)e.comma&&t!==Yt&&(t=$t({type:"Comma",syntax:e},t,Vt)),t=$t(n,$t(Yt,Yt,t),Vt);if(0===e.min)t=$t(Yt,Yt,t);else for(r=0;r<e.min-1;r++)e.comma&&t!==Yt&&(t=$t({type:"Comma",syntax:e},t,Vt)),t=$t(n,t,Vt);return t}(e);case"Type":case"Property":return{type:e.type,name:e.name,syntax:e};case"Keyword":return{type:e.type,name:e.name.toLowerCase(),syntax:e};case"AtKeyword":return{type:e.type,name:"@"+e.name.toLowerCase(),syntax:e};case"Function":return{type:e.type,name:e.name.toLowerCase()+"(",syntax:e};case"String":return 3===e.value.length?{type:"Token",value:e.value.charAt(1),syntax:e}:{type:e.type,value:e.value.substr(1,e.value.length-2).replace(/\\'/g,"'"),syntax:e};case"Token":return{type:e.type,value:e.value,syntax:e};case"Comma":return{type:e.type,syntax:e};default:throw new Error("Unknown node type:",e.type)}}var Qt=Yt,Jt=Vt,Zt=Ht,en=function(e,t){return"string"==typeof e&&(e=Mt(e)),{type:"MatchGraph",match:Xt(e),syntax:t||null,source:e}},tn=Object.prototype.hasOwnProperty,nn=Qt,rn=Jt,on=Zt,an=y.TYPE;function sn(e){for(var t=null,n=null,r=e;null!==r;)n=r.prev,r.prev=t,t=r,r=n;return t}function ln(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r>=65&&r<=90&&(r|=32),r!==t.charCodeAt(n))return!1}return!0}function cn(e){return null===e||(e.type===an.Comma||e.type===an.Function||e.type===an.LeftParenthesis||e.type===an.LeftSquareBracket||e.type===an.LeftCurlyBracket||e.type===an.Delim)}function un(e){return null===e||(e.type===an.RightParenthesis||e.type===an.RightSquareBracket||e.type===an.RightCurlyBracket||e.type===an.Delim)}function hn(e,t,n){function r(){do{b++,f=b<e.length?e[b]:null}while(null!==f&&(f.type===an.WhiteSpace||f.type===an.Comment))}function o(t){var n=b+t;return n<e.length?e[n]:null}function a(e,t){return{nextState:e,matchStack:k,syntaxStack:u,thenStack:h,tokenIndex:b,prev:t}}function i(e){h={nextState:e,matchStack:k,syntaxStack:u,prev:h}}function s(e){d=a(e,d)}function l(){k={type:1,syntax:t.syntax,token:f,prev:k},r(),p=null,b>y&&(y=b)}function c(){k=2===k.type?k.prev:{type:3,syntax:u.syntax,token:k.token,prev:k},u=u.prev}var u=null,h=null,d=null,p=null,m=0,g=null,f=null,b=-1,y=0,k={type:0,syntax:null,token:null,prev:null};for(r();null===g&&++m<15e3;)switch(t.type){case"Match":if(null===h){if(null!==f&&(b!==e.length-1||"\\0"!==f.value&&"\\9"!==f.value)){t=rn;break}g="Match";break}if((t=h.nextState)===on){if(h.matchStack===k){t=rn;break}t=nn}for(;h.syntaxStack!==u;)c();h=h.prev;break;case"Mismatch":if(null!==p&&!1!==p)(null===d||b>d.tokenIndex)&&(d=p,p=!1);else if(null===d){g="Mismatch";break}t=d.nextState,h=d.thenStack,u=d.syntaxStack,k=d.matchStack,b=d.tokenIndex,f=b<e.length?e[b]:null,d=d.prev;break;case"MatchGraph":t=t.match;break;case"If":t.else!==rn&&s(t.else),t.then!==nn&&i(t.then),t=t.match;break;case"MatchOnce":t={type:"MatchOnceBuffer",syntax:t,index:0,mask:0};break;case"MatchOnceBuffer":var v=t.syntax.terms;if(t.index===v.length){if(0===t.mask||t.syntax.all){t=rn;break}t=nn;break}if(t.mask===(1<<v.length)-1){t=nn;break}for(;t.index<v.length;t.index++){var w=1<<t.index;if(0==(t.mask&w)){s(t),i({type:"AddMatchOnce",syntax:t.syntax,mask:t.mask|w}),t=v[t.index++];break}}break;case"AddMatchOnce":t={type:"MatchOnceBuffer",syntax:t.syntax,index:0,mask:t.mask};break;case"Enum":if(null!==f)if(-1!==(T=f.value.toLowerCase()).indexOf("\\")&&(T=T.replace(/\\[09].*$/,"")),tn.call(t.map,T)){t=t.map[T];break}t=rn;break;case"Generic":var x=null!==u?u.opts:null,S=b+Math.floor(t.fn(f,o,x));if(!isNaN(S)&&S>b){for(;b<S;)l();t=nn}else t=rn;break;case"Type":case"Property":var C="Type"===t.type?"types":"properties",A=tn.call(n,C)?n[C][t.name]:null;if(!A||!A.match)throw new Error("Bad syntax reference: "+("Type"===t.type?"<"+t.name+">":"<'"+t.name+"'>"));if(!1!==p&&null!==f&&"Type"===t.type)if("custom-ident"===t.name&&f.type===an.Ident||"length"===t.name&&"0"===f.value){null===p&&(p=a(t,d)),t=rn;break}u={syntax:t.syntax,opts:t.syntax.opts||null!==u&&u.opts||null,prev:u},k={type:2,syntax:t.syntax,token:k.token,prev:k},t=A.match;break;case"Keyword":var T=t.name;if(null!==f){var z=f.value;if(-1!==z.indexOf("\\")&&(z=z.replace(/\\[09].*$/,"")),ln(z,T)){l(),t=nn;break}}t=rn;break;case"AtKeyword":case"Function":if(null!==f&&ln(f.value,t.name)){l(),t=nn;break}t=rn;break;case"Token":if(null!==f&&f.value===t.value){l(),t=nn;break}t=rn;break;case"Comma":null!==f&&f.type===an.Comma?cn(k.token)?t=rn:(l(),t=un(f)?rn:nn):t=cn(k.token)||un(f)?nn:rn;break;case"String":var P="";for(S=b;S<e.length&&P.length<t.value.length;S++)P+=e[S].value;if(ln(P,t.value)){for(;b<S;)l();t=nn}else t=rn;break;default:throw new Error("Unknown node type: "+t.type)}switch(m,g){case null:console.warn("[csstree-match] BREAK after 15000 iterations"),g="Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)",k=null;break;case"Match":for(;null!==u;)c();break;default:k=null}return{tokens:e,reason:g,iterations:m,match:k,longestMatch:y}}var dn=function(e,t,n){var r=hn(e,t,n||{});if(null===r.match)return r;var o=r.match,a=r.match={syntax:t.syntax||null,match:[]},i=[a];for(o=sn(o).prev;null!==o;){switch(o.type){case 2:a.match.push(a={syntax:o.syntax,match:[]}),i.push(a);break;case 3:i.pop(),a=i[i.length-1];break;default:a.match.push({syntax:o.syntax||null,token:o.token.value,node:o.token.node})}o=o.prev}return r};function pn(e){function t(e){return null!==e&&("Type"===e.type||"Property"===e.type||"Keyword"===e.type)}var n=null;return null!==this.matched&&function r(o){if(Array.isArray(o.match)){for(var a=0;a<o.match.length;a++)if(r(o.match[a]))return t(o.syntax)&&n.unshift(o.syntax),!0}else if(o.node===e)return n=t(o.syntax)?[o.syntax]:[],!0;return!1}(this.matched),n}function mn(e,t,n){var r=pn.call(e,t);return null!==r&&r.some(n)}var gn={getTrace:pn,isType:function(e,t){return mn(this,e,(function(e){return"Type"===e.type&&e.name===t}))},isProperty:function(e,t){return mn(this,e,(function(e){return"Property"===e.type&&e.name===t}))},isKeyword:function(e){return mn(this,e,(function(e){return"Keyword"===e.type}))}};var fn={matchFragments:function(e,t,n,r,o){var a=[];return null!==n.matched&&function n(i){if(null!==i.syntax&&i.syntax.type===r&&i.syntax.name===o){var s=function e(t){return"node"in t?t.node:e(t.match[0])}(i),l=function e(t){return"node"in t?t.node:e(t.match[t.match.length-1])}(i);e.syntax.walk(t,(function(e,t,n){if(e===s){var r=new d;do{if(r.appendData(t.data),t.data===l)break;t=t.next}while(null!==t);a.push({parent:n,nodes:r})}}))}Array.isArray(i.match)&&i.match.forEach(n)}(n.matched),a}},bn=Object.prototype.hasOwnProperty;function yn(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e&&e>=0}function kn(e){return Boolean(e)&&yn(e.offset)&&yn(e.line)&&yn(e.column)}function vn(e,t){return function(n,r){if(!n||n.constructor!==Object)return r(n,"Type of node should be an Object");for(var o in n){var a=!0;if(!1!==bn.call(n,o)){if("type"===o)n.type!==e&&r(n,"Wrong node type `"+n.type+"`, expected `"+e+"`");else if("loc"===o){if(null===n.loc)continue;if(n.loc&&n.loc.constructor===Object)if("string"!=typeof n.loc.source)o+=".source";else if(kn(n.loc.start)){if(kn(n.loc.end))continue;o+=".end"}else o+=".start";a=!1}else if(t.hasOwnProperty(o)){var i=0;for(a=!1;!a&&i<t[o].length;i++){var s=t[o][i];switch(s){case String:a="string"==typeof n[o];break;case Boolean:a="boolean"==typeof n[o];break;case null:a=null===n[o];break;default:"string"==typeof s?a=n[o]&&n[o].type===s:Array.isArray(s)&&(a=n[o]instanceof d)}}}else r(n,"Unknown field `"+o+"` for "+e+" node type");a||r(n,"Bad value for `"+e+"."+o+"`")}}for(var o in t)bn.call(t,o)&&!1===bn.call(n,o)&&r(n,"Field `"+e+"."+o+"` is missed")}}function wn(e,t){var n=t.structure,r={type:String,loc:!0},o={type:'"'+e+'"'};for(var a in n)if(!1!==bn.call(n,a)){for(var i=[],s=r[a]=Array.isArray(n[a])?n[a].slice():[n[a]],l=0;l<s.length;l++){var c=s[l];if(c===String||c===Boolean)i.push(c.name);else if(null===c)i.push("null");else if("string"==typeof c)i.push("<"+c+">");else{if(!Array.isArray(c))throw new Error("Wrong value `"+c+"` in `"+e+"."+a+"` structure definition");i.push("List")}}o[a]=i.join(" | ")}return{docs:o,check:vn(e,r)}}var xn=re,Sn=oe,Cn=en,An=dn,Tn=function(e){var t={};if(e.node)for(var n in e.node)if(bn.call(e.node,n)){var r=e.node[n];if(!r.structure)throw new Error("Missed `structure` field in `"+n+"` node type definition");t[n]=wn(n,r)}return t},zn=Cn("inherit | initial | unset"),Pn=Cn("inherit | initial | unset | <-ms-legacy-expression>");function En(e,t,n){var r={};for(var o in e)e[o].syntax&&(r[o]=n?e[o].syntax:te(e[o].syntax,{compact:t}));return r}function Ln(e,t,n){return{matched:e,iterations:n,error:t,getTrace:gn.getTrace,isType:gn.isType,isProperty:gn.isProperty,isKeyword:gn.isKeyword}}function On(e,t,n,r){var o,a=function(e,t){return"string"==typeof e?Wt(e,null):t.generate(e,qt)}(n,e.syntax);return function(e){for(var t=0;t<e.length;t++)if("var("===e[t].value.toLowerCase())return!0;return!1}(a)?Ln(null,new Error("Matching for a tree with var() is not supported")):(r&&(o=An(a,e.valueCommonSyntax,e)),r&&o.match||(o=An(a,t.match,e)).match?Ln(o.match,null,o.iterations):Ln(null,new Sn(o.reason,t.syntax,n,o),o.iterations))}var Dn=function(e,t,n){if(this.valueCommonSyntax=zn,this.syntax=t,this.generic=!1,this.atrules={},this.properties={},this.types={},this.structure=n||Tn(e),e){if(e.types)for(var r in e.types)this.addType_(r,e.types[r]);if(e.generic)for(var r in this.generic=!0,kt)this.addType_(r,kt[r]);if(e.atrules)for(var r in e.atrules)this.addAtrule_(r,e.atrules[r]);if(e.properties)for(var r in e.properties)this.addProperty_(r,e.properties[r])}};Dn.prototype={structure:{},checkStructure:function(e){function t(e,t){r.push({node:e,message:t})}var n=this.structure,r=[];return this.syntax.walk(e,(function(e){n.hasOwnProperty(e.type)?n[e.type].check(e,t):t(e,"Unknown node type `"+e.type+"`")})),!!r.length&&r},createDescriptor:function(e,t,n){var r={type:t,name:n},o={type:t,name:n,syntax:null,match:null};return"function"==typeof e?o.match=Cn(e,r):("string"==typeof e?Object.defineProperty(o,"syntax",{get:function(){return Object.defineProperty(o,"syntax",{value:Mt(e)}),o.syntax}}):o.syntax=e,Object.defineProperty(o,"match",{get:function(){return Object.defineProperty(o,"match",{value:Cn(o.syntax,r)}),o.match}})),o},addAtrule_:function(e,t){this.atrules[e]={prelude:t.prelude?this.createDescriptor(t.prelude,"AtrulePrelude",e):null,descriptors:t.descriptors?Object.keys(t.descriptors).reduce((e,n)=>(e[n]=this.createDescriptor(t.descriptors[n],"AtruleDescriptor",n),e),{}):null}},addProperty_:function(e,t){this.properties[e]=this.createDescriptor(t,"Property",e)},addType_:function(e,t){this.types[e]=this.createDescriptor(t,"Type",e),t===kt["-ms-legacy-expression"]&&(this.valueCommonSyntax=Pn)},matchAtrulePrelude:function(e,t){var n=ue.keyword(e),r=n.vendor?this.getAtrulePrelude(n.name)||this.getAtrulePrelude(n.basename):this.getAtrulePrelude(n.name);return r?On(this,r,t,!0):n.basename in this.atrules?Ln(null,new Error("At-rule `"+e+"` should not contain a prelude")):Ln(null,new xn("Unknown at-rule",e))},matchAtruleDescriptor:function(e,t,n){var r=ue.keyword(e),o=ue.keyword(t),a=r.vendor?this.atrules[r.name]||this.atrules[r.basename]:this.atrules[r.name];if(!a)return Ln(null,new xn("Unknown at-rule",e));if(!a.descriptors)return Ln(null,new Error("At-rule `"+e+"` has no known descriptors"));var i=o.vendor?a.descriptors[o.name]||a.descriptors[o.basename]:a.descriptors[o.name];return i?On(this,i,n,!0):Ln(null,new xn("Unknown at-rule descriptor",t))},matchDeclaration:function(e){return"Declaration"!==e.type?Ln(null,new Error("Not a Declaration node")):this.matchProperty(e.property,e.value)},matchProperty:function(e,t){var n=ue.property(e);if(n.custom)return Ln(null,new Error("Lexer matching doesn't applicable for custom properties"));var r=n.vendor?this.getProperty(n.name)||this.getProperty(n.basename):this.getProperty(n.name);return r?On(this,r,t,!0):Ln(null,new xn("Unknown property",e))},matchType:function(e,t){var n=this.getType(e);return n?On(this,n,t,!1):Ln(null,new xn("Unknown type",e))},match:function(e,t){return"string"==typeof e||e&&e.type?("string"!=typeof e&&e.match||(e=this.createDescriptor(e,"Type","anonymous")),On(this,e,t,!1)):Ln(null,new xn("Bad syntax"))},findValueFragments:function(e,t,n,r){return fn.matchFragments(this,t,this.matchProperty(e,t),n,r)},findDeclarationValueFragments:function(e,t,n){return fn.matchFragments(this,e.value,this.matchDeclaration(e),t,n)},findAllFragments:function(e,t,n){var r=[];return this.syntax.walk(e,{visit:"Declaration",enter:function(e){r.push.apply(r,this.findDeclarationValueFragments(e,t,n))}.bind(this)}),r},getAtrulePrelude:function(e){return this.atrules.hasOwnProperty(e)?this.atrules[e].prelude:null},getAtruleDescriptor:function(e,t){return this.atrules.hasOwnProperty(e)&&this.atrules.declarators&&this.atrules[e].declarators[t]||null},getProperty:function(e){return this.properties.hasOwnProperty(e)?this.properties[e]:null},getType:function(e){return this.types.hasOwnProperty(e)?this.types[e]:null},validate:function(){function e(r,o,a,i){if(a.hasOwnProperty(o))return a[o];a[o]=!1,null!==i.syntax&&Ft(i.syntax,(function(i){if("Type"===i.type||"Property"===i.type){var s="Type"===i.type?r.types:r.properties,l="Type"===i.type?t:n;s.hasOwnProperty(i.name)&&!e(r,i.name,l,s[i.name])||(a[o]=!0)}}),this)}var t={},n={};for(var r in this.types)e(this,r,t,this.types[r]);for(var r in this.properties)e(this,r,n,this.properties[r]);return t=Object.keys(t).filter((function(e){return t[e]})),n=Object.keys(n).filter((function(e){return n[e]})),t.length||n.length?{types:t,properties:n}:null},dump:function(e,t){return{generic:this.generic,types:En(this.types,!t,e),properties:En(this.properties,!t,e)}},toString:function(){return JSON.stringify(this.dump())}};var Nn=Dn,Rn={SyntaxError:vt,parse:Mt,generate:te,walk:Ft},In=Ee.isBOM;var Bn=function(){this.lines=null,this.columns=null,this.linesAndColumnsComputed=!1};Bn.prototype={setSource:function(e,t,n,r){this.source=e,this.startOffset=void 0===t?0:t,this.startLine=void 0===n?1:n,this.startColumn=void 0===r?1:r,this.linesAndColumnsComputed=!1},ensureLinesAndColumnsComputed:function(){this.linesAndColumnsComputed||(!function(e,t){for(var n=t.length,r=de(e.lines,n),o=e.startLine,a=de(e.columns,n),i=e.startColumn,s=t.length>0?In(t.charCodeAt(0)):0;s<n;s++){var l=t.charCodeAt(s);r[s]=o,a[s]=i++,10!==l&&13!==l&&12!==l||(13===l&&s+1<n&&10===t.charCodeAt(s+1)&&(r[++s]=o,a[s]=i),o++,i=1)}r[s]=o,a[s]=i,e.lines=r,e.columns=a}(this,this.source),this.linesAndColumnsComputed=!0)},getLocation:function(e,t){return this.ensureLinesAndColumnsComputed(),{source:t,offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}},getLocationRange:function(e,t,n){return this.ensureLinesAndColumnsComputed(),{source:n,start:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]},end:{offset:this.startOffset+t,line:this.lines[t],column:this.columns[t]}}}};var Mn=Bn,jn=Ee.TYPE,_n=jn.WhiteSpace,Fn=jn.Comment,Un=function(e){var t=this.createList(),n=null,r={recognizer:e,space:null,ignoreWS:!1,ignoreWSAfter:!1};for(this.scanner.skipSC();!this.scanner.eof;){switch(this.scanner.tokenType){case Fn:this.scanner.next();continue;case _n:r.ignoreWS?this.scanner.next():r.space=this.WhiteSpace();continue}if(void 0===(n=e.getNode.call(this,r)))break;null!==r.space&&(t.push(r.space),r.space=null),t.push(n),r.ignoreWSAfter?(r.ignoreWSAfter=!1,r.ignoreWS=!0):r.ignoreWS=!1}return t},qn=Y.findWhiteSpaceStart,Wn=function(){},Yn=y.TYPE,Vn=y.NAME,Hn=Yn.WhiteSpace,$n=Yn.Ident,Gn=Yn.Function,Kn=Yn.Url,Xn=Yn.Hash,Qn=Yn.Percentage,Jn=Yn.Number;function Zn(e){return function(){return this[e]()}}var er=function(e){var t={scanner:new J,locationMap:new Mn,filename:"<unknown>",needPositions:!1,onParseError:Wn,onParseErrorThrow:!1,parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:Un,createList:function(){return new d},createSingleNodeList:function(e){return(new d).appendData(e)},getFirstListNode:function(e){return e&&e.first()},getLastListNode:function(e){return e.last()},parseWithFallback:function(e,t){var n=this.scanner.tokenIndex;try{return e.call(this)}catch(e){if(this.onParseErrorThrow)throw e;var r=t.call(this,n);return this.onParseErrorThrow=!0,this.onParseError(e,r),this.onParseErrorThrow=!1,r}},lookupNonWSType:function(e){do{var t=this.scanner.lookupType(e++);if(t!==Hn)return t}while(0!==t);return 0},eat:function(e){if(this.scanner.tokenType!==e){var t=this.scanner.tokenStart,n=Vn[e]+" is expected";switch(e){case $n:this.scanner.tokenType===Gn||this.scanner.tokenType===Kn?(t=this.scanner.tokenEnd-1,n="Identifier is expected but function found"):n="Identifier is expected";break;case Xn:this.scanner.isDelim(35)&&(this.scanner.next(),t++,n="Name is expected");break;case Qn:this.scanner.tokenType===Jn&&(t=this.scanner.tokenEnd,n="Percent sign is expected");break;default:this.scanner.source.charCodeAt(this.scanner.tokenStart)===e&&(t+=1)}this.error(n,t)}this.scanner.next()},consume:function(e){var t=this.scanner.getTokenValue();return this.eat(e),t},consumeFunctionName:function(){var e=this.scanner.source.substring(this.scanner.tokenStart,this.scanner.tokenEnd-1);return this.eat(Gn),e},getLocation:function(e,t){return this.needPositions?this.locationMap.getLocationRange(e,t,this.filename):null},getLocationFromList:function(e){if(this.needPositions){var t=this.getFirstListNode(e),n=this.getLastListNode(e);return this.locationMap.getLocationRange(null!==t?t.loc.start.offset-this.locationMap.startOffset:this.scanner.tokenStart,null!==n?n.loc.end.offset-this.locationMap.startOffset:this.scanner.tokenStart,this.filename)}return null},error:function(e,t){var n=void 0!==t&&t<this.scanner.source.length?this.locationMap.getLocation(t):this.scanner.eof?this.locationMap.getLocation(qn(this.scanner.source,this.scanner.source.length-1)):this.locationMap.getLocation(this.scanner.tokenStart);throw new g(e||"Unexpected input",this.scanner.source,n.offset,n.line,n.column)}};for(var n in e=function(e){var t={context:{},scope:{},atrule:{},pseudo:{}};if(e.parseContext)for(var n in e.parseContext)switch(typeof e.parseContext[n]){case"function":t.context[n]=e.parseContext[n];break;case"string":t.context[n]=Zn(e.parseContext[n])}if(e.scope)for(var n in e.scope)t.scope[n]=e.scope[n];if(e.atrule)for(var n in e.atrule){var r=e.atrule[n];r.parse&&(t.atrule[n]=r.parse)}if(e.pseudo)for(var n in e.pseudo){var o=e.pseudo[n];o.parse&&(t.pseudo[n]=o.parse)}if(e.node)for(var n in e.node)t[n]=e.node[n].parse;return t}(e||{}))t[n]=e[n];return function(e,n){var r,o=(n=n||{}).context||"default";if(Ee(e,t.scanner),t.locationMap.setSource(e,n.offset,n.line,n.column),t.filename=n.filename||"<unknown>",t.needPositions=Boolean(n.positions),t.onParseError="function"==typeof n.onParseError?n.onParseError:Wn,t.onParseErrorThrow=!1,t.parseAtrulePrelude=!("parseAtrulePrelude"in n)||Boolean(n.parseAtrulePrelude),t.parseRulePrelude=!("parseRulePrelude"in n)||Boolean(n.parseRulePrelude),t.parseValue=!("parseValue"in n)||Boolean(n.parseValue),t.parseCustomProperty="parseCustomProperty"in n&&Boolean(n.parseCustomProperty),!t.context.hasOwnProperty(o))throw new Error("Unknown context `"+o+"`");return r=t.context[o].call(t,n),t.scanner.eof||t.error(),r}},tr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),nr=function(e){if(0<=e&&e<tr.length)return tr[e];throw new TypeError("Must be between 0 and 63: "+e)};var rr=function(e){var t,n="",r=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&r,(r>>>=5)>0&&(t|=32),n+=nr(t)}while(r>0);return n};var or,ar=(function(e,t){t.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,r=/^data:.+\,.+$/;function o(e){var t=e.match(n);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function a(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function i(e){var n=e,r=o(e);if(r){if(!r.path)return e;n=r.path}for(var i,s=t.isAbsolute(n),l=n.split(/\/+/),c=0,u=l.length-1;u>=0;u--)"."===(i=l[u])?l.splice(u,1):".."===i?c++:c>0&&(""===i?(l.splice(u+1,c),c=0):(l.splice(u,2),c--));return""===(n=l.join("/"))&&(n=s?"/":"."),r?(r.path=n,a(r)):n}function s(e,t){""===e&&(e="."),""===t&&(t=".");var n=o(t),s=o(e);if(s&&(e=s.path||"/"),n&&!n.scheme)return s&&(n.scheme=s.scheme),a(n);if(n||t.match(r))return t;if(s&&!s.host&&!s.path)return s.host=t,a(s);var l="/"===t.charAt(0)?t:i(e.replace(/\/+$/,"")+"/"+t);return s?(s.path=l,a(s)):l}t.urlParse=o,t.urlGenerate=a,t.normalize=i,t.join=s,t.isAbsolute=function(e){return"/"===e.charAt(0)||n.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)};var l=!("__proto__"in Object.create(null));function c(e){return e}function u(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function h(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=l?c:function(e){return u(e)?"$"+e:e},t.fromSetString=l?c:function(e){return u(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,n){var r=h(e.source,t.source);return 0!==r||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||n||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:h(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||n||0!==(r=h(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:h(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!=(n=e.generatedColumn-t.generatedColumn)||0!==(n=h(e.source,t.source))||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)?n:h(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},t.computeSourceURL=function(e,t,n){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),n){var r=o(n);if(!r)throw new Error("sourceMapURL could not be parsed");if(r.path){var l=r.path.lastIndexOf("/");l>=0&&(r.path=r.path.substring(0,l+1))}t=s(a(r),t)}return i(t)}}(or={exports:{}},or.exports),or.exports),ir=(ar.getArg,ar.urlParse,ar.urlGenerate,ar.normalize,ar.join,ar.isAbsolute,ar.relative,ar.toSetString,ar.fromSetString,ar.compareByOriginalPositions,ar.compareByGeneratedPositionsDeflated,ar.compareByGeneratedPositionsInflated,ar.parseSourceMapInput,ar.computeSourceURL,Object.prototype.hasOwnProperty),sr="undefined"!=typeof Map;function lr(){this._array=[],this._set=sr?new Map:Object.create(null)}lr.fromArray=function(e,t){for(var n=new lr,r=0,o=e.length;r<o;r++)n.add(e[r],t);return n},lr.prototype.size=function(){return sr?this._set.size:Object.getOwnPropertyNames(this._set).length},lr.prototype.add=function(e,t){var n=sr?e:ar.toSetString(e),r=sr?this.has(e):ir.call(this._set,n),o=this._array.length;r&&!t||this._array.push(e),r||(sr?this._set.set(e,o):this._set[n]=o)},lr.prototype.has=function(e){if(sr)return this._set.has(e);var t=ar.toSetString(e);return ir.call(this._set,t)},lr.prototype.indexOf=function(e){if(sr){var t=this._set.get(e);if(t>=0)return t}else{var n=ar.toSetString(e);if(ir.call(this._set,n))return this._set[n]}throw new Error('"'+e+'" is not in the set.')},lr.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},lr.prototype.toArray=function(){return this._array.slice()};var cr={ArraySet:lr};function ur(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}ur.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},ur.prototype.add=function(e){var t,n,r,o,a,i;t=this._last,n=e,r=t.generatedLine,o=n.generatedLine,a=t.generatedColumn,i=n.generatedColumn,o>r||o==r&&i>=a||ar.compareByGeneratedPositionsInflated(t,n)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},ur.prototype.toArray=function(){return this._sorted||(this._array.sort(ar.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};var hr=cr.ArraySet,dr={MappingList:ur}.MappingList;function pr(e){e||(e={}),this._file=ar.getArg(e,"file",null),this._sourceRoot=ar.getArg(e,"sourceRoot",null),this._skipValidation=ar.getArg(e,"skipValidation",!1),this._sources=new hr,this._names=new hr,this._mappings=new dr,this._sourcesContents=null}pr.prototype._version=3,pr.fromSourceMap=function(e){var t=e.sourceRoot,n=new pr({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=ar.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)})),e.sources.forEach((function(r){var o=r;null!==t&&(o=ar.relative(t,r)),n._sources.has(o)||n._sources.add(o);var a=e.sourceContentFor(r);null!=a&&n.setSourceContent(r,a)})),n},pr.prototype.addMapping=function(e){var t=ar.getArg(e,"generated"),n=ar.getArg(e,"original",null),r=ar.getArg(e,"source",null),o=ar.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,n,r,o),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=o&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:o})},pr.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=ar.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[ar.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[ar.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},pr.prototype.applySourceMap=function(e,t,n){var r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}var o=this._sourceRoot;null!=o&&(r=ar.relative(o,r));var a=new hr,i=new hr;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){var s=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=s.source&&(t.source=s.source,null!=n&&(t.source=ar.join(n,t.source)),null!=o&&(t.source=ar.relative(o,t.source)),t.originalLine=s.line,t.originalColumn=s.column,null!=s.name&&(t.name=s.name))}var l=t.source;null==l||a.has(l)||a.add(l);var c=t.name;null==c||i.has(c)||i.add(c)}),this),this._sources=a,this._names=i,e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=ar.join(n,t)),null!=o&&(t=ar.relative(o,t)),this.setSourceContent(t,r))}),this)},pr.prototype._validateMapping=function(e,t,n,r){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||n||r)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},pr.prototype._serializeMappings=function(){for(var e,t,n,r,o=0,a=1,i=0,s=0,l=0,c=0,u="",h=this._mappings.toArray(),d=0,p=h.length;d<p;d++){if(e="",(t=h[d]).generatedLine!==a)for(o=0;t.generatedLine!==a;)e+=";",a++;else if(d>0){if(!ar.compareByGeneratedPositionsInflated(t,h[d-1]))continue;e+=","}e+=rr(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=rr(r-c),c=r,e+=rr(t.originalLine-1-s),s=t.originalLine-1,e+=rr(t.originalColumn-i),i=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=rr(n-l),l=n)),u+=e}return u},pr.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=ar.relative(t,e));var n=ar.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)},pr.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},pr.prototype.toString=function(){return JSON.stringify(this.toJSON())};var mr={SourceMapGenerator:pr}.SourceMapGenerator,gr={Atrule:!0,Selector:!0,Declaration:!0},fr=Object.prototype.hasOwnProperty;function br(e,t){var n=e.children,r=null;"function"!=typeof t?n.forEach(this.node,this):n.forEach((function(e){null!==r&&t.call(this,r),this.node(e),r=e}),this)}var yr=function(e){function t(e){if(!fr.call(n,e.type))throw new Error("Unknown node type: "+e.type);n[e.type].call(this,e)}var n={};if(e.node)for(var r in e.node)n[r]=e.node[r].generate;return function(e,n){var r="",o={children:br,node:t,chunk:function(e){r+=e},result:function(){return r}};return n&&("function"==typeof n.decorator&&(o=n.decorator(o)),n.sourceMap&&(o=function(e){var t=new mr,n=1,r=0,o={line:1,column:0},a={line:0,column:0},i=!1,s={line:1,column:0},l={generated:s},c=e.node;e.node=function(e){if(e.loc&&e.loc.start&&gr.hasOwnProperty(e.type)){var u=e.loc.start.line,h=e.loc.start.column-1;a.line===u&&a.column===h||(a.line=u,a.column=h,o.line=n,o.column=r,i&&(i=!1,o.line===s.line&&o.column===s.column||t.addMapping(l)),i=!0,t.addMapping({source:e.loc.source,original:a,generated:o}))}c.call(this,e),i&&gr.hasOwnProperty(e.type)&&(s.line=n,s.column=r)};var u=e.chunk;e.chunk=function(e){for(var t=0;t<e.length;t++)10===e.charCodeAt(t)?(n++,r=0):r++;u(e)};var h=e.result;return e.result=function(){return i&&t.addMapping(l),{css:h(),map:t}},e}(o))),o.node(e),o.result()}},kr=Object.prototype.hasOwnProperty,vr=function(){};function wr(e){return"function"==typeof e?e:vr}function xr(e,t){return function(n,r,o){n.type===t&&e.call(this,n,r,o)}}function Sr(e,t){var n=t.structure,r=[];for(var o in n)if(!1!==kr.call(n,o)){var a=n[o],i={name:o,type:!1,nullable:!1};Array.isArray(n[o])||(a=[n[o]]);for(var s=0;s<a.length;s++){var l=a[s];null===l?i.nullable=!0:"string"==typeof l?i.type="node":Array.isArray(l)&&(i.type="list")}i.type&&r.push(i)}return r.length?{context:t.walkContext,fields:r}:null}function Cr(e,t){var n=e.fields.slice(),r=e.context,o="string"==typeof r;return t&&n.reverse(),function(e,a,i){var s;o&&(s=a[r],a[r]=e);for(var l=0;l<n.length;l++){var c=n[l],u=e[c.name];c.nullable&&!u||("list"===c.type?t?u.forEachRight(i):u.forEach(i):i(u))}o&&(a[r]=s)}}function Ar(e){return{Atrule:{StyleSheet:e.StyleSheet,Atrule:e.Atrule,Rule:e.Rule,Block:e.Block},Rule:{StyleSheet:e.StyleSheet,Atrule:e.Atrule,Rule:e.Rule,Block:e.Block},Declaration:{StyleSheet:e.StyleSheet,Atrule:e.Atrule,Rule:e.Rule,Block:e.Block,DeclarationList:e.DeclarationList}}}var Tr=function(e){var t=function(e){var t={};for(var n in e.node)if(kr.call(e.node,n)){var r=e.node[n];if(!r.structure)throw new Error("Missed `structure` field in `"+n+"` node type definition");t[n]=Sr(0,r)}return t}(e),n={},r={};for(var o in t)kr.call(t,o)&&null!==t[o]&&(n[o]=Cr(t[o],!1),r[o]=Cr(t[o],!0));var a=Ar(n),i=Ar(r),s=function(e,o){var s=vr,l=vr,c=n,u={root:e,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if("function"==typeof o)s=o;else if(o&&(s=wr(o.enter),l=wr(o.leave),o.reverse&&(c=r),o.visit)){if(a.hasOwnProperty(o.visit))c=o.reverse?i[o.visit]:a[o.visit];else if(!t.hasOwnProperty(o.visit))throw new Error("Bad value `"+o.visit+"` for `visit` option (should be: "+Object.keys(t).join(", ")+")");s=xr(s,o.visit),l=xr(l,o.visit)}if(s===vr&&l===vr)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");if(o.reverse){var h=s;s=l,l=h}!function e(t,n,r){s.call(u,t,n,r),c.hasOwnProperty(t.type)&&c[t.type](t,u,e),l.call(u,t,n,r)}(e)};return s.find=function(e,t){var n=null;return s(e,(function(e,r,o){null===n&&t.call(this,e,r,o)&&(n=e)})),n},s.findLast=function(e,t){var n=null;return s(e,{reverse:!0,enter:function(e,r,o){null===n&&t.call(this,e,r,o)&&(n=e)}}),n},s.findAll=function(e,t){var n=[];return s(e,(function(e,r,o){t.call(this,e,r,o)&&n.push(e)})),n},s},zr=function e(t){var n={};for(var r in t){var o=t[r];o&&(Array.isArray(o)||o instanceof d?o=o.map(e):o.constructor===Object&&(o=e(o))),n[r]=o}return n},Pr=Object.prototype.hasOwnProperty,Er={generic:!0,types:{},atrules:{},properties:{},parseContext:{},scope:{},atrule:["parse"],pseudo:["parse"],node:["name","structure","parse","generate","walkContext"]};function Lr(e){return e&&e.constructor===Object}function Or(e){return Lr(e)?Object.assign({},e):e}function Dr(e,t){for(var n in t)Pr.call(t,n)&&(Lr(e[n])?Dr(e[n],Or(t[n])):e[n]=Or(t[n]))}var Nr=function(e,t){return function e(t,n,r){for(var o in r)if(!1!==Pr.call(r,o))if(!0===r[o])o in n&&Pr.call(n,o)&&(t[o]=Or(n[o]));else if(r[o]){if(Lr(r[o]))Dr(a={},t[o]),Dr(a,n[o]),t[o]=a;else if(Array.isArray(r[o])){var a={},i=r[o].reduce((function(e,t){return e[t]=!0,e}),{});for(var s in t[o])Pr.call(t[o],s)&&(a[s]={},t[o]&&t[o][s]&&e(a[s],t[o][s],i));for(var s in n[o])Pr.call(n[o],s)&&(a[s]||(a[s]={}),n[o]&&n[o][s]&&e(a[s],n[o][s],i));t[o]=a}}return t}(e,t,Er)};function Rr(e){var t=er(e),n=Tr(e),r=yr(e),o=function(e){return{fromPlainObject:function(t){return e(t,{enter:function(e){e.children&&e.children instanceof d==!1&&(e.children=(new d).fromArray(e.children))}}),t},toPlainObject:function(t){return e(t,{leave:function(e){e.children&&e.children instanceof d&&(e.children=e.children.toArray())}}),t}}}(n),a={List:d,SyntaxError:g,TokenStream:J,Lexer:Nn,vendorPrefix:ue.vendorPrefix,keyword:ue.keyword,property:ue.property,isCustomProperty:ue.isCustomProperty,definitionSyntax:Rn,lexer:null,createLexer:function(e){return new Nn(e,a,a.lexer.structure)},tokenize:Ee,parse:t,walk:n,generate:r,find:n.find,findLast:n.findLast,findAll:n.findAll,clone:zr,fromPlainObject:o.fromPlainObject,toPlainObject:o.toPlainObject,createSyntax:function(e){return Rr(Nr({},e))},fork:function(t){var n=Nr({},e);return Rr("function"==typeof t?t(n,Object.assign):Nr(n,t))}};return a.lexer=new Nn({generic:!0,types:e.types,atrules:e.atrules,properties:e.properties,node:e.node},a),a}var Ir=function(e){return Rr(Nr({},e))},Br={"absolute-size":"xx-small|x-small|small|medium|large|x-large|xx-large","alpha-value":"<number>|<percentage>","angle-percentage":"<angle>|<percentage>","angular-color-hint":"<angle-percentage>","angular-color-stop":"<color>&&<color-stop-angle>?","angular-color-stop-list":"[<angular-color-stop> [, <angular-color-hint>]?]# , <angular-color-stop>","animateable-feature":"scroll-position|contents|<custom-ident>",attachment:"scroll|fixed|local","attr()":"attr( <attr-name> <type-or-unit>? [, <attr-fallback>]? )","attr-matcher":"['~'|'|'|'^'|'$'|'*']? '='","attr-modifier":"i|s","attribute-selector":"'[' <wq-name> ']'|'[' <wq-name> <attr-matcher> [<string-token>|<ident-token>] <attr-modifier>? ']'","auto-repeat":"repeat( [auto-fill|auto-fit] , [<line-names>? <fixed-size>]+ <line-names>? )","auto-track-list":"[<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>? <auto-repeat> [<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>?","baseline-position":"[first|last]? baseline","basic-shape":"<inset()>|<circle()>|<ellipse()>|<polygon()>","bg-image":"none|<image>","bg-layer":"<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>","bg-position":"[[left|center|right|top|bottom|<length-percentage>]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]|[center|[left|right] <length-percentage>?]&&[center|[top|bottom] <length-percentage>?]]","bg-size":"[<length-percentage>|auto]{1,2}|cover|contain","blur()":"blur( <length> )","blend-mode":"normal|multiply|screen|overlay|darken|lighten|color-dodge|color-burn|hard-light|soft-light|difference|exclusion|hue|saturation|color|luminosity",box:"border-box|padding-box|content-box","brightness()":"brightness( <number-percentage> )","calc()":"calc( <calc-sum> )","calc-sum":"<calc-product> [['+'|'-'] <calc-product>]*","calc-product":"<calc-value> ['*' <calc-value>|'/' <number>]*","calc-value":"<number>|<dimension>|<percentage>|( <calc-sum> )","cf-final-image":"<image>|<color>","cf-mixing-image":"<percentage>?&&<image>","circle()":"circle( [<shape-radius>]? [at <position>]? )","clamp()":"clamp( <calc-sum>#{3} )","class-selector":"'.' <ident-token>","clip-source":"<url>",color:"<rgb()>|<rgba()>|<hsl()>|<hsla()>|<hex-color>|<named-color>|currentcolor|<deprecated-system-color>","color-stop":"<color-stop-length>|<color-stop-angle>","color-stop-angle":"<angle-percentage>{1,2}","color-stop-length":"<length-percentage>{1,2}","color-stop-list":"[<linear-color-stop> [, <linear-color-hint>]?]# , <linear-color-stop>",combinator:"'>'|'+'|'~'|['||']","common-lig-values":"[common-ligatures|no-common-ligatures]",compat:"searchfield|textarea|push-button|button-bevel|slider-horizontal|checkbox|radio|square-button|menulist|menulist-button|listbox|meter|progress-bar","composite-style":"clear|copy|source-over|source-in|source-out|source-atop|destination-over|destination-in|destination-out|destination-atop|xor","compositing-operator":"add|subtract|intersect|exclude","compound-selector":"[<type-selector>? <subclass-selector>* [<pseudo-element-selector> <pseudo-class-selector>*]*]!","compound-selector-list":"<compound-selector>#","complex-selector":"<compound-selector> [<combinator>? <compound-selector>]*","complex-selector-list":"<complex-selector>#","conic-gradient()":"conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )","contextual-alt-values":"[contextual|no-contextual]","content-distribution":"space-between|space-around|space-evenly|stretch","content-list":"[<string>|contents|<url>|<quote>|<attr()>|counter( <ident> , <'list-style-type'>? )]+","content-position":"center|start|end|flex-start|flex-end","content-replacement":"<image>","contrast()":"contrast( [<number-percentage>] )","counter()":"counter( <custom-ident> , [<counter-style>|none]? )","counter-style":"<counter-style-name>|symbols( )","counter-style-name":"<custom-ident>","counters()":"counters( <custom-ident> , <string> , [<counter-style>|none]? )","cross-fade()":"cross-fade( <cf-mixing-image> , <cf-final-image>? )","cubic-bezier-timing-function":"ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number> , <number> , <number> , <number> )","deprecated-system-color":"ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText","discretionary-lig-values":"[discretionary-ligatures|no-discretionary-ligatures]","display-box":"contents|none","display-inside":"flow|flow-root|table|flex|grid|ruby","display-internal":"table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption|ruby-base|ruby-text|ruby-base-container|ruby-text-container","display-legacy":"inline-block|inline-list-item|inline-table|inline-flex|inline-grid","display-listitem":"<display-outside>?&&[flow|flow-root]?&&list-item","display-outside":"block|inline|run-in","drop-shadow()":"drop-shadow( <length>{2,3} <color>? )","east-asian-variant-values":"[jis78|jis83|jis90|jis04|simplified|traditional]","east-asian-width-values":"[full-width|proportional-width]","element()":"element( <id-selector> )","ellipse()":"ellipse( [<shape-radius>{2}]? [at <position>]? )","ending-shape":"circle|ellipse","env()":"env( <custom-ident> , <declaration-value>? )","explicit-track-list":"[<line-names>? <track-size>]+ <line-names>?","family-name":"<string>|<custom-ident>+","feature-tag-value":"<string> [<integer>|on|off]?","feature-type":"@stylistic|@historical-forms|@styleset|@character-variant|@swash|@ornaments|@annotation","feature-value-block":"<feature-type> '{' <feature-value-declaration-list> '}'","feature-value-block-list":"<feature-value-block>+","feature-value-declaration":"<custom-ident> : <integer>+ ;","feature-value-declaration-list":"<feature-value-declaration>","feature-value-name":"<custom-ident>","fill-rule":"nonzero|evenodd","filter-function":"<blur()>|<brightness()>|<contrast()>|<drop-shadow()>|<grayscale()>|<hue-rotate()>|<invert()>|<opacity()>|<saturate()>|<sepia()>","filter-function-list":"[<filter-function>|<url>]+","final-bg-layer":"<'background-color'>||<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>","fit-content()":"fit-content( [<length>|<percentage>] )","fixed-breadth":"<length-percentage>","fixed-repeat":"repeat( [<positive-integer>] , [<line-names>? <fixed-size>]+ <line-names>? )","fixed-size":"<fixed-breadth>|minmax( <fixed-breadth> , <track-breadth> )|minmax( <inflexible-breadth> , <fixed-breadth> )","font-stretch-absolute":"normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|<percentage>","font-variant-css21":"[normal|small-caps]","font-weight-absolute":"normal|bold|<number>","frequency-percentage":"<frequency>|<percentage>","general-enclosed":"[<function-token> <any-value> )]|( <ident> <any-value> )","generic-family":"serif|sans-serif|cursive|fantasy|monospace|-apple-system","generic-name":"serif|sans-serif|cursive|fantasy|monospace","geometry-box":"<shape-box>|fill-box|stroke-box|view-box",gradient:"<linear-gradient()>|<repeating-linear-gradient()>|<radial-gradient()>|<repeating-radial-gradient()>|<conic-gradient()>|<-legacy-gradient>","grayscale()":"grayscale( <number-percentage> )","grid-line":"auto|<custom-ident>|[<integer>&&<custom-ident>?]|[span&&[<integer>||<custom-ident>]]","historical-lig-values":"[historical-ligatures|no-historical-ligatures]","hsl()":"hsl( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )","hsla()":"hsla( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )",hue:"<number>|<angle>","hue-rotate()":"hue-rotate( <angle> )",image:"<url>|<image()>|<image-set()>|<element()>|<cross-fade()>|<gradient>","image()":"image( <image-tags>? [<image-src>? , <color>?]! )","image-set()":"image-set( <image-set-option># )","image-set-option":"[<image>|<string>] <resolution>","image-src":"<url>|<string>","image-tags":"ltr|rtl","inflexible-breadth":"<length>|<percentage>|min-content|max-content|auto","inset()":"inset( <length-percentage>{1,4} [round <'border-radius'>]? )","invert()":"invert( <number-percentage> )","keyframes-name":"<custom-ident>|<string>","keyframe-block":"<keyframe-selector># { <declaration-list> }","keyframe-block-list":"<keyframe-block>+","keyframe-selector":"from|to|<percentage>","leader()":"leader( <leader-type> )","leader-type":"dotted|solid|space|<string>","length-percentage":"<length>|<percentage>","line-names":"'[' <custom-ident>* ']'","line-name-list":"[<line-names>|<name-repeat>]+","line-style":"none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset","line-width":"<length>|thin|medium|thick","linear-color-hint":"<length-percentage>","linear-color-stop":"<color> <color-stop-length>?","linear-gradient()":"linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )","mask-layer":"<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||<geometry-box>||[<geometry-box>|no-clip]||<compositing-operator>||<masking-mode>","mask-position":"[<length-percentage>|left|center|right] [<length-percentage>|top|center|bottom]?","mask-reference":"none|<image>|<mask-source>","mask-source":"<url>","masking-mode":"alpha|luminance|match-source","matrix()":"matrix( <number>#{6} )","matrix3d()":"matrix3d( <number>#{16} )","max()":"max( <calc-sum># )","media-and":"<media-in-parens> [and <media-in-parens>]+","media-condition":"<media-not>|<media-and>|<media-or>|<media-in-parens>","media-condition-without-or":"<media-not>|<media-and>|<media-in-parens>","media-feature":"( [<mf-plain>|<mf-boolean>|<mf-range>] )","media-in-parens":"( <media-condition> )|<media-feature>|<general-enclosed>","media-not":"not <media-in-parens>","media-or":"<media-in-parens> [or <media-in-parens>]+","media-query":"<media-condition>|[not|only]? <media-type> [and <media-condition-without-or>]?","media-query-list":"<media-query>#","media-type":"<ident>","mf-boolean":"<mf-name>","mf-name":"<ident>","mf-plain":"<mf-name> : <mf-value>","mf-range":"<mf-name> ['<'|'>']? '='? <mf-value>|<mf-value> ['<'|'>']? '='? <mf-name>|<mf-value> '<' '='? <mf-name> '<' '='? <mf-value>|<mf-value> '>' '='? <mf-name> '>' '='? <mf-value>","mf-value":"<number>|<dimension>|<ident>|<ratio>","min()":"min( <calc-sum># )","minmax()":"minmax( [<length>|<percentage>|<flex>|min-content|max-content|auto] , [<length>|<percentage>|<flex>|min-content|max-content|auto] )","named-color":"transparent|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen|<-non-standard-color>","namespace-prefix":"<ident>","ns-prefix":"[<ident-token>|'*']? '|'","number-percentage":"<number>|<percentage>","numeric-figure-values":"[lining-nums|oldstyle-nums]","numeric-fraction-values":"[diagonal-fractions|stacked-fractions]","numeric-spacing-values":"[proportional-nums|tabular-nums]",nth:"<an-plus-b>|even|odd","opacity()":"opacity( [<number-percentage>] )","overflow-position":"unsafe|safe","outline-radius":"<length>|<percentage>","page-body":"<declaration>? [; <page-body>]?|<page-margin-box> <page-body>","page-margin-box":"<page-margin-box-type> '{' <declaration-list> '}'","page-margin-box-type":"@top-left-corner|@top-left|@top-center|@top-right|@top-right-corner|@bottom-left-corner|@bottom-left|@bottom-center|@bottom-right|@bottom-right-corner|@left-top|@left-middle|@left-bottom|@right-top|@right-middle|@right-bottom","page-selector-list":"[<page-selector>#]?","page-selector":"<pseudo-page>+|<ident> <pseudo-page>*","perspective()":"perspective( <length> )","polygon()":"polygon( <fill-rule>? , [<length-percentage> <length-percentage>]# )",position:"[[left|center|right]||[top|center|bottom]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]?|[[left|right] <length-percentage>]&&[[top|bottom] <length-percentage>]]","pseudo-class-selector":"':' <ident-token>|':' <function-token> <any-value> ')'","pseudo-element-selector":"':' <pseudo-class-selector>","pseudo-page":": [left|right|first|blank]",quote:"open-quote|close-quote|no-open-quote|no-close-quote","radial-gradient()":"radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )","relative-selector":"<combinator>? <complex-selector>","relative-selector-list":"<relative-selector>#","relative-size":"larger|smaller","repeat-style":"repeat-x|repeat-y|[repeat|space|round|no-repeat]{1,2}","repeating-linear-gradient()":"repeating-linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )","repeating-radial-gradient()":"repeating-radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )","rgb()":"rgb( <percentage>{3} [/ <alpha-value>]? )|rgb( <number>{3} [/ <alpha-value>]? )|rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )","rgba()":"rgba( <percentage>{3} [/ <alpha-value>]? )|rgba( <number>{3} [/ <alpha-value>]? )|rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )","rotate()":"rotate( [<angle>|<zero>] )","rotate3d()":"rotate3d( <number> , <number> , <number> , [<angle>|<zero>] )","rotateX()":"rotateX( [<angle>|<zero>] )","rotateY()":"rotateY( [<angle>|<zero>] )","rotateZ()":"rotateZ( [<angle>|<zero>] )","saturate()":"saturate( <number-percentage> )","scale()":"scale( <number> , <number>? )","scale3d()":"scale3d( <number> , <number> , <number> )","scaleX()":"scaleX( <number> )","scaleY()":"scaleY( <number> )","scaleZ()":"scaleZ( <number> )","self-position":"center|start|end|self-start|self-end|flex-start|flex-end","shape-radius":"<length-percentage>|closest-side|farthest-side","skew()":"skew( [<angle>|<zero>] , [<angle>|<zero>]? )","skewX()":"skewX( [<angle>|<zero>] )","skewY()":"skewY( [<angle>|<zero>] )","sepia()":"sepia( <number-percentage> )",shadow:"inset?&&<length>{2,4}&&<color>?","shadow-t":"[<length>{2,3}&&<color>?]",shape:"rect( <top> , <right> , <bottom> , <left> )|rect( <top> <right> <bottom> <left> )","shape-box":"<box>|margin-box","side-or-corner":"[left|right]||[top|bottom]","single-animation":"<time>||<timing-function>||<time>||<single-animation-iteration-count>||<single-animation-direction>||<single-animation-fill-mode>||<single-animation-play-state>||[none|<keyframes-name>]","single-animation-direction":"normal|reverse|alternate|alternate-reverse","single-animation-fill-mode":"none|forwards|backwards|both","single-animation-iteration-count":"infinite|<number>","single-animation-play-state":"running|paused","single-transition":"[none|<single-transition-property>]||<time>||<timing-function>||<time>","single-transition-property":"all|<custom-ident>",size:"closest-side|farthest-side|closest-corner|farthest-corner|<length>|<length-percentage>{2}","step-position":"jump-start|jump-end|jump-none|jump-both|start|end","step-timing-function":"step-start|step-end|steps( <integer> [, <step-position>]? )","subclass-selector":"<id-selector>|<class-selector>|<attribute-selector>|<pseudo-class-selector>","supports-condition":"not <supports-in-parens>|<supports-in-parens> [and <supports-in-parens>]*|<supports-in-parens> [or <supports-in-parens>]*","supports-in-parens":"( <supports-condition> )|<supports-feature>|<general-enclosed>","supports-feature":"<supports-decl>|<supports-selector-fn>","supports-decl":"( <declaration> )","supports-selector-fn":"selector( <complex-selector> )",symbol:"<string>|<image>|<custom-ident>",target:"<target-counter()>|<target-counters()>|<target-text()>","target-counter()":"target-counter( [<string>|<url>] , <custom-ident> , <counter-style>? )","target-counters()":"target-counters( [<string>|<url>] , <custom-ident> , <string> , <counter-style>? )","target-text()":"target-text( [<string>|<url>] , [content|before|after|first-letter]? )","time-percentage":"<time>|<percentage>","timing-function":"linear|<cubic-bezier-timing-function>|<step-timing-function>","track-breadth":"<length-percentage>|<flex>|min-content|max-content|auto","track-list":"[<line-names>? [<track-size>|<track-repeat>]]+ <line-names>?","track-repeat":"repeat( [<positive-integer>] , [<line-names>? <track-size>]+ <line-names>? )","track-size":"<track-breadth>|minmax( <inflexible-breadth> , <track-breadth> )|fit-content( [<length>|<percentage>] )","transform-function":"<matrix()>|<translate()>|<translateX()>|<translateY()>|<scale()>|<scaleX()>|<scaleY()>|<rotate()>|<skew()>|<skewX()>|<skewY()>|<matrix3d()>|<translate3d()>|<translateZ()>|<scale3d()>|<scaleZ()>|<rotate3d()>|<rotateX()>|<rotateY()>|<rotateZ()>|<perspective()>","transform-list":"<transform-function>+","translate()":"translate( <length-percentage> , <length-percentage>? )","translate3d()":"translate3d( <length-percentage> , <length-percentage> , <length> )","translateX()":"translateX( <length-percentage> )","translateY()":"translateY( <length-percentage> )","translateZ()":"translateZ( <length> )","type-or-unit":"string|color|url|integer|number|length|angle|time|frequency|cap|ch|em|ex|ic|lh|rlh|rem|vb|vi|vw|vh|vmin|vmax|mm|Q|cm|in|pt|pc|px|deg|grad|rad|turn|ms|s|Hz|kHz|%","type-selector":"<wq-name>|<ns-prefix>? '*'","var()":"var( <custom-property-name> , <declaration-value>? )","viewport-length":"auto|<length-percentage>","wq-name":"<ns-prefix>? <ident-token>","-legacy-gradient":"<-webkit-gradient()>|<-legacy-linear-gradient>|<-legacy-repeating-linear-gradient>|<-legacy-radial-gradient>|<-legacy-repeating-radial-gradient>","-legacy-linear-gradient":"-moz-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-linear-gradient( <-legacy-linear-gradient-arguments> )","-legacy-repeating-linear-gradient":"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )","-legacy-linear-gradient-arguments":"[<angle>|<side-or-corner>]? , <color-stop-list>","-legacy-radial-gradient":"-moz-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-radial-gradient( <-legacy-radial-gradient-arguments> )","-legacy-repeating-radial-gradient":"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )","-legacy-radial-gradient-arguments":"[<position> ,]? [[[<-legacy-radial-gradient-shape>||<-legacy-radial-gradient-size>]|[<length>|<percentage>]{2}] ,]? <color-stop-list>","-legacy-radial-gradient-size":"closest-side|closest-corner|farthest-side|farthest-corner|contain|cover","-legacy-radial-gradient-shape":"circle|ellipse","-non-standard-font":"-apple-system-body|-apple-system-headline|-apple-system-subheadline|-apple-system-caption1|-apple-system-caption2|-apple-system-footnote|-apple-system-short-body|-apple-system-short-headline|-apple-system-short-subheadline|-apple-system-short-caption1|-apple-system-short-footnote|-apple-system-tall-body","-non-standard-color":"-moz-ButtonDefault|-moz-ButtonHoverFace|-moz-ButtonHoverText|-moz-CellHighlight|-moz-CellHighlightText|-moz-Combobox|-moz-ComboboxText|-moz-Dialog|-moz-DialogText|-moz-dragtargetzone|-moz-EvenTreeRow|-moz-Field|-moz-FieldText|-moz-html-CellHighlight|-moz-html-CellHighlightText|-moz-mac-accentdarkestshadow|-moz-mac-accentdarkshadow|-moz-mac-accentface|-moz-mac-accentlightesthighlight|-moz-mac-accentlightshadow|-moz-mac-accentregularhighlight|-moz-mac-accentregularshadow|-moz-mac-chrome-active|-moz-mac-chrome-inactive|-moz-mac-focusring|-moz-mac-menuselect|-moz-mac-menushadow|-moz-mac-menutextselect|-moz-MenuHover|-moz-MenuHoverText|-moz-MenuBarText|-moz-MenuBarHoverText|-moz-nativehyperlinktext|-moz-OddTreeRow|-moz-win-communicationstext|-moz-win-mediatext|-moz-activehyperlinktext|-moz-default-background-color|-moz-default-color|-moz-hyperlinktext|-moz-visitedhyperlinktext|-webkit-activelink|-webkit-focus-ring-color|-webkit-link|-webkit-text","-non-standard-image-rendering":"optimize-contrast|-moz-crisp-edges|-o-crisp-edges|-webkit-optimize-contrast","-non-standard-overflow":"-moz-scrollbars-none|-moz-scrollbars-horizontal|-moz-scrollbars-vertical|-moz-hidden-unscrollable","-non-standard-width":"min-intrinsic|intrinsic|-moz-min-content|-moz-max-content|-webkit-min-content|-webkit-max-content","-webkit-gradient()":"-webkit-gradient( <-webkit-gradient-type> , <-webkit-gradient-point> [, <-webkit-gradient-point>|, <-webkit-gradient-radius> , <-webkit-gradient-point>] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )","-webkit-gradient-color-stop":"from( <color> )|color-stop( [<number-zero-one>|<percentage>] , <color> )|to( <color> )","-webkit-gradient-point":"[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]","-webkit-gradient-radius":"<length>|<percentage>","-webkit-gradient-type":"linear|radial","-webkit-mask-box-repeat":"repeat|stretch|round","-webkit-mask-clip-style":"border|border-box|padding|padding-box|content|content-box|text","-ms-filter-function-list":"<-ms-filter-function>+","-ms-filter-function":"<-ms-filter-function-progid>|<-ms-filter-function-legacy>","-ms-filter-function-progid":"'progid:' [<ident-token> '.']* [<ident-token>|<function-token> <any-value>? )]","-ms-filter-function-legacy":"<ident-token>|<function-token> <any-value>? )","-ms-filter":"<string>",age:"child|young|old","attr-name":"<wq-name>","attr-fallback":"<any-value>","border-radius":"<length-percentage>{1,2}",bottom:"<length>|auto","generic-voice":"[<age>? <gender> <integer>?]",gender:"male|female|neutral",left:"<length>|auto","mask-image":"<mask-reference>#","name-repeat":"repeat( [<positive-integer>|auto-fill] , <line-names>+ )",paint:"none|<color>|<url> [none|<color>]?|context-fill|context-stroke","path()":"path( <string> )",ratio:"<integer> / <integer>",right:"<length>|auto","svg-length":"<percentage>|<length>|<number>","svg-writing-mode":"lr-tb|rl-tb|tb-rl|lr|rl|tb",top:"<length>|auto","track-group":"'(' [<string>* <track-minmax> <string>*]+ ')' ['[' <positive-integer> ']']?|<track-minmax>","track-list-v0":"[<string>* <track-group> <string>*]+|none","track-minmax":"minmax( <track-breadth> , <track-breadth> )|auto|<track-breadth>|fit-content",x:"<number>",y:"<number>",declaration:"<ident-token> : <declaration-value>? ['!' important]?","declaration-list":"[<declaration>? ';']* <declaration>?",url:"url( <string> <url-modifier>* )|<url-token>","url-modifier":"<ident>|<function-token> <any-value> )","number-zero-one":"<number [0,1]>","number-one-or-greater":"<number [1,∞]>","positive-integer":"<integer [0,∞]>"},Mr={"--*":"<declaration-value>","-ms-accelerator":"false|true","-ms-block-progression":"tb|rl|bt|lr","-ms-content-zoom-chaining":"none|chained","-ms-content-zooming":"none|zoom","-ms-content-zoom-limit":"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>","-ms-content-zoom-limit-max":"<percentage>","-ms-content-zoom-limit-min":"<percentage>","-ms-content-zoom-snap":"<'-ms-content-zoom-snap-type'>||<'-ms-content-zoom-snap-points'>","-ms-content-zoom-snap-points":"snapInterval( <percentage> , <percentage> )|snapList( <percentage># )","-ms-content-zoom-snap-type":"none|proximity|mandatory","-ms-filter":"<string>","-ms-flow-from":"[none|<custom-ident>]#","-ms-flow-into":"[none|<custom-ident>]#","-ms-high-contrast-adjust":"auto|none","-ms-hyphenate-limit-chars":"auto|<integer>{1,3}","-ms-hyphenate-limit-lines":"no-limit|<integer>","-ms-hyphenate-limit-zone":"<percentage>|<length>","-ms-ime-align":"auto|after","-ms-overflow-style":"auto|none|scrollbar|-ms-autohiding-scrollbar","-ms-scrollbar-3dlight-color":"<color>","-ms-scrollbar-arrow-color":"<color>","-ms-scrollbar-base-color":"<color>","-ms-scrollbar-darkshadow-color":"<color>","-ms-scrollbar-face-color":"<color>","-ms-scrollbar-highlight-color":"<color>","-ms-scrollbar-shadow-color":"<color>","-ms-scrollbar-track-color":"<color>","-ms-scroll-chaining":"chained|none","-ms-scroll-limit":"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>","-ms-scroll-limit-x-max":"auto|<length>","-ms-scroll-limit-x-min":"<length>","-ms-scroll-limit-y-max":"auto|<length>","-ms-scroll-limit-y-min":"<length>","-ms-scroll-rails":"none|railed","-ms-scroll-snap-points-x":"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )","-ms-scroll-snap-points-y":"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )","-ms-scroll-snap-type":"none|proximity|mandatory","-ms-scroll-snap-x":"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>","-ms-scroll-snap-y":"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>","-ms-scroll-translation":"none|vertical-to-horizontal","-ms-text-autospace":"none|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space","-ms-touch-select":"grippers|none","-ms-user-select":"none|element|text","-ms-wrap-flow":"auto|both|start|end|maximum|clear","-ms-wrap-margin":"<length>","-ms-wrap-through":"wrap|none","-moz-appearance":"none|button|button-arrow-down|button-arrow-next|button-arrow-previous|button-arrow-up|button-bevel|button-focus|caret|checkbox|checkbox-container|checkbox-label|checkmenuitem|dualbutton|groupbox|listbox|listitem|menuarrow|menubar|menucheckbox|menuimage|menuitem|menuitemtext|menulist|menulist-button|menulist-text|menulist-textfield|menupopup|menuradio|menuseparator|meterbar|meterchunk|progressbar|progressbar-vertical|progresschunk|progresschunk-vertical|radio|radio-container|radio-label|radiomenuitem|range|range-thumb|resizer|resizerpanel|scale-horizontal|scalethumbend|scalethumb-horizontal|scalethumbstart|scalethumbtick|scalethumb-vertical|scale-vertical|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|separator|sheet|spinner|spinner-downbutton|spinner-textfield|spinner-upbutton|splitter|statusbar|statusbarpanel|tab|tabpanel|tabpanels|tab-scroll-arrow-back|tab-scroll-arrow-forward|textfield|textfield-multiline|toolbar|toolbarbutton|toolbarbutton-dropdown|toolbargripper|toolbox|tooltip|treeheader|treeheadercell|treeheadersortarrow|treeitem|treeline|treetwisty|treetwistyopen|treeview|-moz-mac-unified-toolbar|-moz-win-borderless-glass|-moz-win-browsertabbar-toolbox|-moz-win-communicationstext|-moz-win-communications-toolbox|-moz-win-exclude-glass|-moz-win-glass|-moz-win-mediatext|-moz-win-media-toolbox|-moz-window-button-box|-moz-window-button-box-maximized|-moz-window-button-close|-moz-window-button-maximize|-moz-window-button-minimize|-moz-window-button-restore|-moz-window-frame-bottom|-moz-window-frame-left|-moz-window-frame-right|-moz-window-titlebar|-moz-window-titlebar-maximized","-moz-binding":"<url>|none","-moz-border-bottom-colors":"<color>+|none","-moz-border-left-colors":"<color>+|none","-moz-border-right-colors":"<color>+|none","-moz-border-top-colors":"<color>+|none","-moz-context-properties":"none|[fill|fill-opacity|stroke|stroke-opacity]#","-moz-float-edge":"border-box|content-box|margin-box|padding-box","-moz-force-broken-image-icon":"<integer>","-moz-image-region":"<shape>|auto","-moz-orient":"inline|block|horizontal|vertical","-moz-outline-radius":"<outline-radius>{1,4} [/ <outline-radius>{1,4}]?","-moz-outline-radius-bottomleft":"<outline-radius>","-moz-outline-radius-bottomright":"<outline-radius>","-moz-outline-radius-topleft":"<outline-radius>","-moz-outline-radius-topright":"<outline-radius>","-moz-stack-sizing":"ignore|stretch-to-fit","-moz-text-blink":"none|blink","-moz-user-focus":"ignore|normal|select-after|select-before|select-menu|select-same|select-all|none","-moz-user-input":"auto|none|enabled|disabled","-moz-user-modify":"read-only|read-write|write-only","-moz-window-dragging":"drag|no-drag","-moz-window-shadow":"default|menu|tooltip|sheet|none","-webkit-appearance":"none|button|button-bevel|caps-lock-indicator|caret|checkbox|default-button|listbox|listitem|media-fullscreen-button|media-mute-button|media-play-button|media-seek-back-button|media-seek-forward-button|media-slider|media-sliderthumb|menulist|menulist-button|menulist-text|menulist-textfield|push-button|radio|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbargripper-horizontal|scrollbargripper-vertical|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|searchfield-cancel-button|searchfield-decoration|searchfield-results-button|searchfield-results-decoration|slider-horizontal|slider-vertical|sliderthumb-horizontal|sliderthumb-vertical|square-button|textarea|textfield","-webkit-border-before":"<'border-width'>||<'border-style'>||<'color'>","-webkit-border-before-color":"<'color'>","-webkit-border-before-style":"<'border-style'>","-webkit-border-before-width":"<'border-width'>","-webkit-box-reflect":"[above|below|right|left]? <length>? <image>?","-webkit-line-clamp":"none|<integer>","-webkit-mask":"[<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||[<box>|border|padding|content|text]||[<box>|border|padding|content]]#","-webkit-mask-attachment":"<attachment>#","-webkit-mask-clip":"[<box>|border|padding|content|text]#","-webkit-mask-composite":"<composite-style>#","-webkit-mask-image":"<mask-reference>#","-webkit-mask-origin":"[<box>|border|padding|content]#","-webkit-mask-position":"<position>#","-webkit-mask-position-x":"[<length-percentage>|left|center|right]#","-webkit-mask-position-y":"[<length-percentage>|top|center|bottom]#","-webkit-mask-repeat":"<repeat-style>#","-webkit-mask-repeat-x":"repeat|no-repeat|space|round","-webkit-mask-repeat-y":"repeat|no-repeat|space|round","-webkit-mask-size":"<bg-size>#","-webkit-overflow-scrolling":"auto|touch","-webkit-tap-highlight-color":"<color>","-webkit-text-fill-color":"<color>","-webkit-text-stroke":"<length>||<color>","-webkit-text-stroke-color":"<color>","-webkit-text-stroke-width":"<length>","-webkit-touch-callout":"default|none","-webkit-user-modify":"read-only|read-write|read-write-plaintext-only","align-content":"normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>","align-items":"normal|stretch|<baseline-position>|[<overflow-position>? <self-position>]","align-self":"auto|normal|stretch|<baseline-position>|<overflow-position>? <self-position>",all:"initial|inherit|unset|revert",animation:"<single-animation>#","animation-delay":"<time>#","animation-direction":"<single-animation-direction>#","animation-duration":"<time>#","animation-fill-mode":"<single-animation-fill-mode>#","animation-iteration-count":"<single-animation-iteration-count>#","animation-name":"[none|<keyframes-name>]#","animation-play-state":"<single-animation-play-state>#","animation-timing-function":"<timing-function>#",appearance:"none|auto|button|textfield|<compat>",azimuth:"<angle>|[[left-side|far-left|left|center-left|center|center-right|right|far-right|right-side]||behind]|leftwards|rightwards","backdrop-filter":"none|<filter-function-list>","backface-visibility":"visible|hidden",background:"[<bg-layer> ,]* <final-bg-layer>","background-attachment":"<attachment>#","background-blend-mode":"<blend-mode>#","background-clip":"<box>#","background-color":"<color>","background-image":"<bg-image>#","background-origin":"<box>#","background-position":"<bg-position>#","background-position-x":"[center|[left|right|x-start|x-end]? <length-percentage>?]#","background-position-y":"[center|[top|bottom|y-start|y-end]? <length-percentage>?]#","background-repeat":"<repeat-style>#","background-size":"<bg-size>#","block-overflow":"clip|ellipsis|<string>","block-size":"<'width'>",border:"<line-width>||<line-style>||<color>","border-block":"<'border-top-width'>||<'border-top-style'>||<'color'>","border-block-color":"<'border-top-color'>{1,2}","border-block-style":"<'border-top-style'>","border-block-width":"<'border-top-width'>","border-block-end":"<'border-top-width'>||<'border-top-style'>||<'color'>","border-block-end-color":"<'border-top-color'>","border-block-end-style":"<'border-top-style'>","border-block-end-width":"<'border-top-width'>","border-block-start":"<'border-top-width'>||<'border-top-style'>||<'color'>","border-block-start-color":"<'border-top-color'>","border-block-start-style":"<'border-top-style'>","border-block-start-width":"<'border-top-width'>","border-bottom":"<line-width>||<line-style>||<color>","border-bottom-color":"<'border-top-color'>","border-bottom-left-radius":"<length-percentage>{1,2}","border-bottom-right-radius":"<length-percentage>{1,2}","border-bottom-style":"<line-style>","border-bottom-width":"<line-width>","border-collapse":"collapse|separate","border-color":"<color>{1,4}","border-end-end-radius":"<length-percentage>{1,2}","border-end-start-radius":"<length-percentage>{1,2}","border-image":"<'border-image-source'>||<'border-image-slice'> [/ <'border-image-width'>|/ <'border-image-width'>? / <'border-image-outset'>]?||<'border-image-repeat'>","border-image-outset":"[<length>|<number>]{1,4}","border-image-repeat":"[stretch|repeat|round|space]{1,2}","border-image-slice":"<number-percentage>{1,4}&&fill?","border-image-source":"none|<image>","border-image-width":"[<length-percentage>|<number>|auto]{1,4}","border-inline":"<'border-top-width'>||<'border-top-style'>||<'color'>","border-inline-end":"<'border-top-width'>||<'border-top-style'>||<'color'>","border-inline-color":"<'border-top-color'>{1,2}","border-inline-style":"<'border-top-style'>","border-inline-width":"<'border-top-width'>","border-inline-end-color":"<'border-top-color'>","border-inline-end-style":"<'border-top-style'>","border-inline-end-width":"<'border-top-width'>","border-inline-start":"<'border-top-width'>||<'border-top-style'>||<'color'>","border-inline-start-color":"<'border-top-color'>","border-inline-start-style":"<'border-top-style'>","border-inline-start-width":"<'border-top-width'>","border-left":"<line-width>||<line-style>||<color>","border-left-color":"<color>","border-left-style":"<line-style>","border-left-width":"<line-width>","border-radius":"<length-percentage>{1,4} [/ <length-percentage>{1,4}]?","border-right":"<line-width>||<line-style>||<color>","border-right-color":"<color>","border-right-style":"<line-style>","border-right-width":"<line-width>","border-spacing":"<length> <length>?","border-start-end-radius":"<length-percentage>{1,2}","border-start-start-radius":"<length-percentage>{1,2}","border-style":"<line-style>{1,4}","border-top":"<line-width>||<line-style>||<color>","border-top-color":"<color>","border-top-left-radius":"<length-percentage>{1,2}","border-top-right-radius":"<length-percentage>{1,2}","border-top-style":"<line-style>","border-top-width":"<line-width>","border-width":"<line-width>{1,4}",bottom:"<length>|<percentage>|auto","box-align":"start|center|end|baseline|stretch","box-decoration-break":"slice|clone","box-direction":"normal|reverse|inherit","box-flex":"<number>","box-flex-group":"<integer>","box-lines":"single|multiple","box-ordinal-group":"<integer>","box-orient":"horizontal|vertical|inline-axis|block-axis|inherit","box-pack":"start|center|end|justify","box-shadow":"none|<shadow>#","box-sizing":"content-box|border-box","break-after":"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region","break-before":"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region","break-inside":"auto|avoid|avoid-page|avoid-column|avoid-region","caption-side":"top|bottom|block-start|block-end|inline-start|inline-end","caret-color":"auto|<color>",clear:"none|left|right|both|inline-start|inline-end",clip:"<shape>|auto","clip-path":"<clip-source>|[<basic-shape>||<geometry-box>]|none",color:"<color>","color-adjust":"economy|exact","column-count":"<integer>|auto","column-fill":"auto|balance|balance-all","column-gap":"normal|<length-percentage>","column-rule":"<'column-rule-width'>||<'column-rule-style'>||<'column-rule-color'>","column-rule-color":"<color>","column-rule-style":"<'border-style'>","column-rule-width":"<'border-width'>","column-span":"none|all","column-width":"<length>|auto",columns:"<'column-width'>||<'column-count'>",contain:"none|strict|content|[size||layout||style||paint]",content:"normal|none|[<content-replacement>|<content-list>] [/ <string>]?","counter-increment":"[<custom-ident> <integer>?]+|none","counter-reset":"[<custom-ident> <integer>?]+|none","counter-set":"[<custom-ident> <integer>?]+|none",cursor:"[[<url> [<x> <y>]? ,]* [auto|default|none|context-menu|help|pointer|progress|wait|cell|crosshair|text|vertical-text|alias|copy|move|no-drop|not-allowed|e-resize|n-resize|ne-resize|nw-resize|s-resize|se-resize|sw-resize|w-resize|ew-resize|ns-resize|nesw-resize|nwse-resize|col-resize|row-resize|all-scroll|zoom-in|zoom-out|grab|grabbing|hand|-webkit-grab|-webkit-grabbing|-webkit-zoom-in|-webkit-zoom-out|-moz-grab|-moz-grabbing|-moz-zoom-in|-moz-zoom-out]]",direction:"ltr|rtl",display:"block|contents|flex|flow|flow-root|grid|inline|inline-block|inline-flex|inline-grid|inline-list-item|inline-table|list-item|none|ruby|ruby-base|ruby-base-container|ruby-text|ruby-text-container|run-in|table|table-caption|table-cell|table-column|table-column-group|table-footer-group|table-header-group|table-row|table-row-group|-ms-flexbox|-ms-inline-flexbox|-ms-grid|-ms-inline-grid|-webkit-flex|-webkit-inline-flex|-webkit-box|-webkit-inline-box|-moz-inline-stack|-moz-box|-moz-inline-box","empty-cells":"show|hide",filter:"none|<filter-function-list>|<-ms-filter-function-list>",flex:"none|[<'flex-grow'> <'flex-shrink'>?||<'flex-basis'>]","flex-basis":"content|<'width'>","flex-direction":"row|row-reverse|column|column-reverse","flex-flow":"<'flex-direction'>||<'flex-wrap'>","flex-grow":"<number>","flex-shrink":"<number>","flex-wrap":"nowrap|wrap|wrap-reverse",float:"left|right|none|inline-start|inline-end",font:"[[<'font-style'>||<font-variant-css21>||<'font-weight'>||<'font-stretch'>]? <'font-size'> [/ <'line-height'>]? <'font-family'>]|caption|icon|menu|message-box|small-caption|status-bar","font-family":"[<family-name>|<generic-family>]#","font-feature-settings":"normal|<feature-tag-value>#","font-kerning":"auto|normal|none","font-language-override":"normal|<string>","font-optical-sizing":"auto|none","font-variation-settings":"normal|[<string> <number>]#","font-size":"<absolute-size>|<relative-size>|<length-percentage>","font-size-adjust":"none|<number>","font-stretch":"<font-stretch-absolute>","font-style":"normal|italic|oblique <angle>?","font-synthesis":"none|[weight||style]","font-variant":"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]","font-variant-alternates":"normal|[stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )]","font-variant-caps":"normal|small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps","font-variant-east-asian":"normal|[<east-asian-variant-values>||<east-asian-width-values>||ruby]","font-variant-ligatures":"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>]","font-variant-numeric":"normal|[<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero]","font-variant-position":"normal|sub|super","font-weight":"<font-weight-absolute>|bolder|lighter",gap:"<'row-gap'> <'column-gap'>?",grid:"<'grid-template'>|<'grid-template-rows'> / [auto-flow&&dense?] <'grid-auto-columns'>?|[auto-flow&&dense?] <'grid-auto-rows'>? / <'grid-template-columns'>","grid-area":"<grid-line> [/ <grid-line>]{0,3}","grid-auto-columns":"<track-size>+","grid-auto-flow":"[row|column]||dense","grid-auto-rows":"<track-size>+","grid-column":"<grid-line> [/ <grid-line>]?","grid-column-end":"<grid-line>","grid-column-gap":"<length-percentage>","grid-column-start":"<grid-line>","grid-gap":"<'grid-row-gap'> <'grid-column-gap'>?","grid-row":"<grid-line> [/ <grid-line>]?","grid-row-end":"<grid-line>","grid-row-gap":"<length-percentage>","grid-row-start":"<grid-line>","grid-template":"none|[<'grid-template-rows'> / <'grid-template-columns'>]|[<line-names>? <string> <track-size>? <line-names>?]+ [/ <explicit-track-list>]?","grid-template-areas":"none|<string>+","grid-template-columns":"none|<track-list>|<auto-track-list>","grid-template-rows":"none|<track-list>|<auto-track-list>","hanging-punctuation":"none|[first||[force-end|allow-end]||last]",height:"[<length>|<percentage>]&&[border-box|content-box]?|available|min-content|max-content|fit-content|auto",hyphens:"none|manual|auto","image-orientation":"from-image|<angle>|[<angle>? flip]","image-rendering":"auto|crisp-edges|pixelated|optimizeSpeed|optimizeQuality|<-non-standard-image-rendering>","image-resolution":"[from-image||<resolution>]&&snap?","ime-mode":"auto|normal|active|inactive|disabled","initial-letter":"normal|[<number> <integer>?]","initial-letter-align":"[auto|alphabetic|hanging|ideographic]","inline-size":"<'width'>",inset:"<'top'>{1,4}","inset-block":"<'top'>{1,2}","inset-block-end":"<'top'>","inset-block-start":"<'top'>","inset-inline":"<'top'>{1,2}","inset-inline-end":"<'top'>","inset-inline-start":"<'top'>",isolation:"auto|isolate","justify-content":"normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]","justify-items":"normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]|legacy|legacy&&[left|right|center]","justify-self":"auto|normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]",left:"<length>|<percentage>|auto","letter-spacing":"normal|<length-percentage>","line-break":"auto|loose|normal|strict","line-clamp":"none|<integer>","line-height":"normal|<number>|<length>|<percentage>","line-height-step":"<length>","list-style":"<'list-style-type'>||<'list-style-position'>||<'list-style-image'>","list-style-image":"<url>|none","list-style-position":"inside|outside","list-style-type":"<counter-style>|<string>|none",margin:"[<length>|<percentage>|auto]{1,4}","margin-block":"<'margin-left'>{1,2}","margin-block-end":"<'margin-left'>","margin-block-start":"<'margin-left'>","margin-bottom":"<length>|<percentage>|auto","margin-inline":"<'margin-left'>{1,2}","margin-inline-end":"<'margin-left'>","margin-inline-start":"<'margin-left'>","margin-left":"<length>|<percentage>|auto","margin-right":"<length>|<percentage>|auto","margin-top":"<length>|<percentage>|auto",mask:"<mask-layer>#","mask-border":"<'mask-border-source'>||<'mask-border-slice'> [/ <'mask-border-width'>? [/ <'mask-border-outset'>]?]?||<'mask-border-repeat'>||<'mask-border-mode'>","mask-border-mode":"luminance|alpha","mask-border-outset":"[<length>|<number>]{1,4}","mask-border-repeat":"[stretch|repeat|round|space]{1,2}","mask-border-slice":"<number-percentage>{1,4} fill?","mask-border-source":"none|<image>","mask-border-width":"[<length-percentage>|<number>|auto]{1,4}","mask-clip":"[<geometry-box>|no-clip]#","mask-composite":"<compositing-operator>#","mask-image":"<mask-reference>#","mask-mode":"<masking-mode>#","mask-origin":"<geometry-box>#","mask-position":"<position>#","mask-repeat":"<repeat-style>#","mask-size":"<bg-size>#","mask-type":"luminance|alpha","max-block-size":"<'max-width'>","max-height":"<length>|<percentage>|none|max-content|min-content|fit-content|fill-available","max-inline-size":"<'max-width'>","max-lines":"none|<integer>","max-width":"<length>|<percentage>|none|max-content|min-content|fit-content|fill-available|<-non-standard-width>","min-block-size":"<'min-width'>","min-height":"<length>|<percentage>|auto|max-content|min-content|fit-content|fill-available","min-inline-size":"<'min-width'>","min-width":"<length>|<percentage>|auto|max-content|min-content|fit-content|fill-available|<-non-standard-width>","mix-blend-mode":"<blend-mode>","object-fit":"fill|contain|cover|none|scale-down","object-position":"<position>",offset:"[<'offset-position'>? [<'offset-path'> [<'offset-distance'>||<'offset-rotate'>]?]?]! [/ <'offset-anchor'>]?","offset-anchor":"auto|<position>","offset-distance":"<length-percentage>","offset-path":"none|ray( [<angle>&&<size>?&&contain?] )|<path()>|<url>|[<basic-shape>||<geometry-box>]","offset-position":"auto|<position>","offset-rotate":"[auto|reverse]||<angle>",opacity:"<number-zero-one>",order:"<integer>",orphans:"<integer>",outline:"[<'outline-color'>||<'outline-style'>||<'outline-width'>]","outline-color":"<color>|invert","outline-offset":"<length>","outline-style":"auto|<'border-style'>","outline-width":"<line-width>",overflow:"[visible|hidden|clip|scroll|auto]{1,2}|<-non-standard-overflow>","overflow-anchor":"auto|none","overflow-block":"visible|hidden|clip|scroll|auto","overflow-clip-box":"padding-box|content-box","overflow-inline":"visible|hidden|clip|scroll|auto","overflow-wrap":"normal|break-word|anywhere","overflow-x":"visible|hidden|clip|scroll|auto","overflow-y":"visible|hidden|clip|scroll|auto","overscroll-behavior":"[contain|none|auto]{1,2}","overscroll-behavior-x":"contain|none|auto","overscroll-behavior-y":"contain|none|auto",padding:"[<length>|<percentage>]{1,4}","padding-block":"<'padding-left'>{1,2}","padding-block-end":"<'padding-left'>","padding-block-start":"<'padding-left'>","padding-bottom":"<length>|<percentage>","padding-inline":"<'padding-left'>{1,2}","padding-inline-end":"<'padding-left'>","padding-inline-start":"<'padding-left'>","padding-left":"<length>|<percentage>","padding-right":"<length>|<percentage>","padding-top":"<length>|<percentage>","page-break-after":"auto|always|avoid|left|right|recto|verso","page-break-before":"auto|always|avoid|left|right|recto|verso","page-break-inside":"auto|avoid","paint-order":"normal|[fill||stroke||markers]",perspective:"none|<length>","perspective-origin":"<position>","place-content":"<'align-content'> <'justify-content'>?","place-items":"<'align-items'> <'justify-items'>?","place-self":"<'align-self'> <'justify-self'>?","pointer-events":"auto|none|visiblePainted|visibleFill|visibleStroke|visible|painted|fill|stroke|all|inherit",position:"static|relative|absolute|sticky|fixed|-webkit-sticky",quotes:"none|[<string> <string>]+",resize:"none|both|horizontal|vertical|block|inline",right:"<length>|<percentage>|auto",rotate:"none|<angle>|[x|y|z|<number>{3}]&&<angle>","row-gap":"normal|<length-percentage>","ruby-align":"start|center|space-between|space-around","ruby-merge":"separate|collapse|auto","ruby-position":"over|under|inter-character",scale:"none|<number>{1,3}","scrollbar-color":"auto|dark|light|<color>{2}","scrollbar-width":"auto|thin|none","scroll-behavior":"auto|smooth","scroll-margin":"<length>{1,4}","scroll-margin-block":"<length>{1,2}","scroll-margin-block-start":"<length>","scroll-margin-block-end":"<length>","scroll-margin-bottom":"<length>","scroll-margin-inline":"<length>{1,2}","scroll-margin-inline-start":"<length>","scroll-margin-inline-end":"<length>","scroll-margin-left":"<length>","scroll-margin-right":"<length>","scroll-margin-top":"<length>","scroll-padding":"[auto|<length-percentage>]{1,4}","scroll-padding-block":"[auto|<length-percentage>]{1,2}","scroll-padding-block-start":"auto|<length-percentage>","scroll-padding-block-end":"auto|<length-percentage>","scroll-padding-bottom":"auto|<length-percentage>","scroll-padding-inline":"[auto|<length-percentage>]{1,2}","scroll-padding-inline-start":"auto|<length-percentage>","scroll-padding-inline-end":"auto|<length-percentage>","scroll-padding-left":"auto|<length-percentage>","scroll-padding-right":"auto|<length-percentage>","scroll-padding-top":"auto|<length-percentage>","scroll-snap-align":"[none|start|end|center]{1,2}","scroll-snap-coordinate":"none|<position>#","scroll-snap-destination":"<position>","scroll-snap-points-x":"none|repeat( <length-percentage> )","scroll-snap-points-y":"none|repeat( <length-percentage> )","scroll-snap-stop":"normal|always","scroll-snap-type":"none|[x|y|block|inline|both] [mandatory|proximity]?","scroll-snap-type-x":"none|mandatory|proximity","scroll-snap-type-y":"none|mandatory|proximity","shape-image-threshold":"<number>","shape-margin":"<length-percentage>","shape-outside":"none|<shape-box>||<basic-shape>|<image>","tab-size":"<integer>|<length>","table-layout":"auto|fixed","text-align":"start|end|left|right|center|justify|match-parent","text-align-last":"auto|start|end|left|right|center|justify","text-combine-upright":"none|all|[digits <integer>?]","text-decoration":"<'text-decoration-line'>||<'text-decoration-style'>||<'text-decoration-color'>","text-decoration-color":"<color>","text-decoration-line":"none|[underline||overline||line-through||blink]","text-decoration-skip":"none|[objects||[spaces|[leading-spaces||trailing-spaces]]||edges||box-decoration]","text-decoration-skip-ink":"auto|none","text-decoration-style":"solid|double|dotted|dashed|wavy","text-emphasis":"<'text-emphasis-style'>||<'text-emphasis-color'>","text-emphasis-color":"<color>","text-emphasis-position":"[over|under]&&[right|left]","text-emphasis-style":"none|[[filled|open]||[dot|circle|double-circle|triangle|sesame]]|<string>","text-indent":"<length-percentage>&&hanging?&&each-line?","text-justify":"auto|inter-character|inter-word|none","text-orientation":"mixed|upright|sideways","text-overflow":"[clip|ellipsis|<string>]{1,2}","text-rendering":"auto|optimizeSpeed|optimizeLegibility|geometricPrecision","text-shadow":"none|<shadow-t>#","text-size-adjust":"none|auto|<percentage>","text-transform":"none|capitalize|uppercase|lowercase|full-width|full-size-kana","text-underline-position":"auto|[under||[left|right]]",top:"<length>|<percentage>|auto","touch-action":"auto|none|[[pan-x|pan-left|pan-right]||[pan-y|pan-up|pan-down]||pinch-zoom]|manipulation",transform:"none|<transform-list>","transform-box":"border-box|fill-box|view-box","transform-origin":"[<length-percentage>|left|center|right|top|bottom]|[[<length-percentage>|left|center|right]&&[<length-percentage>|top|center|bottom]] <length>?","transform-style":"flat|preserve-3d",transition:"<single-transition>#","transition-delay":"<time>#","transition-duration":"<time>#","transition-property":"none|<single-transition-property>#","transition-timing-function":"<timing-function>#",translate:"none|<length-percentage> [<length-percentage> <length>?]?","unicode-bidi":"normal|embed|isolate|bidi-override|isolate-override|plaintext|-moz-isolate|-moz-isolate-override|-moz-plaintext|-webkit-isolate","user-select":"auto|text|none|contain|all","vertical-align":"baseline|sub|super|text-top|text-bottom|middle|top|bottom|<percentage>|<length>",visibility:"visible|hidden|collapse","white-space":"normal|pre|nowrap|pre-wrap|pre-line",widows:"<integer>",width:"[<length>|<percentage>]&&[border-box|content-box]?|available|min-content|max-content|fit-content|auto","will-change":"auto|<animateable-feature>#","word-break":"normal|break-all|keep-all|break-word","word-spacing":"normal|<length-percentage>","word-wrap":"normal|break-word","writing-mode":"horizontal-tb|vertical-rl|vertical-lr|sideways-rl|sideways-lr|<svg-writing-mode>","z-index":"auto|<integer>",zoom:"normal|reset|<number>|<percentage>","-moz-background-clip":"padding|border","-moz-border-radius-bottomleft":"<'border-bottom-left-radius'>","-moz-border-radius-bottomright":"<'border-bottom-right-radius'>","-moz-border-radius-topleft":"<'border-top-left-radius'>","-moz-border-radius-topright":"<'border-bottom-right-radius'>","-moz-control-character-visibility":"visible|hidden","-moz-osx-font-smoothing":"auto|grayscale","-moz-user-select":"none|text|all|-moz-none","-ms-flex-align":"start|end|center|baseline|stretch","-ms-flex-item-align":"auto|start|end|center|baseline|stretch","-ms-flex-line-pack":"start|end|center|justify|distribute|stretch","-ms-flex-negative":"<'flex-shrink'>","-ms-flex-pack":"start|end|center|justify|distribute","-ms-flex-order":"<integer>","-ms-flex-positive":"<'flex-grow'>","-ms-flex-preferred-size":"<'flex-basis'>","-ms-interpolation-mode":"nearest-neighbor|bicubic","-ms-grid-column-align":"start|end|center|stretch","-ms-grid-columns":"<track-list-v0>","-ms-grid-row-align":"start|end|center|stretch","-ms-grid-rows":"<track-list-v0>","-ms-hyphenate-limit-last":"none|always|column|page|spread","-webkit-background-clip":"[<box>|border|padding|content|text]#","-webkit-column-break-after":"always|auto|avoid","-webkit-column-break-before":"always|auto|avoid","-webkit-column-break-inside":"always|auto|avoid","-webkit-font-smoothing":"auto|none|antialiased|subpixel-antialiased","-webkit-mask-box-image":"[<url>|<gradient>|none] [<length-percentage>{4} <-webkit-mask-box-repeat>{2}]?","-webkit-print-color-adjust":"economy|exact","-webkit-text-security":"none|circle|disc|square","-webkit-user-drag":"none|element|auto","-webkit-user-select":"auto|none|text|all","alignment-baseline":"auto|baseline|before-edge|text-before-edge|middle|central|after-edge|text-after-edge|ideographic|alphabetic|hanging|mathematical","baseline-shift":"baseline|sub|super|<svg-length>",behavior:"<url>+","clip-rule":"nonzero|evenodd",cue:"<'cue-before'> <'cue-after'>?","cue-after":"<url> <decibel>?|none","cue-before":"<url> <decibel>?|none","dominant-baseline":"auto|use-script|no-change|reset-size|ideographic|alphabetic|hanging|mathematical|central|middle|text-after-edge|text-before-edge",fill:"<paint>","fill-opacity":"<number-zero-one>","fill-rule":"nonzero|evenodd","glyph-orientation-horizontal":"<angle>","glyph-orientation-vertical":"<angle>",kerning:"auto|<svg-length>",marker:"none|<url>","marker-end":"none|<url>","marker-mid":"none|<url>","marker-start":"none|<url>",pause:"<'pause-before'> <'pause-after'>?","pause-after":"<time>|none|x-weak|weak|medium|strong|x-strong","pause-before":"<time>|none|x-weak|weak|medium|strong|x-strong",rest:"<'rest-before'> <'rest-after'>?","rest-after":"<time>|none|x-weak|weak|medium|strong|x-strong","rest-before":"<time>|none|x-weak|weak|medium|strong|x-strong","shape-rendering":"auto|optimizeSpeed|crispEdges|geometricPrecision",src:"[<url> [format( <string># )]?|local( <family-name> )]#",speak:"auto|none|normal","speak-as":"normal|spell-out||digits||[literal-punctuation|no-punctuation]",stroke:"<paint>","stroke-dasharray":"none|[<svg-length>+]#","stroke-dashoffset":"<svg-length>","stroke-linecap":"butt|round|square","stroke-linejoin":"miter|round|bevel","stroke-miterlimit":"<number-one-or-greater>","stroke-opacity":"<number-zero-one>","stroke-width":"<svg-length>","text-anchor":"start|middle|end","unicode-range":"<urange>#","voice-balance":"<number>|left|center|right|leftwards|rightwards","voice-duration":"auto|<time>","voice-family":"[[<family-name>|<generic-voice>] ,]* [<family-name>|<generic-voice>]|preserve","voice-pitch":"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]","voice-range":"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]","voice-rate":"[normal|x-slow|slow|medium|fast|x-fast]||<percentage>","voice-stress":"normal|strong|moderate|none|reduced","voice-volume":"silent|[[x-soft|soft|medium|loud|x-loud]||<decibel>]"},jr={generic:!0,types:Br,properties:Mr},_r=Object.freeze({generic:!0,types:Br,properties:Mr,default:jr}),Fr=Ee.cmpChar,Ur=Ee.isDigit,qr=Ee.TYPE,Wr=qr.WhiteSpace,Yr=qr.Comment,Vr=qr.Ident,Hr=qr.Number,$r=qr.Dimension;function Gr(e,t){var n=this.scanner.tokenStart+e,r=this.scanner.source.charCodeAt(n);for(43!==r&&45!==r||(t&&this.error("Number sign is not allowed"),n++);n<this.scanner.tokenEnd;n++)Ur(this.scanner.source.charCodeAt(n))||this.error("Integer is expected",n)}function Kr(e){return Gr.call(this,0,e)}function Xr(e,t){if(!Fr(this.scanner.source,this.scanner.tokenStart+e,t)){var n="";switch(t){case 110:n="N is expected";break;case 45:n="HyphenMinus is expected"}this.error(n,this.scanner.tokenStart+e)}}function Qr(){for(var e=0,t=0,n=this.scanner.tokenType;n===Wr||n===Yr;)n=this.scanner.lookupType(++e);if(n!==Hr){if(!this.scanner.isDelim(43,e)&&!this.scanner.isDelim(45,e))return null;t=this.scanner.isDelim(43,e)?43:45;do{n=this.scanner.lookupType(++e)}while(n===Wr||n===Yr);n!==Hr&&(this.scanner.skip(e),Kr.call(this,!0))}return e>0&&this.scanner.skip(e),0===t&&43!==(n=this.scanner.source.charCodeAt(this.scanner.tokenStart))&&45!==n&&this.error("Number sign is expected"),Kr.call(this,0!==t),45===t?"-"+this.consume(Hr):this.consume(Hr)}var Jr={name:"AnPlusB",structure:{a:[String,null],b:[String,null]},parse:function(){var e=this.scanner.tokenStart,t=null,n=null;if(this.scanner.tokenType===Hr)Kr.call(this,!1),n=this.consume(Hr);else if(this.scanner.tokenType===Vr&&Fr(this.scanner.source,this.scanner.tokenStart,45))switch(t="-1",Xr.call(this,1,110),this.scanner.getTokenLength()){case 2:this.scanner.next(),n=Qr.call(this);break;case 3:Xr.call(this,2,45),this.scanner.next(),this.scanner.skipSC(),Kr.call(this,!0),n="-"+this.consume(Hr);break;default:Xr.call(this,2,45),Gr.call(this,3,!0),this.scanner.next(),n=this.scanner.substrToCursor(e+2)}else if(this.scanner.tokenType===Vr||this.scanner.isDelim(43)&&this.scanner.lookupType(1)===Vr){var r=0;switch(t="1",this.scanner.isDelim(43)&&(r=1,this.scanner.next()),Xr.call(this,0,110),this.scanner.getTokenLength()){case 1:this.scanner.next(),n=Qr.call(this);break;case 2:Xr.call(this,1,45),this.scanner.next(),this.scanner.skipSC(),Kr.call(this,!0),n="-"+this.consume(Hr);break;default:Xr.call(this,1,45),Gr.call(this,2,!0),this.scanner.next(),n=this.scanner.substrToCursor(e+r+1)}}else if(this.scanner.tokenType===$r){for(var o=this.scanner.source.charCodeAt(this.scanner.tokenStart),a=(r=43===o||45===o,this.scanner.tokenStart+r);a<this.scanner.tokenEnd&&Ur(this.scanner.source.charCodeAt(a));a++);a===this.scanner.tokenStart+r&&this.error("Integer is expected",this.scanner.tokenStart+r),Xr.call(this,a-this.scanner.tokenStart,110),t=this.scanner.source.substring(e,a),a+1===this.scanner.tokenEnd?(this.scanner.next(),n=Qr.call(this)):(Xr.call(this,a-this.scanner.tokenStart+1,45),a+2===this.scanner.tokenEnd?(this.scanner.next(),this.scanner.skipSC(),Kr.call(this,!0),n="-"+this.consume(Hr)):(Gr.call(this,a-this.scanner.tokenStart+2,!0),this.scanner.next(),n=this.scanner.substrToCursor(a+1)))}else this.error();return null!==t&&43===t.charCodeAt(0)&&(t=t.substr(1)),null!==n&&43===n.charCodeAt(0)&&(n=n.substr(1)),{type:"AnPlusB",loc:this.getLocation(e,this.scanner.tokenStart),a:t,b:n}},generate:function(e){var t=null!==e.a&&void 0!==e.a,n=null!==e.b&&void 0!==e.b;t?(this.chunk("+1"===e.a?"+n":"1"===e.a?"n":"-1"===e.a?"-n":e.a+"n"),n&&("-"===(n=String(e.b)).charAt(0)||"+"===n.charAt(0)?(this.chunk(n.charAt(0)),this.chunk(n.substr(1))):(this.chunk("+"),this.chunk(n)))):this.chunk(String(e.b))}},Zr=Ee.TYPE,eo=Zr.WhiteSpace,to=Zr.Semicolon,no=Zr.LeftCurlyBracket,ro=Zr.Delim;function oo(){return this.scanner.tokenIndex>0&&this.scanner.lookupType(-1)===eo?this.scanner.tokenIndex>1?this.scanner.getTokenStart(this.scanner.tokenIndex-1):this.scanner.firstCharOffset:this.scanner.tokenStart}function ao(){return 0}var io={name:"Raw",structure:{value:String},parse:function(e,t,n){var r,o=this.scanner.getTokenStart(e);return this.scanner.skip(this.scanner.getRawLength(e,t||ao)),r=n&&this.scanner.tokenStart>o?oo.call(this):this.scanner.tokenStart,{type:"Raw",loc:this.getLocation(o,r),value:this.scanner.source.substring(o,r)}},generate:function(e){this.chunk(e.value)},mode:{default:ao,leftCurlyBracket:function(e){return e===no?1:0},leftCurlyBracketOrSemicolon:function(e){return e===no||e===to?1:0},exclamationMarkOrSemicolon:function(e,t,n){return e===ro&&33===t.charCodeAt(n)||e===to?1:0},semicolonIncluded:function(e){return e===to?2:0}}},so=Ee.TYPE,lo=io.mode,co=so.AtKeyword,uo=so.Semicolon,ho=so.LeftCurlyBracket,po=so.RightCurlyBracket;function mo(e){return this.Raw(e,lo.leftCurlyBracketOrSemicolon,!0)}function go(){for(var e,t=1;e=this.scanner.lookupType(t);t++){if(e===po)return!0;if(e===ho||e===co)return!1}return!1}var fo={name:"Atrule",structure:{name:String,prelude:["AtrulePrelude","Raw",null],block:["Block",null]},parse:function(){var e,t,n=this.scanner.tokenStart,r=null,o=null;switch(this.eat(co),t=(e=this.scanner.substrToCursor(n+1)).toLowerCase(),this.scanner.skipSC(),!1===this.scanner.eof&&this.scanner.tokenType!==ho&&this.scanner.tokenType!==uo&&(this.parseAtrulePrelude?"AtrulePrelude"===(r=this.parseWithFallback(this.AtrulePrelude.bind(this,e),mo)).type&&null===r.children.head&&(r=null):r=mo.call(this,this.scanner.tokenIndex),this.scanner.skipSC()),this.scanner.tokenType){case uo:this.scanner.next();break;case ho:o=this.atrule.hasOwnProperty(t)&&"function"==typeof this.atrule[t].block?this.atrule[t].block.call(this):this.Block(go.call(this))}return{type:"Atrule",loc:this.getLocation(n,this.scanner.tokenStart),name:e,prelude:r,block:o}},generate:function(e){this.chunk("@"),this.chunk(e.name),null!==e.prelude&&(this.chunk(" "),this.node(e.prelude)),e.block?this.node(e.block):this.chunk(";")},walkContext:"atrule"},bo=Ee.TYPE,yo=bo.Semicolon,ko=bo.LeftCurlyBracket,vo={name:"AtrulePrelude",structure:{children:[[]]},parse:function(e){var t=null;return null!==e&&(e=e.toLowerCase()),this.scanner.skipSC(),t=this.atrule.hasOwnProperty(e)&&"function"==typeof this.atrule[e].prelude?this.atrule[e].prelude.call(this):this.readSequence(this.scope.AtrulePrelude),this.scanner.skipSC(),!0!==this.scanner.eof&&this.scanner.tokenType!==ko&&this.scanner.tokenType!==yo&&this.error("Semicolon or block is expected"),null===t&&(t=this.createList()),{type:"AtrulePrelude",loc:this.getLocationFromList(t),children:t}},generate:function(e){this.children(e)},walkContext:"atrulePrelude"},wo=Ee.TYPE,xo=wo.Ident,So=wo.String,Co=wo.Colon,Ao=wo.LeftSquareBracket,To=wo.RightSquareBracket;function zo(){this.scanner.eof&&this.error("Unexpected end of input");var e=this.scanner.tokenStart,t=!1,n=!0;return this.scanner.isDelim(42)?(t=!0,n=!1,this.scanner.next()):this.scanner.isDelim(124)||this.eat(xo),this.scanner.isDelim(124)?61!==this.scanner.source.charCodeAt(this.scanner.tokenStart+1)?(this.scanner.next(),this.eat(xo)):t&&this.error("Identifier is expected",this.scanner.tokenEnd):t&&this.error("Vertical line is expected"),n&&this.scanner.tokenType===Co&&(this.scanner.next(),this.eat(xo)),{type:"Identifier",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e)}}function Po(){var e=this.scanner.tokenStart,t=this.scanner.source.charCodeAt(e);return 61!==t&&126!==t&&94!==t&&36!==t&&42!==t&&124!==t&&this.error("Attribute selector (=, ~=, ^=, $=, *=, |=) is expected"),this.scanner.next(),61!==t&&(this.scanner.isDelim(61)||this.error("Equal sign is expected"),this.scanner.next()),this.scanner.substrToCursor(e)}var Eo={name:"AttributeSelector",structure:{name:"Identifier",matcher:[String,null],value:["String","Identifier",null],flags:[String,null]},parse:function(){var e,t=this.scanner.tokenStart,n=null,r=null,o=null;return this.eat(Ao),this.scanner.skipSC(),e=zo.call(this),this.scanner.skipSC(),this.scanner.tokenType!==To&&(this.scanner.tokenType!==xo&&(n=Po.call(this),this.scanner.skipSC(),r=this.scanner.tokenType===So?this.String():this.Identifier(),this.scanner.skipSC()),this.scanner.tokenType===xo&&(o=this.scanner.getTokenValue(),this.scanner.next(),this.scanner.skipSC())),this.eat(To),{type:"AttributeSelector",loc:this.getLocation(t,this.scanner.tokenStart),name:e,matcher:n,value:r,flags:o}},generate:function(e){var t=" ";this.chunk("["),this.node(e.name),null!==e.matcher&&(this.chunk(e.matcher),null!==e.value&&(this.node(e.value),"String"===e.value.type&&(t=""))),null!==e.flags&&(this.chunk(t),this.chunk(e.flags)),this.chunk("]")}},Lo=Ee.TYPE,Oo=io.mode,Do=Lo.WhiteSpace,No=Lo.Comment,Ro=Lo.Semicolon,Io=Lo.AtKeyword,Bo=Lo.LeftCurlyBracket,Mo=Lo.RightCurlyBracket;function jo(e){return this.Raw(e,null,!0)}function _o(){return this.parseWithFallback(this.Rule,jo)}function Fo(e){return this.Raw(e,Oo.semicolonIncluded,!0)}function Uo(){if(this.scanner.tokenType===Ro)return Fo.call(this,this.scanner.tokenIndex);var e=this.parseWithFallback(this.Declaration,Fo);return this.scanner.tokenType===Ro&&this.scanner.next(),e}var qo={name:"Block",structure:{children:[["Atrule","Rule","Declaration"]]},parse:function(e){var t=e?Uo:_o,n=this.scanner.tokenStart,r=this.createList();this.eat(Bo);e:for(;!this.scanner.eof;)switch(this.scanner.tokenType){case Mo:break e;case Do:case No:this.scanner.next();break;case Io:r.push(this.parseWithFallback(this.Atrule,jo));break;default:r.push(t.call(this))}return this.scanner.eof||this.eat(Mo),{type:"Block",loc:this.getLocation(n,this.scanner.tokenStart),children:r}},generate:function(e){this.chunk("{"),this.children(e,(function(e){"Declaration"===e.type&&this.chunk(";")})),this.chunk("}")},walkContext:"block"},Wo=Ee.TYPE,Yo=Wo.LeftSquareBracket,Vo=Wo.RightSquareBracket,Ho={name:"Brackets",structure:{children:[[]]},parse:function(e,t){var n,r=this.scanner.tokenStart;return this.eat(Yo),n=e.call(this,t),this.scanner.eof||this.eat(Vo),{type:"Brackets",loc:this.getLocation(r,this.scanner.tokenStart),children:n}},generate:function(e){this.chunk("["),this.children(e),this.chunk("]")}},$o=Ee.TYPE.CDC,Go={name:"CDC",structure:[],parse:function(){var e=this.scanner.tokenStart;return this.eat($o),{type:"CDC",loc:this.getLocation(e,this.scanner.tokenStart)}},generate:function(){this.chunk("--\x3e")}},Ko=Ee.TYPE.CDO,Xo={name:"CDO",structure:[],parse:function(){var e=this.scanner.tokenStart;return this.eat(Ko),{type:"CDO",loc:this.getLocation(e,this.scanner.tokenStart)}},generate:function(){this.chunk("\x3c!--")}},Qo=Ee.TYPE.Ident,Jo={name:"ClassSelector",structure:{name:String},parse:function(){return this.scanner.isDelim(46)||this.error("Full stop is expected"),this.scanner.next(),{type:"ClassSelector",loc:this.getLocation(this.scanner.tokenStart-1,this.scanner.tokenEnd),name:this.consume(Qo)}},generate:function(e){this.chunk("."),this.chunk(e.name)}},Zo=Ee.TYPE.Ident,ea={name:"Combinator",structure:{name:String},parse:function(){var e=this.scanner.tokenStart;switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case 62:case 43:case 126:this.scanner.next();break;case 47:this.scanner.next(),this.scanner.tokenType===Zo&&!1!==this.scanner.lookupValue(0,"deep")||this.error("Identifier `deep` is expected"),this.scanner.next(),this.scanner.isDelim(47)||this.error("Solidus is expected"),this.scanner.next();break;default:this.error("Combinator is expected")}return{type:"Combinator",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.name)}},ta=Ee.TYPE.Comment,na={name:"Comment",structure:{value:String},parse:function(){var e=this.scanner.tokenStart,t=this.scanner.tokenEnd;return this.eat(ta),t-e+2>=2&&42===this.scanner.source.charCodeAt(t-2)&&47===this.scanner.source.charCodeAt(t-1)&&(t-=2),{type:"Comment",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.source.substring(e+2,t)}},generate:function(e){this.chunk("/*"),this.chunk(e.value),this.chunk("*/")}},ra=ue.isCustomProperty,oa=Ee.TYPE,aa=io.mode,ia=oa.Ident,sa=oa.Hash,la=oa.Colon,ca=oa.Semicolon,ua=oa.Delim;function ha(e){return this.Raw(e,aa.exclamationMarkOrSemicolon,!0)}function da(e){return this.Raw(e,aa.exclamationMarkOrSemicolon,!1)}function pa(){var e=this.scanner.tokenIndex,t=this.Value();return"Raw"!==t.type&&!1===this.scanner.eof&&this.scanner.tokenType!==ca&&!1===this.scanner.isDelim(33)&&!1===this.scanner.isBalanceEdge(e)&&this.error(),t}var ma={name:"Declaration",structure:{important:[Boolean,String],property:String,value:["Value","Raw"]},parse:function(){var e,t=this.scanner.tokenStart,n=this.scanner.tokenIndex,r=ga.call(this),o=ra(r),a=o?this.parseCustomProperty:this.parseValue,i=o?da:ha,s=!1;return this.scanner.skipSC(),this.eat(la),o||this.scanner.skipSC(),e=a?this.parseWithFallback(pa,i):i.call(this,this.scanner.tokenIndex),this.scanner.isDelim(33)&&(s=fa.call(this),this.scanner.skipSC()),!1===this.scanner.eof&&this.scanner.tokenType!==ca&&!1===this.scanner.isBalanceEdge(n)&&this.error(),{type:"Declaration",loc:this.getLocation(t,this.scanner.tokenStart),important:s,property:r,value:e}},generate:function(e){this.chunk(e.property),this.chunk(":"),this.node(e.value),e.important&&this.chunk(!0===e.important?"!important":"!"+e.important)},walkContext:"declaration"};function ga(){var e=this.scanner.tokenStart;if(this.scanner.tokenType===ua)switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case 42:case 36:case 43:case 35:case 38:this.scanner.next();break;case 47:this.scanner.next(),this.scanner.isDelim(47)&&this.scanner.next()}return this.scanner.tokenType===sa?this.eat(sa):this.eat(ia),this.scanner.substrToCursor(e)}function fa(){this.eat(ua),this.scanner.skipSC();var e=this.consume(ia);return"important"===e||e}var ba=Ee.TYPE,ya=io.mode,ka=ba.WhiteSpace,va=ba.Comment,wa=ba.Semicolon;function xa(e){return this.Raw(e,ya.semicolonIncluded,!0)}var Sa={name:"DeclarationList",structure:{children:[["Declaration"]]},parse:function(){for(var e=this.createList();!this.scanner.eof;)switch(this.scanner.tokenType){case ka:case va:case wa:this.scanner.next();break;default:e.push(this.parseWithFallback(this.Declaration,xa))}return{type:"DeclarationList",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e,(function(e){"Declaration"===e.type&&this.chunk(";")}))}},Ca=Y.consumeNumber,Aa=Ee.TYPE.Dimension,Ta={name:"Dimension",structure:{value:String,unit:String},parse:function(){var e=this.scanner.tokenStart,t=Ca(this.scanner.source,e);return this.eat(Aa),{type:"Dimension",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.source.substring(e,t),unit:this.scanner.source.substring(t,this.scanner.tokenStart)}},generate:function(e){this.chunk(e.value),this.chunk(e.unit)}},za=Ee.TYPE.RightParenthesis,Pa={name:"Function",structure:{name:String,children:[[]]},parse:function(e,t){var n,r=this.scanner.tokenStart,o=this.consumeFunctionName(),a=o.toLowerCase();return n=t.hasOwnProperty(a)?t[a].call(this,t):e.call(this,t),this.scanner.eof||this.eat(za),{type:"Function",loc:this.getLocation(r,this.scanner.tokenStart),name:o,children:n}},generate:function(e){this.chunk(e.name),this.chunk("("),this.children(e),this.chunk(")")},walkContext:"function"},Ea=Ee.TYPE.Hash,La={name:"HexColor",structure:{value:String},parse:function(){var e=this.scanner.tokenStart;return this.eat(Ea),{type:"HexColor",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.substrToCursor(e+1)}},generate:function(e){this.chunk("#"),this.chunk(e.value)}},Oa=Ee.TYPE.Ident,Da={name:"Identifier",structure:{name:String},parse:function(){return{type:"Identifier",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),name:this.consume(Oa)}},generate:function(e){this.chunk(e.name)}},Na=Ee.TYPE.Hash,Ra={name:"IdSelector",structure:{name:String},parse:function(){var e=this.scanner.tokenStart;return this.eat(Na),{type:"IdSelector",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e+1)}},generate:function(e){this.chunk("#"),this.chunk(e.name)}},Ia=Ee.TYPE,Ba=Ia.Ident,Ma=Ia.Number,ja=Ia.Dimension,_a=Ia.LeftParenthesis,Fa=Ia.RightParenthesis,Ua=Ia.Colon,qa=Ia.Delim,Wa={name:"MediaFeature",structure:{name:String,value:["Identifier","Number","Dimension","Ratio",null]},parse:function(){var e,t=this.scanner.tokenStart,n=null;if(this.eat(_a),this.scanner.skipSC(),e=this.consume(Ba),this.scanner.skipSC(),this.scanner.tokenType!==Fa){switch(this.eat(Ua),this.scanner.skipSC(),this.scanner.tokenType){case Ma:n=this.lookupNonWSType(1)===qa?this.Ratio():this.Number();break;case ja:n=this.Dimension();break;case Ba:n=this.Identifier();break;default:this.error("Number, dimension, ratio or identifier is expected")}this.scanner.skipSC()}return this.eat(Fa),{type:"MediaFeature",loc:this.getLocation(t,this.scanner.tokenStart),name:e,value:n}},generate:function(e){this.chunk("("),this.chunk(e.name),null!==e.value&&(this.chunk(":"),this.node(e.value)),this.chunk(")")}},Ya=Ee.TYPE,Va=Ya.WhiteSpace,Ha=Ya.Comment,$a=Ya.Ident,Ga=Ya.LeftParenthesis,Ka={name:"MediaQuery",structure:{children:[["Identifier","MediaFeature","WhiteSpace"]]},parse:function(){this.scanner.skipSC();var e=this.createList(),t=null,n=null;e:for(;!this.scanner.eof;){switch(this.scanner.tokenType){case Ha:this.scanner.next();continue;case Va:n=this.WhiteSpace();continue;case $a:t=this.Identifier();break;case Ga:t=this.MediaFeature();break;default:break e}null!==n&&(e.push(n),n=null),e.push(t)}return null===t&&this.error("Identifier or parenthesis is expected"),{type:"MediaQuery",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e)}},Xa=Ee.TYPE.Comma,Qa={name:"MediaQueryList",structure:{children:[["MediaQuery"]]},parse:function(e){var t=this.createList();for(this.scanner.skipSC();!this.scanner.eof&&(t.push(this.MediaQuery(e)),this.scanner.tokenType===Xa);)this.scanner.next();return{type:"MediaQueryList",loc:this.getLocationFromList(t),children:t}},generate:function(e){this.children(e,(function(){this.chunk(",")}))}},Ja=Ee.TYPE.Number,Za={name:"Number",structure:{value:String},parse:function(){return{type:"Number",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),value:this.consume(Ja)}},generate:function(e){this.chunk(e.value)}},ei={name:"Operator",structure:{value:String},parse:function(){var e=this.scanner.tokenStart;return this.scanner.next(),{type:"Operator",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.value)}},ti=Ee.TYPE,ni=ti.LeftParenthesis,ri=ti.RightParenthesis,oi={name:"Parentheses",structure:{children:[[]]},parse:function(e,t){var n,r=this.scanner.tokenStart;return this.eat(ni),n=e.call(this,t),this.scanner.eof||this.eat(ri),{type:"Parentheses",loc:this.getLocation(r,this.scanner.tokenStart),children:n}},generate:function(e){this.chunk("("),this.children(e),this.chunk(")")}},ai=Y.consumeNumber,ii=Ee.TYPE.Percentage,si={name:"Percentage",structure:{value:String},parse:function(){var e=this.scanner.tokenStart,t=ai(this.scanner.source,e);return this.eat(ii),{type:"Percentage",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.source.substring(e,t)}},generate:function(e){this.chunk(e.value),this.chunk("%")}},li=Ee.TYPE,ci=li.Ident,ui=li.Function,hi=li.Colon,di=li.RightParenthesis,pi={name:"PseudoClassSelector",structure:{name:String,children:[["Raw"],null]},parse:function(){var e,t,n=this.scanner.tokenStart,r=null;return this.eat(hi),this.scanner.tokenType===ui?(t=(e=this.consumeFunctionName()).toLowerCase(),this.pseudo.hasOwnProperty(t)?(this.scanner.skipSC(),r=this.pseudo[t].call(this),this.scanner.skipSC()):(r=this.createList()).push(this.Raw(this.scanner.tokenIndex,null,!1)),this.eat(di)):e=this.consume(ci),{type:"PseudoClassSelector",loc:this.getLocation(n,this.scanner.tokenStart),name:e,children:r}},generate:function(e){this.chunk(":"),this.chunk(e.name),null!==e.children&&(this.chunk("("),this.children(e),this.chunk(")"))},walkContext:"function"},mi=Ee.TYPE,gi=mi.Ident,fi=mi.Function,bi=mi.Colon,yi=mi.RightParenthesis,ki={name:"PseudoElementSelector",structure:{name:String,children:[["Raw"],null]},parse:function(){var e,t,n=this.scanner.tokenStart,r=null;return this.eat(bi),this.eat(bi),this.scanner.tokenType===fi?(t=(e=this.consumeFunctionName()).toLowerCase(),this.pseudo.hasOwnProperty(t)?(this.scanner.skipSC(),r=this.pseudo[t].call(this),this.scanner.skipSC()):(r=this.createList()).push(this.Raw(this.scanner.tokenIndex,null,!1)),this.eat(yi)):e=this.consume(gi),{type:"PseudoElementSelector",loc:this.getLocation(n,this.scanner.tokenStart),name:e,children:r}},generate:function(e){this.chunk("::"),this.chunk(e.name),null!==e.children&&(this.chunk("("),this.children(e),this.chunk(")"))},walkContext:"function"},vi=Ee.isDigit,wi=Ee.TYPE,xi=wi.Number,Si=wi.Delim;function Ci(){this.scanner.skipWS();for(var e=this.consume(xi),t=0;t<e.length;t++){var n=e.charCodeAt(t);vi(n)||46===n||this.error("Unsigned number is expected",this.scanner.tokenStart-e.length+t)}return 0===Number(e)&&this.error("Zero number is not allowed",this.scanner.tokenStart-e.length),e}var Ai={name:"Ratio",structure:{left:String,right:String},parse:function(){var e,t=this.scanner.tokenStart,n=Ci.call(this);return this.scanner.skipWS(),this.scanner.isDelim(47)||this.error("Solidus is expected"),this.eat(Si),e=Ci.call(this),{type:"Ratio",loc:this.getLocation(t,this.scanner.tokenStart),left:n,right:e}},generate:function(e){this.chunk(e.left),this.chunk("/"),this.chunk(e.right)}},Ti=Ee.TYPE,zi=io.mode,Pi=Ti.LeftCurlyBracket;function Ei(e){return this.Raw(e,zi.leftCurlyBracket,!0)}function Li(){var e=this.SelectorList();return"Raw"!==e.type&&!1===this.scanner.eof&&this.scanner.tokenType!==Pi&&this.error(),e}var Oi={name:"Rule",structure:{prelude:["SelectorList","Raw"],block:["Block"]},parse:function(){var e,t,n=this.scanner.tokenIndex,r=this.scanner.tokenStart;return e=this.parseRulePrelude?this.parseWithFallback(Li,Ei):Ei.call(this,n),t=this.Block(!0),{type:"Rule",loc:this.getLocation(r,this.scanner.tokenStart),prelude:e,block:t}},generate:function(e){this.node(e.prelude),this.node(e.block)},walkContext:"rule"},Di=Ee.TYPE.Comma,Ni={name:"SelectorList",structure:{children:[["Selector","Raw"]]},parse:function(){for(var e=this.createList();!this.scanner.eof&&(e.push(this.Selector()),this.scanner.tokenType===Di);)this.scanner.next();return{type:"SelectorList",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e,(function(){this.chunk(",")}))},walkContext:"selector"},Ri=Ee.TYPE.String,Ii={name:"String",structure:{value:String},parse:function(){return{type:"String",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),value:this.consume(Ri)}},generate:function(e){this.chunk(e.value)}},Bi=Ee.TYPE,Mi=Bi.WhiteSpace,ji=Bi.Comment,_i=Bi.AtKeyword,Fi=Bi.CDO,Ui=Bi.CDC;function qi(e){return this.Raw(e,null,!1)}var Wi={name:"StyleSheet",structure:{children:[["Comment","CDO","CDC","Atrule","Rule","Raw"]]},parse:function(){for(var e,t=this.scanner.tokenStart,n=this.createList();!this.scanner.eof;){switch(this.scanner.tokenType){case Mi:this.scanner.next();continue;case ji:if(33!==this.scanner.source.charCodeAt(this.scanner.tokenStart+2)){this.scanner.next();continue}e=this.Comment();break;case Fi:e=this.CDO();break;case Ui:e=this.CDC();break;case _i:e=this.parseWithFallback(this.Atrule,qi);break;default:e=this.parseWithFallback(this.Rule,qi)}n.push(e)}return{type:"StyleSheet",loc:this.getLocation(t,this.scanner.tokenStart),children:n}},generate:function(e){this.children(e)},walkContext:"stylesheet"},Yi=Ee.TYPE.Ident;function Vi(){this.scanner.tokenType!==Yi&&!1===this.scanner.isDelim(42)&&this.error("Identifier or asterisk is expected"),this.scanner.next()}var Hi={name:"TypeSelector",structure:{name:String},parse:function(){var e=this.scanner.tokenStart;return this.scanner.isDelim(124)?(this.scanner.next(),Vi.call(this)):(Vi.call(this),this.scanner.isDelim(124)&&(this.scanner.next(),Vi.call(this))),{type:"TypeSelector",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.name)}},$i=Ee.isHexDigit,Gi=Ee.cmpChar,Ki=Ee.TYPE,Xi=Ee.NAME,Qi=Ki.Ident,Ji=Ki.Number,Zi=Ki.Dimension;function es(e,t){for(var n=this.scanner.tokenStart+e,r=0;n<this.scanner.tokenEnd;n++){var o=this.scanner.source.charCodeAt(n);if(45===o&&t&&0!==r)return 0===es.call(this,e+r+1,!1)&&this.error(),-1;$i(o)||this.error(t&&0!==r?"HyphenMinus"+(r<6?" or hex digit":"")+" is expected":r<6?"Hex digit is expected":"Unexpected input",n),++r>6&&this.error("Too many hex digits",n)}return this.scanner.next(),r}function ts(e){for(var t=0;this.scanner.isDelim(63);)++t>e&&this.error("Too many question marks"),this.scanner.next()}function ns(e){this.scanner.source.charCodeAt(this.scanner.tokenStart)!==e&&this.error(Xi[e]+" is expected")}function rs(){var e=0;return this.scanner.isDelim(43)?(this.scanner.next(),this.scanner.tokenType===Qi?void((e=es.call(this,0,!0))>0&&ts.call(this,6-e)):this.scanner.isDelim(63)?(this.scanner.next(),void ts.call(this,5)):void this.error("Hex digit or question mark is expected")):this.scanner.tokenType===Ji?(ns.call(this,43),e=es.call(this,1,!0),this.scanner.isDelim(63)?void ts.call(this,6-e):this.scanner.tokenType===Zi||this.scanner.tokenType===Ji?(ns.call(this,45),void es.call(this,1,!1)):void 0):this.scanner.tokenType===Zi?(ns.call(this,43),void((e=es.call(this,1,!0))>0&&ts.call(this,6-e))):void this.error()}var os,as={name:"UnicodeRange",structure:{value:String},parse:function(){var e=this.scanner.tokenStart;return Gi(this.scanner.source,e,117)||this.error("U is expected"),Gi(this.scanner.source,e+1,43)||this.error("Plus sign is expected"),this.scanner.next(),rs.call(this),{type:"UnicodeRange",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.value)}},is=Ee.isWhiteSpace,ss=Ee.cmpStr,ls=Ee.TYPE,cs=ls.Function,us=ls.Url,hs=ls.RightParenthesis,ds={name:"Url",structure:{value:["String","Raw"]},parse:function(){var e,t=this.scanner.tokenStart;switch(this.scanner.tokenType){case us:for(var n=t+4,r=this.scanner.tokenEnd-1;n<r&&is(this.scanner.source.charCodeAt(n));)n++;for(;n<r&&is(this.scanner.source.charCodeAt(r-1));)r--;e={type:"Raw",loc:this.getLocation(n,r),value:this.scanner.source.substring(n,r)},this.eat(us);break;case cs:ss(this.scanner.source,this.scanner.tokenStart,this.scanner.tokenEnd,"url(")||this.error("Function name must be `url`"),this.eat(cs),this.scanner.skipSC(),e=this.String(),this.scanner.skipSC(),this.eat(hs);break;default:this.error("Url or Function is expected")}return{type:"Url",loc:this.getLocation(t,this.scanner.tokenStart),value:e}},generate:function(e){this.chunk("url"),this.chunk("("),this.node(e.value),this.chunk(")")}},ps=Ee.TYPE.WhiteSpace,ms=Object.freeze({type:"WhiteSpace",loc:null,value:" "}),gs={AnPlusB:Jr,Atrule:fo,AtrulePrelude:vo,AttributeSelector:Eo,Block:qo,Brackets:Ho,CDC:Go,CDO:Xo,ClassSelector:Jo,Combinator:ea,Comment:na,Declaration:ma,DeclarationList:Sa,Dimension:Ta,Function:Pa,HexColor:La,Identifier:Da,IdSelector:Ra,MediaFeature:Wa,MediaQuery:Ka,MediaQueryList:Qa,Nth:{name:"Nth",structure:{nth:["AnPlusB","Identifier"],selector:["SelectorList",null]},parse:function(e){this.scanner.skipSC();var t,n=this.scanner.tokenStart,r=n,o=null;return t=this.scanner.lookupValue(0,"odd")||this.scanner.lookupValue(0,"even")?this.Identifier():this.AnPlusB(),this.scanner.skipSC(),e&&this.scanner.lookupValue(0,"of")?(this.scanner.next(),o=this.SelectorList(),this.needPositions&&(r=this.getLastListNode(o.children).loc.end.offset)):this.needPositions&&(r=t.loc.end.offset),{type:"Nth",loc:this.getLocation(n,r),nth:t,selector:o}},generate:function(e){this.node(e.nth),null!==e.selector&&(this.chunk(" of "),this.node(e.selector))}},Number:Za,Operator:ei,Parentheses:oi,Percentage:si,PseudoClassSelector:pi,PseudoElementSelector:ki,Ratio:Ai,Raw:io,Rule:Oi,Selector:{name:"Selector",structure:{children:[["TypeSelector","IdSelector","ClassSelector","AttributeSelector","PseudoClassSelector","PseudoElementSelector","Combinator","WhiteSpace"]]},parse:function(){var e=this.readSequence(this.scope.Selector);return null===this.getFirstListNode(e)&&this.error("Selector is expected"),{type:"Selector",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e)}},SelectorList:Ni,String:Ii,StyleSheet:Wi,TypeSelector:Hi,UnicodeRange:as,Url:ds,Value:{name:"Value",structure:{children:[[]]},parse:function(){var e=this.scanner.tokenStart,t=this.readSequence(this.scope.Value);return{type:"Value",loc:this.getLocation(e,this.scanner.tokenStart),children:t}},generate:function(e){this.children(e)}},WhiteSpace:{name:"WhiteSpace",structure:{value:String},parse:function(){return this.eat(ps),ms},generate:function(e){this.chunk(e.value)}}},fs=(os=_r)&&os.default||os,bs={generic:!0,types:fs.types,atrules:fs.atrules,properties:fs.properties,node:gs},ys=Ee.cmpChar,ks=Ee.cmpStr,vs=Ee.TYPE,ws=vs.Ident,xs=vs.String,Ss=vs.Number,Cs=vs.Function,As=vs.Url,Ts=vs.Hash,zs=vs.Dimension,Ps=vs.Percentage,Es=vs.LeftParenthesis,Ls=vs.LeftSquareBracket,Os=vs.Comma,Ds=vs.Delim,Ns=function(e){switch(this.scanner.tokenType){case Ts:return this.HexColor();case Os:return e.space=null,e.ignoreWSAfter=!0,this.Operator();case Es:return this.Parentheses(this.readSequence,e.recognizer);case Ls:return this.Brackets(this.readSequence,e.recognizer);case xs:return this.String();case zs:return this.Dimension();case Ps:return this.Percentage();case Ss:return this.Number();case Cs:return ks(this.scanner.source,this.scanner.tokenStart,this.scanner.tokenEnd,"url(")?this.Url():this.Function(this.readSequence,e.recognizer);case As:return this.Url();case ws:return ys(this.scanner.source,this.scanner.tokenStart,117)&&ys(this.scanner.source,this.scanner.tokenStart+1,43)?this.UnicodeRange():this.Identifier();case Ds:var t=this.scanner.source.charCodeAt(this.scanner.tokenStart);if(47===t||42===t||43===t||45===t)return this.Operator();35===t&&this.error("Hex or identifier is expected",this.scanner.tokenStart+1)}},Rs={getNode:Ns},Is=Ee.TYPE,Bs=Is.Delim,Ms=Is.Ident,js=Is.Dimension,_s=Is.Percentage,Fs=Is.Number,Us=Is.Hash,qs=Is.Colon,Ws=Is.LeftSquareBracket;var Ys={getNode:function(e){switch(this.scanner.tokenType){case Ws:return this.AttributeSelector();case Us:return this.IdSelector();case qs:return this.scanner.lookupType(1)===qs?this.PseudoElementSelector():this.PseudoClassSelector();case Ms:return this.TypeSelector();case Fs:case _s:return this.Percentage();case js:46===this.scanner.source.charCodeAt(this.scanner.tokenStart)&&this.error("Identifier is expected",this.scanner.tokenStart+1);break;case Bs:switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case 43:case 62:case 126:return e.space=null,e.ignoreWSAfter=!0,this.Combinator();case 47:return this.Combinator();case 46:return this.ClassSelector();case 42:case 124:return this.TypeSelector();case 35:return this.IdSelector()}}}},Vs=function(){this.scanner.skipSC();var e=this.createSingleNodeList(this.IdSelector());return this.scanner.skipSC(),e},Hs=Ee.TYPE,$s=io.mode,Gs=Hs.Comma,Ks={AtrulePrelude:Rs,Selector:Ys,Value:{getNode:Ns,"-moz-element":Vs,element:Vs,expression:function(){return this.createSingleNodeList(this.Raw(this.scanner.tokenIndex,null,!1))},var:function(){var e=this.createList();return this.scanner.skipSC(),e.push(this.Identifier()),this.scanner.skipSC(),this.scanner.tokenType===Gs&&(e.push(this.Operator()),e.push(this.parseCustomProperty?this.Value(null):this.Raw(this.scanner.tokenIndex,$s.exclamationMarkOrSemicolon,!1))),e}}},Xs=Ee.TYPE,Qs=Xs.String,Js=Xs.Ident,Zs=Xs.Url,el=Xs.Function,tl=Xs.LeftParenthesis,nl={parse:{prelude:function(){var e=this.createList();switch(this.scanner.skipSC(),this.scanner.tokenType){case Qs:e.push(this.String());break;case Zs:case el:e.push(this.Url());break;default:this.error("String or url() is expected")}return this.lookupNonWSType(0)!==Js&&this.lookupNonWSType(0)!==tl||(e.push(this.WhiteSpace()),e.push(this.MediaQueryList())),e},block:null}},rl=Ee.TYPE,ol=rl.WhiteSpace,al=rl.Comment,il=rl.Ident,sl=rl.Function,ll=rl.Colon,cl=rl.LeftParenthesis;function ul(){return this.createSingleNodeList(this.Raw(this.scanner.tokenIndex,null,!1))}function hl(){return this.scanner.skipSC(),this.scanner.tokenType===il&&this.lookupNonWSType(1)===ll?this.createSingleNodeList(this.Declaration()):dl.call(this)}function dl(){var e,t=this.createList(),n=null;this.scanner.skipSC();e:for(;!this.scanner.eof;){switch(this.scanner.tokenType){case ol:n=this.WhiteSpace();continue;case al:this.scanner.next();continue;case sl:e=this.Function(ul,this.scope.AtrulePrelude);break;case il:e=this.Identifier();break;case cl:e=this.Parentheses(hl,this.scope.AtrulePrelude);break;default:break e}null!==n&&(t.push(n),n=null),t.push(e)}return t}var pl={parse:function(){return this.createSingleNodeList(this.SelectorList())}},ml={parse:function(){return this.createSingleNodeList(this.Nth(!0))}},gl={parse:function(){return this.createSingleNodeList(this.Nth(!1))}};var fl=Ir(function(){for(var e={},t=0;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}(bs,{parseContext:{default:"StyleSheet",stylesheet:"StyleSheet",atrule:"Atrule",atrulePrelude:function(e){return this.AtrulePrelude(e.atrule?String(e.atrule):null)},mediaQueryList:"MediaQueryList",mediaQuery:"MediaQuery",rule:"Rule",selectorList:"SelectorList",selector:"Selector",block:function(){return this.Block(!0)},declarationList:"DeclarationList",declaration:"Declaration",value:"Value"},scope:Ks,atrule:{"font-face":{parse:{prelude:null,block:function(){return this.Block(!0)}}},import:nl,media:{parse:{prelude:function(){return this.createSingleNodeList(this.MediaQueryList())},block:function(){return this.Block(!1)}}},page:{parse:{prelude:function(){return this.createSingleNodeList(this.SelectorList())},block:function(){return this.Block(!0)}}},supports:{parse:{prelude:function(){var e=dl.call(this);return null===this.getFirstListNode(e)&&this.error("Condition is expected"),e},block:function(){return this.Block(!1)}}}},pseudo:{dir:{parse:function(){return this.createSingleNodeList(this.Identifier())}},has:{parse:function(){return this.createSingleNodeList(this.SelectorList())}},lang:{parse:function(){return this.createSingleNodeList(this.Identifier())}},matches:pl,not:pl,"nth-child":ml,"nth-last-child":ml,"nth-last-of-type":gl,"nth-of-type":gl,slotted:{parse:function(){return this.createSingleNodeList(this.Selector())}}},node:gs},{node:gs}));const bl=new Map([["background",new Set(["background-color","background-position","background-position-x","background-position-y","background-size","background-repeat","background-repeat-x","background-repeat-y","background-clip","background-origin","background-attachment","background-image"])],["background-position",new Set(["background-position-x","background-position-y"])],["background-repeat",new Set(["background-repeat-x","background-repeat-y"])],["font",new Set(["font-style","font-variant-caps","font-weight","font-stretch","font-size","line-height","font-family","font-size-adjust","font-kerning","font-optical-sizing","font-variant-alternates","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-language-override","font-feature-settings","font-variation-settings"])],["font-variant",new Set(["font-variant-caps","font-variant-numeric","font-variant-alternates","font-variant-ligatures","font-variant-east-asian"])],["outline",new Set(["outline-width","outline-style","outline-color"])],["border",new Set(["border-top-width","border-right-width","border-bottom-width","border-left-width","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-color","border-right-color","border-bottom-color","border-left-color","border-image-source","border-image-slice","border-image-width","border-image-outset","border-image-repeat"])],["border-width",new Set(["border-top-width","border-right-width","border-bottom-width","border-left-width"])],["border-style",new Set(["border-top-style","border-right-style","border-bottom-style","border-left-style"])],["border-color",new Set(["border-top-color","border-right-color","border-bottom-color","border-left-color"])],["border-block",new Set(["border-block-start-width","border-block-end-width","border-block-start-style","border-block-end-style","border-block-start-color","border-block-end-color"])],["border-block-start",new Set(["border-block-start-width","border-block-start-style","border-block-start-color"])],["border-block-end",new Set(["border-block-end-width","border-block-end-style","border-block-end-color"])],["border-inline",new Set(["border-inline-start-width","border-inline-end-width","border-inline-start-style","border-inline-end-style","border-inline-start-color","border-inline-end-color"])],["border-inline-start",new Set(["border-inline-start-width","border-inline-start-style","border-inline-start-color"])],["border-inline-end",new Set(["border-inline-end-width","border-inline-end-style","border-inline-end-color"])],["border-image",new Set(["border-image-source","border-image-slice","border-image-width","border-image-outset","border-image-repeat"])],["border-radius",new Set(["border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius"])],["padding",new Set(["padding-top","padding-right","padding-bottom","padding-left"])],["padding-block",new Set(["padding-block-start","padding-block-end"])],["padding-inline",new Set(["padding-inline-start","padding-inline-end"])],["margin",new Set(["margin-top","margin-right","margin-bottom","margin-left"])],["margin-block",new Set(["margin-block-start","margin-block-end"])],["margin-inline",new Set(["margin-inline-start","margin-inline-end"])],["inset",new Set(["top","right","bottom","left"])],["inset-block",new Set(["inset-block-start","inset-block-end"])],["inset-inline",new Set(["inset-inline-start","inset-inline-end"])],["flex",new Set(["flex-grow","flex-shrink","flex-basis"])],["flex-flow",new Set(["flex-direction","flex-wrap"])],["gap",new Set(["row-gap","column-gap"])],["transition",new Set(["transition-duration","transition-timing-function","transition-delay","transition-property"])],["grid",new Set(["grid-template-rows","grid-template-columns","grid-template-areas","grid-auto-flow","grid-auto-columns","grid-auto-rows"])],["grid-template",new Set(["grid-template-rows","grid-template-columns","grid-template-areas"])],["grid-row",new Set(["grid-row-start","grid-row-end"])],["grid-column",new Set(["grid-column-start","grid-column-end"])],["grid-gap",new Set(["grid-row-gap","grid-column-gap"])],["place-content",new Set(["align-content","justify-content"])],["place-items",new Set(["align-items","justify-items"])],["place-self",new Set(["align-self","justify-self"])],["columns",new Set(["column-width","column-count"])],["column-rule",new Set(["column-rule-width","column-rule-style","column-rule-color"])],["list-style",new Set(["list-style-type","list-style-position","list-style-image"])],["offset",new Set(["offset-position","offset-path","offset-distance","offset-rotate","offset-anchor"])],["overflow",new Set(["overflow-x","overflow-y"])],["overscroll-behavior",new Set(["overscroll-behavior-x","overscroll-behavior-y"])],["scroll-margin",new Set(["scroll-margin-top","scroll-margin-right","scroll-margin-bottom","scroll-margin-left"])],["scroll-padding",new Set(["scroll-padding-top","scroll-padding-right","scroll-padding-bottom","scroll-padding-left"])],["text-decaration",new Set(["text-decoration-line","text-decoration-style","text-decoration-color"])],["text-stroke",new Set(["text-stroke-color","text-stroke-width"])],["animation",new Set(["animation-duration","animation-timing-function","animation-delay","animation-iteration-count","animation-direction","animation-fill-mode","animation-play-state","animation-name"])],["mask",new Set(["mask-image","mask-mode","mask-repeat-x","mask-repeat-y","mask-position-x","mask-position-y","mask-clip","mask-origin","mask-size","mask-composite"])],["mask-repeat",new Set(["mask-repeat-x","mask-repeat-y"])],["mask-position",new Set(["mask-position-x","mask-position-y"])],["perspective-origin",new Set(["perspective-origin-x","perspective-origin-y"])],["transform-origin",new Set(["transform-origin-x","transform-origin-y","transform-origin-z"])]]),yl=new Map([xl("animation","moz"),xl("border-image","moz"),xl("mask","moz"),xl("transition","moz"),xl("columns","moz"),xl("text-stroke","moz"),xl("column-rule","moz"),["-moz-border-end",new Set(["-moz-border-end-color","-moz-border-end-style","-moz-border-end-width"])],["-moz-border-start",new Set(["-moz-border-start-color","-moz-border-start-style","-moz-border-start-width"])],["-moz-outline-radius",new Set(["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"])]]),kl=new Map([xl("animation","webkit"),xl("border-radius","webkit"),xl("column-rule","webkit"),xl("columns","webkit"),xl("flex","webkit"),xl("flex-flow","webkit"),xl("mask","webkit"),xl("text-stroke","webkit"),xl("perspective-origin","webkit"),xl("transform-origin","webkit"),xl("transition","webkit"),["-webkit-border-start",new Set(["-webkit-border-start-color","-webkit-border-start-style","-webkit-border-start-width"])],["-webkit-border-before",new Set(["-webkit-border-before-color","-webkit-border-before-style","-webkit-border-before-width"])],["-webkit-border-end",new Set(["-webkit-border-end-color","-webkit-border-end-style","-webkit-border-end-width"])],["-webkit-border-after",new Set(["-webkit-border-after-color","-webkit-border-after-style","-webkit-border-after-width"])]]),vl=new Map([["background-position-x","background-position"],["background-position-y","background-position"],["background-repeat-x","background-repeat"],["background-repeat-y","background-repeat"]]);yl.forEach((e,t)=>bl.set(t,e)),kl.forEach((e,t)=>bl.set(t,e));const wl=new Map;function xl(e,t){const n=bl.get(e);if(n)return[`-${t}-${e}`,new Set(Array.from(n,e=>`-${t}-${e}`))]}function Sl(e,t){const n=bl.get(e);return!!n&&n.has(t)}bl.forEach((e,t)=>{e.forEach(e=>{wl.get(e)||wl.set(e,new Set),wl.get(e).add(t)})});var Cl={isShorthandFor:Sl,hasShorthand:function(e){return wl.has(e)},hasShorthandWithin:function(e,t){return t.some(t=>Sl(t,e))},getShorthands:function(e){return wl.get(e)},preferredShorthand:function(e){return vl.get(e)}};const{preferredShorthand:Al,getShorthands:Tl}=Cl,zl={[2]:{atrule:"charset",prelude:"charset"},[3]:{atrule:"import",prelude:"import"},[10]:{atrule:"namespace",prelude:"namespace"},[1]:{prelude:"selector",block:"style"},[8]:{prelude:"key",block:"style"},[6]:{atrule:"page",prelude:"selector",block:"style"},[5]:{atrule:"font-face",block:"style"},[4]:{atrule:"media",prelude:"condition",block:"nested"},[12]:{atrule:"supports",prelude:"condition",block:"nested"},[13]:{atrule:"document",prelude:"condition",block:"nested"},[7]:{atrule:"keyframes",prelude:"name",block:"nested"}};function Pl(e,t){return{type:"Declaration",important:Boolean(e.style.getPropertyPriority(t)),property:t,value:{type:"Raw",value:e.style.getPropertyValue(t)}}}var El=function e(t){return Array.from(t,t=>{const n=zl[t.type],r={};if(n.atrule){r.type="Atrule";const[e,o]=t.cssText.match(new RegExp("^@(-\\w+-)?"+n.atrule));r.name=o?o+n.atrule:n.atrule}else r.type="Rule";let o;if("selector"===n.prelude?o=t.selectorText:"key"===n.prelude?o=t.keyText:"condition"===n.prelude?o=t.conditionText:"name"===n.prelude?o=t.name:"import"===n.prelude?o=`url("${t.href}") ${t.media.mediaText}`:"namespace"===n.prelude?o=`${t.prefix} url("${t.namespaceURI}")`:"charset"===n.prelude&&(o=`"${t.encoding}"`),o){const e=n.atrule?{context:"atrulePrelude",atrule:n.atrule}:{context:"selectorList"};r.prelude=fl.toPlainObject(fl.parse(o,e))}else r.prelude=null;if("style"===n.block){const e=new Set,n=Array.from(t.style).reduce((n,r)=>{const o=Al(r)||r;n.set(o,Pl(t,o));const a=Tl(r);return a&&a.forEach(t=>e.add(t)),n},new Map);e.forEach(e=>{t.style.getPropertyValue(e)&&n.set(e,Pl(t,e))}),r.block={type:"Block",children:Array.from(n.values())}}else"nested"===n.block?r.block={type:"Block",children:e(t.cssRules)}:r.block=null;return r})};var Ll=function(e){const t=fl.parse(e,{context:"stylesheet",parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!1,parseCustomProperty:!1});return fl.walk(t,{visit:"TypeSelector",enter(e,t){"from"===e.name?t.data={type:"Percentage",value:"0"}:"to"===e.name&&(t.data={type:"Percentage",value:"100"})}}),fl.walk(t,{visit:"AtrulePrelude",enter(e){if(["import","namespace"].includes(this.atrule.name)){const t=e.children.toArray(),n="import"===e.name?0:t.length-1,r=t[n];let o;"String"===r.type?o=r.value.slice(1,-1):"Url"===r.type&&("String"===r.value.type?o=r.value.value.slice(1,-1):"Raw"===r.value.type&&(o=r.value.value)),o&&(t[n]={type:"Url",value:{type:"String",value:`"${o}"`}},e.children.fromArray(t))}}}),fl.toPlainObject(t)};const{isShorthandFor:Ol,hasShorthandWithin:Dl}=Cl,Nl={"word-wrap":"overflow-wrap",clip:"clip-path"};function Rl(e,t){const n=new Map;e.forEach(({type:e,property:t,important:r,value:{value:o}={}})=>{if("Declaration"!==e)return;let a=n.get(t);a||(a=new Map,n.set(t,a)),a.set(o,r)}),t.forEach(({type:e,property:t,important:r,value:{value:o}={}})=>{if("Declaration"!==e)return;if(Dl(t,Array.from(n.keys())))return;let a=n.get(t);a?a.has(o)?a.get(o)!==r&&a.forEach((e,t)=>a.set(t,r)):a.clear():(a=new Map,n.set(t,a)),a.set(o,r)});const r=[];return n.forEach((e,t)=>{e.forEach((e,n)=>r.push({type:"Declaration",property:t,value:{type:"Raw",value:n},important:e}))}),r}function Il(e){return"Rule"===e.type||/^(-\w+-)?(page|font-face)$/.test(e.name)}function Bl(e,t,n,r){for(let o=t;o<n;++o)r(e[o],o,e)}var Ml=function e(t,n){let r=0;const o=[];return t.forEach(t=>{const a={};a.type=t.type,a.name=t.name,a.prelude=t.prelude,a.block=t.block;const i=function(e,t,n){return function(e,t,n){for(let r=t;r<e.length;++r)if(n(e[r],r,e))return r;return-1}(e,t,e=>{return e.type===n.type&&e.name===n.name&&(o=e.prelude,a=n.prelude,!o&&!a||o.type===a.type&&function e(t,n){return!Array.isArray(t)&&!Array.isArray(n)||Array.isArray(t)&&Array.isArray(n)&&t.length===n.length&&t.every((t,r)=>{const o=n[r];return t.type===o.type&&t.name===o.name&&(t.value===o.value||t.value.type===o.value.type&&t.value.value===o.value.value)&&e(t.children,o.children)})}(o.children,a.children))&&(!Il(n)||(t=e.block.children,(r=n.block.children).reduce((e,n)=>{var r;return e+("Declaration"===n.type&&(r=n.property,/^(-\w+-)/.test(r)||t.some(e=>function(e,t){const n=Nl[e]||e,r=Nl[t]||t;return n===r||Ol(r,n)||Ol(n,r)}(e.property,n.property)))?1:0)},0)>=r.length));var t,r,o,a})}(n,r,t);i>r&&Bl(n,r,i,e=>o.push(e)),i>=0&&(r=i+1,!function(e){return"Atrule"===e.type&&/^(-\w+-)?(media|supports|document|keyframes)$/.test(e.name)}(t)?Il(t)&&(a.block={type:"Block",children:Rl(t.block.children,n[i].block.children)}):a.block={type:"Block",children:e(t.block.children,n[i].block.children)}),o.push(a)},[]),r<n.length&&Bl(n,r,n.length,e=>o.push(e)),o},jl=()=>{};var _l=function(e){const t=Array.from(e.attributes).map(t=>"id"===t.name?"#"+t.value:"class"===t.name?Array.from(e.classList).map(e=>"."+e).join(""):`[${t.name}="${t.value}"]`).join("");return`${e.nodeName}${t}`};var Fl=function(e,t=jl){t("[processInlineCss] processing inline css for",_l(e));try{const n=Ll(e.textContent);t("[processInlineCss] created AST for textContent");const r=El(e.sheet.cssRules);t("[processInlineCss] created AST for CSSOM");const o=Ml(n.children,r);t("[processInlineCss] merged AST");const a=fl.generate(fl.fromPlainObject({type:"StyleSheet",children:o}));return t("[processInlineCss] generated cssText of length",a.length),a}catch(n){return t("[processInlineCss] error while processing inline css:",n.message,n),e.textContent}};var Ul=function(e){const t=/url\((?!['"]?:)['"]?([^'")]*)['"]?\)/g,n=[];let r;for(;null!==(r=t.exec(e));)n.push(r[1]);return n};var ql=function(e){const t=e.getAttribute("style");if(t)return Ul(t)};const Wl=/(\S+)(?:\s+[\d.]+[wx])?(?:,|$)/g;var Yl=function(e){const t=(e.matches||e.msMatchesSelector).bind(e);let n=[];if(t("img[srcset],source[srcset]")&&(n=n.concat(function(e,t,n){const r=[],o=new RegExp(e.source,e.flags),a=o.global;let i;for(;(i=o.exec(t))&&(r.push(n(i)),a););return r}(Wl,e.getAttribute("srcset"),e=>e[1]))),t('img[src],source[src],input[type="image"][src],audio[src],video[src]')&&n.push(e.getAttribute("src")),t("image,use")){const t=e.getAttribute("href")||e.getAttribute("xlink:href");t&&"#"!==t[0]&&n.push(t)}t("object")&&e.getAttribute("data")&&n.push(e.getAttribute("data")),t('link[rel~="stylesheet"], link[as="stylesheet"]')&&n.push(e.getAttribute("href")),t("video[poster]")&&n.push(e.getAttribute("poster"));const r=ql(e);return r&&(n=n.concat(r)),n};var Vl=function(e){const t=El(e.cssRules);return fl.generate(fl.fromPlainObject({type:"StyleSheet",children:t}))};const Hl=new Set(["date","datetime-local","email","month","number","password","search","tel","text","time","url","week"]),$l=/^on[a-z]+$/;function Gl({attributes:e={}}){return Object.keys(e).filter(t=>e[t]&&e[t].name)}function Kl(e,t,n){const r=e.find(e=>e.name===t);r?r.value=n:e.push({name:t,value:n})}function Xl(e){return Array.from(e.adoptedStyleSheets).map(Vl)}var Ql=function(e,t,n=jl){const s=[{nodeType:Node.DOCUMENT_NODE}],l=[e],c=[],u=[];let h=[];return s[0].childNodeIndexes=d(s,e.childNodes),e.adoptedStyleSheets&&e.adoptedStyleSheets.length>0&&(s[0].exp_adoptedStyleSheets=Xl(e)),{cdt:s,docRoots:l,canvasElements:c,inlineFrames:u,linkUrls:h};function d(e,s){if(!s||0===s.length)return null;const p=[];return Array.prototype.forEach.call(s,s=>{const m=function e(s,p){let m,g,f;const{nodeType:b}=p;[Node.ELEMENT_NODE,Node.DOCUMENT_FRAGMENT_NODE].includes(b)?"SCRIPT"!==p.nodeName?("STYLE"===p.nodeName&&p.sheet&&p.sheet.cssRules.length&&(s.push(function(e,t){return{nodeType:Node.TEXT_NODE,nodeValue:Fl(e,t)}}(p,n)),g=[s.length-1]),"TEXTAREA"===p.tagName&&p.value!==p.textContent&&(s.push(function(e){return{nodeType:Node.TEXT_NODE,nodeValue:e.value}}(p)),g=[s.length-1]),m=function(e){const t={nodeType:e.nodeType,nodeName:e.nodeName,attributes:Gl(e).map(t=>{let n=e.attributes[t].value;const r=e.attributes[t].name;return/^blob:/.test(n)?n=n.replace(/^blob:/,""):$l.test(r)?n="":"IFRAME"===e.nodeName&&a(e)&&"src"===r&&"about:blank"!==e.contentDocument.location.href&&e.contentDocument.location.href!==i(n,e.ownerDocument.location.href)&&(n=e.contentDocument.location.href),{name:r,value:n}})};if("INPUT"===e.tagName&&["checkbox","radio"].includes(e.type)){if(e.attributes.checked&&!e.checked){const e=t.attributes.findIndex(e=>"checked"===e.name);t.attributes.splice(e,1)}!e.attributes.checked&&e.checked&&t.attributes.push({name:"checked"})}"INPUT"===e.tagName&&Hl.has(e.type)&&(e.attributes.value&&e.attributes.value.value)!==e.value&&Kl(t.attributes,"value",e.value);"OPTION"===e.tagName&&e.parentElement.selectedOptions&&Array.from(e.parentElement.selectedOptions).indexOf(e)>-1&&Kl(t.attributes,"selected","");"STYLE"===e.tagName&&e.sheet&&e.sheet.disabled&&t.attributes.push({name:"data-applitools-disabled",value:""});"LINK"===e.tagName&&"text/css"===e.type&&e.sheet&&e.sheet.disabled&&Kl(t.attributes,"disabled","");return t}(p),m.childNodeIndexes=g||(p.childNodes.length?d(s,p.childNodes):[]),p.shadowRoot&&("undefined"==typeof window||"function"==typeof p.attachShadow&&/native code/.test(p.attachShadow.toString())?(m.shadowRootIndex=e(s,p.shadowRoot),l.push(p.shadowRoot)):m.childNodeIndexes=m.childNodeIndexes.concat(d(s,p.shadowRoot.childNodes))),"CANVAS"===p.nodeName&&(f=i(`applitools-canvas-${r()}.png`,t),m.attributes.push({name:"data-applitools-src",value:f}),c.push({element:p,url:f})),"IFRAME"===p.nodeName&&a(p)&&o(p)&&(f=i("?applitools-iframe="+r(),t),m.attributes.push({name:"data-applitools-src",value:f}),u.push({element:p,url:f})),p.adoptedStyleSheets&&p.adoptedStyleSheets.length>0&&(m.exp_adoptedStyleSheets=Xl(p))):m=function(e){return{nodeType:Node.ELEMENT_NODE,nodeName:"SCRIPT",attributes:Gl(e).map(t=>{const n=e.attributes[t].name;return{name:n,value:$l.test(n)?"":e.attributes[t].value}}).filter(e=>"src"!==e.name),childNodeIndexes:[]}}(p):b===Node.TEXT_NODE?m=function(e){return{nodeType:Node.TEXT_NODE,nodeValue:e.nodeValue}}(p):b===Node.DOCUMENT_TYPE_NODE&&(m=function(e){return{nodeType:Node.DOCUMENT_TYPE_NODE,nodeName:e.nodeName}}(p));if(m){if(b===Node.ELEMENT_NODE){const e=Yl(p);e.length>0&&(h=h.concat(e))}return s.push(m),s.length-1}return null}(e,s);null!==m&&p.push(m)}),p}};var Jl=function(e){const t=[];return new Set(e).forEach(e=>e&&t.push(e)),t};var Zl=function(e){return e.reduce(({resourceUrls:e,blobsObj:t},{resourceUrls:n,blobsObj:r})=>({resourceUrls:Jl(e.concat(n)),blobsObj:Object.assign(t,r)}),{resourceUrls:[],blobsObj:{}})};var ec=function({processResource:e,aggregateResourceUrlsAndBlobs:t}){return function n({documents:r,urls:o,forceCreateStyle:a=!1,skipResources:i}){return Promise.all(o.map(t=>e({url:t,documents:r,getResourceUrlsAndBlobs:n,forceCreateStyle:a,skipResources:i}))).then(e=>t(e))}};var tc=function(e){return/^(blob|https?):/.test(e)};var nc=function(e){const t=e&&e.match(/(^[^#]*)/),n=t&&t[1]||e;return n&&n.replace(/\?\s*$/,"?")||e};var rc=function(e){return e.reduce((e,t)=>e.concat(t),[])};var oc=function({fetchUrl:e,findStyleSheetByUrl:t,getCorsFreeStyleSheet:n,extractResourcesFromStyleSheet:r,extractResourcesFromSvg:o,sessionCache:a,cache:s={},log:l=jl}){return function({url:c,documents:u,getResourceUrlsAndBlobs:h,forceCreateStyle:d=!1,skipResources:p}){if(!s[c])if(a&&a.getItem(c)){const e=function e(t){const n=a.getItem(t);return[t].concat(n?Jl(rc(n.map(e))):[])}(c);l("doProcessResource from sessionStorage",c,"deps:",e.slice(1)),s[c]=Promise.resolve({resourceUrls:e})}else if(p&&p.indexOf(c)>-1||/https:\/\/fonts.googleapis.com/.test(c))l("not processing resource from skip list (or google font):",c),s[c]=Promise.resolve({resourceUrls:[c]});else{const g=Date.now();s[c]=function(s){l("fetching",s);const c=Date.now();return e(s).catch(e=>{if(function(e){const t=e.message&&(e.message.includes("Failed to fetch")||e.message.includes("Network request failed")),n=e.name&&e.name.includes("TypeError");return t&&n}(e))return{probablyCORS:!0,url:s};if(e.isTimeout)return{isTimeout:!0,url:s};throw e}).then(({url:e,type:s,value:m,probablyCORS:g,errorStatusCode:f,isTimeout:b})=>{if(g)return l("not fetched due to CORS",`[${Date.now()-c}ms]`,e),a&&a.setItem(e,[]),{resourceUrls:[e]};if(f){const t={[e]:{errorStatusCode:f}};return a&&a.setItem(e,[]),{blobsObj:t}}if(b)return l("not fetched due to timeout, returning error status code 504 (Gateway timeout)"),a&&a.setItem(e,[]),{blobsObj:{[e]:{errorStatusCode:504}}};l(`fetched [${Date.now()-c}ms] ${e} bytes: ${m.byteLength}`);const y={[e]:{type:s,value:m}};let k;if(/text\/css/.test(s)){let o=t(e,u);if(o||d){const{corsFreeStyleSheet:e,cleanStyleSheet:t}=n(m,o);k=r(e),t()}}else if(/image\/svg/.test(s))try{k=o(m),d=!!k}catch(e){l("could not parse svg content",e)}if(k){const t=k.map(t=>i(t,e.replace(/^blob:/,""))).map(nc).filter(tc);return a&&a.setItem(e,t),h({documents:u,urls:t,forceCreateStyle:d,skipResources:p}).then(({resourceUrls:e,blobsObj:t})=>({resourceUrls:e,blobsObj:Object.assign(t,y)}))}return a&&a.setItem(e,[]),{blobsObj:y}}).catch(e=>(l("error while fetching",s,e,e?`message=${e.message} | name=${e.name}`:""),a&&m(),{}))}(c).then(e=>(l("doProcessResource",`[${Date.now()-g}ms]`,c),e))}return s[c];function m(){l("clearing from sessionStorage:",c),a.keys().forEach(e=>{const t=a.getItem(e);a.setItem(e,t.filter(e=>e!==c))}),l("cleared from sessionStorage:",c)}}};var ac=function({parser:e,decoder:t,extractResourceUrlsFromStyleTags:n}){return function(r){const o=(t||new TextDecoder("utf-8")).decode(r),a=(e||new DOMParser).parseFromString(o,"image/svg+xml"),i=Array.from(a.querySelectorAll("img[srcset]")).map(e=>e.getAttribute("srcset").split(", ").map(e=>e.trim().split(/\s+/)[0])).reduce((e,t)=>e.concat(t),[]),s=Array.from(a.querySelectorAll("img[src]")).map(e=>e.getAttribute("src")),l=Array.from(a.querySelectorAll('image,use,link[rel="stylesheet"]')).map(e=>e.getAttribute("href")||e.getAttribute("xlink:href")),c=Array.from(a.getElementsByTagName("object")).map(e=>e.getAttribute("data")),u=n(a,!1),h=function(e){return rc(Array.from(e.querySelectorAll("*[style]")).map(e=>e.style.cssText).map(Ul).filter(Boolean))}(a);return i.concat(s).concat(l).concat(c).concat(u).concat(h).filter(e=>"#"!==e[0])}};var ic=function({fetch:e=window.fetch,AbortController:t=window.AbortController,timeout:n=1e4}){return function(r){return new Promise((o,a)=>{const i=new t,s=setTimeout(()=>{const e=new Error("fetchUrl timeout reached");e.isTimeout=!0,a(e),i.abort()},n);return e(r,{cache:"force-cache",credentials:"same-origin",signal:i.signal}).then(e=>(clearTimeout(s),200===e.status?e.arrayBuffer().then(t=>({url:r,type:e.headers.get("Content-Type"),value:t})):{url:r,errorStatusCode:e.status})).then(o).catch(e=>a(e))})}};var sc=function(e){const t=new URL(e);return t.username&&(t.username=""),t.password&&(t.password=""),t.href};var lc=function({styleSheetCache:e}){return function(t,n){const r=rc(n.map(e=>{try{return Array.from(e.styleSheets)}catch(e){return[]}}));return e[t]||r.find(e=>{const n=e.href&&nc(e.href);return n&&sc(n)===t})}};var cc=function({styleSheetCache:e,CSSRule:t=window.CSSRule}){return function n(r){return Jl(Array.from(r.cssRules||[]).reduce((r,o)=>{const a={[t.IMPORT_RULE]:()=>(o.styleSheet&&(e[o.styleSheet.href]=o.styleSheet),o.href),[t.FONT_FACE_RULE]:()=>Ul(o.cssText),[t.SUPPORTS_RULE]:()=>n(o),[t.MEDIA_RULE]:()=>n(o),[t.STYLE_RULE]:()=>{let e=[];for(let t=0,n=o.style.length;t<n;t++){const n=o.style[t];let r=o.style.getPropertyValue(n);(/^\s*var\s*\(/.test(r)||/^--/.test(n))&&(r=r.replace(/(\\[0-9a-fA-F]{1,6}\s?)/g,e=>String.fromCodePoint(parseInt(e.substr(1).trim(),16))).replace(/\\([^0-9a-fA-F])/g,"$1"));const a=Ul(r);e=e.concat(a)}return e}}[o.type],i=a&&a()||[];return r.concat(i)},[])).filter(e=>"#"!==e[0])}};var uc=function(e){return function(t,n=!0){return Jl(Array.from(t.querySelectorAll("style")).reduce((r,o)=>{const a=n?Array.from(t.styleSheets).find(e=>e.ownerNode===o):o.sheet;return a?r.concat(e(a)):r},[]))}};var hc=function(e){const t=new TextDecoder("utf-8").decode(e),n=document.head||document.querySelectorAll("head")[0],r=document.createElement("style");return r.type="text/css",r.setAttribute("data-desc","Applitools tmp variable created by DOM SNAPSHOT"),n.appendChild(r),r.styleSheet?r.styleSheet.cssText=t:r.appendChild(document.createTextNode(t)),r.sheet};var dc=function(e,t,n=jl){let r;if(t)try{t.cssRules,r=t}catch(o){n(`[dom-snapshot] could not access cssRules for ${t.href} ${o}\ncreating temp style for access.`),r=hc(e)}else r=hc(e);return{corsFreeStyleSheet:r,cleanStyleSheet:function(){r!==t&&r.ownerNode.parentNode.removeChild(r.ownerNode)}}};var pc=function(e){for(var t=window.atob(e),n=t.length,r=new Uint8Array(n),o=0;o<n;o++)r[o]=t.charCodeAt(o);return r.buffer};var mc=function(e,t){return e.map(({url:e,element:n})=>{try{const t=n.toDataURL("image/png");return{url:e,type:"image/png",value:pc(t.split(",")[1])}}catch(e){t(e.message,n&&n.attributes&&(r=n,JSON.stringify(Array.from(r.attributes).reduce((e,t)=>Object.assign({[t.name]:t.value},e),{}))))}var r}).filter(Boolean)};var gc=function(e=[document]){return rc(e.map(e=>Array.from(e.querySelectorAll('iframe[src]:not([src=""]),iframe[srcdoc]:not([srcdoc=""])')))).filter(e=>a(e)&&!o(e)).map(e=>e.contentDocument)};var fc=function(e){const t=e.querySelectorAll("base")[0]&&e.querySelectorAll("base")[0].href;if(t&&((n=t)&&!/^(about:blank|javascript:void|blob:)/.test(n)))return t;var n};var bc=function(e){return e&&e.replace(/(\\[0-9a-fA-F]{1,6}\s?)/g,e=>{const t=parseInt(e.substr(1).trim(),16);return String.fromCodePoint(t)})||e};var yc=function(e){return function(){const t=["[dom-snapshot]",`[+${Date.now()-e}ms]`].concat(Array.from(arguments));console.log.apply(console,t)}};var kc=function({log:e,sessionStorage:t}){let n;try{const e=(t=t||window.sessionStorage).getItem("__process_resource");n=e?JSON.parse(e):{}}catch(t){e("error creating session cache",t)}return{getItem:function(e){if(n)return n[e]},setItem:function(t,r){n&&(e("saving to in-memory sessionStorage, key:",t,"value:",r),n[t]=r)},keys:function(){return n?Object.keys(n):[]},persist:function(){n&&t.setItem("__process_resource",JSON.stringify(n))}}};function vc(e){return Object.keys(e).map(t=>Object.assign({url:t.replace(/^blob:/,"")},e[t]))}function wc(e){return e&&tc(e)}var xc=function(e=document,{showLogs:t,useSessionCache:n,dontFetchResources:r,fetchTimeout:o,skipResources:a}={}){
11
+ /* MARKER FOR TEST - DO NOT DELETE */
12
+ const s=t?yc(Date.now()):jl;s("processPage start"),s("skipResources length: "+(a&&a.length));const l=n&&kc({log:s}),c={},u=cc({styleSheetCache:c}),h=lc({styleSheetCache:c}),d=uc(u),p=ac({extractResourceUrlsFromStyleTags:d}),m=ic({timeout:o}),g=oc({fetchUrl:m,findStyleSheetByUrl:h,getCorsFreeStyleSheet:dc,extractResourcesFromStyleSheet:u,extractResourcesFromSvg:p,absolutizeUrl:i,log:s,sessionCache:l}),f=ec({processResource:g,aggregateResourceUrlsAndBlobs:Zl});return function e(t,n=t.location.href){const o=fc(t)||n,{cdt:c,docRoots:u,canvasElements:h,inlineFrames:p,linkUrls:m}=Ql(t,o,s),g=rc(u.map(e=>d(e))),b=(C=o,function(e){try{return i(e,C)}catch(e){}}),y=Jl(Array.from(m).concat(Array.from(g))).map(bc).map(b).map(nc).filter(wc),k=r?Promise.resolve({resourceUrls:y,blobsObj:{}}):f({documents:u,urls:y,skipResources:a}).then(e=>(l&&l.persist(),e)),v=mc(h,s),w=gc(u).map(t=>e(t)),x=p.map(({element:t,url:n})=>e(t.contentDocument,n)),S=t.defaultView&&t.defaultView.frameElement&&t.defaultView.frameElement.getAttribute("src");var C;return Promise.all([k].concat(w).concat(x)).then((function(e){const{resourceUrls:t,blobsObj:r}=e[0],o=e.slice(1);return{cdt:c,url:n,srcAttr:S,resourceUrls:t.map(e=>e.replace(/^blob:/,"")),blobs:vc(r).concat(v),frames:o}}))}(e).then(e=>(s("processPage end"),e.scriptVersion="4.0.5",e))};function Sc(e){return e.blobs=e.blobs.map(e=>e.value?Object.assign(e,{value:n(e.value)}):e),e.frames.forEach(Sc),e}return t((function(){return xc.apply(this,arguments).then(Sc)}))}();
1022
13
 
1023
14
  return processPageAndSerializePoll.apply(this, arguments);
1024
15
  }
16
+
1025
17
  END
1026
18
  end
1027
19
  end